2014-10-27 61 views
3

我已經安裝了Oracle 12c,並且在創建我的第一個數據庫並使用它時遇到問題。 我運行SQL Developer並使用「hr」用戶,但它一直告訴我該帳戶被鎖定。我搜索到stackoverflow答案和官方文件,並試圖解開它:Oracle Database12c ORA 01918和連接錯誤

ALTER USER HR IDENTIFIED BY password ACCOUNT UNLOCK; 

但沒有成功。我得到錯誤ORA01918,這意味着用戶不存在。

我試過然後使用安裝時創建的用戶(SYS作爲SYSDBA),但它說用戶/密碼不正確。我很確定我的系統上安裝了Oracle 12c,它是Windows 8.1 x64。

我該怎麼辦?請幫幫我。

我不明白的其他事情是不是「數據庫」這個術語等同於MySQL的「Schema」? 「連接」是連接到特定的數據庫,是嗎? 謝謝。

+1

你在容器數據庫或可插拔數據庫中運行這個嗎?確切地說,你如何連接HR並嘗試解鎖該賬戶? – 2014-10-27 16:12:40

回答

5

你是如何配置數據庫的?您是否檢查了Pluggable database的選項?如果是,請確保您登錄到PDB而不是CDB

請閱讀Oracle 12c Post Installation Mandatory Steps

默認情況下,pre-installed用戶喜歡SCOTTHR等駐留在container database而不是pluggable database

的tnsnames.ora

編輯tnsnames.ora文件添加PDB細節。例如,

PDBORCL = 
    (DESCRIPTION = 
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) 
    (CONNECT_DATA = 
     (SERVER = DEDICATED) 
     (SERVICE_NAME = pdborcl) 
    ) 
) 

打開所有PDBS

登錄後立即打開所有/特定PDBS,創建一個CDB 開機後系統級觸發器。

因爲PDB沒有通過CDB開始打開。讓我們來看看:

SHUTDOWN IMMEDIATE; 
STARTUP; 

SQL> SELECT name, open_mode FROM v$pdbs; 

NAME       OPEN_MODE 
------------------------------ ---------- 
PDB$SEED      READ ONLY 
PDBP6       MOUNTED 

所以,爲了讓所有的PDBS自動開啓,這樣做:

做「SQLPLUS/AS SYSDBA」,然後執行:

CREATE OR REPLACE TRIGGER open_pdbs 
    AFTER STARTUP ON DATABASE 
BEGIN 
    EXECUTE IMMEDIATE 'ALTER PLUGGABLE DATABASE ALL OPEN'; 
END open_pdbs; 
/

它創建CDB啓動後的系統級觸發器。

SQLPLUS/AS SYSDBA

最常見的誤解是關於「SQLPLUS/AS SYSDBA」的用法。

由於我們檢查了創建單個CDB的選項,因此「SQLPLUS/AS SYSDBA」命令將始終登錄到CDB。通常,開發人員用於在以SYSDBA身份登錄後直接解鎖「SCOTT」帳戶。但這裏有一個訣竅:

「SCOTT」和其他示例模式位於PDB中,而不位於CDB中。因此,您需要以sysdba身份登錄到PDB。

sqlplus SYS/[email protected] AS SYSDBA 

SQL> ALTER USER scott ACCOUNT UNLOCK IDENTIFIED BY tiger; 

sqlplus scott/[email protected] 

SQL> show user; 
USER is "SCOTT" 
+0

我想我正在運行可插拔數據庫。我不知道如何驗證這一點。我會閱讀你的教程。我希望在一兩天內能夠回答一個答案。謝謝大家的反饋 – user3389442 2014-10-27 16:34:20

+0

當然,按照我在文章中提到的步驟操作。讓我知道如果你有任何問題:-) – 2014-10-27 16:37:13

+0

我遵循你的文章的步驟,最後,它的作品!謝謝。我也有一個問題(對於脫離主題感到抱歉):雖然在啓動時未啓用,但Oracle服務正在消耗大量內存(我的計算機停留在大約2GB RAM)。只有在需求時纔有可能啓動它們嗎? – user3389442 2014-10-31 18:48:35