Oracle用户被锁及解决办法

前端之家收集整理的这篇文章主要介绍了Oracle用户被锁及解决办法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

iamlaosong文

1、数据库服务器的报账号被锁的错误,先解锁再细查原因,是修改用户口令造成的,口令修改后,每天的数据导入程序中配置的口令没有及时修改,导致错误登录次数超限被锁,查数据导入情况,果然数据没有导入,再查数据导入日志,显示连接失败,证实了用户被锁的原因就是导入程序所致。

教训:修改口令动一发而牵动全身,改前应做个详细预案,把方方面面考虑周全,特别是那些暂时不影响的。比如这个导入程序,需要第二天凌晨才用到。

2、解锁方法用system用户(或者具有DBA角色的用户)登陆,进行解锁:

  sql> alter user myuser account unlock;
  User altered.

3、查看$ORACLE_HOME/network/log/listener.log日志可以分析哪个IP造成的,不过对我现在的情况不适用,因为访问是本机的导入程序,不通过监听程序。不过,用户失效后,另一台通过数据连接进行访问的服务器就不通了,所以监听日志中报错的就是这台服务器的IP。查看此服务器的报错日志,可以找到相关的连接错误日志,根据日志,还可以查看相应的trc文件内容差不多),可以看出是存储过程再编译时候报的错,日志如下:

Sat Nov 12 06:30:20 2016
Errors in file /opt/app/oracle/admin/orcl/bdump/orcl_j000_9301.trc:
ORA-12012: error on auto execute of job 41
ORA-04045: errors during recompilation/revalidation of EMSSXJK.COSTS_SIMULATION
ORA-04052: error occurred when looking up remote object EMSSXJK.TB_EVT_MAIL_CLCT_QITA@DATALINK_G9.REGRESS.RDBMS.DEV.US.ORACLE.COM
ORA-00604: error occurred at recursive sql level 3
ORA-28000: the account is locked
ORA-02063: preceding line from DATALINK_G9


日志位置:/opt/app/oracle/admin/orcl/bdump/alert_orcl.log

用命令show parameter background_dump_dest查看位置。

4、可以用下面命令查看具体的被锁时间,不过要在解锁前查看哦。
  select username,lock_date from dba_users ;

查一下试试,可以发现许多Oracle自建的用户从安装的时候就被锁了,比如Scott用户

5、注:   一般数据库默认是10次尝试失败后锁住用户   1、查看Failed_LOGIN_ATTEMPTS的值   select * from dba_profiles   2、修改为30次   alter profile default limit Failed_LOGIN_ATTEMPTS 30;   3、修改为无限次(为安全起见,不建议使用)   alter profile default limit Failed_LOGIN_ATTEMPTS unlimited;

猜你在找的Oracle相关文章