提示ORA-28000:the account is locked
及
提示ORA-00922:選項缺失或無效
域本身有密碼要求,Windows 7也有密碼要求,Oracle同樣有密碼要求。而且Oracle的要求是最具體的。在安裝執行個體時出現ORA-28000和ORA-00922錯誤一般都是沒有按照Oracle的要求設定密碼的結果。
最可氣的是在給帳戶設定密碼時他不報錯,不提示,只有在安裝執行個體時才告訴你錯誤,讓你忽略,但忽略以後的結果就是執行個體安裝部分失敗,對於一個Oracle的初學者來說就是吐血。
ORA-00922: 選項缺失或無效
錯誤原因:一般是語句的文法有問題。比如命名不對,關鍵字寫錯等等。對於非標準的命名,一般採用雙引號來建立。
解決辦法:
標識符命名規則:(密碼設定規則)
1、必須以字母開始。
2、長度不能超過30個單位元組字元。
3、只能包括A-Z,a-z,0-9,_,$和#。
4、不能在相同使用者下建立兩個同名的對象。
5、不能使用保留字和關鍵字
ORA-28000:the account is locked
經網路查詢驗證,這是屬於在前面組態管理員密碼的時候,採用了數字開頭的密碼,Oracle貌似對此不支援,但當時不提示出錯,暈倒。據說包含其他非法特殊字元也可能產生此問題。
即密碼開頭不能是數字,只能用標識符命名規則的字元,密碼要最少要包含大寫字母,小寫字母和數字。
根據以上規則設定密碼,Oracle執行個體安裝時就不會出現ORA-28000和ORA-00922錯誤
不想重裝。---〉
解決辦法:
方法1:
第一步:使用PL/SQL,登入名稱為system,資料庫名稱不變,選擇類型的時候把Normal修改為Sysdba;
第二步:選擇myjob,查看users;
第三步:選擇system,右擊點擊“編輯”;
第四步:修改密碼,把“帳戶被鎖住”的勾去掉;
第五步:點擊“應用”再點擊“關閉”;
第六步:重新登入就可以通過驗證了;
方法2:
ALTER USER username ACCOUNT UNLOCK;
方法3:
在plsql developer中要是以scott/tiger登入時提示ora-28000 the account is locked。
解決辦法:
新裝完Oracle 11g後,用scott/tiger測試,會出現以下錯誤提示:
oracle11g the account is locked
oracle11g the password has expired
原因:預設Oracle11g的scott不能登陸。
解決:
(1)conn sys/sys as sysdba; //以DBA的身份登入
(2)alter user scott account unlock;// 然後解鎖
(3)conn scott/tiger //彈出一個修改密碼的對話方塊,修改一下密碼就可以了
在運行裡面輸入cmd在DOS模式下輸入sqlplus,以system使用者名稱登入,密碼是剛裝oracle時自己填寫的密碼orcl,登入進去以後。
SQL> conn sys/sys as sysdba;
(分號是必須的但是我是以system登入的所在這不應該寫conn sys/sys as sysdba應該寫conn system/orcl as sysdba;)
Connected.
SQL> alter user scott account unlock;
User altered.
SQL> commit;
Commit complete.