oracle 使用者之間訪問的許可權設定
阿新 • • 發佈:2019-01-22
假如Oracle中有兩個使用者A和B,如果A要訪問B擁有的表
SELECT * FROM B.TABLENAME。在A下 grant connect,resource to B
在B下 grant connect,resource to A
讓這兩個使用者可以互相訪問各自的物件(表,過程和函式等)
訪問表的時候要注意:比如說A的a表
訪問的時候 用A.a Oracle
設定只能訪問某幾張表許可權的使用者
首先那幾張表不屬於這個使用者user1。然後登入那幾張表所在的使用者user2(或管理員),
conn user2/password
grant select on table1 to user1;
grant select on table2 to user1;
把一個使用者所有表的讀許可權授予另一個使用者
方法二:select 'grant select on user1.'||table_name||' to user2;'
from all_tables
where owner = 'user1';
方法三:用隱式遊標法
declare
begin
for cr in (select table_name from dba_tables where owner='表屬主') loop
execute immediate
'grant select on 表屬主.' || cr.table_name || ' to 目標使用者;
end loop;
end;
A 表訪問B表ORA-01031:許可權不足的問題
grant SELECT ANY TABLE to username //許可權可以允許訪問所有表grant all privileges TO username //賦予任何主機訪問資料的許可權