Oracle菜鳥之grant授權,oraclegrant授權

來源:互聯網
上載者:User

Oracle菜鳥之grant授權,oraclegrant授權

<pre name="code" class="sql">1、給資料庫使用者授權(對象為使用者表)GRANT privilege[, ...] ON object[, ...] TO { PUBLIC | GROUP group| username}privilege:select:查詢insert:插入update:更新delete:刪除rule:all:所有grant select,insert,update on tablename to public;給所有使用者授予查詢、插入、更新tablename表的許可權revoke select,insert,update on tablename from public;//收回所有使用者查詢、插入、更新tablename表的許可權object:table:表view:視圖sequence:序列index:索引grant select,insert,update on tablename,viewname,sequencename,indexname to public;public:對所有使用者開放許可權GROUP groupname:對該組所有使用者開放許可權username:對指定使用者開放許可權2、給資料庫使用者授權(對象多為系統資料表,如dba可以查看的表)grant dba to username;不給使用者授予dba許可權,使用者將無法查看系統資料表,例如v$datafile,dba_data_files等revoke dba from username;//對使用者username回收dba許可權註:如果使用pl/sql登入,授予dba許可權後,需要重新登陸(初始理解,錯誤)後經驗證,不需要重新登陸,只需要重新開啟一個會話就可以理解:資料庫的所有許可權操作,都是以會話為單位,如果當前會話執行時沒有dba許可權,即便是已經重新賦予了許可權,在當前會話中也是不起作用的而如果當前會話有dba許可權,而後台取消了許可權,那麼當前會話的dba許可權也不會消失grant connect to username;不給建立使用者授予connect許可權,建立使用者無法通過SID或SERVICE_NAME串連資料庫執行個體,即無法登入資料庫revoke connect to username;//對使用者username回收connect許可權grant resource to username with admin option;grant unlimited tablespace to username with admin option;不給建立使用者授予resource許可權,建立使用者無法建立表revoke resource from username;//對使用者回收resource許可權3、查看指定使用者有哪些系統許可權select * from dba_role_privs where grantee=upper('username');4、查看指定使用者有哪些對象許可權select * from dba_tab_privs where grantee=upper('username');可能遇到問題:1、當在一個建立資料庫使用者上建立表失敗時,可以查看系統許可權在目前使用者執行select * from dba_role_privs where grantee=upper('username');如果不能執行(提示表或視圖不存在),說明沒有dba許可權解決方案:可以登入sys賬戶賦予dba許可權登入sys:sqlplus / as sysdba給username賦許可權:grant dba to username;也可以直接登入sys賬戶,select * from dba_role_privs where grantee=upper('username'),如果granted_role的值沒有dba,說明沒有dba許可權許可權相關的查詢和賦予:所有許可權的賦予均是在有賦予許可權的使用者下進行,此處授權使用者都是sys使用者1、select * from dba_role_privs where grantee=upper('luyongpeng');其中,admin_option是通過在授權時添加with admin option 選項定義grant dba to luyongpeng with admin option;//admin_option為YES,如果不加with admin option 選項,則admin_option為NO使用grant dba to luyongpeng;無法覆蓋之前的許可權但grant dba to luyongpeng with admin option 可以覆蓋grant dba to luyongpeng;的許可權
<img src="http://img.blog.csdn.net/20140801130948598?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc2ltcGxlX29uX2Zvb3Q=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
<pre name="code" class="sql">2、select * from dba_sys_privs where grantee=upper('luyongpeng');該許可權可以通過執行grant dba to luyongpeng;時自動加上,但admin_option預設為NO可以通過grant unlimited tablespace to luyongpeng with admin option;將admin_option修改為YES當執行revoke dba from luyongpeng;時,系統會同時回收dba許可權和unlimite tablespace許可權如果想保留dba許可權,但回收unlimited tablespace許可權,可以通過revoke unlimited tablespace from luyongpeng;實現



<pre name="code" class="sql">3、select * from dba_tab_privs where grantee=upper('luyongpeng');該許可權表現了目前使用者對owner的哪些表具有何種操作許可權,並且grantable欄位值YES表明了luyongpeng使用者可以繼續對其他使用者開放signtest表的許可權



<pre name="code" class="sql">執行grant insert on signtest to luyongpeng with grant option;grant delete on signtest to luyongpeng with grant option;後,重新查詢dba_tab_privs表資訊如下,可以看到當加上with grant option選項後,GRANTABLE欄位值為YES







oracle的grant語句,一次只可以授權一張表的存取權限?

是的,一次grant只能指定一個對象,例如:grant select, update, insert on emp to hr;
可以多種操作許可權,但是只能指定一張表。

記得採納。
 
oracle插入testSQL語句檔案,然後怎給這個檔案授權詳細點的本人是oracle菜鳥

去下個PLsql developer這個工具,上面有匯入匯出檔案,授權的選項,比較方便,命令你要用chmod授權使用者755限W,R,X,W是寫,R是寫,X是應用分別代表W=4,R=2,X=1,7=4+2+1 5=4+1,chown -R oracle:oinstall /oracle
chown -R 755 /oracle要在root使用者下
許可權
grant授權grant connect,resource to使用者名稱,這個要在進入數劇庫後的dba使用者下
 

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.