基於oracle11g
兩個資料庫(如oracle 11g,其他也可),以下稱為目標庫,源庫,建立database link後需要訪問的庫為目標庫。
目標庫為:10.17.0.206:1521/ylzcdr
源庫為:10.17.0.42:1521/orcl
在建立database link之前,我們需要判斷,登陸的使用者是否具備建立database link 的許可權,所以我們執行以下的語句(用sd_jcpt使用者登陸源庫):
-- 檢視
sd_jcpt
使用者是否具備建立
database link
許可權select
如果查詢有返回行,則表示具備建立
database link
許可權,否則,則需要使用
sys登陸源庫為
sd_jcpt
使用者賦予建立許可權。
-- 給wangyong
使用者授予建立
dblink
的許可權grant
create
public
database
link
tosd_jcpt;
此時,再執行上面檢視是否具備許可權的
sql語句,會發現有返回行,表示
sd_jcpt
這個使用者已經具備建立
database link
的許可權。
create [public] database link dababaselinkname [connect to user identified by password] using connectstring.
建立乙個名為
link2cdr
的database link。
-- 注意一點,如果密碼是數字開頭,用
「」括起來
create
public
database
link
link2cdr
connect
tosd_jcpt
identified
by"sd_jcpt"
using
'10.17.0.206:1521/ylzcdr';
create [public] synonym [schema.]synonymname for [schema.]object[@dblink] --public表示建立乙個公共同義詞,預設是私有的。@dblink表示建立的是遠端資料庫的同義詞,dblink是遠端資料庫鏈結的名稱。
比如針對查詢目標庫所有表使用同義詞
為其他使用者或者當前使用者的物件建立同義詞,同義詞可以指向表、檢視、過程、函式、包和序列。
create
synonym
syn_tab
fortab@link2cdr;
建立同義詞後,可以使用如下訪問方式:
--預設是刪除私有的資料庫鏈結。
刪除同義詞:
sql** drop [public] synonym [schema.]synonymname
-- public表示刪除乙個公用同義詞,如果不指定則預設是刪除私有同義詞,當對應的私有同義詞不存在時則報錯。
-- 刪除
database link
drop
public
database
link
link2cdr;
-- 刪除同義詞
drop
synonym
syn_tab;
Oracle同義詞和序列
1 1同義詞 是表 索引 檢視的模式物件的乙個別名,通過模式物件建立同意詞,可以隱藏物件的實際名稱和 所有者資訊,為物件提供一定的安全性,開發應用程式時 應該盡量避免直接使用表,檢視 或其他物件,改用物件的同義詞。23 2避免當管理員對資料庫物件做出修改和變動後,必須重新編譯應用程式,只需要在資料庫...
Oracle同義詞以及同義詞迴圈鏈錯誤。
就是別名的意思。與檢視類似,是一種對映關係。是表 索引 檢視的物件的別名。建立 create public synonym table name for user.table name 好處 節省資料空間,不同使用者操作同一種表無差別。能夠在不同的資料使用者之間實現無縫互動。簡化物件訪問 和 提高物...
Oracle的同義詞
oracle中建立同義詞語句 create synonym table name foruser.table name 其中第乙個user table和第二個user table可以不一樣。此外如果要建立乙個遠端的資料庫上的某張表的同義詞,需要先建立乙個databaselink 資料庫連線 來擴充套...