ITPub博客

首页 > Linux操作系统 > Linux操作系统 > RAC环境中的TNSNAMES文件

RAC环境中的TNSNAMES文件

原创 Linux操作系统 作者:yangtingkun 时间:2007-06-07 00:00:00 0 删除 编辑

RAC环境中多个节点的tnsnames.ora一般情况下应该保证一致,否则可能造成数据库链出现问题。


一个简单的例子,在节点1上添加新的服务名TEST2

TEST2 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.25.88.89)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = test2)
)
)

如果不把上面的配置添加到节点2上,那么如果使用了这个服务名建立了数据库链,则可能会导致节点2上访问远端数据库出错:

SQL> CREATE DATABASE LINK TEST2 CONNECT TO TEST IDENTIFIED BY TEST USING 'TEST2';

数据库链接已创建。

SQL> CONN TEST/TEST@TESTRAC1已连接。
SQL> SELECT COUNT(*) FROM TAB@TEST2;

COUNT(*)
----------
55

SQL> CONN TEST/TEST@TESTRAC2 已连接。
SQL> SELECT COUNT(*) FROM TAB@TEST2;
SELECT COUNT(*) FROM TAB@TEST2
*
1 行出现错误:
ORA-12154: TNS:
无法解析指定的连接标识符


当然,通过在创建数据库链时候直接指定TNS连接信息也可以避免数据库链出现这个错误。但是两个节点上的COPY命令等和tnsnames.ora文件有关的操作和命令仍然会受到影响。

因此为了避免上面的问题出现,在RAC的一个节点上修改了tnsnames.ora文件后,应该在另一个节点上进行同样的修改。或者将节点1上修改过的文件直接拷贝到节点2上。保证RAC所有节点上的tnsnames.ora文件一致就不会出现这个问题了。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/4227/viewspace-69302/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
暂无介绍

注册时间:2007-12-29

  • 博文量
    1955
  • 访问量
    10387396