rac之SCAN

數據庫的初始化參數remote_listener默認被設置爲SCAN Listener,目的是爲了讓SCAN Listener可以監聽所有的實例,記錄所有實例的壓力,以便於按照負載均衡的方式來轉發客戶端的請求。


客戶端如何通過SCAN訪問數據庫
------------------------------------------------------
客戶端發出連接數據庫的請求,DNS將SCAN解析出對應的3個SCAN IP並返回給客戶端,
客戶端隨機的選擇其中一個SCAN IP地址,然後客戶端通過這個SCAN IP訪問對應的節點,當對應節點的SCAN Listener接受到請求後,SCAN Listener會選擇壓力最小的數據庫實例,然後壓力最小的數據庫實例對應的local listener的地址將會返回給客戶端,最終這個local listener爲客戶端請求建立與數據庫的連接。


客戶端tnsnames.ora的配置
-------------------------------------------
RAC =
(DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = rac-cluster-scan)(PORT = 1521))
  (CONNECT_DATA =
     (SERVER = DEDICATED)
     (SERVICE_NAME = rac)
  ) )

客戶端的連接方式:
$ sqlplsu <username>/<password>@RAC


EZconnet的連接仍然適用於SCAN
$ sqlplus <username>/<password>@rac-cluster-scan:1521/rac

常用命令
-----------------------
1. 查看SCAN配置信息
$ srvctl config scan
SCAN name: rac-cluster-scan, Network: 1/192.168.1.0/255.255.255.0/
SCAN VIP name: scan1, IP: /rac-cluster-scan/192.168.1.12
SCAN VIP name: scan2, IP: /rac-cluster-scan/192.168.1.13
SCAN VIP name: scan3, IP: /rac-cluster-scan/192.168.1.14


2. 查看SCAN Listener配置信息
$ srvctl config scan_listener
SCAN Listener LISTENER_SCAN1 exists. Port: TCP:1521
SCAN Listener LISTENER_SCAN2 exists. Port: TCP:1521
SCAN Listener LISTENER_SCAN3 exists. Port: TCP:1521


3. 查看SCAN的狀態
$ srvctl status scan


4. 查看SCAN listener的狀態
$ srvctl status scan_listener

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章