熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

Oracle角色權限管理

2013-11-13 22:17:46  來源: Oracle 

  對於Oracle系統管理員而言用戶管理是基本的操作下面列表中介紹了Oracle角色權限管理的一些指令以供Oracle系統管理員們參考

  個默認的用戶

  sys change_on_install [as sysdba] // 最高系統管理員

  system manage// 本地管理員

  scott tiger// 普通用戶

  創建用戶

  create user leap identified by // 創建leap 用戶 密碼為

  權限管理系統授權

  grant create seesion to leap;//系統管理員授權給leap會話的權限

  grant create table to leap;;//系統管理員授權給leap創建表的權限

  grant unlimited tablespace to leap;//系統管理員授權給leap 不限制表空間大小的權限 默認的表空間是Users

  grant create session to public ;把 會話的權限授權給所有的用戶

  grant create any table to public ;把創建任意表的權限授權給所有的用戶

  grant alter any table to public ;把修改任意表結構的權限授權給所有的用戶

   斷開連接和連接

  disconn 和conn username/password

   修改表結構

  alter table mytable add columnName varchar();添加一個新列

  權限管理系統撤銷授權

  revoke create seesion from leap;// 撤銷授權

  revoke create table from leap;

  revoke unlinited tablespace from leap;

  數據字典

  查詢當前用戶系統權限

  select * from user_sys_privs

  查詢當前用戶表的權限

  select * from user_tab_privs

  查詢當前用戶表的列的權限

  select * from user_col_privs

   設定行的顯示寬度

  set linesize

  權限管理對象授權

  注意 誰擁有該對象(即誰創建的對象) 誰擁有授權的權利

  grant select mytable to leap

  grant all my table to leap

  授權表的列的控制權限對象權限可以控制到列的范圍

  grant update on mytable to leap 把權限控制在表的列上 用戶leap 只能修改columnName 列

  grant insert on mytable to leap 把權限控制在表的列上 用戶leap 只能修改columnName 列

  注意;授權列的控制權只能對update 和insert操作查詢和刪除不能控制到列

  select * from user_col_privs 查詢列的數據字典

  授權成功後 leap 用戶查詢

  select * from leapmytable

  DDL數據定義語言 create drop 不需要提交commit

  DDL數據操縱語言 insert update delete 需要提交commit

  DCL數據控制語言 grant 不需要提交 commit

   權限管理對象撤銷授權

  grant select mytable to leap

  grant all on mytable to leap

  權限管理權限的傳遞

  不可以權限傳遞

  grant alter any table to leap 把修改表結構的權限授權給leap

  並且leap 不可以把此權限授權給其他的用戶leap

  可以權限傳遞

  grant alter any table to leap with admin option 把修改表結構的權限授權給leap

  並且leap 可以把此權限授權給其他的用戶leap

  把表的查詢權限授權給其他用戶 不能傳遞

  grant select on mytable to leap 把查詢表的權限授權給leap

  並且leap 不可以把此權限授權給其他的用戶leap

  把表的查詢權限授權給其他用戶 能傳遞

  grant select on mytable to leap with grant option把查詢表的權限授權給leap

  並且leap 可以把此權限授權給其他的用戶leap

  角色 角色就是權限的集合 可以把一個角色授予給用戶

  創建角色

  create role myrole

  刪除角色

  drop myrole

  角色是權限的集合所以要把權限放進角色內

  grant create session to myrole

  grant create table to myrole

  授權角色給用戶

  grant myrole to leap

  注意 有些權限不能授權給角色

  例如 unlimited tablespace

  表示屬於創建它的用戶的

  角色不是屬於任意一個用戶 是所有用戶公用的

  限制用戶

  alter User 用戶名 Account Lock 用戶加鎖

  alter User 用戶名 Account unLock 用戶解鎖

  alter User 用戶名 Password expire 用戶密碼即可失效

  刪除用戶

  drop User 用戶名 用戶下面每有對象

  drop User 用戶名 cascade 用戶下面有表或者對象必須用cascade

  cascade 表示強制刪除用戶所有對象

  命令下啟動oracle listener

  lsnrctl start [listenerName] 啟動

  lsnrctl stop [listenerName] 關閉

  希望這張列表能夠對Oracle系統管理員們給予一定的幫助


From:http://tw.wingwit.com/Article/program/Oracle/201311/18705.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.