Oracle密码过期 怎么修改
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle密码过期 怎么修改相关的知识,希望对你有一定的参考价值。
参考技术A 一、使用工具:sqlplus、oracle数据库。二、过期原因:是由于oracle11g中默认在default概要文件中设置了“PASSWORD_LIFE_TIME=180天”所导致。
三、修改方法:
1、查看用户的proifle是哪个,一般是default:sql>SELECT username,PROFILE FROM dba_users;
2、查看指定概要文件(如default)的密码有效期设置:sql>SELECT * FROM dba_profiles s WHERE s.profile=\'DEFAULT\' AND
resource_name=\'PASSWORD_LIFE_TIME\';
3、将密码有效期由默认的180天修改成“无限制”:sql>ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
4、修改后,还没有被提示ORA-28002警告的帐户不会再碰到同样的提示;
已经被提示的帐户必须再改一次密码,举例如下:
$sqlplus / as sysdba
sql> alter user smsc identified by <原来的密码> ----不用换新密码
oracle11g启动参数resource_limit无论设置为false还是true,密码有效期都是生效的,所以必须通过以上方式进行修改。以上的帐户名请根据实际使用的帐户名更改。
三、注意事项:
1、新密码最好以字母开头,否则可能出现错误Ora-00988。
2、修改之后不需要重启动数据库,会立即生效。
oracle环境,有一个用户的密码忘掉了,并且用户过期,怎么能够使用原来的密码处理用户过期问题
1 需要用之前的密码处理过期问题,密码必须是之前的,因为有的软件里面写死了密码。
2 要处理过期问题
select * from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_LIFE_TIME';
过期的密码可用alter user userXXX identified by xxx;解决,可以修改为和以前一样。
如果想设置密码不过期,可用管理员登陆,然后执行:
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
即可。
其他相关参数:
select * from dba_profiles where profile='DEFAULT' and RESOURCE_NAME like 'PASSWORD%';
FAILED_LOGIN_ATTEMPTS 整数
设定登录到Oracle 数据库时可以失败的次数。一旦某用户尝试登录数据库的达到该值时,该用户的帐户就被锁定,只能由DBA能解锁。
PASSWORD_LIFE_TIME
设定口令的有效时间(天数),一旦超过这一时间,必须重新设口令。缺省为180天(11g,10gUNLIMITED).
PASSWORD_REUSE_TIME
许多系统不许用户重新启用过去用过的口令。该资源项设定了一个失效口令要经过多少天,用户才可以重新使用该口令。缺省为UNLIMITED.
PASSWORD_REUSE_MAX
重新启用一个先前用过的口令前必须对该口令进行重新设置的次数(重复用的次数)。
PASSWORD_LOCK_TIME
设定帐户被锁定的天数(当登录失败达到FAILED_LOGIN_ATTEMPTS时)。
PASSWORD_GRACE_TIME
设定在口令失效前,给予的重新设该口令的宽限天。当口令失效之后回,在登录时会出现警告信息显示该天数。如果没有在宽限天内修改口令,口令将失效。
PASSWORD_VERITY_FUNCTION
该资源项允许调用一个PL/SQL 来验证口令。Oracle公司已提供该应用 的脚本,但是只要愿意的话,用户可以制定自己的验证脚本。该参数的设定就是PL/SQL函数的名称。缺省为NULL. 参考技术A 在10g以前,你可以用有权限的用户登录,查询到此用户密码的密文,再用密文改口令:
查询用户口令的密文
select password from dba_users where username='<USER1>';
再修改口令:
alter user USER1 identified by value '密文‘;
要想口令不过期,先要知道用户的profile是什么,再改这个profile的属性
查询用户的profile
select profile from dba_users where username='<USER1>';
修改此profile的的属性
ALTER PROFILE <user profile> LIMIT PASSWORD_LIFE_TIME UNLIMITED;
以上是关于Oracle密码过期 怎么修改的主要内容,如果未能解决你的问题,请参考以下文章