大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
一些ORACLE中的进程被杀掉后,状态被置为"killed",但是锁定的资源很长时间不释放,有时实在没办法,只好重启数据库。现在提供一种方法解决这种问题,那就是在ORACLE中杀不掉的,在OS一级再杀。
创新互联公司主营延津网站建设的网络公司,主营网站建设方案,重庆APP开发,延津h5微信小程序搭建,延津网站营销推广欢迎延津等地区企业咨询
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.查看用户的proifle是哪个,一般是default
SELECT username,PROFILE FROM dba_users;
2.查看对应的概要文件(如default)的密码有效期设置
SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
3.将概要文件(如default)的密码有效期由默认的180天修改成“无限制”(修改之后不需要重启动数据库,会立即生效)
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
4.对已经锁定和过期的账号进行解锁
(1)alter user 用户名 identified by 原来的密码 account unlock; ----不用换新密码,用户名和密码也不用加引号,这个命令会解锁账号,同时取消密码过期。
(2)alter user 用户名 account unlock; ----这个只会解锁账号,而不会取消密码过期,所以建议使用上面的口令
在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输入密码不正确,试了10次后,会自动锁定用户。
解决方法:使用sqlplus命令行解锁。
步骤:
1、打开sqlplus窗口,用sysdba角色登录
2、请输入用户名: /as sysdba
3、SQLalter user GALTTEST account unlock;
用户已更改。
解锁成功啦!
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连接即可。
1、首先以DBA的身份登录Oracle10g。
2、修改SOCCT账户权限,"alter user scott account unlock;"
3、修改HR账户权限,"alter user hr account unlock;" 在commit操作之后,继续:"alter user hr identified by hr;"
4、然后检查状态,就会发现已经解锁了。