扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
15.验证并测试RAC数据库
在服务器端,执行如下语句。观察是否有两个实例在运行。
15.1 测试负载均衡
在客户端上修改tnsnames.ora文件,添加如下内容:
rac =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = linux2)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = linux1)(PORT = 1521))
)
(CONNECT_DATA =
(service_name = rac9i)
(failover_mode=(type=select)(method=basic))
)
(LOAD_BALANCE=ON)
(FAILOVER=ON)
)
然后,为了能识别主机名linux1和linux2,笔者还修改了C:\WINDOWS\system32\drivers\etc目录下的hosts文件,添加如下内容:
134.251.114.140linux1
134.251.114.141linux2
最后,在命令窗口执行tnsping rac来检验是否能够连通。检测无误以后,开始测试。分两种方法,第一种方法是开两个命令行窗口,在一个窗口中分别输入如下的命令,然后再在另外一个窗口也输入如下的命令。
但是,从结果看起来,并没有实现负载均衡。两个窗口出现的都是rac9i1。而不是笔者想象中的一个窗口是rac9i1,另一个窗口是rac9i2。笔者又开了一个命令行窗口,再次重复执行上面的命令,仍然显示rac9i1。
换第二种测试方法,建立一个test.sql文件,内容如下:
然后,打开一个命令行窗口,反复执行如下命令:
这时,显示出来的实例名确实是负载均衡了,rac9i1和rac9i2交替出现。笔者认为,这样的负载均衡意义似乎不是很大。
15.2 测试failover
实现failover,需要在客户端的tnsnames.ora文件的CONNECT_DATA节点里添加如下行:
(failover_mode=(type=select)(method=basic))
进入命令行窗口。
这时,进入linux1节点,shutdown实例以后,再次回到上面的命令行窗口,再次执行如下语句:
从结果可以看到,确实自动切换到了rac9i2实例上。说明failover起作用了。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者