2015-09-15 81 views
1

昨天我重新啓動了我的機器,現在我的數據庫不可用。 我第一次運行它已經有一些困難,因爲有兩種不同的Oracle DB安裝。Oracle DB 12c無法啓動tns服務

Windows服務,我想他們應該是:

  • OracleJobSchedulerFOOBAR
  • OracleOraDB12Home3MTSRecoveryService
  • OracleOraDB12Home3TNSListener:OracleOraDB12Home3TNSListener在本地計算機上啓動服務和停止。某些服務如果未被其他服務或程序使用,則會自動停止
  • OracleServiceFOOBAR
  • OracleVssWriterFOOBAR

因此,大家可以看到:我無法啓動OracleOraDB12Home3TNSListener服務。

我改變tnsnames.ora文件:

ORACLR_CONNECTION_DATA = 
    (DESCRIPTION = 
    (ADDRESS_LIST = 
     (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) 
    ) 
    (CONNECT_DATA = 
     (SID = CLRExtProc) 
     (PRESENTATION = RO) 
    ) 
) 


    FOOBAR= 
    (DESCRIPTION = 
    (ADDRESS = (PROTOCOL = TCP)(HOST = myurl.com)(PORT = 1521)) 
    (CONNECT_DATA = 
     (SERVER = DEDICATED) 
     (SERVICE_NAME = FOOBAR) 
    ) 
) 

而我的listener.ora是

SID_LIST_LISTENER = 
    (SID_LIST = 
    (SID_DESC = 
     (SID_NAME = CLRExtProc) 
     (ORACLE_HOME = C:\OracleDB\product\12.1.0\dbhome_1) 
     (PROGRAM = extproc) 
     (ENVS = "EXTPROC_DLLS=ONLY:C:\OracleDB\product\12.1.0\dbhome_1\bin\oraclr12.dll") 
    ) 
) 

LISTENER = 
    (DESCRIPTION_LIST = 
    (DESCRIPTION = 
     (ADDRESS = (PROTOCOL = TCP)(HOST = myurl.com)(PORT = 1521)) 
     (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) 
    ) 
) 

我已經嘗試了很多的東西,如:

  • sqlplus/as sysdbastartup但我得到了

ORA-00119:系統參數LOCAL_LISTENER ORA-00132無效規格:語法錯誤或懸而未決的網絡名稱 'LISTENER_FOOBAR'

  • alter system set local_listener='FOOBAR'; scope=spflile;但我得到了

* ERROR位於第1行: ORA-01034:ORACLE不可用 進程ID:0 會話ID:0序列號:0

當我檢查我對於OracleDB12Home3甲骨文行政支援:

  • ORACLE_SDI = FOOBAR
  • ORACLE_HOME = C:\ OracleDB的\產品\ 12.1.0 \ dbhome_1

是否有人對如何幫助我的任何想法?

回答

1

經過長期調查,感謝一位同事的幫助,它正在工作。

綜上所述,我們的表現如何解決它:

  • 所以,解決我的第一個問題「OracleOraDB12Home3TNSListener無法啓動」是因爲我有一個新的IP。所以我改變了我的配置(...\網絡\ ADMIN ):https://community.oracle.com/thread/855326

  • 當我試圖用SQL Developer的(連接我的電腦重新啓動後)。我有錯誤:ORA-01034:ORACLE不可用ORA-27101:共享內存領域不存在。這意味着我的數據庫沒有啓動(http://www.dba-oracle.com/sf_ora_01034_oracle_not_available.htm)。

  • 所以我嘗試啓動DB手動sqlplus/as sysdbastartup但我總是這樣的輸出:

    SQL>啓動 ORA-00119:系統參數LOCAL_LISTENER ORA-00132無效規格:語法錯誤或沒有解決網絡名稱 'LISTENER_FOOBAR'

  • 要解決我試圖在LISTENER.ORATNSNAMES.ORA文件的工作:

LISTENER.ORA


SID_LIST_LISTENER = 
    (SID_LIST = 
    (SID_DESC = 
     (SID_NAME = CLRExtProc) 
     (ORACLE_HOME = C:\OracleDB\product\12.1.0\dbhome_1) 
     (PROGRAM = extproc) 
     (ENVS = "EXTPROC_DLLS=ONLY:C:\OracleDB\product\12.1.0\dbhome_1\bin\oraclr12.dll") 
    ) 
    (SID_DESC = 
     (GLOBAL_DBNAME=FOOBAR) 
     (ORACLE_HOME = C:\OracleDB\product\12.1.0\dbhome_1) 
     (SID_NAME = FOOBAR) 
    ) 
) 

LISTENER_FOOBAR = 
    (DESCRIPTION_LIST = 
    (DESCRIPTION = 
     (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) 
     (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) 
    ) 
) 

TNSNAMES.ORA


ORACLR_CONNECTION_DATA = 
    (DESCRIPTION = 
    (ADDRESS_LIST = 
     (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) 
    ) 
    (CONNECT_DATA = 
     (SID = CLRExtProc) 
     (PRESENTATION = RO) 
    ) 
) 


FOOBAR = 
(DESCRIPTION = 
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) 
    (CONNECT_DATA = 
     (SERVER = DEDICATED) 
     (SERVICE_NAME = FOOBAR) 
    ) 
) 
  • 我嘗試重新啓動右窗口服務幾次:OracleServiceFOOBAR但沒有被改變。我總是有同樣的問題。我記得我做過pfile配置。所以我決定用alter system set LOCAL_LISTENER ='(ADDRESS =(PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))'scope = both;來更改pfile配置。但我不能應用任何命令行,因爲數據庫不啓動...

  • 所以我創建了一個名爲init.ora與* .local_listener ='(ADDRESS =(PROTOCOL = TCP)(主機= localhost)(PORT = 1521))'來自ORA-00119: invalid specification ORA-00132: syntax error的技巧。我開始了DB機智此文件中的參數SQL> startup pfile=c:\oracledb\admin\XXX\pfile\init.ora

,然後將其工作。