Oracle同義詞和DBLink關聯

2021-09-29 13:26:16 字數 2318 閱讀 3742

基於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 資料庫連線 來擴充套...