程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> Oracle系統管理員須知:角色權限管理

Oracle系統管理員須知:角色權限管理

編輯:Oracle數據庫基礎

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

----3個默認的用戶

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

system  manage// 本地管理員

scott tiger// 普通用戶

----創建用戶

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

----權限管理:系統授權

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(10);---添加一個新列

-----------權限管理:系統撤銷授權

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 400

----權限管理:對象授權

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

grant select mytable to leap2

grant all my table to leap2

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

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

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

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

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

---授權成功後 leap2 用戶查詢

select * from leap.mytable

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

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

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

 ------- 權限管理:對象撤銷授權

grant select mytable to leap2

grant all on mytable to leap2

-----權限管理:權限的傳遞

---不可以權限傳遞

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

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

---可以權限傳遞

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

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

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

grant select  on mytable to leap2  ---把查詢表的權限授權給leap2,

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

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

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

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

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

---創建角色

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系統管理員們給予一定的幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved