oracle命令怎么解锁,解锁用户 oracle

oracle如何解锁?

一些ORACLE中的进程被杀掉后,状态被置为"killed",但是锁定的资源很长时间不释放,有时实在没办法,只好重启数据库。现在提供一种方法解决这种问题,那就是在ORACLE中杀不掉的,在OS一级再杀。

10年的永川网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都全网营销的优势是能够根据用户设备显示端的尺寸不同,自动调整永川建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联从事“永川网站设计”,“永川网站推广”以来,每个客户项目都认真落实执行。

1.下面的语句用来查询哪些对象被锁:

select object_name,machine,s.sid,s.serial#

from v$locked_object l,dba_objects o ,v$session s

where l.object_id = o.object_id and l.session_id=s.sid;

2.下面的语句用来杀死一个进程:

alter system kill session '24,111'; (其中24,111分别是上面查询出的sid,serial#)

【注】以上两步,可以通过Oracle的管理控制台来执行。

3.如果利用上面的命令杀死一个进程后,进程状态被置为"killed",但是锁定的资源很长时间没有被释放,那么可以在os一级再杀死相应的进程(线程),首先执行下面的语句获得进程(线程)号:

select spid, osuser, s.program

from v$session s,v$process p

where s.paddr=p.addr and s.sid=24 (24是上面的sid)

4.在OS上杀死这个进程(线程):

1)在unix上,用root身份执行命令:

#kill -9 12345(即第3步查询出的spid)

2)在windows(unix也适用)用orakill杀死线程,orakill是oracle提供的一个可执行命令,语法为:

orakill sid thread

其中:

sid:表示要杀死的进程属于的实例名

thread:是要杀掉的线程号,即第3步查询出的spid。

例:c:orakill orcl 12345

怎样给oracle数据库的用户解锁

1、找到并进入运行窗口:(可以用windows+r快捷键哦)输入sqlplus命令:如图

2、进入新窗口后使用scott/tiger用户和密码进行登录会发现登录不成功:如图

3、这时我们可以使用system用户进行登录,应为此用户的权限排第二,并且密码我们已经在安装时输入了了,所以是可以登录进入的:如图

4、system登录成功之后就可以使用命令给用户进行解锁了:如图

5、最后再用scott/tiger用户时,你可以神奇的发现此时能连接成功了:如图

Oracle解锁hr账户

Oracle解锁hr账户的前提是:必须存在hr账户,对于大多数刚安装的Oracle来说,都是存在的。废话不多说直接上例子。

1.打开cmd,使用sqlplus命令登录上Oracle。

输入:sqlplus system/口令

2.连接dba;

输入:conn as sysdba;

3.解锁hr,修改hr密码(我设置的是hr)。

输入解锁命令:alter user hr account unlock;

输入改密命令:alter user hr identified by hr;

4.连接hr。

打开sqldeveloper连接即可。

oracle查询资源占用,锁表解锁

1. 先通过top命令查看产用资源较多的spid号

2.查询当前耗时的会话ID,用户名,sqlID等:

select sid,serial#,machine,username,program,sql_hash_value,sql_id,

  to_char(logon_time,'yyyy/mm/dd hh24:mi:ss') as login_time from v$session

where paddr in (select addr from v$process where spid in ('5648612','256523'));

3. 如果上一步sql_id或者 hash_value不为空,则可用v$sqlarea查出当前正在使用的sql

select sql_text

from v$sqltext_with_newlines

where hash_value = hash_value

order by piece;

也可直接使用:

select a.*,b.SQL_TEXT from (

select sid,serial#,machine,username,program,sql_hash_value,sql_id,

  to_char(logon_time,'yyyy/mm/dd hh24:mi:ss') as login_time from v$session

where paddr in (select addr from v$process where spid in ('23226'))

) a,v$sql b

where a.sql_id  = b.SQL_ID(+)

4.kill占用大资源的session

Alter system kill session 'SID,SERIAL#'

解锁:

1.查询哪些对象被锁:

select object_name,machine,s.sid,s.serial#

from v$locked_object l,dba_objects o ,v$session s

where l.object_id = o.object_id and l.session_id=s.sid;

2.下面的语句用来杀死一个进程:

alter system kill session '524,1095'; (其中24,111分别是上面查询出的sid,serial#)

3.再一次查询目前锁定的对象,若发现以上方法不能解除锁定的表,则用以下方法:

3.1 执行下面的语句获得进程(线程)号:

select spid, osuser, s.program

from v$session s,v$process p

where s.paddr=p.addr and s.sid=524 (524是上面的sid)

如何给oracle账户解锁

在DBA的日常工作中,经常遇到为Oracle用户解锁的操作;这篇文章给出在命令行下进行Oracle用户解锁的操作方法,通过几条简单的解锁语句就能完成此项工作。下面是具体的过程:

默认的scott用户是被锁定的,先解锁就能登陆上了。 使用下面的语句解锁scott:

alter user scott account unlock;

解锁之后可能会要求你该密码:

alter user scott identified by tiger;

再登陆:

sqlplus scott/tiger

就能登陆了

Oracle锁定和解锁用户的命令

SQL conn /as sysdba

已连接。

//scott 用户在没有设定tieger默认密码时,登陆不上

锁定用户的方法:

SQL alter user test account lock;

用户已更改。

-------test用户登陆数据库,失败了。

C:\sqlplus test/test

ERROR:

ORA-28000: the account is locked

Oracle用户解锁的方法:

SQL conn /as sysdba

SQL alter user test account unlock;

用户已更改。这样就完成了Oracle的用户解锁操作。


网站题目:oracle命令怎么解锁,解锁用户 oracle
当前网址:http://azwzsj.com/article/dsgdiji.html