資料庫中的域名(2)

husthxd發表於2004-11-24

第二部分(完)


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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章