ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 数据库中的域名(2)

数据库中的域名(2)

原创 Linux操作系统 作者:husthxd 时间:2004-11-24 00:00:00 0 删除 编辑

第二部分(完)


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 = )))

OK430毫秒)

 

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 = )))

OK430毫秒)

 

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.oratnsnames.or中同时出现,要么同时不出现。

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

请登录后发表评论 登录
全部评论
ITPUB数据库版块资深版主,对Oracle、PostgreSQL有深入研究。现就职于广州云图数据技术有限公司,系统架构师。

注册时间:2007-12-28

  • 博文量
    1388
  • 访问量
    3837849