天天看點

Oracle11g修改RAC SCAN IP

在11gR2中,引入了SCAN(Single Client Access Name)的特性,該特性的好處在于,在資料庫與用戶端之間,添加了一層虛拟的服務層,就是所謂的scan ip以及scan ip listener,在用戶端僅需要配置scan ip的tns資訊,通過scan ip listener,連接配接背景叢集資料庫。這樣,不論叢集資料庫是否有添加或者删除節點的操作,均不會對client産生影響。當有用戶端應用程式使用SCAN ip通路資料庫時,scan listener會将連接配接轉發到local

listener上。

RAC=

(DESCRIPTION=

(ADDRESS=(PROTOCOL=tcp)(HOST=SCAN)(PORT=1521))

(CONNECT_DATA=(SERVICE_NAME=RAC))

)

Client should connect to the SCAN name  -> scan listener, scan listener will redirect the connection(sometimes beneath) to the node VIP, and all succeeding procedures are same with the previous versions.

   和SCAN ip 相關的ip資訊在SCAN 資源建立的時候就被初始化了。在不使用GNS的情況下:任何對DNS和/etc/hosts 中SCAN 中的變更都不會自動同步到Clusterware中而是要手工執行相關的更新操作。下面介紹一下修改scan ip的具體步驟:

實驗環境:

版本:

Clusterware :11.2.0.2

database    :11.2.0.1

舊scan ip

10.250.7.210

新scan ip

10.250.7.141

10.250.7.142

10.250.7.143

1 檢視scan ip的狀态資訊:

grid@rac1:/home/grid>srvctl config scan

SCAN 名稱: scan, 網絡: 1/10.250.7.0/255.255.255.0/eth0

SCAN VIP 名稱: scan1, IP: /scan/10.250.7.210

grid@rac1:/home/grid>

2 停止scan_listener ,scan 應用

grid@rac1:/home/grid>srvctl stop scan_listener

grid@rac1:/home/grid>srvctl stop scan

3 确認 scan_listener,scan 的狀态

grid@rac1:/home/grid>srvctl status scan_listener

SCAN 監聽程式 LISTENER_SCAN1 已啟用

SCAN 監聽程式 LISTENER_SCAN1 未運作

grid@rac1:/home/grid>srvctl status scan

SCAN VIP scan1 已啟用

SCAN VIP scan1 未運作

grid@rac1:/home/grid>crs_stat -t | grep  scan 

ora.scan1.vip  ora....ip.type OFFLINE   OFFLINE              

grid@rac1:/home/grid>crs_stat -t | grep  lsnr

ora....ER.lsnr ora....er.type ONLINE    ONLINE    rac1       

ora....N1.lsnr ora....er.type OFFLINE   OFFLINE              

ora....C1.lsnr application    ONLINE    ONLINE    rac1       

ora....C2.lsnr application    ONLINE    ONLINE    rac2

4 在所有節點中 /etc/hosts 檔案中修改 scan 對應的ip:

10.250.7.141        scan

10.250.7.142        scan

10.250.7.143        scan

grid@rac1:/home/grid>srvctl modify scan -h

修改 SCAN 名稱。

用法: srvctl modify scan -n <scan_name>

    -n <scan_name>           域名限定的 SCAN 名

    -h                       輸出用法

grid 使用者無權更改scan ip,必須使用root權限

grid@rac1:/home/grid>srvctl modify scan -n scan 

PRCS-1034 : 無法修改單客戶機通路名 scan

PRCR-1071 : 無法注冊或更新 資源類型 ora.scan_vip.type

CRS-0245:  User does not have enough privilege to perform. the operation

[root@rac1 ~]# /opt/11202/11.2.0/grid/bin/srvctl modify scan -n scan

5 變更後,進行确認:

[root@rac1 ~]# /opt/11202/11.2.0/grid/bin/srvctl config scan

SCAN VIP 名稱: scan1, IP: /scan/10.250.7.141  <====隻有一個scan ip

對于/etc/hosts檔案解析scan ip,因為不能做輪訓的負載均衡,是以這時候scan ip就隻能有一個了。

6 重新啟動scan,scan_listener

grid@rac1:/home/grid>srvctl start scan

grid@rac1:/home/grid>srvctl start scan_listener

7 确認scan 和scan_listener.ora的狀态:

grid@rac1:/home/grid>crs_stat -t | grep  scan

ora.scan1.vip  ora....ip.type ONLINE    ONLINE    rac2       

ora....N1.lsnr ora....er.type ONLINE    ONLINE    rac2       

進行ping測試

grid@rac1:/home/grid>ping 10.250.7.141

PING 10.250.7.141 (10.250.7.141) 56(84) bytes of

data.

64 bytes from 10.250.7.141: icmp_seq=1 ttl=64 time=1.52 ms

64 bytes from 10.250.7.141: icmp_seq=2 ttl=64 time=0.226 ms

--- 10.250.7.141 ping statistics ---

2 packets transmitted, 2 received, 0% packet loss, time 1000ms

rtt min/avg/max/mdev = 0.226/0.873/1.520/0.647 ms

grid@rac1:/home/grid>ping 10.250.7.142

PING 10.250.7.142 (10.250.7.142) 56(84) bytes of data.

   與修改private ip ,vip 不一樣,修改scan ip 無需停止資料庫執行個體,asm 或者重新開機crs,相對比較簡單!