簡體   English   中英

在SQL中連接到遠程Oracle數據庫

[英]connecting to remote oracle database in SQL

我需要在不同服務器中的兩個Oracle數據庫之間進行一些數據遷移。 我已經想到了一些方法來做到這一點,例如編寫jdbc程序,但是我認為最好的方法是在SQL本身中做到這一點。 我還可以將整個表復制到要遷移到的數據庫中,但是這些表很大,而且似乎不是“優雅”的解決方案。

是否可以在SQL Developer中打開到一個數據庫的連接,然后使用SQL連接到另一個數據庫,並在表上編寫更新/插入函數,就像它們都在同一連接中一樣?

我已經閱讀了一些有關創建鏈接表的示例,但似乎沒有一個特定於oracle,或者告訴我如何通過提供服務器主機名/端口/ SID /用戶憑據來打開外部連接。

謝謝您的幫助!

如果創建數據庫鏈接,則可以通過查詢TABLENAME@dblink從其他數據庫中選擇一個。

您可以使用CREATE DATABASE LINK語句創建這樣的鏈接。

這取決於是一次性的事情還是正常的過程,以及是否需要進行ETL(提取,轉換和加載),但這取決於您的解釋是否對您有所幫助。

從我的解釋中可以得出,您試圖完成的工作是將幾個表從一個數據庫復制到另一個數據庫,如果它們可以互相訪問,那么這真的很簡單,您可以創建一個DBLINK( http:// www .dba-oracle.com / t_how_create_database_link.htm ),然后使用DBLINK對其中一個表和本地表作為接收方或發送方,從任一方進行SELECT AS INSERT。 它非常簡單。

但是,如果這是一次性的事情,那么我只會使用expdp和impdp移動表,因為那樣會更快,並且對數據庫的負擔也更少。

如果您需要維護和更新它,為什么不添加DBLINK並在兩端使用它,但這將取決於網絡性能。

如果這有點超出您的深度,或者由於限制而無法創建dblink,則SQL Developer擁有數據庫復制選項已有一段時間了,您可以復制單個表,但是對於正在使用該表的系統來說,它非常繁瑣。運行( http://deepak-sharma.net/2014/01/12/copy-database-objects-between-two-databases-in-oracle-using-sql-developer/ )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM