您的位置:首页 > 数据库

数据库密码过期,账号被锁解决方法

u10983441 2016-05-07 10:42 81 查看
一、、数据库密码使用期限一般是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、再次查看密码有效期

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
UNLIMITED
5、有的用户名可能在修改前就过期了,需要重新更改一下代码
[root@fossdb listener]# su - oracle
[oracle@fossdb ~]$ sqlplus / as sysdba
SQL>alter user pkp identified by pkp;密码用原来的密码就好
二、ORA:28000账号被锁定处理

1、首先查看用户的profile是哪个,一般是defaultSQL> SELECT username,PROFILE FROM dba_users;
USERNAME PROFILE------------------------------ ------------------------------OGG DEFAULTGGTEST DEFAULTGISDATA DEFAULTDPAP DEFAULTPDA DEFAULTSTV DEFAULTSTL DEFAULTTFR DEFAULT2、查看登录次数限制
SQL> SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='FAILED_LOGIN_ATTEMPTS';

PROFILE RESOURCE_NAME RESOURCE
------------------------------ -------------------------------- --------
LIMIT
----------------------------------------
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;
标签:  数据库