日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

local_listener 与 remote_listener 参数说明

發布時間:2025/5/22 编程问答 13 豆豆
生活随笔 收集整理的這篇文章主要介紹了 local_listener 与 remote_listener 参数说明 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

.? LOCAL_LISTENER REMOTE_LISTENER說明

1.1 ?LOCAL_LISTENER

官網信息如下:

??????

Property

Description

Parameter type

String

Syntax

LOCAL_LISTENER = network_name

Default value

(ADDRESS = (PROTOCOL=TCP)(HOST=hostname)(PORT=1521)) where hostname is the network name of the local host.

Modifiable

ALTER SYSTEM

Basic

No

?

?????? LOCAL_LISTENER specifies a network name that resolves to an address or address list of Oracle Net local listeners (that is, listeners that are running on the same machine as this instance). The address or address list is specified in the TNSNAMES.ORA file or other address repository as configured for your system.

?

1.2 ?REMOTE_LISTENER

?

官網說明:

Property

Description

Parameter type

String

Syntax

REMOTE_LISTENER = network_name

Default value

There is no default value.

Modifiable

ALTER SYSTEM

Basic

Yes

?

?????? REMOTE_LISTENER specifies a network name that resolves to an address or address list of Oracle Net remote listeners (that is, listeners that are not running on the same machine as this instance). The address or address list is specified in the TNSNAMES.ORA file or other address repository as configured for your system.

?

?

?

. ?LOCAL_LISTENER 與動態注冊

?

關于動態注冊,參考我的Blog

?????? Oracle Listener 動態注冊 靜態注冊

?????? http://blog.csdn.net/tianlesoftware/archive/2010/04/30/5543166.aspx

?

?????? 動態注冊是在instance啟動的時候,PMON進程根據init.ora中的instance_name,service_names兩個參數將實例和服務動態注冊到listener中。

?????? 注冊到監聽器中的實例值init.ora文件中的instance_name參數取得。如果該參數沒有設定值,那么它將取init.ora文件中的db_name的值。如果在RAC中配置,您必須將集群中每個實例的instance_name參數設置為一個唯一的值。

  注冊到監聽器中的服務值init.ora文件中的參數service_names取得。如果該參數沒有設定值,數據庫將拼接init.ora文件中的 db_namedb_domain的值來注冊自己。如果選擇提供service_names值,您可以使用完全限定的名稱(比如 orcl.oracle.com)或縮寫的名稱(比如orcl)。如果選擇縮寫的名稱并設置了db_domain參數,注冊到監聽器中的服務將是 service_name值和db_domain值的拼接。

?

???? 這里要注意的是:動態注冊默認只注冊到默認的監聽器上(名稱是LISTENER、端口是1521、協議是TCP)因為pmon只會動態注冊port等于1521的監聽,否則pmon不能動態注冊listener,如果需要向非默認監聽注冊,則需要配置local_listener參數。

?

?????? 因此我們看到了LOCAL_LISTENER的作用。 ?監聽的端口默認是1521,但是很多情況下,處于安裝考慮,不會使用1521端口,因為在這種情況下使用動態注冊就需要配置LOCAL_LISTENER參數。

?

?????? 將監聽的信息添加到tnsnames.ora? 文件中。 因為pmon在動態注冊監聽時要從tnsnames.ora中讀取相關信息。

?

LISTENER _RACDB1 =

? (ADDRESS_LIST =

??? (ADDRESS = (PROTOCOL = TCP)(HOST = rac1)(PORT =1522))

? )

?

?

然后以sys用戶修改local_listener參數:

SQL> alter system set local_listener= LISTENER _RACDB1;

也可以直接指定:

SQL> alter system set LOCAL_LISTENER='(ADDRESS = (PROTOCOL = TCP)(HOST = rac1)(PORT = 1522))';

?

?????? 這樣,在DB啟動的時候,就會自動的把instence_name service_name注冊到監聽。 如果在這期間,監聽重啟了,監聽里的信息也會丟失,這時就需要手動的把信息注冊到監聽:

SQL> alter system register;

?

?

. LOCAL_LISTENER, REMOTE_LISTENER RAC CLIENT-SIDE TAF LOAD BALCANING

?

3.1 參數說明

Blog

?????? Oracle RAC Failover 詳解

?????? http://blog.csdn.net/tianlesoftware/archive/2010/03/03/5340788.aspx

?

?

中對RACFailover做了分類:Client-Side TAF Server-side TAF.

Service-SideTAF是在服務器上配置的,Client-Side TAF是在客戶端配置的。

?

?????? Client-Side TAF 是在客戶端修改tnsnames.ora 文件來配置的,如果有很多客戶端使用這個數據庫,那么每次微笑調整都需要把所有的計算機更改一遍,既低效又容易出錯。而Service-Side TAF 通過結合Service,在數據庫里保存FAIL_MODE的配置,把所有的TAF配置保存在數據字典中,從而省去了客戶端的配置工作,客戶端的TNS文件就不需要任何TAF的配置選項了。

?

關于Server-side TAF 配置參考Blog

?????? How To Configure Server Side Transparent Application Failover [ID 460982.1]

?????? http://blog.csdn.net/tianlesoftware/archive/2010/12/20/6086728.aspx

?

LOCAL_LISTENER REMOTE_LISTENER 2個參數就是配置Client-Side TAF的。

?

官網的配置參考:

?????? 10g & 11g Configuration of TAF(Transparent Application Failover) and Load Balancing [ID 453293.1]

?????? http://blog.csdn.net/tianlesoftware/archive/2010/12/19/6085529.aspx

?

?

3.2 ?Client-Side TAF 配置

?

3.2.1主機信息如下

Node1:

Hostname: node1.idc.oracle.com?

VIP Hostname: node1-vip.idc.oracle.com?

Database Service_names: service.idc.oracle.com?

SID: sid1

?

Node2:?

Hostname: node2.idc.oracle.com??

VIP Hostname: node2-vip.idc.oracle.com??

Database Service_names: service.idc.oracle.com??

SID: sid2

?

3.2.2 ?Node1配置

?

1)修改Listener.ora文件

LISTENER_NODE1=??

(DESCRIPTION =??

?(ADDRESS_LIST =??

? (ADDRESS = (PROTOCOL = TCP)(HOST = node1-vip.idc.oracle.com)(PORT = 1521)(IP=FIRST))?? --私有IP

? (ADDRESS = (PROTOCOL = TCP)(HOST = node1.idc.oracle.com)(PORT = 1521)(IP=FIRST))???? --public IP

?)??

)?

?

2)啟動Listener

$ lsnrctl start LISTENER_NODE1

?

3)修改Tnsnames.ora文件

NODE1_LOCAL=

?(ADDRESS = (PROTOCOL = TCP)(HOST=node1-vip.idc.oracle.com)(PORT = 1521))?????

?

測試:

$ tnsping node1_local

?

4 設置node1local_listener參數

sql > alter system set LOCAL_LISTENER='node1_local' scope=both sid='sid1' ;

?

?

3.2.3 ?NODE2 配置

?

1)修改Listener.ora文件

?

LISTENER_NODE2=???

(DESCRIPTION =??

?(ADDRESS_LIST =???????????

(ADDRESS=(PROTOCOL=TCP)(HOST=node2.idc.oracle.com)(PORT=1521)(IP=FIRST))??

(ADDRESS=(PROTOCOL=TCP)(HOST=node2-vip.idc.oracle.com)(PORT=1521)(IP=FIRST))??

?)??

)

?

2)啟動Listener

$ lsnrctl start LISTENER_NODE2

?

3)修改Tnsnames.ora文件

NODE2_LOCAL=?

?? (ADDRESS = (PROTOCOL = TCP)(HOST = node2-vip.idc.oracle.com)(PORT = 1521))?

?

驗證:

$ tnsping node2_local

?

?

4)設置local_listener 參數

sql > alter system set LOCAL_LISTENER='node2_local' scope=both sid='sid2' ;

?

?

3.2.4 node1node2 tnsnames.ora 文件添加如下內容

?

NODE_REMOTE =

(DESCRIPTION =??

?(ADDRESS_LIST =??

? (ADDRESS = (PROTOCOL = TCP)(HOST=node1-vip.idc.oracle.com)(PORT = 1521))??

? (ADDRESS = (PROTOCOL = TCP)(HOST=node2-vip.idc.oracle.com)(PORT = 1521))???

?)??

)

?

測試:

$ tnsping node_remote

?

3.2.5 ?在所有節點設置remote listener

sql> alter system set REMOTE_LISTENER='node_remote' scope=both;

?

?

3.2.6 在客戶端設置的tnsnames.ora 設置TAF

RACTAF=

(DESCRIPTION =?

?(ADDRESS_LIST =

? (LOAD_BALANCE = yes)?

?????? (FAILOVER=ON)? -- 這個參數是默認值,可以不寫

? (ADDRESS = (PROTOCOL = TCP)(HOST = node1-vip.idc.oracle.com)(PORT = 1521))?

? (ADDRESS = (PROTOCOL = TCP)(HOST = node2-vip.idc.oracle.com)(PORT = 1521))?

?)

?(CONNECT_DATA =?

?? (SERVICE_NAME = service.idc.oracle.com)?

?? (failover_mode=(type=select)(method=basic))?

??? )?

? )

?

?????? 當客戶端發出連接請求給Serverlistener的時候,通過local_listener注冊的服務接收這個連接請求,然后由master instance來決定這個連接請求應該由哪個目標instance發出server process響應這個連接請求。如果啟用負載均衡,那么主節點會選擇cpu負載最小的那個instance,此時:

?????? 如果master分配的目標instancelocal listener machine,那么直接通過local server listener,開啟后臺的server process,處理發出conn的客戶端,建立連接,處理會話;

????? 如果master分配的目標instance不是local listener machine,那么會通過remote_listener這個參數,把連接請求轉移到remote machine上的listener, 然后由remote service listener發出一個server process返回客戶端,建立連接,處理會話.

????? conn建立連接以后,listener就沒有用了,不會再用到了,如果這個時候,已經連接的那個instance down了,會重新由新分配的master instance通過remote_listener切換到可用instance,此時客戶不會發現連接中斷。conn select操作是不會中斷的。

?

?????? 當實例1注冊監聽的時候,即使節點2instance沒有啟動,也會通過remote_listener在節點2 server上注冊相應的listener1. 它是在數據庫啟動的時候,添加到相應的listener service里的。

?

?

?

?

?

整理自網絡

------------------------------------------------------------------------------

Blog http://blog.csdn.net/tianlesoftware

網上資源: http://tianlesoftware.download.csdn.net

相關視頻:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx

DBA1 群:62697716(滿); DBA2 群:62697977(滿)

DBA3 群:62697850?? DBA 超級群:63306533;????

聊天 群:40132017

--加群需要在備注說明Oracle表空間和數據文件的關系,否則拒絕申請

轉載于:https://www.cnblogs.com/zlja/archive/2010/12/20/2449753.html

總結

以上是生活随笔為你收集整理的local_listener 与 remote_listener 参数说明的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。