Oracle 靜態監聽註冊的處理過程

Oracle 靜態監聽註冊的處理過程


背景

好久不弄 windows了
上面一個之前安裝的Oracle19c的環境存在問題. 

根本原因是自己修改了一下機器名.
自己忘記修改了監聽, 所以一直不可用
一開始以爲是靜態註冊的問題
改了半天發現不改其實也可以. 
想了想還是記錄一下吧. 避免以後再犯錯誤.

修改hosts

其實也可以不修改
爲了穩妥起見可以修改 
c:\windows\system32\driver\etc\hosts 文件
增加上 ip hostname的配置. 
然後這樣一定可以找到對應的機器地址. 

修改配置文件

比如我這邊的文件位置是:
C:\oracle19c\network\admin\listener.ora
C:\oracle19c\network\admin\tnsnames.ora
C:\oracle19c\network\admin\sqlnet.ora

需要說明的是:
listener.ora 提供外部服務的監聽用.
tnsnames.ora 本地使用
sqlnet.ora   網絡配置,比如超時斷開, 安全防護等.

需要說明: tnsnames.ora 其實跟監聽是沒有關係的

添加的內容

    (SID_DESC =
       (SID_NAME = ORA19C)
       (ORACLE_HOME = C:\oracle19c)
       (GLOBAL_DBNAME = ORA19C)
       (ENVS = "EXTPROC_DLLS=ONLY:C:\oracle19c\bin\oraclr19.dll")
    )

完整的配置文件爲:

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = C:\oracle19c)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:C:\oracle19c\bin\oraclr19.dll")
    )
    (SID_DESC =
       (SID_NAME = ORA19CPDB)
       (ORACLE_HOME = C:\oracle19c)
       (GLOBAL_DBNAME = ORA19CPDB)
       (ENVS = "EXTPROC_DLLS=ONLY:C:\oracle19c\bin\oraclr19.dll")
    )
    (SID_DESC =
       (SID_NAME = ORA19C)
       (ORACLE_HOME = C:\oracle19c)
       (GLOBAL_DBNAME = ORA19C)
       (ENVS = "EXTPROC_DLLS=ONLY:C:\oracle19c\bin\oraclr19.dll")
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = Win2022DCTLS12)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
)

開機步驟

sqlplus / as sysdba
startup 打開數據庫
alter pluggable database all open ;
然後打開監聽
lsnrctl start
然後返回
sqlplus / as sysdba
alter system register
# 如果註冊失敗, 在使用
靜態註冊進行訪問. 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章