標籤:selected data exit ase nec pre 狀態 直接 無法
初裝oracle 12.2 rac資料庫。
登入RAC資料庫中第1節點
按 Ctrl+C 複製代碼
嘗試通過scan ip串連pdb(plug_test),有時候能登入資料庫plug_test;但是有時候會無法登入,並報以下錯誤:
$ sqlplus robert/[email protected]_testSQL*Plus: Release 12.2.0.1.0 Production on Thu Apr 13 19:04:18 2017Copyright (c) 1982, 2016, Oracle. All rights reserved.ERROR:ORA-01033: ORACLE initialization or shutdown in progressProcess ID: 0Session ID: 0 Serial number: 0Enter user-name: ERROR:ORA-01017: invalid username/password; logon deniedEnter user-name: ERROR:ORA-01017: invalid username/password; logon deniedSP2-0157: unable to CONNECT to ORACLE after 3 attempts, exiting SQL*Plus
困惑從這裡開始。不明白為何有時能登入,有時又不能登入。
登入第二節點查看pdb狀態:
SQL> select name,open_mode from v$pdbs;NAME OPEN_MODE------------------------------ ----------PDB$SEED READ ONLYDB12PDB1 MOUNTEDDB12PDB2 MOUNTEDPLUG_TEST MOUNTEDSQL>
從這裡可以看出,在第二節點上,執行個體plug_test處於mounted狀態
查看gv$pdbs:
SQL> select inst_id,name,open_mode from gv$pdbs; INST_ID NAME OPEN_MODE---------- ------------------------------ ---------- 1 PDB$SEED READ ONLY 1 DB12PDB1 MOUNTED 1 DB12PDB2 MOUNTED 1 PLUG_TEST READ WRITE 2 PDB$SEED READ ONLY 2 DB12PDB1 MOUNTED 2 DB12PDB2 MOUNTED 2 PLUG_TEST MOUNTED8 rows selected.SQL>
這裡可以看出,出現上面的問題是因為只在節點1開啟了pdb(plug_test)執行個體。而通過scan ip串連該pdb的時候,scan ip會隨機路由,如果路由到第二節點的時候,就會報錯無法串連。
為了驗證這個問題,增加了一個測試環節。直接通過節點1的vip串連,就不會報上面的錯誤。
通過查看alter pluggable database 文法可以看出,使用該命令的時候,還要指定參數instances。如果不加,預設是本地執行個體。
所以,從第二節點啟動plug_test執行個體即可。
alter pluggable database plug_test open instances=(‘DB12C2‘);
如果想啟動所有執行個體,可以使用一下命令:
SQL> alter pluggable database plug_test close instances=all;
或者
SQL> alter pluggable database plug_test OPEN instances=(‘DB12C1‘,‘DB12C2‘);
12C -- ORA-01033: ORACLE initialization or shutdown in progress