首頁 > 資料庫 > Oracle > oracle 怎麼修改監聽

oracle 怎麼修改監聽

PHPz
發布: 2023-04-21 13:36:24
原創
1854 人瀏覽過

Oracle資料庫監聽器是負責監聽資料庫服務的程序,其主要功能是為客戶端操作提供連接埠和連接,維護資料庫和客戶端之間的通訊。當需要對監聽器進行修改時,需要考慮一些因素和步驟。

觸發監聽器修改的因素通常包括:網路拓撲變更、資料庫執行個體參數修改,以及安全性設定變更等。為了使新的配置生效並填入客戶端請求,需要適當修改監聽器配置,具體步驟如下:

步驟一:檢查所有監聽器的狀態

在修改監聽器之前,先檢查所有監聽器的狀態,使用指令lsnrctl status 可以查看監聽器的目前狀態,如:

LSNRCTL> status
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=yourhost)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date                26-MAY-2019 09:21:48
Uptime                    0 days 0 hr. 8 min. 29 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File  /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
Listener Log File        /u01/app/oracle/diag/tnslsnr/yourhost/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=yourhost)(PORT=1521)))
Services Summary...
Service "orcl" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclXDB" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully
登入後複製

透過上述指令可以查看到監聽器的狀態、版本、啟動時間、服務摘要等資訊。如果監聽器沒有在執行,則需要使用指令 lsnrctl start 開啟監聽器。

步驟二:修改監聽器設定檔

監聽器的設定檔位於 $ORACLE_HOME/network/admin 目錄下,檔案名稱為 listener.ora。修改該檔案前,先備份原始設定檔。可以使用文字編輯器開啟 listener.ora 文件,並對其中的配置進行修改。例如,增加一個新的服務監聽:

# 添加一个新的服务监听
SID_LIST_LISTENER=
   (SID_LIST=
      (SID_DESC=
         (SID_NAME=test)
         (ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1)
         (PROGRAM=oracle)
      )
   )
 
# 添加监听的IP地址和端口
LISTENER=
  (DESCRIPTION_LIST=
    (DESCRIPTION=
      (ADDRESS=
        (PROTOCOL=TCP)
        (HOST=192.168.1.10)
        (PORT=1521)
      )
    )
  )
 
# 添加新服务的信息
SID_DESC_LISTENER 
  (SID_DESC =
    (GLOBAL_DBNAME=test)
    (ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)
    (SID_NAME = test)
  )
登入後複製

另外,還可以對監聽器的參數進行修改,例如修改監聽器的連接埠號,使用參數檔案等等。網路中的其他設備如交換器、路由器、防火牆等也可能影響監聽器,需要根據實際情況進行相應設定。

步驟三:重新啟動監聽器

在修改完監聽器設定檔之後,需要重新啟動監聽器使新的設定生效。可以使用指令 lsnrctl stop 停止監聽器,然後使用指令 lsnrctl start 啟動監聽器。

LSNRCTL> stop
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=yourhost)(PORT=1521)))
The command completed successfully

LSNRCTL> start
Starting /u01/app/oracle/product/11.2.0/dbhome_1/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 11.2.0.1.0 - Production
System parameter file is /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
Log messages written to /u01/app/oracle/diag/tnslsnr/yourhost/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=yourhost)(PORT=1521)))
Services summary...
Service "orcl" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclXDB" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully
登入後複製

步驟四:測試新設定

在完成監聽器設定的修改和重新啟動之後,需要進行一些測試來驗證新的設定是否生效。可以使用tnsping 工具或資料庫用戶端連線來測試監聽器是否可以接受客戶端請求。例如使用 tnsping “test”指令測試新增的服務監聽是否正常。

tnsping test
登入後複製

如果傳回類似「OK」等訊息,則表示新設定的監聽器可以接受用戶端請求並回傳回應,表示設定已經生效。

要注意的是,在修改監聽器配置過程中,需要謹慎操作,避免原始配置資訊的遺失和資料庫存取的不穩定。在實際操作中,可以採取一定的安全措施如備份設定檔、測試修改結果等,以保障資料庫的正常運作。

以上是oracle 怎麼修改監聽的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板