第二部分(完)
1. sqlnet.ora中的域名
在sqlnet.ora配置文件中指定了域名,比如NAMES.DEFAULT_DOMAIN = com.cn
1) 如果在tns配置中没有加域名com.cn
如:
test =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = )
)
)
则tnsping test会失败:
D:>tnsping test
TNS Ping Utility for 32-bit Windows: Version 9.0.1.1.1 - Production on 22-11月-2
004 15:03:14
Copyright (c) 1997 Oracle Corporation. All rights reserved.
已使用的参数文件:
D:oracleora90networkadminsqlnet.ora
D:oracleora90networkadmintnsnames.ora
TNS-03505: 未能分解名称
但在netmgr中可以测试成功:
正在尝试使用以下用户名连接:test
连接测试成功。
这可能是oracle net的一个bug.
2) 如果在tns中有与DEFAULT_DOMAIN不一致的域名,用tnsping可以ping通并且可以连接上数据库:
tns配置
test.test.com =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = )
)
)
D:>tnsping test.test.com
TNS Ping Utility for 32-bit Windows: Version 9.0.1.1.1 - Production on 23-11月-2
004 11:17:43
Copyright (c) 1997 Oracle Corporation. All rights reserved.
已使用的参数文件:
D:oracleora90networkadminsqlnet.ora
D:oracleora90networkadmintnsnames.ora
已使用 TNSNAMES 适配器来解析别名
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
(HOST = )(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = )))
OK(430毫秒)
D:>sqlplus test/test@test.test.com
SQL*Plus: Release 9.0.1.0.1 - Production on 星期二 11月 23 11:17:52 2004
(c) Copyright 2001 Oracle Corporation. All rights reserved.
连接到:
Oracle9i Enterprise Edition Release 9.0.1.0.0 - 64bit Production
With the Partitioning option
JServer Release 9.0.1.0.0 - Production
SQL>
3) 如果在tns中有与DEFAULT_DOMAIN一致的域名,则连接可以省略域名。
Tns配置如下:
test.com.cn =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = )
)
)
D:>tnsping test
TNS Ping Utility for 32-bit Windows: Version 9.0.1.1.1 - Production on 23-11月-2
004 11:17:43
Copyright (c) 1997 Oracle Corporation. All rights reserved.
已使用的参数文件:
D:oracleora90networkadminsqlnet.ora
D:oracleora90networkadmintnsnames.ora
已使用 TNSNAMES 适配器来解析别名
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
(HOST = )(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = )))
OK(430毫秒)
D:>sqlplus test/test@test
SQL*Plus: Release 9.0.1.0.1 - Production on 星期二 11月 23 11:17:52 2004
(c) Copyright 2001 Oracle Corporation. All rights reserved.
连接到:
Oracle9i Enterprise Edition Release 9.0.1.0.0 - 64bit Production
With the Partitioning option
JServer Release 9.0.1.0.0 - Production
SQL>
2. 结论
数据库域名与数据库全局名称相关,可以通过修改数据库全局名达到修改数据库域名的目的;
如果在sqlnet.ora中设置了默认域名则需要在tns中设置与DEFAULT_DOMAIN一致或不一致的域名。为避免不必要的麻烦,最好DEFAULT_DOMAIN要么在sqlnet.ora和tnsnames.or中同时出现,要么同时不出现。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/6906/viewspace-21649/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/6906/viewspace-21649/