سلام به همه دوستان
همین طور که میدونید ما در Cluster اوراکل جندین نوع IPداریم اولین IPهای که ما کار میکنیم برای اتصال به OS از طریق putty با استفاده از Public IPها هستن که این نوع IPهای در اختیار و کنترل OS می باشند
Virtual IP یا به عبارتی VIPاین IP ادرس ها در رنج publicIP ما هستند و تحت کنترل Oracle Cluster هستن یه عبارتی زمنی که cluster ware ما start می شه این Ip های روی کارت شبکه ما ایحاد میشن و زمانی که stopشد این Ipها وجود خارجی نخواهند داشت خب مثلا ما وقتی clusterنود یک رو stopمیکنیم این VIP به علت اینکه اورکل میخواهد applicationمتوجه قطعی نود یک نگردد این IPرا در نود دو بالا می اورد به عبارت بهتر روی کارت شبکه نود دو set میکند.
در oracle 10g بیشتر مورد استفاده بود.
scanIP: در اواکل 11g معرفی گردید به عبارتی مانند VIPهست یعنی در رنج PUBLIC IP هست و این دو نکته رو در نظر داشته باشید که وقتی به VIPوصل میشید یعنی به node وصل شدید و وقتی با scanکار میکنید یعنی به cluster وصل شدید(این رو هم یادتون باشه که اگه کلاستر ۱۰ نود هم داشته باشید تنها ۳ تا IP Scan نیاز دارید) این concept رو یادتون باشه .اوراکل با استفاده از internal algoritm های خودمتوحه میشه که هر نورد کلاستر وضعیت Load اون نود در چه وضعیتی هست . اوراکل تاکید داره که باید Ip scanهای در DNS قرار داده باشه .فرض کنید که scan 1 , scan2 روی نود ۱ هستن و scan 3 روی نود ۲ خب شما برای اتصال نام scan رو توی connection string خودتون میزارید.خب وقتی درخواست IPمیکنه DNS یک IPبه شما میده حالا فرض کنید که scan 2 رو داد که گفته بودیم روی نود ۱ در حال سرویس دهی هست. خب وقتی به این scanوصل شدید scan listener اوارکل چک میکنه که load کدوم نود کمتره و re-direct می کنه به -vip - local listener نودی که load کمتری داره.
برای این کار باید پارامتر remote_listener شما با مقدار scan name شما پر شده باشه
SQL> show parameter remote_listenerNAME TYPE VALUE------------------------------------ ----------- ------------------------------remote_listener string rac-scan:1521
[oracle@atm01 ~]$ cat /etc/hosts#SCAN (Single Client Access Name) create new host in dns server for rac-scan10.0.1.130 rac-scan.oracle.net rac-scan10.0.1.132 rac-scan.oracle.net rac-scan10.0.1.131 rac-scan.oracle.net rac-scan
گاهی در سازمان ها اعلام میشه که IPهای سرور رو عوض کنند من در این مقاله قصد عوض کردن IPهای scanرو دارم
IP های قدیمی 10.0.1.130,10.0.1.131,10.0.1.132
ّIP های جدید:10.0.1.150,10.0.1.151,10.0.1.152
در اولین مرحله باید DNSخودمون رو تغییر بدیم به مقدار IPهای جدید و سپس nslookup بگیریم تا مطمعن بشیم که سرور DNSما resolve میکنه به IPهای جدید.
[oracle@atm01 ~]$ nslookup rac-scan.oracle.netServer: dns1.oracle.netAddress: 10.0.1.70#53Address: 10.0.1.150Name: rac-scan.oracle.netName: rac-scan.oracle.netAddress: 10.0.1.152Address: 10.0.1.151Name: rac-scan.oracle.net
خب حالا وضعیت فعلی رو چک میکنیم به صورت زیر
[root@atm01 ~]# srvctl config scanSCAN name: rac-scan, Network: 1Subnet IPv4: 10.0.1.0/255.255.255.0/ens33, staticSubnet IPv6:SCAN 1 IPv4 VIP: 10.0.1.130SCAN VIP is enabled.SCAN VIP is individually disabled on nodes:SCAN VIP is individually enabled on nodes:SCAN 2 IPv4 VIP: 10.0.1.131SCAN 3 IPv4 VIP: 10.0.1.132SCAN VIP is enabled.SCAN VIP is individually enabled on nodes:SCAN VIP is individually disabled on nodes:SCAN VIP is enabled.SCAN VIP is individually disabled on nodes:SCAN VIP is individually enabled on nodes:
[root@atm01 ~]# srvctl stop scan_listener
و سپس scanرو میاریم پایین
[root@atm01 ~]# srvctl stop scan
[root@atm01 ~]# srvctl status scanSCAN VIP scan1 is enabledSCAN VIP scan2 is enabledSCAN VIP scan1 is not runningSCAN VIP scan3 is not runningSCAN VIP scan2 is not runningSCAN VIP scan3 is enabled
[root@atm01 ~]# srvctl status scan_listenerSCAN Listener LISTENER_SCAN1 is enabledSCAN Listener LISTENER_SCAN2 is enabledSCAN listener LISTENER_SCAN1 is not runningSCAN listener LISTENER_SCAN3 is not runningSCAN listener LISTENER_SCAN2 is not runningSCAN Listener LISTENER_SCAN3 is enabled
[root@atm01 ~]# srvctl modify scan -n rac-scan
[root@atm01 ~]# srvctl modify scan -n rac-scan[root@atm01 ~]# srvctl config scanSubnet IPv4: 10.0.1.0/255.255.255.0/ens33, staticSCAN name: rac-scan, Network: 1Subnet IPv6:SCAN VIP is individually enabled on nodes:SCAN 1 IPv4 VIP: 10.0.1.150SCAN VIP is enabled.SCAN VIP is enabled.SCAN VIP is individually disabled on nodes:SCAN 2 IPv4 VIP: 10.0.1.151SCAN 3 IPv4 VIP: 10.0.1.152SCAN VIP is individually enabled on nodes:SCAN VIP is individually disabled on nodes:SCAN VIP is enabled.SCAN VIP is individually disabled on nodes:SCAN VIP is individually enabled on nodes:
خب حالا ما resource scan رو startمیکنیم
[root@atm01 ~]# srvctl start scan
[root@atm01 ~]# srvctl start scan_listener
[root@atm01 ~]# srvctl modify scan_listener -u
[root@atm01 ~]# srvctl status scan_listenerSCAN Listener LISTENER_SCAN1 is enabledSCAN listener LISTENER_SCAN1 is running on node atm01SCAN Listener LISTENER_SCAN2 is enabledSCAN listener LISTENER_SCAN2 is running on node atm01[root@atm01 ~]# srvctl status scanSCAN Listener LISTENER_SCAN3 is enabledSCAN listener LISTENER_SCAN3 is running on node atm02SCAN VIP scan1 is enabledSCAN VIP scan3 is running on node atm02SCAN VIP scan1 is running on node atm01SCAN VIP scan2 is enabledSCAN VIP scan3 is enabledSCAN VIP scan2 is running on node atm01