一、配置dns域名解析
1.配置hosts文件,两个节点一致
[root@rac1 bin]# vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.0.1 localhost.pandb.com localhost
# Public
10.21.80.75 rac1.pandb.com rac1
10.21.80.76 rac2.pandb.com rac2
# Private
172.21.20.153 rac1-priv.pandb.com rac1-priv
172.21.20.151 rac2-priv.pandb.com rac2-priv
# Virtual
10.21.80.175 rac1-vip.pandb.com rac1-vip
10.21.80.176 rac2-vip.pandb.com rac2-vip
# SCAN
10.21.80.200 scanip.pandb.com scanip
2.配置dns域名解析,只在一个节点上配
[root@rac1 named]# ll /etc/named.conf
-rw-r–r– 1 root named 1275 3月 24 19:35 /etc/named.conf
[root@rac1 named]# vi /etc/named.conf
options {
listen-on port 53 { any; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
// Those options should be used carefully because they disable port
// randomization
// query-source port 53;
// query-source-v6 port 53;
allow-query { any; };
allow-query-cache { any; };
};
logging {
channel default_debug {
file"data/named.run";
severity dynamic;
};
};
view localhost_resolver {
match-clients { any; };
match-destinations { any; };
recursion yes;
include "/etc/named.zones";
};
[root@rac1 named]# vi /etc/named.zones
zone "pandb.com." IN {
type master;
file "scanip.pandb.zero";
};
zone "80.21.10.in-addr.arpa." IN{
type master;
file "80.21.10.pandb";
};
[root@rac1 named]# ll /var/named/scanip.pandb.zero
-rw-r–r– 1 root named 618 3月 24 20:07 /var/named/scanip.pandb.zero
[root@rac1 named]# vi /var/named/scanip.pandb.zero
$TTL 86400
@ IN SOA scanip.pandb.com. root.pandb.com. (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS scanip.pandb.com.
scanip.pandb.com IN A 10.21.80.175
scanip.pandb.com IN A 10.21.80.176
scanip IN A 10.21.80.175
scanip IN A 10.21.80.176
[root@rac1 named]# ll /var/named/80.21.10.pandb
-rw-r–r– 1 root named 492 3月 24 20:05 /var/named/80.21.10.pandb
[root@rac1 named]# vi /var/named/80.21.10.pandb
$TTL 86400
@ IN SOA scanip.pandb.com. root.pandb.com. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS scanip.pandb.com.
175 IN PTR scanip.pandb.com.
176 IN PTR scanip.pandb.com.
[root@rac1 bin]# vi /etc/resolv.conf
search pandb.com
nameserver 10.21.80.75
3.另外一个节点配置dns服务器即可
[root@rac1 bin]# vi /etc/resolv.conf
search pandb.com
nameserver 10.21.80.75
4.检查域名解析是否成功
[root@rac1 bin]# nslookup scanip
Server: 10.21.80.75
Address: 10.21.80.75#53
Name: scanip.pandb.com
Address: 10.21.80.176
Name: scanip.pandb.com
Address: 10.21.80.175
二、配置TAFService
1.创建TAFService
[oracle@rac1 ~]$ srvctl add service -d pandb -s server_taf -r "pandb1,pandb2" -P BASIC
2. 启动server_taf服务
[oracle@rac1 ~]$ srvctl start service -d pandb -s server_taf
3. 检查service运行情况
[oracle@rac1 ~]$ srvctl config service -d pandb
4.确认serviceID
SQL> select name,service_id from dba_services where name = 'server_taf';
5.给service添加参数:
SQL> execute dbms_service.modify_service (service_name => 'server_taf' -
, aq_ha_notifications => true -
, failover_method => dbms_service.failover_method_basic -
, failover_type => dbms_service.failover_type_select -
, failover_retries => 180 -
, failover_delay => 5 -
, clb_goal => dbms_service.clb_goal_long);
6. 确认参数修改:
col name format a15
col failover_method format a11 heading 'METHOD'
col failover_type format a10 heading 'TYPE'
col failover_retries format 9999999 heading 'RETRIES'
col goal format a10
col clb_goal format a8
col AQ_HA_NOTIFICATIONS format a5 heading 'AQNOT'
SQL> select name, failover_method,failover_type, failover_retries,goal, clb_goal,aq_ha_notifications from dba_services where service_id = 3;
7. 检查service注册情况:
[oracle@db1 bin]$ lsnrctl services1.创建TAFService
[oracle@rac1 ~]$ srvctl add service -d pandb -s server_taf -r "pandb1,pandb2" -P BASIC
2. 启动server_taf服务
[oracle@rac1 ~]$ srvctl start service -d pandb -s server_taf
3. 检查service运行情况
[oracle@rac1 ~]$ srvctl config service -d pandb
4.确认serviceID
SQL> select name,service_id from dba_services where name = 'server_taf';
5.给service添加参数:
SQL> execute dbms_service.modify_service (service_name => 'server_taf' -
, aq_ha_notifications => true -
, failover_method => dbms_service.failover_method_basic -
, failover_type => dbms_service.failover_type_select -
, failover_retries => 180 -
, failover_delay => 5 -
, clb_goal => dbms_service.clb_goal_long);
6. 确认参数修改:
col name format a15
col failover_method format a11 heading 'METHOD'
col failover_type format a10 heading 'TYPE'
col failover_retries format 9999999 heading 'RETRIES'
col goal format a10
col clb_goal format a8
col AQ_HA_NOTIFICATIONS format a5 heading 'AQNOT'
SQL> select name, failover_method,failover_type, failover_retries,goal, clb_goal,aq_ha_notifications from dba_services where service_id = 3;
7. 检查service注册情况:
[oracle@db1 bin]$ lsnrctl services
LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 28-MAR-2018 17:57:02
Copyright (c) 1991, 2013, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER)))
Services Summary...
Service "+ASM" has 1 instance(s).
Instance "+ASM1", status READY, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:0 refused:0 state:ready
LOCAL SERVER
Service "pandb" has 1 instance(s).
Instance "pandb1", status READY, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:3341 refused:0 state:ready
LOCAL SERVER
Service "pandbXDB" has 1 instance(s).
Instance "pandb1", status READY, has 1 handler(s) for this service...
Handler(s):
"D000" established:0 refused:0 current:0 max:1022 state:ready
DISPATCHER <machine: rac1, pid: 151597>
(ADDRESS=(PROTOCOL=tcp)(HOST=rac1.pandb.com)(PORT=20556))
Service "pandbzzz" has 1 instance(s).
Instance "pandb1", status READY, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:3341 refused:0 state:ready
LOCAL SERVER
Service "server_taf" has 1 instance(s).
Instance "pandb1", status READY, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:3341 refused:0 state:ready
LOCAL SERVER
The command completed successfully
三、查看状态
[oracle@rac1 admin]$ lsnrctl
LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 28-MAR-2018 17:45:20
Copyright (c) 1991, 2013, Oracle. All rights reserved.
Welcome to LSNRCTL, type "help" for information.
LSNRCTL> set current_listener LISTENER
Current Listener is LISTENER
LSNRCTL> service
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
Services Summary...
Service "+ASM" has 1 instance(s).
Instance "+ASM1", status READY, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:0 refused:0 state:ready
LOCAL SERVER
Service "pandb" has 1 instance(s).
Instance "pandb1", status READY, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:2946 refused:0 state:ready
LOCAL SERVER
Service "pandbXDB" has 1 instance(s).
Instance "pandb1", status READY, has 1 handler(s) for this service...
Handler(s):
"D000" established:0 refused:0 current:0 max:1022 state:ready
DISPATCHER <machine: rac1, pid: 151597>
(ADDRESS=(PROTOCOL=tcp)(HOST=rac1.pandb.com)(PORT=20556))
Service "pandbzzz" has 1 instance(s).
Instance "pandb1", status READY, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:2946 refused:0 state:ready
LOCAL SERVER
Service "server_taf" has 1 instance(s).
Instance "pandb1", status READY, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:2946 refused:0 state:ready
LOCAL SERVER
The command completed successfully
LSNRCTL> set current_listener scanip
Current Listener is scanip
LSNRCTL> service
Connecting to (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))(ADDRESS=(PROTOCOL=TCP)(HOST=10.21.80.200)(PORT=1521)))
Services Summary...
Service "+ASM" has 2 instance(s).
Instance "+ASM1", status READY, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:0 refused:0 state:ready
REMOTE SERVER
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.21.80.175)(PORT=1521)))
Instance "+ASM2", status READY, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:0 refused:0 state:ready
REMOTE SERVER
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.21.80.176)(PORT=1521)))
Service "pandb" has 2 instance(s).
Instance "pandb1", status READY, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:2838 refused:0 state:ready
REMOTE SERVER
(ADDRESS=(PROTOCOL=TCP)(HOST=10.21.80.175)(PORT=1521))
Instance "pandb2", status READY, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:5002 refused:0 state:ready
REMOTE SERVER
(ADDRESS=(PROTOCOL=TCP)(HOST=10.21.80.176)(PORT=1521))
Service "pandbXDB" has 2 instance(s).
Instance "pandb1", status READY, has 1 handler(s) for this service...
Handler(s):
"D000" established:0 refused:0 current:0 max:1022 state:ready
DISPATCHER <machine: rac1, pid: 151597>
(ADDRESS=(PROTOCOL=tcp)(HOST=rac1.pandb.com)(PORT=20556))
Instance "pandb2", status READY, has 1 handler(s) for this service...
Handler(s):
"D000" established:0 refused:0 current:0 max:1022 state:ready
DISPATCHER <machine: rac2, pid: 5969>
(ADDRESS=(PROTOCOL=tcp)(HOST=rac2.pandb.com)(PORT=10696))
Service "pandbzzz" has 1 instance(s).
Instance "pandb1", status READY, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:2838 refused:0 state:ready
REMOTE SERVER
(ADDRESS=(PROTOCOL=TCP)(HOST=10.21.80.175)(PORT=1521))
Service "server_taf" has 2 instance(s).
Instance "pandb1", status READY, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:2838 refused:0 state:ready
REMOTE SERVER
(ADDRESS=(PROTOCOL=TCP)(HOST=10.21.80.175)(PORT=1521))
Instance "pandb2", status READY, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:5002 refused:0 state:ready
REMOTE SERVER
(ADDRESS=(PROTOCOL=TCP)(HOST=10.21.80.176)(PORT=1521))
The command completed successfully
[grid@rac2 ~]$ srvctl config scan
SCAN 名称: scanip, 网络: 1/10.21.80.0/255.255.255.0/team0
SCAN VIP 名称: scan1, IP: /scanip/10.21.80.200
[grid@rac2 ~]$ srvctl status scan
SCAN VIP scan1 已启用
SCAN VIP scan1 正在节点 rac1 上运行
四、客户端连接rac数据库时tnsnames.ora文件的配置
[root@dg3 ~]# vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.21.80.77 dg3
# Virtual
10.21.80.175 rac1-vip.pandb.com rac1-vip
10.21.80.176 rac2-vip.pandb.com rac2-vip
# SCAN
10.21.80.200 scanip.pandb.com scanip
[oracle@dg3 admin]$ vi /u01/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora
pandb_scan =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = scanip)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = server_taf)
)
)