首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

命令行下Oracle用戶解鎖與密碼重置三步曲

     編輯:Oracle 資料庫基礎

場景

默認SCOTT用戶安裝後即被鎖定(STATUS=LOCKED),需解鎖並重置密碼恢復訪問。

標準操作流

-- 1. 以SYSDBA登錄
$ sqlplus /nolog
SQL> CONNECT / AS SYSDBA

-- 2. 解鎖賬號
SQL> ALTER USER scott ACCOUNT UNLOCK;
User altered.

-- 3. 重置密碼(原密碼TIGER亦可自定)
SQL> ALTER USER scott IDENTIFIED BY tiger;
User altered.

-- 4. 驗證登錄
SQL> CONNECT scott/tiger
Connected.

鎖定與解鎖命令對照

操作命令效果
鎖定ALTER USER test ACCOUNT LOCK;狀態變LOCKED,登錄報ORA-28000
解鎖ALTER USER test ACCOUNT UNLOCK;狀態變OPEN,恢復登錄

常見組合場景

-- 解鎖 + 密碼過期(強制用戶首次登錄改密)
ALTER USER app_user ACCOUNT UNLOCK PASSWORD EXPIRE;

-- 批量解鎖所有被鎖用戶(謹慎)
BEGIN
  FOR u IN (SELECT username FROM dba_users WHERE account_status LIKE 'LOCKED%')
  LOOP
    EXECUTE IMMEDIATE 'ALTER USER ' || u.username || ' ACCOUNT UNLOCK';
  END LOOP;
END;
/

-- 解鎖並同步修改密碼(遷移/克隆場景)
ALTER USER migrate_user ACCOUNT UNLOCK IDENTIFIED BY "NewP@ssw0rd!";

狀態查詢速查

-- 單用戶
SELECT username, account_status, lock_date, expiry_date
FROM dba_users WHERE username = 'SCOTT';

-- 全庫非OPEN用戶
SELECT username, account_status, profile
FROM dba_users WHERE account_status != 'OPEN';

總結

CONNECT / AS SYSDBA → ALTER USER ... ACCOUNT UNLOCK → ALTER USER ... IDENTIFIED BY ... 三條命令,30秒搞定用戶解鎖。記住:解鎖後必須重置密碼(或確認原密碼可用),否則仍無法登錄。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved