DB LINK的個人理解

2021-06-21 22:56:28 字數 1494 閱讀 7550

db_link就是從乙個

oracle

資料庫服務連線到另乙個

oracle

資料庫服務的單方向的指標。

db_link連線是在

a資料庫上的使用者能使用儲存在a上的

link

來呼叫b

資料庫上的資訊。

db_link分為private和

public

兩種:

private:只有建立該

db_link

的使用者才能連線

public:所有的資料庫使用者都能連線。如果建立全域性

db_link,必須使用

system或

sys使用者

database link的好處就是它能允許使用者在遠端資料庫連線另乙個使用者的物件。也就是說,乙個本地使用者能在遠端資料庫沒有該使用者時,訪問遠端資料庫。

建立資料庫鏈結的帳號必須有create database link

或create public

database link的系統許可權,用來登入到遠端資料庫的帳號必須有

create session

許可權。這兩種許可權都包含在

connect

角色中(

create public database link

許可權在dba

中)。

建立db_link語法:

create [public|private] database link 名字 connect to 使用者名稱 identified by 密碼 using 『連線字串』;

當初始化引數global_name=true

時,link

名必須與遠端資料庫的全域性資料庫名

global_name

)相同;否則,可以任意命名。

連線字串:$oracle_home/network/admin/tnsnames.ora中定義遠端資料庫的連線串。

使用者名稱/

密碼:遠端資料庫的使用者名稱,口令。如果不指定,則使用當前的使用者名稱和口令登入到遠端資料庫。

檢視已建立的db link:

select owner,object_name from dba_objects where object_type='database link';

db_link的引用:

select * from employees@products;

select * from hr.employees@products ;

db_link的缺點:

db_link看似好像十分方便

,建立是很簡單,但是在使用中後台卻會出現鎖,其實這個鎖倒不是最讓人心煩的,而是每次使用

db_link

查詢的時候,均會與遠端資料庫建立乙個連線,

db_link

是不會自動釋放這個連線的,如果是大量使用

db_link

查詢,會造成

web 

專案的連線數不夠,最後導致系統無法正常執行。

Kalman filter的個人理解

最近在做目標跟蹤相關的工作,看了很多資料,零零總總的,過段時間自己都有些小混亂了 不知道是不是自己應該吃點核桃補腦了呢 在這裡mark些資料,當腦容量不足時候,就暫且卸掉一些,擴充容量後,再繼續裝載 kalman filter,wiki上對它的介紹很詳細,對應中文的介紹 對每一步k,定義矩陣a,h,...

ThreadLocal的個人理解

threadlocal的設計思想十分簡單,它的核心物件就是threadlocalmap,被宣告在thread類裡面,每個thread都持有乙個threadlocalmap,所以才能實現執行緒隔離,以達到儲存共享變數的作用 threadlocal.threadlocalmap threadlocals...

個人理解的迴圈!

格式 dowhile 迴圈條件 do while特點 先執行在判斷。迴圈體至少執行一次。do while 和while 迴圈的對比 相同點 都是用來做迴圈操作的,滿足條件進入迴圈體。不同點 do while是先執行一次在進行判斷,滿足條件的話就繼續執行,反之結束。while 是先判斷,滿足迴圈條件才...