一、、数据库密码使用期限一般是180天,过一段时间会出现密码过期的状况,,怎样才能使得密码永不过期
1、首先查看用户的profile是哪个,一般是default
SQL> SELECT username,PROFILE FROM dba_users;
USERNAME PROFILE
------------------------------ ------------------------------
OGG DEFAULT
GGTEST DEFAULT
GISDATA DEFAULT
DPAP DEFAULT
PDA DEFAULT
STV DEFAULT
STL DEFAULT
TFR DEFAULT
PKP DEFAULT
BSE DEFAULT
SQLSH DEFAULT
2、查看概要文件(如default)密码有效期设置
SQL> SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
PROFILE RESOURCE_NAME RESOURCE
------------------------------ -------------------------------- --------
LIMIT
----------------------------------------
DEFAULT PASSWORD_LIFE_TIME PASSWORD
180
3、把默认的180天设置为无限期
SQL> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
Profile altered.
4、再次查看密码有效期
UNLIMITED
5、有的用户名可能在修改前就过期了,需要重新更改一下代码
[root@fossdb listener]# su - oracle
[oracle@fossdb ~]$ sqlplus / as sysdba
SQL>alter user pkp identified by pkp;密码用原来的密码就好
二、ORA:28000账号被锁定处理
2、查看登录次数限制
SQL> SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='FAILED_LOGIN_ATTEMPTS';
DEFAULT FAILED_LOGIN_ATTEMPTS PASSWORD
10
3、把尝试登陆失败次数由10次改为无限制
sql>ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS UNLIMITED;
4、修改后,还没有被提示ORA-28000警告的用户不会再碰到同样的提示;
已经被锁定的帐户必须解除锁定,举例如下:
$sqlplus / as sysdba
sql> alter user smsc identified by oracle account unlock;
5、修改后default profile应该如下:
sql> select * from dba_profiles WHERE dba_profiles.profile='DEFAULT';
PROFILE RESOURCE_NAME RESOURCE_TYPE LIMIT
------------------------------ -------------------------------- ------------- ----------------------
DEFAULT FAILED_LOGIN_ATTEMPTS PASSWORD UNLIMITED
DEFAULT PASSWORD_LIFE_TIME PASSWORD UNLIMITED
修改之后不需要重启动数据库,会立即生效。
如果出现ORA-28000 the account is locked.错误
alter user 用户名 account unlock;
本文转自aaa超超aaa 51CTO博客,原文链接:http://blog.51cto.com/10983441/1770967