dblink涉及的表的賦權

lusklusklusk發表於2018-07-27

A上面使用者user_a有訪問B的DBLINK,B_dblink,在A庫的使用者user_a上執行如下授權,授權dblink的table1給A庫的user_b

grant select on table1@B_dblink to user_b;

報錯ORA-02021: 不允許對遠端資料庫進行 DDL 操作


A透過dblink訪問B,許可權管控不在A上,而在B上,A使用B的哪個使用者建立dblink,許可權全在B的這個使用者下。



MES伺服器上SR使用者透過DBLINK訪問ERP,在ERP中的使用者是erpsr,實際資料存在ERP中的erpmes使用者

1、在ERP中建立erpsr使用者

2、在ERP中的erpmes使用者下授權erpsr可以select erpmes下的表,只授權select

3、在ERP的erpsr使用者下建立erpmes下表的同義詞

4、在MES庫中的SR使用者下建立dblink,dblink的connect to使用erpsr


--控制許可權再MES伺服器上控制,不是在ERP伺服器上控制,如下第4步建立dblink使用erpsr使用者,不能使用erpmes使用者,一旦使用erpmes使用者,那麼MES庫上的SR使用者實際是使用erpmes使用者的許可權




先在ERP中做如下

1.system使用者執行如下

create user erpsr identified by 123456;

grant connect to erpsr;


2.system使用者執行如下

grant select on erpmes.table_name to erpsr


3.erpsr使用者執行如下

create synonym table_name for erpmes.table_name

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30126024/viewspace-2168508/,如需轉載,請註明出處,否則將追究法律責任。

相關文章