我的目標是讓我的容器數據庫進入掛載模式,執行系統alter語句以啓用閃回功能。Oracle關閉後立即拋出ORA-12514
Configuring Your Database for Flashback Transaction
環境:OS 8.1運64位,甲骨文12C(12.1.0.2.0)64位
我覈實,我的兩個監聽器和數據庫服務正在運行。
SQLPLUS的LISTENER.LOG
Tue Sep 08 13:31:42 2015 System parameter file is C:\OracleServer\product\12.1.0\dbhome_1\network\admin\listener.ora Log messages written to C:\OracleServer\diag\tnslsnr\NA-D02979\listener\alert\log.xml Trace information written to C:\OracleServer\diag\tnslsnr\NA-D02979\listener\trace\ora_9672_20416.trc Trace level is currently 0
Started with pid=9672 Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.1.105.118)(PORT=1521))) Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521))) Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\.\pipe\EXTPROC1521ipc))) Listener completed notification to CRS on start
TIMESTAMP * CONNECT DATA [* PROTOCOL INFO] * EVENT [* SID] * RETURN CODE Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=NA-D02979.vgnet.volgrp.com)(PORT=5500))(Security=(my_wallet_directory=C:\ORACLESERVER\admin\CDB1\xdb_wallet))(Presentation=HTTP)(Session=RAW)) Dynamic address is already listened on (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521))) 08-SEP-2015 13:32:25 * service_register * cdb1 * 0 08-SEP-2015 13:33:22 * service_update * cdb1 * 0
結果
C:\Users\jeff>sqlplus sys/**********@CDB1 as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on Tue Sep 8 13:44:18 2015
Copyright (c) 1982, 2014, Oracle. All rights reserved.
Connected to: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
ERROR: ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
Warning: You are no longer connected to ORACLE.
SQL> startup mount
SP2-0640: Not connected
SQL> ^C
C:\Users\jeff>sqlplus> sys/**********@CDB1 as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on Tue Sep 8 13:46:24 2015
Copyright (c) 1982, 2014, Oracle. All rights reserved.
ERROR: ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
Enter user-name:
當我連接到我的容器DB作爲SYSDBA,我可以執行shutdown immediate命令,但只要數據庫卸載後,監聽器不再知道數據庫,我無法發出「啓動裝入」命令。
LISTENER.ORA
SID_LIST_LISTENER = (SID_LIST =
(SID_DESC = (SID_NAME = CLRExtProc) (ORACLE_HOME = C:\OracleServer\product\12.1.0\dbhome_1) (PROGRAM = extproc) (ENVS = "EXTPROC_DLLS=ONLY:C:\OracleServer\product\12.1.0\dbhome_1\bin\oraclr12.dll") )
(SID_DESC =
(GLOBAL_DBNAME = CDB1) (ORACLE_HOME = C:\app\oracle\product\11.2.0\dbhome_1) (SID_NAME = CDB1) ) )
LISTENER = (DESCRIPTION_LIST = (DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.105.118)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) )
TNSNAMES.ORA
LISTENER_CDB1 =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
CDB1 =
(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.105.118)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = CDB1.vgnet.volgrp.com) ) )
ORACLR_CONNECTION_DATA =
(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) (CONNECT_DATA = (SID = CLRExtProc) (PRESENTATION = RO) ) )
我已經定義了一個靜態SID給我的容器數據庫。
第二輪投票結果
從下面的結果,我也跟着亞歷克斯池的回答都記錄在案。我和數據庫在同一臺機器上。我已將ORACLE_SID設置爲cdb1,然後每次嘗試連接時,都會收到ORA-12560:TNS:協議適配器錯誤。爲什麼當我嘗試基於SID進行連接時,偵聽器仍然會拋出TNS錯誤?
C:\Users\jeff>%ORACLE_SID%
'cdb1' is not recognized as an internal or external command,
operable program or batch file.
C:\Users\jeff>sqlplus sys/********** as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on Wed Sep 9 08:05:25 2015
Copyright (c) 1982, 2014, Oracle. All rights reserved.
ERROR:
ORA-12560: TNS:protocol adapter error
Enter user-name: ^C
C:\Users\jeff>sqlplus/as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on Wed Sep 9 08:05:36 2015
Copyright (c) 1982, 2014, Oracle. All rights reserved.
ERROR:
ORA-12560: TNS:protocol adapter error
Enter user-name: ^C
C:\Users\jeff>sqlplus /nolog
SQL*Plus: Release 12.1.0.2.0 Production on Wed Sep 9 08:05:50 2015
Copyright (c) 1982, 2014, Oracle. All rights reserved.
SQL> connect/as sysdba
ERROR:
ORA-12560: TNS:protocol adapter error
SQL>
我已經完成您所描述的步驟,但仍然得到監聽器的錯誤。我已將測試結果添加到我的問題中。 –
@JeffP。 - 如果你像這樣連接,那麼你不會通過TNS或聽衆。除非您設置了TWO_TASK以及/而不是ORACLE_SID。 (呃,或在Windows上...我認爲TWO_TASK的等價物是本地的?) –
@JeffP。 - 在您的環境中設置了「%LOCAL%」?我並沒有完全注意到你在12c上的任何意義,[但這仍然適用於容器數據庫](http://docs.oracle.com/database/121/ADMIN/cdb_admin.htm#ADMIN13608)。 –