乙個資料庫多Instance的連線解決方案

2021-09-22 02:47:45 字數 1681 閱讀 7710

當乙個資料庫上面有多個instance時,連線oracle就需要注意了。在單instance的情況下,由於設定了oracle_sid,所以用sqlplus進行連線的時候缺省會連線到環境變數中指定的instance, 但是如果需要連線另外乙個instance的時候,就需要顯示的指定了。連線的方式一般來講有兩種方法:

匯出之前的環境變數

oracle@b2b_plat_13619:/home/oracle>env | grep ora

oracle_sid=moree

oracle_base=/opt/oracle

ora_encrypt_login=true

ora_nls33=/opt/oracle/products/9.2.0/ocommon/nls/admin/data

oracle_home=/opt/oracle/products/9.2.0

顯示的匯出環境變數

oracle@b2b_plat_13619:/home/oracle>export oracle_sid=otter

oracle@b2b_plat_13619:/home/oracle>env | grep ora

oracle_sid=otter

oracle_base=/opt/oracle

ora_encrypt_login=true

ora_nls33=/opt/oracle/products/9.2.0/ocommon/nls/admin/data

oracle_home=/opt/oracle/products/9.2.0

此時直接用sqlplus連線oracle時,就是連線到otter例項了。

otter.

db.alibaba.com=

(description =

(address_list =

(address = (protocol = tcp)(host = b2b_plat_13619)(port = 1521))

)

(connect_data =

(server = dedicated)

(service_name = otter)

)

)

【注意】網域名稱的設定是在sqlnet.ora檔案中,

oracle@b2b_plat_13619:/home/oracle>more /home/oracle/products/9.2.0/network/admin/sqlnet.ora

# sqlnet.ora network configuration file: /opt/oracle/products/9.2.0/network/admin/sqlnet.ora

# generated by oracle configuration tools.

mes.directory_path= (tnsnames,hostname)

names.default_domain = db.alibaba.com

使用sqlplus連線資料庫:

連線資料庫時可以指定網域名稱,也可以不指定網域名稱都是可以的

@>conn retl/[email protected]

connected.

或者

@>conn retl/retl@otter

connected.

如何用乙個資料庫的資料去更新另乙個資料庫的內容

愚翁 如何用乙個資料庫的資料去更新另乙個資料庫的內容 上次寫了乙個簡單資料庫之間資料交換的程式,但是考慮到如果資料量大的情況,我所使用的 dataadatper dataset 方法,在效能上就有很大的劣勢。不過,要想在資料量大的資料庫之間能高效地交換,就需要捨棄原先的方法,而改用 dbcomman...

乙個資料庫查詢的問題

有乙個表user book記錄了一名使用者擁有的書籍的資訊,表的資料如下 key userid bookid 1 1 2 2 1 3 3 1 4 4 2 1 5 2 3 這表明這名使用者1擁有2,3,4三本書,使用者2擁有1,3兩本書,以此類推。現在要用1個sql語句得到下面問題的結果 給出任意個b...

IOS的乙個資料庫方法

我在ios程式設計使用的fmdatabase這個sqlite框架,需要客戶端與伺服器做一些資料同步工作,有時得執行比較多的命令 增刪改表當然是手寫,但如果要手寫插入幾百上千條記錄是很不現實的,也只需要用php從mysql中讀取記錄便可 而且因為客戶端的緣故,mysql資料庫裡的一些字段並不需要寫入到...