
打开2005的策略,可以取消
alter login sa with password = '数据库密码'
unlock, check_policy = off, check_expiration = off
1、用dba角色的用户登陆,进行解锁,先设置具体时间格式,以便查看具体时间
SQL> alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
Session altered
2、查看具体的被锁时间 ( 这里你根据需要, 填写具体的用户名, 下面语句的 用户名是 TEST)
SQL> select username,lock_date from dba_users where username='TEST';
USERNAME LOCK_DATE
TEST 2009-03-10 08:51:03
3、解锁
SQL> alter user test account unlock;
User altered
4、查看是那个ip造成的test用户被锁
查看$ORACLE_HOME/network/admin/log/listenerlog日志
10-MAR-2009 08:51:03 (CONNECT_DATA=(SID=lhoms)(SERVER=DEDICATED)(CID=(PROGRAM=oracle)(HOST=omstestdb)(USER=oraoms))) (ADDRESS=(PROTOCOL=tcp)(HOST=1069111)(PORT=49434)) establish lhoms 0
10-MAR-2009 08:51:03 (CONNECT_DATA=(SID=lhoms)(SERVER=DEDICATED)(CID=(PROGRAM=oracle)(HOST=omstestdb)(USER=oraoms))) (ADDRESS=(PROTOCOL=tcp)(HOST=1069111)(PORT=49435)) establish lhoms 0
这样可知是上面1069111的ip尝试多次失败登陆造成的被锁
注:
一般数据库默认是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用户被锁原因及办法的描述,希望会给你带来一些帮助在此方面。
看不到问题详细描述。是用户被锁,还是表被锁?
登录失败(密码输入错误)次数过多是,就会出现用户被锁的情况,这时应该使用 sysdba 账户登陆,在左侧的导航栏目录,找到用户节点,点开 对应用户,通过右键(打开功能菜单),选择解锁该用户即可。如此 *** 作后,即可继续使用原用户 和它正确的密码登录了。
表被锁,执行语句的时候,会提示锁超时之类的。通过 V$LOCK 定位到阻塞(就是阻塞之后,报错之前 —— 才可以查到)。需要预先打开两个窗口,在一个窗口中,写好 select from v$lock where blocked=1; 这个语句,等待执行。在另一个窗口中,执行报错的语句,执行之后(还没有报错),立即去窗口1中执行那个语句。就一定能够查询到记录(被阻塞的事务相关的信息),然后通过这个信息(有 trx_id)就可以去 v$trx 以及 v$session 中,获取到 我们要执行的这个sql 是被谁阻塞的了。可以通过 sp_close_session 杀掉阻塞源头的会话,也可以找到执行阻塞源头事务的人(没有提交)让他们提交,就不会造成阻塞了。或者干等着,看阻塞源头的事务什么时候提交。
今天访问应用的时候,发现账号被锁定,登录oracle后,发现很多用户都被锁定了。看下提示信息,原来是密码过期了导致账号被锁定。这里记录下这几个 *** 作的常用命令,以方便以后自己的使用。
1查看用户的proifle是哪个,一般是default
SELECT username,PROFILE FROM dba_users;
2查看对应的概要文件(如default)的密码有效期设置
SELECT FROM dba_profiles s WHERE sprofile='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数据库账号有密码策略,一般情况下,密码输入错误超过10次 该账号就会自动锁定,需要dba管理员解锁。该锁定次数dba管理员也是可以手动更改的,有些重要系统会改成3次以加强系统安全性。还有一种情况是密码到有效期了,需要强制更改密码,这个参数一般是设置成3个月更改一次。
以上就是关于在SQL数据库里怎么设置密码错误三次,帐号锁定后的解锁全部的内容,包括:在SQL数据库里怎么设置密码错误三次,帐号锁定后的解锁、最近我的数据库的一个用户经常被锁,想问一下原因、达梦数据库解锁方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)