oracle11G 用戶密碼180天修改概要文件過程
oracle11G 用戶密碼180天修改概要文件過程
原因
創建用戶的時候不指定概要文件的默認的概要文件是default,
而默認的概要文件中的設置如下,注意斜體部分
PROFILE RESOURCE_NAME RESOURCE_TYPE LIMIT
1 DEFAULT COMPOSITE_LIMIT KERNEL UNLIMITED
2 DEFAULT SESSIONS_PER_USER KERNEL UNLIMITED
3 DEFAULT CPU_PER_SESSION KERNEL UNLIMITED
4 DEFAULT CPU_PER_CALL KERNEL UNLIMITED
5 DEFAULT LOGICAL_READS_PER_SESSION KERNEL UNLIMITED
6 DEFAULT LOGICAL_READS_PER_CALL KERNEL UNLIMITED
7 DEFAULT IDLE_TIME KERNEL UNLIMITED
8 DEFAULT CONNECT_TIME KERNEL UNLIMITED
9 DEFAULT PRIVATE_SGA KERNEL UNLIMITED
10 DEFAULT FAILED_LOGIN_ATTEMPTS PASSWORD 10
11 DEFAULT PASSWORD_LIFE_TIME PASSWORD 180
12 DEFAULT PASSWORD_REUSE_TIME PASSWORD UNLIMITED
13 DEFAULT PASSWORD_REUSE_MAX PASSWORD UNLIMITED
14 DEFAULT PASSWORD_VERIFY_FUNCTION PASSWORD NULL
15 DEFAULT PASSWORD_LOCK_TIME PASSWORD 1
16 DEFAULT PASSWORD_GRACE_TIME PASSWORD 7
當密碼使用180天后密碼過期后,業務進程連接數據庫異常,影響業務使用。
有從7天開始倒計時的提示!
解決辦法
既然是配置的概要文件有問題,那就修改概要文件問題,可以增加天數。
或者是直接讓密碼一致有效,如果是BS的那種層層防火墻防護的數據庫
直接密碼永遠有效吧,看運維規則的要求。
按照如下步驟進行操作:
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,密碼有效期都是生效的,所以必須通過以上方式進行修改。以上的帳戶名請根據實際使用的帳戶名更改。
5、如果已經有用戶已經是lock狀態,那就是解鎖,查看用戶狀態的語句如下
select username,account_status from dba_users;
1 MGMT_VIEW OPEN
2 SYS OPEN
3 SYSTEM OPEN
8 DBSNMP EXPIRED
9 SYSMAN EXPIRED(GRACE)
10 OUTLN EXPIRED & LOCKED
11 ANONYMOUS EXPIRED & LOCKED
12 EXFSYS EXPIRED & LOCKED
13 WMSYS EXPIRED & LOCKED
如果有鎖定的用戶,那就解鎖吧
alter user *** account unlock;

浙公網安備 33010602011771號