今天遇到一個數據庫的問題:sql
系統數據庫用戶下建立了幾個視圖用於外部系統開發報表使用,當外部系統提取視圖數據時,須要經過一個只能訪問須要視圖權限的用戶,因而想到給他建立一個新的用戶,並給這個用戶分配只能訪問這幾個視圖的權限。數據庫
DBA_SYS_PRIVS描述授予用戶和角色的系統權限。oracle
查看用戶系統權限:select * from dba_sys_privs;ide
USER_SYS_PRIVS描述了授予當前用戶的系統權限。server
查看用戶系統權限:select * from user_sys_privs;htm
三、由於系統數據庫用戶擁有dba權限,因此,使用數據庫系統用戶建立用戶:blog
create user BI identified by 123;開發
四、給BI用戶受權鏈接權限:get
grant connect to BI;it
五、給BI用戶受權
grant RESOURCE to BI;
六、給BI用戶受權select 某視圖的權限:
七、使用BI用戶鏈接數據庫:
查詢視圖發現提示表或視圖不存在
在視圖前加上視圖全部者用戶名稱則能夠查詢成功。 eg: select * from ORCL.VW_STAFF;
七、給BI用戶受權同義詞權限:
八、使用BI用戶鏈接數據庫:
九、建立同義詞視圖:
十、直接查詢視圖名稱則能夠查詢
十一、可是登錄BI用戶,則在視圖列表裏看不到任何視圖,如何可以查詢而且登錄用戶也能看到該視圖?