oracle 11.2.0.4 db link建立之sid語法一點淺談之一
測試背景
在近期的資料庫遷移中,進一步梳理DB LINK的定義時,發現其定義存在類似如下語句
(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL
= TCP)(HOST =xxxxx)(PORT = 1521)))(CONNECT_
DATA =(SID = xx)))
我們知道,一般DB LINK的定義是透過SERVICE_NAME實現訪問資料庫達到其功能的
測試結論
1,DB LINK透過SERVICE_NAME可以建立成功
create database link link_using_sid connect to user_zxy identified by system
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.39)(PORT = 1521))
)
(CONNECT_DATA =
(service_name = esbdb)
)
)';
2,db link也可以透過SID建立成功
create database link link_using_sid connect to user_zxy identified by system
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.39)(PORT = 1521))
)
(CONNECT_DATA =
(sid = esbdb)
)
)';
3,總結一下:
A,SID好像是資料庫舊版本保留下來的
B,為了使用資料庫新版本的一些新功能,比如客戶端負載均衡以及應用連線時故障切換,ORACLE建議用SERVICE_NAME替換SID
C,關於ORACLE為何建議用SERVICE_NAME替換SID,請進一步參考官方手冊 Oracle Database Net Services Administrator
測試明細
1,DB LINK使用方與提供方的資料庫概況
DB LINK使用方資料庫名稱 db LINK使用方資料庫版本 DB LINK提供方資料庫名稱 db link提供方資料庫版本
mygirl 10.0.0.5 esbdb 10.0.0.39
2,在DB LINK使用方建立基於SID的DB LINK
SQL> show user
USER is "SYS"
create database link link_using_sid connect to user_zxy identified by system
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.39)(PORT = 1521))
)
(CONNECT_DATA =
(sid = esbdb)
)
)';
3,在DB LINK使用方驗證DB LINK功能
SQL> select * from t_test@link_using_sid;
A
----------
1
4,透過在oracle官方手冊 Database Net Services Reference之tnsnames.ora未找到關於SID的進一步定義
繼續採用關鍵字 tns sid查閱到在官方手冊
Database Net Services Reference, 11g Release 2 (11.2)
發現如下資訊
Connect descriptors that are currently configured with the SID parameter can remain. However, to take advantage of new features,
such as client load balancing and connect-time failover, Oracle recommends replacing SID with SERVICE_NAME
See Also:
Oracle Database Net Services Administrator's Guide for additional information about database identification by SERVICE_NAME rather than SID
總結一下:
A,SID好像是資料庫舊版本保留下來的
B,為了使用資料庫新版本的一些新功能,比如客戶端負載均衡以及應用連線時故障切換,ORACLE建議用SERVICE_NAME替換SID
C,關於ORACLE為何建議用SERVICE_NAME替換SID,請進一步參考官方手冊 Oracle Database Net Services Administrator
在近期的資料庫遷移中,進一步梳理DB LINK的定義時,發現其定義存在類似如下語句
(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL
= TCP)(HOST =xxxxx)(PORT = 1521)))(CONNECT_
DATA =(SID = xx)))
我們知道,一般DB LINK的定義是透過SERVICE_NAME實現訪問資料庫達到其功能的
測試結論
1,DB LINK透過SERVICE_NAME可以建立成功
create database link link_using_sid connect to user_zxy identified by system
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.39)(PORT = 1521))
)
(CONNECT_DATA =
(service_name = esbdb)
)
)';
2,db link也可以透過SID建立成功
create database link link_using_sid connect to user_zxy identified by system
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.39)(PORT = 1521))
)
(CONNECT_DATA =
(sid = esbdb)
)
)';
3,總結一下:
A,SID好像是資料庫舊版本保留下來的
B,為了使用資料庫新版本的一些新功能,比如客戶端負載均衡以及應用連線時故障切換,ORACLE建議用SERVICE_NAME替換SID
C,關於ORACLE為何建議用SERVICE_NAME替換SID,請進一步參考官方手冊 Oracle Database Net Services Administrator
測試明細
1,DB LINK使用方與提供方的資料庫概況
DB LINK使用方資料庫名稱 db LINK使用方資料庫版本 DB LINK提供方資料庫名稱 db link提供方資料庫版本
mygirl 10.0.0.5 esbdb 10.0.0.39
2,在DB LINK使用方建立基於SID的DB LINK
SQL> show user
USER is "SYS"
create database link link_using_sid connect to user_zxy identified by system
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.39)(PORT = 1521))
)
(CONNECT_DATA =
(sid = esbdb)
)
)';
3,在DB LINK使用方驗證DB LINK功能
SQL> select * from t_test@link_using_sid;
A
----------
1
4,透過在oracle官方手冊 Database Net Services Reference之tnsnames.ora未找到關於SID的進一步定義
繼續採用關鍵字 tns sid查閱到在官方手冊
Database Net Services Reference, 11g Release 2 (11.2)
發現如下資訊
Connect descriptors that are currently configured with the SID parameter can remain. However, to take advantage of new features,
such as client load balancing and connect-time failover, Oracle recommends replacing SID with SERVICE_NAME
See Also:
Oracle Database Net Services Administrator's Guide for additional information about database identification by SERVICE_NAME rather than SID
總結一下:
A,SID好像是資料庫舊版本保留下來的
B,為了使用資料庫新版本的一些新功能,比如客戶端負載均衡以及應用連線時故障切換,ORACLE建議用SERVICE_NAME替換SID
C,關於ORACLE為何建議用SERVICE_NAME替換SID,請進一步參考官方手冊 Oracle Database Net Services Administrator
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9240380/viewspace-2141269/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle 11.2.0.4之oracle database db link之測試明細之一OracleDatabase
- oracle 11.2.0.4 使用easy connect naming定義db link淺析之一Oracle
- 淺談Kotlin語法篇之基礎語法(一)Kotlin
- Gradle技巧之語法淺談Gradle
- DB2建立DB linkDB2
- DB2開發系列之一——基本語法DB2
- oracle db link的檢視建立與刪除Oracle
- 淺談Oracle 主外來鍵刪除語法格式Oracle
- oracle sid,instance_name,db_name,oracle_sid之間的關係Oracle
- oracle 11.2.0.4 sequence之dba_sequences last_number含義測試之一OracleAST
- 談談javascript語法裡一些難點問題(一)JavaScript
- 淺談Kotlin語法篇之變數和常量(二)Kotlin變數
- oracle,db2,mysql類比之一常用類似知識點OracleDB2MySql
- Oracle data link建立Oracle
- 英語語法(6) 代詞之一
- 淺談浮點數(一)
- 建立Oracle包的語法Oracle
- 淺談Kotlin語法篇之擴充套件函式(五)Kotlin套件函式
- 淺談Kotlin語法篇之Lambda表示式完全解析(六)Kotlin
- redhat 6.5之oracle 11.2.0.4 asm例項異常抽取asm配置資訊之amdu初識之一RedhatOracleASM
- Oracle中DB_NAME,SID,DB_DOMAIN,SERVICE_NAME等之間的區別OracleAI
- 談談javascript語法裡一些難點問題(二)JavaScript
- DB_NAME&TANCE_NAME&DB_UNIQUE_NAME&ORACLE_SID&GLOBAL_NAME&DB_DOMAIN&SERVICE_NAMEOracleAI
- Oracle11gr2新增ALTER DATABASE LINK語法OracleDatabase
- 基於redhat 6.5 oracle 11.2.0.4初識oracle asm diskgroup相關概念之一RedhatOracleASM
- 淺談Kotlin語法篇之如何讓函式更好地呼叫(三)Kotlin函式
- 個人公眾號lovedb--------如何高效學習oracle資料庫淺談之一Oracle資料庫
- Database Link 建立注意的兩點Database
- 英語語法(4) 形容詞和副詞之一
- 談談 js 深淺拷貝 那點事(一)JS
- [Oracle] 指令碼建立DBOracle指令碼
- 淺談 Easy-mock 最好的備胎沒有之一Mock
- 關於ORACLE_SID和DB_NAME的理解Oracle
- ORACLE_SID,INSTANCE_NAME和DB_NAMEOracle
- 淺談摩爾投票法
- 關於碳中和的一點淺談
- oracle之 11.2.0.4 bbed安裝Oracle
- 10g和11g之間建立db_link的問題解決