Oracle

更改 Oracle 數據庫機 X8-2M 的網格偵聽器埠

  • February 27, 2021

我需要添加一個額外的埠:1522

Listener Parameter File   /u01/app/19.0.0.0/grid/network/admin/listener.ora
Listener Log File         /u01/app/grid/diag/tnslsnr/xxxx/listener/alert/log.xml
Listening Endpoints Summary...
 (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))
 (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xxxx)(PORT=1521)))
Services Summary...
Service "xxxx" has 1 instance(s).

/u01/app/19.0.0.0/grid/network/admin/listener.ora->

LISTENER=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER))))            # line added by Agent
ASMNET1LSNR_ASM=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=ASMNET1LSNR_ASM))))              # line added by Agent
ENABLE_GLOBAL_DYNAMIC_ENDPOINT_ASMNET1LSNR_ASM=ON               # line added by Agent
VALID_NODE_CHECKING_REGISTRATION_ASMNET1LSNR_ASM=SUBNET         # line added by Agent
ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER=ON              # line added by Agent
VALID_NODE_CHECKING_REGISTRATION_LISTENER=SUBNET                # 

每次編輯 listener.ora 監聽器啟動失敗:

我試過:

LISTENER =
 (DESCRIPTION_LIST =
   (DESCRIPTION =
     (ADDRESS = (PROTOCOL = IPC)(KEY = LISTENER))
     (ADDRESS = (PROTOCOL = TCP)(HOST = xxxx)(PORT = 1521))
     (ADDRESS = (PROTOCOL = TCP)(HOST = xxxx)(PORT = 1522))
   )
 )
ASMNET1LSNR_ASM=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=ASMNET1LSNR_ASM))))              # line added by Agent
ENABLE_GLOBAL_DYNAMIC_ENDPOINT_ASMNET1LSNR_ASM=ON               # line added by Agent
VALID_NODE_CHECKING_REGISTRATION_ASMNET1LSNR_ASM=SUBNET         # line added by Agent
ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER=ON              # line added by Agent
VALID_NODE_CHECKING_REGISTRATION_LISTENER=SUBNET                # line added by Agent

srvctl start listener PRCR-1079:無法啟動資源 ora.LISTENER.lsnr CRS-5016:由代理“ORAAGENT”為操作“start”生成的程序“/u01/app/19.0.0.0/grid/bin/lsnrctl”失敗: “/u01/app/grid/diag/crs/xxxx/crs/trace/crsd_oraagent_grid.trc”中“(:CLSN00010:)”的詳細資訊

偵聽器無法啟動。請參閱上面的錯誤消息…

2021-02-17 15:32:19.462:CLSDYNAM:2613040896:

$$ ora.LISTENER.lsnr $${1:35727:65428}$$ start $$(:CLSN00010:)Utils:execCmd scls_process_join() uret 1 2021-02-17 15:32:19.462:CLSDYNAM:2613040896:

$$ ora.LISTENER.lsnr $${1:35727:65428}$$ start $$clsnUtils::error Exception type=2 string= CRS-5016: Process “/u01/app/19.0.0.0/grid/bin/lsnrctl” 由代理 “ORAAGENT” 為操作 “start” 生成失敗:詳細資訊在 “(:CLSN00010 :)”在“/u01/app/grid/diag/crs/etabonxrdbs0010/crs/trace/crsd_oraagent_grid.trc” 2021-02-17 15:32:19.463:AGFW:2610939648:

$$ INFO $${1:35727:65428} 代理髮送回复:RESOURCE_START$$ ora.LISTENER.lsnr etabonxrdbs0010 1 $$ID 4098:1355034 2021-02-17 15:32:19.463:CLSDYNAM:2613040896:$$ ora.LISTENER.lsnr $${1:35727:65428}$$ start $$LsnrAgent::Lsnrctl::start lsnrctl start complete lsnrname:LISTENER output: LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 17-FEB-2021 15:32:19 版權所有 (c) 1991, 2020,甲骨文。版權所有。

2021-02-17 18:19:34.200:CLSDYNAM:2606737152:

$$ ora.LISTENER.lsnr $${1:35727:1260}$$ check $$clsnUtils::error Exception type=2 string= CRS-5020: 並非所有端點都為偵聽器 LISTENER 註冊

I tried: srvctl modify listener -p "TCP:1521/TCP:1522"; 

srvctl config listener
Name: LISTENER
Type: Database Listener
Network: 1, Owner: grid
Home: <CRS home>
End points: TCP:1521, 1522
Listener is enabled.
Listener is individually enabled on nodes:
Listener is individually disabled on nodes:

該命令肯定是(使用者網格):

srvctl modify listener listener -p "TCP:1522,4444,nnnn"

我們的問題是我們想要使用的埠被 ODA 上的另一個服務(例如 ONS)使用。該命令完成,但偵聽器忽略了埠。這可能解釋了上面的日誌。

我們還需要在 ODA CDB/ASM 上輸入 local_listener:

alter system set local_listener='(ADDRESS = (PROTOCOL = TCP)(HOST = hostname)(PORT = 1522))';

我們在 Oracle 支持部門打開了 SR 並得到了回饋:

現在 ODA 上的 dcs 代理不處理多個偵聽器埠。我們可以將偵聽器配置為使用 ODA 上的多個埠。但是我們在創建數據庫、註冊數據庫期間遇到問題。已針對此類問題記錄了增強功能,這些問題將在未來版本中修復 Enh 30095060 - ODACLI 無法註冊數據庫 目前我不建議向偵聽器添加多個埠。

引用自:https://dba.stackexchange.com/questions/285566