樓主在用Imp匯入資料到oracle資料庫后,發現所有的視圖都沒能匯入,查看日志,原來是權限問題,應該是沒有create view的權限。當時給匯入用戶賦予的權限是connect和resources,google查找相關資料,在一篇博客中看到connect的權限為
ALTER SESSION --修改會話
CREATE CLUSTER --建立聚簇
CREATE DATABASE LINK --建立資料庫鏈接
CREATE SEQUENCE --建立序列
CREATE SESSION --建立會話
CREATE SYNONYM --建立同義詞
CREATE VIEW --建立視圖
竟然有create view的權限。于是在資料庫通過select * from role_role_privs;查找角色權限,發現connect只有create session權限,繼續google,在https://www.safaribooksonline.com/library/view/oracle-security/1565924509/ch05s02.html找到相關說明,在oracle6之后,connect 新增了上面這些權限。而這與樓主在資料庫查找的不相同,所以感到困惑,想請教一下connect 權限到底是什么?
uj5u.com熱心網友回復:
ALTER SESSION --修改會話CREATE CLUSTER --建立聚簇
CREATE DATABASE LINK --建立資料庫鏈接
CREATE SEQUENCE --建立序列
CREATE SESSION --建立會話
CREATE SYNONYM --建立同義詞
CREATE VIEW --建立視圖
還是權限的問題吧,是不是跨用戶了?
uj5u.com熱心網友回復:
沒有,一直在同一個用戶下操作的uj5u.com熱心網友回復:
問題已解決,在stackoverfolw上找到一個回答http://stackoverflow.com/questions/27100363/what-is-the-significance-of-connect-role-in-oracle,在oracle6中新增了connect的這些權限,而在oracle10g又重新做了更改,對新增的權限進行了移除,只保留了createsession這個權限。
uj5u.com熱心網友回復:
其實吧,沒有權限重新手動賦權就好了,你是要查原因
嗯it界需要你這種深究的精神
uj5u.com熱心網友回復:
本人還只是初入行的菜鳥,要學習的東西還很多,還是感謝前輩鼓勵。
uj5u.com熱心網友回復:
select * from dba_sys_privs where grantee = 'CONNECT'
uj5u.com熱心網友回復:
select * from dba_sys_privs where grantee='connect';
GRANTEE PRIVILEGE ADMIN_OPTION
------------------------------ ---------------------------------------- ------------
SQL> select * from role_sys_privs where role='resource';
ROLE PRIVILEGE ADMIN_OPTION
------------------------------ ---------------------------------------- ------------
實際查詢結果是這樣,不知道為什么,而通過select * from dba_sys_privs查詢是有結果的
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/102101.html
標籤:開發
上一篇:net configuration assistant 一閃就沒了
下一篇:陳述句優化
