189 8069 5689

oracle锁坏了怎么办 oracle被锁

oracle数据库被锁了怎么办

用户被锁了?

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

FAILED_LOGIN_ATTEMPTS参数默认是10,即:用户连续输入10次错误密码,用户会被锁住;

可以使用其他拥有DBA权限的用户进行解锁;

alter user username account unlock;

如果是数据库内部出现死锁或阻塞会话,可以先查出阻塞的会话,

select * from dba_waiters;

在杀掉阻塞的会话

alter system kill session 'sid,serial#';

测试环境,可以直接重启数据库!

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; ----这个只会解锁账号,而不会取消密码过期,所以建议使用上面的口令

oracle表被锁了怎么处理?

首先你要知道表锁住了是不是正常锁?因为任何DML语句都会对表加锁。\x0d\x0a\x0d\x0a你要先查一下是那个会话那个sql锁住了表,有可能这是正常业务需求,不建议随便KILLsession,如果这个锁表是正常业务你把sessionkill掉了会影响业务的。\x0d\x0a建议先查原因再做决定。\x0d\x0a\x0d\x0a(1)锁表查询的代码有以下的形式:\x0d\x0aselectcount(*)fromv$locked_object;\x0d\x0aselect*fromv$locked_object;\x0d\x0a(2)查看哪个表被锁\x0d\x0aselectb.owner,b.object_name,a.session_id,a.locked_modefromv$locked_objecta,dba_objectsbwhereb.object_id=a.object_id;\x0d\x0a(3)查看是哪个session引起的\x0d\x0aselectb.username,b.sid,b.serial#,logon_timefromv$locked_objecta,v$sessionbwherea.session_id=b.sidorderbyb.logon_time;\x0d\x0a\x0d\x0a(4)查看是哪个sql引起的\x0d\x0aselectb.username,b.sid,b.serial#,c.*fromv$locked_objecta,v$sessionb,v$sqlcwherea.session_id=b.sid\x0d\x0aandb.SQL_ID=c.sql_idandc.sql_id=''\x0d\x0aorderbyb.logon_time;\x0d\x0a\x0d\x0a(5)杀掉对应进程\x0d\x0a执行命令:altersystemkillsession'1025,41';\x0d\x0a其中1025为sid,41为serial#.

oracle数据库死锁怎么解决

Oracle数据库出现死锁的时候可以按照以下处理步骤加以解决:

第一步:尝试在sqlplus中通过sql命令进行删除,如果能够删除成功,则万事大吉!但通常情况下,出现死锁时,想通过命令行或者通过Oracle的管理工具删除有死锁的session,oracle只会将该session标记为killed,但无法清除掉,往往需要通过第二步在操作系统层级进行删除!

Connected to Oracle9i Enterprise Edition Release 9.2.0.1.0 

Connected as quik

SQL select xidusn, object_id, session_id, locked_mode from v$locked_object; --查死锁的对象,获取其SESSION_ID

XIDUSN OBJECT_ID SESSION_ID LOCKED_MODE

---------- ---------- ---------- -----------

10 30724 29 3

10 30649 29 3

SQL select username,sid,serial# from v$session where sid=29; --根据上步获取到的sid查看其serial#号

USERNAME SID SERIAL#

------------------------------ ---------- ----------

QUIK 29 57107

SQL alter system kill session '29,57107'; --删除进程,如已经删除过,则会报ora-00031的错误;否则oracle会将该session标记为killed状态,等待一段时间看能否会自动消失,如长时间消失不掉,则需要做后续步骤

alter system kill session '29,57107'

ORA-00031: session marked for kill

SQL select pro.spid from v$session ses,v$process pro where ses.sid=29 and ses.paddr=pro.addr; --查看spid号,以便在操作系统中根据该进程号删除进程

SPID

------------

2273286

第二步:进入操作系统进行删除进程,本示例的操作系统是IBM aix。

login: root --录入用户名

root's Password: --录入密码

*******************************************************************************

* *

* *

* Welcome to AIX Version 5.3! *

* *

* *

* Please see the README file in /usr/lpp/bos for information pertinent to *

* this release of the AIX Operating System. *

* *

* *

*******************************************************************************

Last unsuccessful login: Fri Apr 23 14:42:57 BEIDT 2010 on /dev/pts/1 from 10.73

.52.254

Last login: Fri Apr 23 15:27:50 BEIDT 2010 on /dev/pts/2 from 10.73.52.254

# ps -ef|grep 2273286 --查看进程详情

root 2289864 2494636 0 17:07:15 pts/1 0:00 grep 2273286

oracle 2273286 1 0 14:38:24 - 0:21 oracleQUIK (LOCAL=NO)

# kill -9 2273286 --删除进程,小心操作,别写错进程号,如果oracle的关键进程被删,数据库会崩溃的!

# ps -ef|grep 2273286 --再次查看

root 2289864 2494636 0 17:07:15 pts/1 0:00 grep 2273286

For Windows, at the DOS Prompt: orakill sid spid

For UNIX at the command line kill –9 spid


名称栏目:oracle锁坏了怎么办 oracle被锁
文章链接:http://cdxtjz.cn/article/hiojhj.html

其他资讯