Oracle RAC连接到指定实例(二)
DDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.62)(PORT = 1521))
(LOAD_BALANCE = yes)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = GOBO4)
)
)
www.2cto.com
二、测试登陆到指定实例
[python]
1、使用多ip登陆网络服务时,需要增加instance_name项
--为GOBO4网络服务名添加instance_name项,修改之后的情形如下
GOBO4 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.61)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.62)(PORT = 1521))
(LOAD_BALANCE = yes)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = GOBO4)
(INSTANCE_NAME=GOBO4B) #此项为新增的项
)
)
oracle@SZDB:~> more ./silent_login.sh
#!/bin/bash
sqlplus -S system/oracle@${1} <
select instance_name from v\$instance;
EOF
exit
oracle@SZDB:~> ./silent_login.sh GOBO4
INSTANCE_NAME
----------------
GOBO4B
oracle@SZDB:~> !!
./silent_login.sh GOBO4
INSTANCE_NAME
----------------
GOBO4B
oracle@SZDB:~> !!
./silent_login.sh GOBO4
INSTANCE_NAME
----------------
GOBO4B
www.2cto.com
2、为各个instance建立单独的网络连接服务名
--如下,将下面的网络服务名添加到客户端的tnsnames.ora中
oracle@SZDB:~> echo "
> GOBO4A =
> (DESCRIPTION =
> (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.61)(PORT = 1521))
> (CONNECT_DATA =
> (SERVER = DEDICATED)
> (SERVICE_NAME = GOBO4)
> (INSTANCE_NAME = GOBO4A)
> )
> )">>$ORACLE_HOME/network/admin/tnsnames.ora
oracle@SZDB:~> tnsping GOBO4A
www.2cto.com
Used parameter files:
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.61)(PORT = 1521))
(CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = GOBO4) (INSTANCE_NAME = GOBO4A)))
OK (70 msec)
oracle@SZDB:~> ./silent_login.sh GOBO4A
INSTANCE_NAME
----------------
GOBO4A
oracle@SZDB:~> !!
./silent_login.sh GOBO4A
INSTANCE_NAME
----------------
GOBO4A
oracle@SZDB:~> !!
./silent_login.sh GOBO4A
INSTANCE_NAME
----------------
GOBO4A
三、总结
1、在多ip服务的情形下,可以通过添加INSTANCE_NAME项来指向特定的实例
2、可以为特定的实例单独建立一个网络服务名
3、个人更倾向于使用单独的网络服务名来实现连接到指定的实例
来源 http://blog.csdn.net/robinson_0612/article/details/8073620