Oracle 許可權常用語句【轉】
Oracle使用者許可權常用語句
常用的System Privileges
- create session 連線資料庫
- create table 建表
- create view 建檢視
- create public synonym 建同義詞
- create procedure 建過程、函式、包
- create trigger 建觸發器
- create cluster 建簇
例項
建立使用者並賦予該使用者授權許可權。
create user ken identified by ken;
授予許可權並附帶admin option
grant create session, create table to ken with admin option;
授予許可權,不帶with admin option
grant create view to ken;
新建tom使用者
create user tom identified by tom;
使用ken使用者登入後對tom授權, 語句執行成功
grant create session, create table to tom; Grant succeeded. 對tom授權,語句執行失敗 grant create view to tom; grant create view to tom * ERROR at line 1: ORA-01031: insufficient privileges
回收許可權
note 注意,回收許可權不是級聯的。
從ken回收登入許可權
revoke create session from ken;
此時tom依然可以登入,但Ken無法登入了
ERROR: ORA-01045: user KEN lacks CREATE SESSION privilege; logon denied
常用的Object Privilege
- alter
- delete
- select
- insert
- update
- index
- references
- execute
檢視系統中的Object Privilege
select distinct privilege from dba_tab_privs;
檢視某使用者具有的Object Privilege
select grantor, owner, table_name, privilege from dba_tab_privs where grantee = 'TOM';
授予人可以是該物件所有者或者sys和system使用者。
grant select on t to tom
授予所有許可權
grant all on emp to monkey;
授予列許可權
grant update on emp(sal) to monkey
授予對於某個包的執行許可權
grant execute on dbms_transaction to ken;
在別的schema中建立索引,必須具備以下許可權
grant index on scott.emp to blake;
回收物件許可權
revoke select on emp from blake
note 回收Object Privilege 會導致級聯回收。
角色
角色Role,定義一組許可權。
查詢角色具備的許可權
select * from role_sys_privs where role='角色名'
select * from role_sys_privs where role='CONNECT';
select * from role_sys_privs where role='RESOURCE';
DBA角色
dba角色具有所有的系統許可權,及with admin option選項,預設的dba使用者為sys和system,它們可以將任何系統許可權授予其他使用者。但是要注意的是dba角色不具備sysdba和sysoper的特權(啟動和關閉資料庫)
note 一般而言,建立使用者後,給與connect角色和resource就夠了。
自定義角色
建立角色(不驗證)
create role 角色名 not identified;
建立角色(資料庫驗證)
create role 角色名 identified by 密碼;
角色授權
grant create session to 角色名 with admin option grant select on scott.emp to 角色名; grant insert, update, delete on scott.emp to 角色名;
分配角色
grant 角色名 to blake with admin option;
select * from dba_roles;
select privilege, admin_option from role_sys_privs where role='角色名';
select granted_role, default_role from dba_role_privs where grantee = '使用者名稱';
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29757574/viewspace-2146983/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle建立表空間、使用者、分配許可權語句Oracle
- Oracle 使用者許可權管理與常用許可權資料字典列表Oracle
- Oracle的物件許可權、角色許可權、系統許可權Oracle物件
- ORACLE許可權Oracle
- AIX 的許可許可權(轉)AI
- ORACLE FGAC(細粒度許可權控制)(轉)Oracle
- LightDB/PostgreSQL標準業務建立語句【賦予讀寫許可權和只讀許可權】SQL
- oracle 許可權集合Oracle
- oracle 許可權管理Oracle
- Oracle許可權(一)Oracle
- oracle許可權全集Oracle
- ORACLE常用語句:Oracle
- 常用oracle語句Oracle
- [提權禁區] SQL語句利用xp_cmdshell獲取許可權SQL
- Oracle 使用者、物件許可權、系統許可權Oracle物件
- Oracle角色、許可權的一些常用檢視Oracle
- Oracle中常用的目錄許可權設定命令Oracle
- Oracle使用者、許可權、角色管理【轉】Oracle
- Guest許可權突破——許可權提升方法總結(轉)
- 轉貼:Oracle維護常用SQL語句OracleSQL
- Oracle 許可權(grant、revoke)Oracle
- Oracle系統許可權Oracle
- Oracle檢視許可權Oracle
- 【許可權管理】Oracle中檢視、回收使用者許可權Oracle
- oracle常用SQL語句OracleSQL
- (轉)Oracle常用資料字典查詢語句Oracle
- Oracle 查詢許可權角色Oracle
- oracle許可權整理檔案Oracle
- oracle使用者許可權Oracle
- oracle列級許可權控制Oracle
- Oracle users / 許可權 / grant privOracle
- Oracle 中的references許可權Oracle
- Oracle ERP許可權管理Oracle
- oracle 使用者許可權Oracle
- oracle grant 授權語句Oracle
- 許可權之選單許可權
- 【轉】關於MySQL許可權MySql
- MSSQL 如何匯出db所有使用者許可權建立語句SQL