有效建立oracle dblink 的兩種方式

2021-04-27 00:36:47 字數 1281 閱讀 9962

兩台不同的資料庫

伺服器,從一台資料庫伺服器

的乙個使用者讀取另一台資料庫伺服器下的某個使用者的資料,這個時候可以使用dblink。

其實dblink和資料庫中的view差不多,建dblink的時候需要知道待讀取資料庫的ip位址,ssid以及資料庫使用者名稱和密碼。

建立可以採用兩種方式:

1、已經配置本地服務

以下是引用片段:

create public database

link fwq12 connect to fzept

identified by neu using 'fjept'

create database link資料庫鏈結名connect to 使用者名稱 identified by 密碼 using 『本地配置的資料的例項名』;

2、未配置本地服務

以下是引用片段:

create database link linkfwq

connect to fzept identified by neu

using '(description =

(address_list =

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

) (connect_data =

(service_name = fjept)

) )';

host=資料庫的ip位址,service_name=資料庫的ssid。

其實兩種方法配置dblink是差不多的,我個人感覺還是第二種方法比較好,這樣不受本地服務的影響。

資料庫連線字串可以用net8 easy config或者直接修改tnsnames.ora裡定義.

資料庫引數global_name=true時要求資料庫鏈結名稱跟遠端資料庫名稱一樣

資料庫全域性名稱可以用以下命令查出

select * from global_name;

查詢遠端資料庫裡的表

select …… from 表名@資料庫鏈結名;

查詢、刪除和插入資料和操作本地的資料庫是一樣的,只不過表名需要寫成「表名@dblink伺服器」而已。

附帶說下同義詞建立:

create synonym同義詞名for 表名;

create synonym同義詞名for 表名@資料庫鏈結名;

刪除dblink:drop public database link linkfwq。

如果建立全域性dblink,必須使用systm或sys使用者,在database前加public。

MySQL 有效的建立索引

當資料庫中的資料量達到億級,數十億級的時候,普通的一條查詢語句都可能耗時非常長,解決此問題的乙個有效方法是有效的建立索引。合理的建立索引能夠加速資料讀取效率,不合理的建立索引反而會拖慢資料庫的響應速度 索引越多,更新資料的速度越慢 盡量在採用myisam作為儲存引擎的時候使用索引 因為mysql以b...

bash 中有效建立鎖

有時候需要防止一段 在被同時執行,就需要使用鎖來防止 重入。常常見到這樣的 if f var lock mylock then touch var lock mylock rm f var lock mylock fi但實際上,這樣是有問題的。如果兩個程序在 test 和 touch 之間,另乙個程...

bash 中有效建立鎖

有時候需要防止一段 在被同時執行,就需要使用鎖來防止 重入。常常見到這樣的 if f var lock mylock then touch var lock mylock rm f var lock mylock fi但實際上,這樣是有問題的。如果兩個程序在 test 和 touch 之間,另乙個程...