oracle許可權整理檔案
oracle 角色和許可權的關係檢視
例如:要檢視 scott 具有的角色,可查詢 dba_role_privs;
SQL> select * from dba_role_privs where grantee='SCOTT';
//查詢 orale 中所有的系統許可權,一般是dba
select * from system_privilege_map order by name;
//查詢 oracle 中所有物件許可權,一般是dba
select distinct privilege from dba_tab_privs;
//查詢 oracle 中所有的角色,一般是dba
select * from dba_roles;
//查詢資料庫的表空間
select tablespace_name from dba_tablespaces;
問題 1:如何查詢一個角色包括的許可權?
a.一個角色包含的系統許可權
select * from dba_sys_privs where grantee='角色名'
select * from dba_sya_privs where grantee='COONNECT'; connect要大寫
另外也可以這樣檢視:
select * from role_sys_privs where role='角色名'
b.一個角色包含的物件許可權
select * from dba_tab_privs where grantee='角色名'
問題 2:oracle 究竟 多少種角色?
SQL> select * from dba_roles;
問題 3:如何檢視某個使用者,具 什麼樣的角色?
select * from dba_role_privs where grantee='使用者名稱'
顯示當前使用者可以訪問的所有資料字典檢視。ν
select * from dict where comments like '%grant%';
顯示當前資料庫的全稱ν
select * from global_name;
其它說明ν
資料字典記錄 oracle 資料庫的所有系統資訊。透過查詢資料字典可以取得以
下系統資訊:比如
1.物件定義情況
2.物件 佔用空間大小
3.列資訊
4.約束資訊
檢視使用者、許可權、角色的命令和檢視
a
dba_role_privs
dba_tab_privs
dba_sys_privs
1.檢視所有使用者:
select * from dba_users;
select * from all_users;
select * from user_users;
2.檢視使用者系統許可權:
select * from dba_sys_privs;
select * from session_privs;
select * from user_sys_privs;
3.檢視使用者物件許可權:
select * from dba_tab_privs;
select * from all_tab_privs;
select * from user_tab_privs;
4.檢視所有角色:
select * from dba_roles;
5.檢視使用者所擁有的角色:
select * from dba_role_privs;
select * from user_role_privs;
b
概述
與許可權,角色相關的檢視大概有下面這些:
DBA_SYS_PRIVS: 查詢某個使用者所擁有的系統許可權
USER_SYS_PRIVS: 查詢當前使用者所擁有的系統許可權
SESSION_PRIVS: 查詢當前使用者所擁有的全部許可權
ROLE_SYS_PRIVS: 查詢某個角色所擁有的系統許可權
注意: 要以SYS使用者登陸查詢這個檢視,否則返回空.
ROLE_ROLE_PRIVS: 當前角色被賦予的角色
SESSION_ROLES: 當前使用者被啟用的角色
USER_ROLE_PRIVS: 當前使用者被授予的角色
另外還有針對表的訪問許可權的檢視:
TABLE_PRIVILEGES
ALL_TAB_PRIVS
ROLE_TAB_PRIVS: 某個角色被賦予的相關表的許可權
oracle與使用者角色許可權相關的檢視
Oracle 本身的資料字典設計我個人覺得很合理, 因為DBA_xxx, ALL_xxx,USER_xxx 讓人一看大概就知道這個檢視是幹什麼用的. 本文簡要總結了一下與許可權,角色相關的檢視.
一. 概述
與許可權,角色相關的檢視大概有下面這些:
1、DBA_SYS_PRIVS: 查詢某個使用者所擁有的系統許可權。
2、USER_SYS_PRIVS: 查詢當前使用者所擁有的系統許可權。
3、SESSION_PRIVS: 查詢當前使用者所擁有的全部許可權。
4、ROLE_SYS_PRIVS: 查詢某個角色所擁有的系統許可權。
注意: 要以SYS使用者登陸查詢這個檢視,否則返回空。
5、ROLE_ROLE_PRIVS: 當前角色被賦予的角色
6、SESSION_ROLES: 當前使用者被啟用的角色
7、USER_ROLE_PRIVS: 當前使用者被授予的角色
針對表的訪問許可權的檢視:
TABLE_PRIVILEGES
ALL_TAB_PRIVS
ROLE_TAB_PRIVS: 某個角色被賦予的相關表的許可權
SQL> select * from user_sys_privs; --檢視直接授予使用者的系統許可權
SQL> select * from user_role_privs; --使用者有哪些角色
SQL> select * from user_tab_privs; --檢查一個使用者被授予和授予其他使用者的物件級許可權
SQL> select * from dba_roles; --查詢系統中的角色
SQL> select * from dba_sys_privs; --查詢角色的權利
SQL> select * from dba_role_privs; --查詢角色是誰定義的
SQL> select * from column_privileges; --
SQL> select * from role_role_privs; --查詢角色的授予和被授予關係
SQL> select * from role_sys_privs; --查詢角色被授予的系統級許可權
---把一個使用者的所有表查詢許可權給另一個使用者
select 'grant select on '||owner||'.'||object_name|| ' to user'
from dba_objects
where object_type='TABLE' and onwer='user';
select 'grant select on '||owner||'.'||object_name|| 'to user;' from dba_objects where object_type='PROCEDURE';
SQL> select * from role_tab_privs; --查詢角色的物件級許可權
表空間配額和UNLIMITED TABLESPACE許可權 (2012-07-20 20:09:08)轉載▼
標籤: oracle unlimited tablespace quota resource 分類: ORACLE
對於一個新建的使用者,如果沒有分配給unlimited tablespace系統許可權的使用者,必須先給他們指定限額,之後他們才能在表空間中建立物件,限額可以是:
A、以兆位元組或者千位元組為單位的特定值
B、無限制的
限額是指定標空間中允許的空間容量,預設的情況下,使用者在任何表空間中都是沒有限額的,可以使用一下三個選項來為使用者提供表空間限額:
A、無限制的:允許使用者最大限度的使用表空間中的可用空間
B、值:使用者可以使用的表空間,以千位元組或者兆位元組為單位。這並不能保證會為使用者保留該空間。因此此值可能大於或小於表看三毛中的當前可用表空間
C、UNLIMITED TABLESPACE系統許可權:此係統許可權會覆蓋所有的單個表空間限額,並向使用者提供所有表空間(包括SYSTEM和SYSAUX)的無限制限額(注:授予resource角色的時候也會授予此許可權)
一定不要為使用者提供system或sysaux表空間的限額。通常,只有sys和system使用者才能在system或sysaux表空間中建立物件。
對於分配的臨時表空間或臨時還原表空間則不需要限額。
如果需要為一個使用者指定一個限額,可以有兩種方法:
1、在建立使用者的時候指定限額:
CREATE USER ABC IDENTIFIED BY ABC
DEFAULT TABLESPACE TEST
TEMPORARY TABLESPACE TEMP
QUOTA 3M ON TEST;
2、在建立使用者完成之後對使用者限額進行指定:
CREATE USER BCD IDENTIFIED BY BCD
DEFAULT TABLESPACE TEST;
ALTER USER BCD QUOTA 3M ON TEST;
3、更改使用者的表空間限額:
全域性:
grant unlimited tablespace to abc;
針對某個表空間:
alter user abc quota unlimited on test;
回收:
revoke unlimited tablespace from abc;
alter user abc quota 0 on test;
--舉例,使一個使用者只能訪問自已預設表空間
第一,回收unlimited tablespace許可權
revoke unlimited tablespace from username
alter user username quota unlimited on tablespace_name
與表空間限額先關的資料字典:
dba_ts_quotas:DBA_TS_QUOTAS describes tabelspace quotas for all users
user_ts_quotas:USER_TS_QUOTAS describes tablespace quotas for the current user. This view does not display the USERNAME column;
例如:要檢視 scott 具有的角色,可查詢 dba_role_privs;
SQL> select * from dba_role_privs where grantee='SCOTT';
//查詢 orale 中所有的系統許可權,一般是dba
select * from system_privilege_map order by name;
//查詢 oracle 中所有物件許可權,一般是dba
select distinct privilege from dba_tab_privs;
//查詢 oracle 中所有的角色,一般是dba
select * from dba_roles;
//查詢資料庫的表空間
select tablespace_name from dba_tablespaces;
問題 1:如何查詢一個角色包括的許可權?
a.一個角色包含的系統許可權
select * from dba_sys_privs where grantee='角色名'
select * from dba_sya_privs where grantee='COONNECT'; connect要大寫
另外也可以這樣檢視:
select * from role_sys_privs where role='角色名'
b.一個角色包含的物件許可權
select * from dba_tab_privs where grantee='角色名'
問題 2:oracle 究竟 多少種角色?
SQL> select * from dba_roles;
問題 3:如何檢視某個使用者,具 什麼樣的角色?
select * from dba_role_privs where grantee='使用者名稱'
顯示當前使用者可以訪問的所有資料字典檢視。ν
select * from dict where comments like '%grant%';
顯示當前資料庫的全稱ν
select * from global_name;
其它說明ν
資料字典記錄 oracle 資料庫的所有系統資訊。透過查詢資料字典可以取得以
下系統資訊:比如
1.物件定義情況
2.物件 佔用空間大小
3.列資訊
4.約束資訊
檢視使用者、許可權、角色的命令和檢視
a
dba_role_privs
dba_tab_privs
dba_sys_privs
1.檢視所有使用者:
select * from dba_users;
select * from all_users;
select * from user_users;
2.檢視使用者系統許可權:
select * from dba_sys_privs;
select * from session_privs;
select * from user_sys_privs;
3.檢視使用者物件許可權:
select * from dba_tab_privs;
select * from all_tab_privs;
select * from user_tab_privs;
4.檢視所有角色:
select * from dba_roles;
5.檢視使用者所擁有的角色:
select * from dba_role_privs;
select * from user_role_privs;
b
概述
與許可權,角色相關的檢視大概有下面這些:
DBA_SYS_PRIVS: 查詢某個使用者所擁有的系統許可權
USER_SYS_PRIVS: 查詢當前使用者所擁有的系統許可權
SESSION_PRIVS: 查詢當前使用者所擁有的全部許可權
ROLE_SYS_PRIVS: 查詢某個角色所擁有的系統許可權
注意: 要以SYS使用者登陸查詢這個檢視,否則返回空.
ROLE_ROLE_PRIVS: 當前角色被賦予的角色
SESSION_ROLES: 當前使用者被啟用的角色
USER_ROLE_PRIVS: 當前使用者被授予的角色
另外還有針對表的訪問許可權的檢視:
TABLE_PRIVILEGES
ALL_TAB_PRIVS
ROLE_TAB_PRIVS: 某個角色被賦予的相關表的許可權
oracle與使用者角色許可權相關的檢視
Oracle 本身的資料字典設計我個人覺得很合理, 因為DBA_xxx, ALL_xxx,USER_xxx 讓人一看大概就知道這個檢視是幹什麼用的. 本文簡要總結了一下與許可權,角色相關的檢視.
一. 概述
與許可權,角色相關的檢視大概有下面這些:
1、DBA_SYS_PRIVS: 查詢某個使用者所擁有的系統許可權。
2、USER_SYS_PRIVS: 查詢當前使用者所擁有的系統許可權。
3、SESSION_PRIVS: 查詢當前使用者所擁有的全部許可權。
4、ROLE_SYS_PRIVS: 查詢某個角色所擁有的系統許可權。
注意: 要以SYS使用者登陸查詢這個檢視,否則返回空。
5、ROLE_ROLE_PRIVS: 當前角色被賦予的角色
6、SESSION_ROLES: 當前使用者被啟用的角色
7、USER_ROLE_PRIVS: 當前使用者被授予的角色
針對表的訪問許可權的檢視:
TABLE_PRIVILEGES
ALL_TAB_PRIVS
ROLE_TAB_PRIVS: 某個角色被賦予的相關表的許可權
SQL> select * from user_sys_privs; --檢視直接授予使用者的系統許可權
SQL> select * from user_role_privs; --使用者有哪些角色
SQL> select * from user_tab_privs; --檢查一個使用者被授予和授予其他使用者的物件級許可權
SQL> select * from dba_roles; --查詢系統中的角色
SQL> select * from dba_sys_privs; --查詢角色的權利
SQL> select * from dba_role_privs; --查詢角色是誰定義的
SQL> select * from column_privileges; --
SQL> select * from role_role_privs; --查詢角色的授予和被授予關係
SQL> select * from role_sys_privs; --查詢角色被授予的系統級許可權
---把一個使用者的所有表查詢許可權給另一個使用者
select 'grant select on '||owner||'.'||object_name|| ' to user'
from dba_objects
where object_type='TABLE' and onwer='user';
select 'grant select on '||owner||'.'||object_name|| 'to user;' from dba_objects where object_type='PROCEDURE';
SQL> select * from role_tab_privs; --查詢角色的物件級許可權
表空間配額和UNLIMITED TABLESPACE許可權 (2012-07-20 20:09:08)轉載▼
標籤: oracle unlimited tablespace quota resource 分類: ORACLE
對於一個新建的使用者,如果沒有分配給unlimited tablespace系統許可權的使用者,必須先給他們指定限額,之後他們才能在表空間中建立物件,限額可以是:
A、以兆位元組或者千位元組為單位的特定值
B、無限制的
限額是指定標空間中允許的空間容量,預設的情況下,使用者在任何表空間中都是沒有限額的,可以使用一下三個選項來為使用者提供表空間限額:
A、無限制的:允許使用者最大限度的使用表空間中的可用空間
B、值:使用者可以使用的表空間,以千位元組或者兆位元組為單位。這並不能保證會為使用者保留該空間。因此此值可能大於或小於表看三毛中的當前可用表空間
C、UNLIMITED TABLESPACE系統許可權:此係統許可權會覆蓋所有的單個表空間限額,並向使用者提供所有表空間(包括SYSTEM和SYSAUX)的無限制限額(注:授予resource角色的時候也會授予此許可權)
一定不要為使用者提供system或sysaux表空間的限額。通常,只有sys和system使用者才能在system或sysaux表空間中建立物件。
對於分配的臨時表空間或臨時還原表空間則不需要限額。
如果需要為一個使用者指定一個限額,可以有兩種方法:
1、在建立使用者的時候指定限額:
CREATE USER ABC IDENTIFIED BY ABC
DEFAULT TABLESPACE TEST
TEMPORARY TABLESPACE TEMP
QUOTA 3M ON TEST;
2、在建立使用者完成之後對使用者限額進行指定:
CREATE USER BCD IDENTIFIED BY BCD
DEFAULT TABLESPACE TEST;
ALTER USER BCD QUOTA 3M ON TEST;
3、更改使用者的表空間限額:
全域性:
grant unlimited tablespace to abc;
針對某個表空間:
alter user abc quota unlimited on test;
回收:
revoke unlimited tablespace from abc;
alter user abc quota 0 on test;
--舉例,使一個使用者只能訪問自已預設表空間
第一,回收unlimited tablespace許可權
revoke unlimited tablespace from username
alter user username quota unlimited on tablespace_name
與表空間限額先關的資料字典:
dba_ts_quotas:DBA_TS_QUOTAS describes tabelspace quotas for all users
user_ts_quotas:USER_TS_QUOTAS describes tablespace quotas for the current user. This view does not display the USERNAME column;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30496894/viewspace-1806071/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- linux 檔案許可權 s 許可權和 t 許可權解析Linux
- 【LIUNX】目錄或檔案許可權,許可權授予
- 關於oracle檔案許可權的問題Oracle
- Linux檔案許可權Linux
- chomd檔案許可權授予
- 修改檔案的許可權
- Linux 檔案許可權Linux
- Atitit godaddy 檔案許可權 root許可權設定Go
- Linux的檔案存取許可權和0644許可權Linux
- Oracle的物件許可權、角色許可權、系統許可權Oracle物件
- [svc]linux檔案許可權Linux
- Linux檔案基本許可權Linux
- 深入理解檔案許可權
- linux 檔案許可權管理Linux
- ORACLE許可權Oracle
- 『學了就忘』Linux許可權管理 — 55、檔案特殊許可權Linux
- hdfs檔案本地許可權問題
- Linux的檔案許可權管理Linux
- linux檔案許可權 詳解Linux
- Linux 檔案許可權總結Linux
- Linux中的檔案許可權Linux
- linux檢視檔案許可權Linux
- Linux檔案許可權詳解Linux
- linux檔案許可權問題Linux
- Mac 檔案許可權管理(桌面管理)Mac
- Mac檔案許可權管理(shell命令)Mac
- Linux中檔案的許可權Linux
- Linux檔案許可權管理命令Linux
- 修改檔案、資料夾許可權
- oracle 許可權集合Oracle
- oracle 許可權管理Oracle
- Oracle許可權(一)Oracle
- oracle許可權全集Oracle
- 許可權系統概要(收集,整理)
- Linux 檔案許可權管理的方法Linux
- 檔案許可權與計劃任務
- Laravel 日誌檔案許可權問題Laravel
- 使用者及檔案許可權管理