RAC11g 新增另一个网卡,DG同步
2016-01-26 11:00
176 查看
步骤如下:
库1,2节点上配置:
/etc/hosts:
## --- Public IP --- ##
10.12x'x'x.x.113 sfpay-ods-db02
10.12x'x.x'x'x'x.111 sfpay-ods-db01
## --- Virtual IP --- ##
10.12x'x'x'x'x.3.114 sfpay-ods2-vip
10.12x'x'x'x'x'x.3.112 sfpay-ods1-vip
## --- Private IP --- ##
172.16.3.113 sfpay-ods2-priv
172.16.3.111 sfpay-ods1-priv
## ---- Scan IP --- ##
10.120.3.115 db.ods.sfp.com
## --- baoshui DG --- ##
10.120.3.161 sfpay-dg01
#by panbo
10.0.58.136 odsdb-pub-db1
## ---- GuanLan DG IP --- ##
172.23.3.111 ods1-dg
172.23.3.113 ods2-dg
172.23.3.112 ods1-dg-vip
172.23.3.114 ods2-dg-vip
变更前,确认2个节点的会话连接数
3. 在数据库RAC2节点使用root执行
/u01/app/11.2.0.4/grid/bin/srvctl add network -k 2 -S 172.23.0.0/255.255.0.0/em2
/u01/app/11.2.0.4/grid/bin/crsctl start res ora.net2.network
#--2 ,表示新增第二张网卡
/u01/app/11.2.0.4/grid/bin/srvctl add vip -n sfpay-ods-db01 -k 2 -A 172.23.3.112/255.255.0.0/em2
/u01/app/11.2.0.4/grid/bin/srvctl add vip -n sfpay-ods-db02 -k 2 -A 172.23.3.114/255.255.0.0/em2
/u01/app/11.2.0.4/grid/bin/srvctl start vip -i ods1-dg-vip
/u01/app/11.2.0.4/grid/bin/srvctl start vip -i ods2-dg-vip
/u01/app/11.2.0.4/grid/bin/crsctl status res -t
检查默认network的network number,红色字体1,一会儿添加监听会用到:
[grid@sfpay-tms-db02 ~]
查看srvctl添加监听的语法:
添加监听:名称: LISTENER4 端口号:1524
创建完后会在配置文件endpoints_listener.ora和listener.ora中添加记录信息:
查看添加 的信息:两个文件听红色字体部分
到此完成了监听的添加,再添加静态注册信息,vi listener.ora文件,在里面添加如下内容:
重启监听即完成静态注册:
查看所有的监听状态:
查看各个监听的配置:
-------- 方法 一 ----------------
到此就利用srvctl管理工具完成了添加新监听和静态注册的任务。
以下方法二(图形界面):
了解到以上信息后可能你对当前11.2 RAC中的listener.ora文件中的监听配置信息不再感到奇怪。
我们可以使用netca图形化工具或者srvctl 命令行工具添加监听配置; 如果仅仅是手动在listener.ora中添加记录的话是无法被注册为Cluster Ready Service的服务的,将不会被CRS管理。
方法1:
使用netca和netmgr图形化工具,完成添加监听和静态注册的工作。
1) 以Grid Infrastructure GI用户登录任意节点,并运行netca启动图形界面:
选择LISTENER Configuration
选择ADD
填入监听名字
选择subnet和availabe protocol ,一般默认即可,除非你有多个public network网段
填入端口号
选择NO
选择要启动的监听名,即方才你创建的监听名
之后选择FINISH退出netca 界面,启动netmgr界面,为监听加入静态注册的信息:
点选方才创建的监听器,选择Database Services菜单
填入Global Database Name和本地实例的SID信息,并确认ORACLE HOME Directory(应是Grid Infrastructure的Home目录)正确后点选Save Network Configuration。
之后使用srvctl 或 crsctl 重启该监听即可生效:
以上使用netca和netmgr图形界面工具完成了新监听的添加和静态注册工作。
2. 使用srvctl 工具添加监听并手动加入静态注册信息
srvctl start listener启动新添加的监听后listener.ora和endpoints_listener.ora会出现新的记录:
以上已经完成了监听的添加,足见使用srvctl管理更为简便。
之后仅需要加入静态注册信息即可,如:
加入如上信息到listener.ora配置文件中(SID_LIST_($LISTENER_NAME),并重启监听即完成静态注册:
以上利用srvctl管理工具完成了添加新监听和静态注册的任务。
连接数据库:
以下为新增,连接数据库,在oracle下设置,否然 通过 sqlplus 连接 报错,oracle not avialiable 等。
--节点1,2 在tnsnames.ora 新增 以下 信息。
## -- GanLan DG-DB -- ##
RTMSDB_REMOTE_DG =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = rtmsdb1-dg-vip)(PORT = 1621))
(ADDRESS = (PROTOCOL = TCP)(HOST = rtmsdb2-dg-vip)(PORT = 1621))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = rtmsdb)
)
)
RTMSDB1_LOCAL_DG =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = rtmsdb1-dg-vip)(PORT = 1621))
)
RTMSDB2_LOCAL_DG =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = rtmsdb2-dg-vip)(PORT = 1621))
)
--节点1,2
SQL> show parameter listener
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
listener_networks string
local_listener string (ADDRESS=(PROTOCOL=TCP)(HOST=10.120.3.182)
(PORT=1521))db.rtms.sfp.com:1521
remote_listener string
SQL> alter system set listener_networks='((NAME=network2)(LOCAL_LISTENER=RTMSDB1_LOCAL_DG)(REMOTE_LISTENER=RTMSDB_REMOTE_DG))' sid='rtmsdb1' scope=both;
SQL> alter system set listener_networks='((NAME=network2)(LOCAL_LISTENER=RTMSDB2_LOCAL_DG)(REMOTE_LISTENER=RTMSDB_REMOTE_DG))' sid='rtmsdb2' scope=both;
System altered.
SQL> show parameter listener
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
listener_networks string ((NAME=network2)(LOCAL_LISTENE
R=RTMSDB1_LOCAL_DG)(REMOTE_LIS
TENER=RTMSDB_REMOTE_DG))
local_listener string (ADDRESS=(PROTOCOL=TCP)(HOST=
10.120.3.182)(PORT=1521))
remote_listener string db.rtms.sfp.com:1521
[oracle@sfpay-tms-db02 admin]$ lsnrctl status listener_dg
LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 25-JAN-2016 16:09:10
Copyright (c) 1991, 2013, Oracle. All rights reserved.
TNS-01101: Could not find service name listener_dg
[grid@sfpay-tms-db02 ~]$ lsnrctl status listener_dg
LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 25-JAN-2016 16:13:38
Copyright (c) 1991, 2013, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_DG)))
STATUS of the LISTENER
------------------------
Alias LISTENER_DG
Version TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date 24-JAN-2016 04:08:52
Uptime 1 days 12 hr. 4 min. 46 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/11.2.0.4/grid/network/admin/listener.ora
Listener Log File /u01/app/grid/diag/tnslsnr/sfpay-tms-db02/listener_dg/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER_DG)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.23.3.184)(PORT=1621)))
Services Summary...
Service "rtmsdb" has 3 instance(s).
Instance "rtmsdb1", status READY, has 1 handler(s) for this service...
Instance "rtmsdb2", status UNKNOWN, has 1 handler(s) for this service...
Instance "rtmsdb2", status READY, has 2 handler(s) for this service...
The command completed successfully
[grid@sfpay-tms-db02 ~]$ exit
logout
[oracle@sfpay-tms-db02 ~]$ sqlplus limin/xxxxxxxx@RTMSDB_REMOTE_DG
SQL*Plus: Release 11.2.0.4.0 Production on Mon Jan 25 16:14:16 2016
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
SQL> SHOW USER
USER is "LIMIN"
接下来,对应DG搭建,请参考博客 DG搭建一节。
注册standby数据库为restart 数据库:
su - oracle
$ srvctl add database -d db_unique_name -o $ORACLE_HOME -p '+data/db_unique_name/spfile<db_unique_name>.ora '
库1,2节点上配置:
/etc/hosts:
## --- Public IP --- ##
10.12x'x'x.x.113 sfpay-ods-db02
10.12x'x.x'x'x'x.111 sfpay-ods-db01
## --- Virtual IP --- ##
10.12x'x'x'x'x.3.114 sfpay-ods2-vip
10.12x'x'x'x'x'x.3.112 sfpay-ods1-vip
## --- Private IP --- ##
172.16.3.113 sfpay-ods2-priv
172.16.3.111 sfpay-ods1-priv
## ---- Scan IP --- ##
10.120.3.115 db.ods.sfp.com
## --- baoshui DG --- ##
10.120.3.161 sfpay-dg01
#by panbo
10.0.58.136 odsdb-pub-db1
## ---- GuanLan DG IP --- ##
172.23.3.111 ods1-dg
172.23.3.113 ods2-dg
172.23.3.112 ods1-dg-vip
172.23.3.114 ods2-dg-vip
变更前,确认2个节点的会话连接数
3. 在数据库RAC2节点使用root执行
/u01/app/11.2.0.4/grid/bin/srvctl add network -k 2 -S 172.23.0.0/255.255.0.0/em2
/u01/app/11.2.0.4/grid/bin/crsctl start res ora.net2.network
#--2 ,表示新增第二张网卡
/u01/app/11.2.0.4/grid/bin/srvctl add vip -n sfpay-ods-db01 -k 2 -A 172.23.3.112/255.255.0.0/em2
/u01/app/11.2.0.4/grid/bin/srvctl add vip -n sfpay-ods-db02 -k 2 -A 172.23.3.114/255.255.0.0/em2
/u01/app/11.2.0.4/grid/bin/srvctl start vip -i ods1-dg-vip
/u01/app/11.2.0.4/grid/bin/srvctl start vip -i ods2-dg-vip
/u01/app/11.2.0.4/grid/bin/crsctl status res -t
检查默认network的network number,红色字体1,一会儿添加监听会用到:
[grid@rac121 admin]$ srvctl config network
[grid@sfpay-tms-db02 ~]
$ srvctl config networkNetwork exists: 1/10.120.3.0/255.255.255.0/eth4, type staticNetwork exists: 2/172.23.0.0/255.255.0.0/eth2, type static # --为新增第二个网卡监听。
查看srvctl添加监听的语法:
[grid@rac121 admin]$ srvctl add listener -h Adds a listener configuration to the Oracle Clusterware. Usage: srvctl add listener [-l <lsnr_name>] [-s] [-p "[TCP:]<port>[, ...][/IPC:<key>][/NMP:<pipe_name>][/TCPS:<s_port>] [/SDP:<port>]"] [-o <oracle_home>] [-k <net_num>] -l <lsnr_name> Listener name (default name is LISTENER) #监听名称 -o <oracle_home> ORACLE_HOME path (default value is CRS_HOME) #grid的HOME -k <net_num> network number (default number is 1) #最开始查看的网络号 -s Skip the checking of ports -p "[TCP:]<port>[, ...][/IPC:<key>][/NMP:<pipe_name>][/TCPS:<s_port>] [/SDP:<port>]" Comma separated tcp ports or listener endpoints #要添加的端口号 -h Print usage
添加监听:名称: LISTENER4 端口号:1524
[grid@rac121 ~]$ srvctl add listener -l LISTENER4 -o $ORACLE_HOME -p 1621 -k 2 # srvctl config network 中 的Network exists 网卡($srvctl config network)。 [grid@rac121 ~]$ srvctl start listener -l LISTENER4
创建完后会在配置文件endpoints_listener.ora和listener.ora中添加记录信息:
[grid@rac121 admin]$ ls endpoints_listener.ora listener1206183PM1248.bak listener.ora samples sqlnet1206199AM0038.bak endpoints_listener.ora.bak.rac121 listener1206199AM0038.bak listener.ora.bak.rac121 shrept.lst sqlnet.ora
查看添加 的信息:两个文件听红色字体部分
[grid@rac121 admin]$ cat listener.ora LISTENER4=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER4)))) # line added by Agent NEW_RACDB_LISTENER=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=NEW_RACDB_LISTENER)))) # line added by Agent # listener.ora Network Configuration File: /oradata/oracleapp/11.2.0/grid/network/admin/listener.ora # Generated by Oracle configuration tools. [grid@rac121 admin]$ cat endpoints_listener.oraLISTENER4_RAC121=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=rac121-vip)(PORT=1524))(ADDRESS=(PROTOCOL=TCP)(HOST=10.1.252.121)(PORT=1524)(IP=FIRST)))) # line added by Agent NEW_RACDB_LISTENER_RAC121=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=rac121-vip)(PORT=1523))(ADDRESS=(PROTOCOL=TCP)(HOST=10.1.252.121)(PORT=1523)(IP=FIRST)))) # line added by Agent RACDB_LISTENER_RAC121=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=rac121-vip)(PORT=1522))(ADDRESS=(PROTOCOL=TCP)(HOST=10.1.252.121)(PORT=1522)(IP=FIRST)))) # line added by Agent LISTENER_RAC121=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=rac121-vip)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=10.1.252.121)(PORT=1521)(IP=FIRST)))) # line added by Agent
到此完成了监听的添加,再添加静态注册信息,vi listener.ora文件,在里面添加如下内容:
SID_LIST_LISTENER4 = #对应的监听名 (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = RACDB) (ORACLE_HOME = /oradata/oracleapp/11.2.0/grid) (SID_NAME = RACDB1) #节点对应的SID ) )
重启监听即完成静态注册:
[grid@rac121 admin]$ srvctl stop listener -l LISTENER4 [grid@rac121 admin]$ srvctl start listener -l LISTENER4 [grid@rac121 admin]$ lsnrctl status LISTENER4 LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 19-JUN-2012 15:48:47 Copyright (c) 1991, 2011, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER4))) STATUS of the LISTENER ------------------------ Alias LISTENER4 Version TNSLSNR for Linux: Version 11.2.0.3.0 - Production Start Date 19-JUN-2012 15:48:35 Uptime 0 days 0 hr. 0 min. 11 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /oradata/oracleapp/11.2.0/grid/network/admin/listener.ora Listener Log File /oradata/oracleapp/11.2.0/grid/log/diag/tnslsnr/rac121/listener4/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER4))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.1.252.121)(PORT=1524))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.1.252.75)(PORT=1524))) Services Summary... Service "RACDB" has 1 instance(s). Instance "RACDB1", status UNKNOWN, has 1 handler(s) for this service... The command completed successfully [grid@rac121 admin]$
查看所有的监听状态:
grid@rac121 admin]$ srvctl status listener Listener LISTENER is enabled Listener LISTENER is running on node(s): rac121,rac122 Listener LISTENER4 is enabled Listener LISTENER4 is running on node(s): rac121,rac122 Listener NEW_RACDB_LISTENER is enabled Listener NEW_RACDB_LISTENER is running on node(s): rac121,rac122 Listener RACDB_LISTENER is enabled Listener RACDB_LISTENER is running on node(s): rac121,rac122
查看各个监听的配置:
[grid@rac121 admin]$ srvctl config listener -a Name: LISTENER Network: 1, Owner: grid Home: <CRS home> /oradata/oracleapp/11.2.0/grid on node(s) rac122,rac121 End points: TCP:1521 Name: LISTENER4 Network: 1, Owner: grid Home: <CRS home> /oradata/oracleapp/11.2.0/grid on node(s) rac122,rac121 End points: TCP:1524 Name: NEW_RACDB_LISTENER Network: 1, Owner: grid Home: <CRS home> /oradata/oracleapp/11.2.0/grid on node(s) rac122,rac121 End points: TCP:1523 Name: RACDB_LISTENER Network: 1, Owner: grid Home: <CRS home> /oradata/oracleapp/11.2.0/grid on node(s) rac122,rac121 End points: TCP:1522
-------- 方法 一 ----------------
到此就利用srvctl管理工具完成了添加新监听和静态注册的任务。
以下方法二(图形界面):
了解到以上信息后可能你对当前11.2 RAC中的listener.ora文件中的监听配置信息不再感到奇怪。
我们可以使用netca图形化工具或者srvctl 命令行工具添加监听配置; 如果仅仅是手动在listener.ora中添加记录的话是无法被注册为Cluster Ready Service的服务的,将不会被CRS管理。
方法1:
使用netca和netmgr图形化工具,完成添加监听和静态注册的工作。
1) 以Grid Infrastructure GI用户登录任意节点,并运行netca启动图形界面:
su - grid (grid)$ export DISPLAY=:0 (grid)$ netca
选择LISTENER Configuration
选择ADD
填入监听名字
选择subnet和availabe protocol ,一般默认即可,除非你有多个public network网段
填入端口号
选择NO
选择要启动的监听名,即方才你创建的监听名
之后选择FINISH退出netca 界面,启动netmgr界面,为监听加入静态注册的信息:
su - grid (grid)$ export DISPLAY=:0 (grid)$ netmgr
点选方才创建的监听器,选择Database Services菜单
填入Global Database Name和本地实例的SID信息,并确认ORACLE HOME Directory(应是Grid Infrastructure的Home目录)正确后点选Save Network Configuration。
之后使用srvctl 或 crsctl 重启该监听即可生效:
[grid@vrh1 admin]$ crsctl status res ora.MACLEAN_LISTENER.lsnr NAME=ora.MACLEAN_LISTENER.lsnr TYPE=ora.listener.type TARGET=ONLINE , ONLINE STATE=ONLINE on vrh1, ONLINE on vrh2 [grid@vrh1 admin]$ crsctl stop res ora.MACLEAN_LISTENER.lsnr CRS-2673: Attempting to stop 'ora.MACLEAN_LISTENER.lsnr' on 'vrh1' CRS-2673: Attempting to stop 'ora.MACLEAN_LISTENER.lsnr' on 'vrh2' CRS-2677: Stop of 'ora.MACLEAN_LISTENER.lsnr' on 'vrh1' succeeded CRS-2677: Stop of 'ora.MACLEAN_LISTENER.lsnr' on 'vrh2' succeeded [grid@vrh1 admin]$ crsctl start res ora.MACLEAN_LISTENER.lsnr CRS-2672: Attempting to start 'ora.MACLEAN_LISTENER.lsnr' on 'vrh2' CRS-2672: Attempting to start 'ora.MACLEAN_LISTENER.lsnr' on 'vrh1' CRS-2676: Start of 'ora.MACLEAN_LISTENER.lsnr' on 'vrh1' succeeded CRS-2676: Start of 'ora.MACLEAN_LISTENER.lsnr' on 'vrh2' succeeded [grid@vrh1 admin]$ lsnrctl status MACLEAN_LISTENER LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 27-NOV-2011 11:00:42 Copyright (c) 1991, 2011, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=MACLEAN_LISTENER))) STATUS of the LISTENER ------------------------ Alias MACLEAN_LISTENER Version TNSLSNR for Linux: Version 11.2.0.3.0 - Production Start Date 27-NOV-2011 11:00:11 Uptime 0 days 0 hr. 0 min. 31 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /g01/11.2.0/grid/network/admin/listener.ora Listener Log File /g01/orabase/diag/tnslsnr/vrh1/maclean_listener/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=MACLEAN_LISTENER))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.161)(PORT=1598))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.162)(PORT=1598))) Services Summary... Service "VPROD" has 1 instance(s). Instance "VPROD1", status UNKNOWN, has 1 handler(s) for this service... The command completed successfully [grid@vrh1 admin]$ srvctl stop listener -l MACLEAN_LISTENER [grid@vrh1 admin]$ srvctl start listener -l MACLEAN_LISTENER [grid@vrh1 admin]$ srvctl config listener -l MACLEAN_LISTENER Name: MACLEAN_LISTENER Network: 1, Owner: grid Home: End points: TCP:1598 [grid@vrh1 admin]$ lsnrctl status MACLEAN_LISTENER LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 27-NOV-2011 11:01:42 Copyright (c) 1991, 2011, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=MACLEAN_LISTENER))) STATUS of the LISTENER ------------------------ Alias MACLEAN_LISTENER Version TNSLSNR for Linux: Version 11.2.0.3.0 - Production Start Date 27-NOV-2011 11:01:10 Uptime 0 days 0 hr. 0 min. 31 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /g01/11.2.0/grid/network/admin/listener.ora Listener Log File /g01/orabase/diag/tnslsnr/vrh1/maclean_listener/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=MACLEAN_LISTENER))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.161)(PORT=1598))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.162)(PORT=1598))) Services Summary... Service "VPROD" has 1 instance(s). Instance "VPROD1", status UNKNOWN, has 1 handler(s) for this service... The command completed successfully
以上使用netca和netmgr图形界面工具完成了新监听的添加和静态注册工作。
2. 使用srvctl 工具添加监听并手动加入静态注册信息
检查默认network的network number,红色的数字 [grid@vrh1 admin]$ srvctl config network Network exists: 1/192.168.1.0/255.255.255.0/eth0, type static srvctl 添加监听的语法如下 [grid@vrh1 admin]$ srvctl add listener -h Adds a listener configuration to the Oracle Clusterware. Usage: srvctl add listener [-l <lsnr_name>] [-s] [-p "[TCP:]<port>[, ...][/IPC:<key>] [/NMP:<pipe_name>][/TCPS:<s_port>] [/SDP:<port>]"] [-o <oracle_home>] [-k <net_num>] -l <lsnr_name> Listener name (default name is LISTENER) -o <oracle_home> ORACLE_HOME path (default value is CRS_HOME) -k <net_num> network number (default number is 1) -s Skip the checking of ports -p "[TCP:]<port>[, ...][/IPC:<key>][/NMP:<pipe_name>][/TCPS:<s_port>] [/SDP:<port>]" Comma separated tcp ports or listener endpoints -h Print usage [grid@vrh1 admin]$ srvctl add listener -l NEW_MACLEAN_LISTENER -o $CRS_HOME -p 1601 -k 1 -k 填入方才获得的network number,-p填入端口号,-l填入监听名,-o 填入GI HOME路径 [grid@vrh1 admin]$ srvctl start listener -l NEW_MACLEAN_LISTENER
srvctl start listener启动新添加的监听后listener.ora和endpoints_listener.ora会出现新的记录:
[grid@vrh1 admin]$ head -1 listener.ora NEW_MACLEAN_LISTENER=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=NEW_MACLEAN_LISTENER)))) # line added by Agent [grid@vrh1 admin]$ head -1 endpoints_listener.ora NEW_MACLEAN_LISTENER_VRH1=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=vrh1-vip)(PORT=1601)) (ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.161)(PORT=1601)(IP=FIRST)))) # line added by Agent
以上已经完成了监听的添加,足见使用srvctl管理更为简便。
之后仅需要加入静态注册信息即可,如:
SID_LIST_NEW_MACLEAN_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = VPROD) (ORACLE_HOME = /g01/11.2.0/grid) (SID_NAME = VPROD1) ) )
加入如上信息到listener.ora配置文件中(SID_LIST_($LISTENER_NAME),并重启监听即完成静态注册:
[grid@vrh1 admin]$ srvctl stop listener -l NEW_MACLEAN_LISTENER [grid@vrh1 admin]$ srvctl start listener -l NEW_MACLEAN_LISTENER [grid@vrh1 admin]$ lsnrctl status NEW_MACLEAN_LISTENER LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 27-NOV-2011 11:21:37 Copyright (c) 1991, 2011, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=NEW_MACLEAN_LISTENER))) STATUS of the LISTENER ------------------------ Alias NEW_MACLEAN_LISTENER Version TNSLSNR for Linux: Version 11.2.0.3.0 - Production Start Date 27-NOV-2011 11:21:25 Uptime 0 days 0 hr. 0 min. 11 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /g01/11.2.0/grid/network/admin/listener.ora Listener Log File /g01/11.2.0/grid/log/diag/tnslsnr/vrh1/new_maclean_listener/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=NEW_MACLEAN_LISTENER))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.161)(PORT=1601))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.162)(PORT=1601))) Services Summary... Service "VPROD" has 1 instance(s). Instance "VPROD1", status UNKNOWN, has 1 handler(s) for this service... The command completed successfully
以上利用srvctl管理工具完成了添加新监听和静态注册的任务。
连接数据库:
以下为新增,连接数据库,在oracle下设置,否然 通过 sqlplus 连接 报错,oracle not avialiable 等。
--节点1,2 在tnsnames.ora 新增 以下 信息。
## -- GanLan DG-DB -- ##
RTMSDB_REMOTE_DG =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = rtmsdb1-dg-vip)(PORT = 1621))
(ADDRESS = (PROTOCOL = TCP)(HOST = rtmsdb2-dg-vip)(PORT = 1621))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = rtmsdb)
)
)
RTMSDB1_LOCAL_DG =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = rtmsdb1-dg-vip)(PORT = 1621))
)
RTMSDB2_LOCAL_DG =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = rtmsdb2-dg-vip)(PORT = 1621))
)
--节点1,2
SQL> show parameter listener
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
listener_networks string
local_listener string (ADDRESS=(PROTOCOL=TCP)(HOST=10.120.3.182)
(PORT=1521))db.rtms.sfp.com:1521
remote_listener string
SQL> alter system set listener_networks='((NAME=network2)(LOCAL_LISTENER=RTMSDB1_LOCAL_DG)(REMOTE_LISTENER=RTMSDB_REMOTE_DG))' sid='rtmsdb1' scope=both;
SQL> alter system set listener_networks='((NAME=network2)(LOCAL_LISTENER=RTMSDB2_LOCAL_DG)(REMOTE_LISTENER=RTMSDB_REMOTE_DG))' sid='rtmsdb2' scope=both;
System altered.
SQL> show parameter listener
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
listener_networks string ((NAME=network2)(LOCAL_LISTENE
R=RTMSDB1_LOCAL_DG)(REMOTE_LIS
TENER=RTMSDB_REMOTE_DG))
local_listener string (ADDRESS=(PROTOCOL=TCP)(HOST=
10.120.3.182)(PORT=1521))
remote_listener string db.rtms.sfp.com:1521
[oracle@sfpay-tms-db02 admin]$ lsnrctl status listener_dg
LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 25-JAN-2016 16:09:10
Copyright (c) 1991, 2013, Oracle. All rights reserved.
TNS-01101: Could not find service name listener_dg
[grid@sfpay-tms-db02 ~]$ lsnrctl status listener_dg
LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 25-JAN-2016 16:13:38
Copyright (c) 1991, 2013, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_DG)))
STATUS of the LISTENER
------------------------
Alias LISTENER_DG
Version TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date 24-JAN-2016 04:08:52
Uptime 1 days 12 hr. 4 min. 46 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/11.2.0.4/grid/network/admin/listener.ora
Listener Log File /u01/app/grid/diag/tnslsnr/sfpay-tms-db02/listener_dg/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER_DG)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.23.3.184)(PORT=1621)))
Services Summary...
Service "rtmsdb" has 3 instance(s).
Instance "rtmsdb1", status READY, has 1 handler(s) for this service...
Instance "rtmsdb2", status UNKNOWN, has 1 handler(s) for this service...
Instance "rtmsdb2", status READY, has 2 handler(s) for this service...
The command completed successfully
[grid@sfpay-tms-db02 ~]$ exit
logout
[oracle@sfpay-tms-db02 ~]$ sqlplus limin/xxxxxxxx@RTMSDB_REMOTE_DG
SQL*Plus: Release 11.2.0.4.0 Production on Mon Jan 25 16:14:16 2016
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
SQL> SHOW USER
USER is "LIMIN"
接下来,对应DG搭建,请参考博客 DG搭建一节。
注册standby数据库为restart 数据库:
su - oracle
$ srvctl add database -d db_unique_name -o $ORACLE_HOME -p '+data/db_unique_name/spfile<db_unique_name>.ora '
相关文章推荐
- 手动脱FSG壳实战
- 第 3 章 与浏览者交互,表单标签
- android java 调用 .so 动态库实例
- Jquery 中的回调函数
- Android ORMLite 框架的入门用法
- JavaScript实现Map功能
- Caffe-清晰高效的深度学习(deep learning)框架
- map基本遍历方法
- php语言结构和函数的区别
- Hessian配置用户名和密码
- C++ 智能指针
- win10 UWP 剪贴板 Clipboard
- win10 UWP 剪贴板 Clipboard
- 家用游戏机简史
- Esko ArtiosCAD v14.1 ALPHA Biuld 1132 1DVD结构设计
- 【棋盘类DP】
- 启发创意
- 键盘聚焦性 和点击性
- 为什么你的 App 没人用?请按这8条逐一对照
- python的简单入门