oracle所有許可權
『壹』 oracle 怎樣把某個用戶的所有權限
一般最高許可權需要connect,resource,dba這三個即可。
語句:
grant connect,resource,dba to 用戶;
許可權說明:
dba:擁有全部特權,是系統最高許可權,只有DBA才可以創建資料庫結構。
resource:擁有Resource許可權的用戶只可以創建實體,不可以創建資料庫結構。
connect:擁有Connect許可權的用戶只可以登錄Oracle,不可以創建實體,不可以創建資料庫結構
『貳』 oracle怎麼賦予對一個表的所有許可權
用sys登錄
grant all on table_name to user_name
『叄』 如何查看oracle用戶具有的許可權和角色
1.查看所有用戶:
select * from dba_users;
select * from all_users;
select * from user_users;
2.查看用戶或角色系統許可權(直接賦值給專用戶或角色的系統許可權):
select * from dba_sys_privs;
select * from user_sys_privs;
3.查看角色(只能屬查看登陸用戶擁有的角色)所包含的許可權
sql>select * from role_sys_privs;
4.查看用戶對象許可權:
select * from dba_tab_privs;
select * from all_tab_privs;
select * from user_tab_privs;
5.查看所有角色:
select * from dba_roles;
『肆』 Oracle用戶的許可權都有哪些
系統許可權: 允許用戶執行特定的資料庫動作,如創建表、創建索引、連接實例等(對用戶而言)
對象許可權: 允許用戶操縱一些特定的對象,如讀取視圖,可更新某些列、執行存儲過程等(是針對表或視圖而言的)
1.系統許可權
超過一百多種有效的許可權(SELECT * FROM SYSTEM_PRIVILEGE_MAP查)
資料庫管理員具有高級許可權以完成管理任務,例如:
–創建新用戶
–刪除用戶
–刪除表
–備份表
系統許可權分類:
DBA: 擁有全部特權,是系統最高許可權,只有DBA才可以創建資料庫結構。
RESOURCE:擁有Resource許可權的用戶只可以創建實體,不可以創建資料庫結構。
CONNECT:擁有Connect許可權的用戶只可以登錄Oracle,不可以創建實體,不可以創建資料庫結構。
對於普通用戶:授予connect, resource許可權。
對於DBA管理用戶:授予connect,resource, dba許可權。
a.常用的系統許可權:
CREATE SESSION 創建會話
CREATE SEQUENCE 創建序列
CREATE SYNONYM 創建同名對象
CREATE TABLE 在用戶模式中創建表
CREATE ANY TABLE 在任何模式中創建表
DROP TABLE 在用戶模式中刪除表
DROP ANY TABLE 在任何模式中刪除表
CREATE PROCEDURE 創建存儲過程
EXECUTE ANY PROCEDURE 執行任何模式的存儲過程
CREATE USER 創建用戶
DROP USER 刪除用戶
CREATE VIEW 創建視圖
2.對象許可權
不同的對象具有不同的對象許可權
對象的擁有者擁有所有許可權
對象的擁有者可以向外分配許可權
ORACLE一共有種對象許可權
對象許可權 表 視圖 序列 過程
修改(alter) √ √
刪除(delete) √ √
執行(execute) √
索引(index) √
插入(insert) √ √
關聯(references) √ √
選擇(select) √ √ √
更新(update) √ √
另外,connect和resource的許可權如下所示
CONNECT角色:僅具有創建SESSION的許可權
RESOURCE角色:僅具有創建CLUSTER,INDEXTYPE,OPERATOR,PROCEDEURE,SEQUENCE,TABLE,TRIGGER,TYPE的許可權。同時,當把ORACLE resource角色授予一個user的時候,不但會授予ORACLE resource角色本身的許可權,而且還有unlimited tablespace許可權,但是,當把resource授予一個role時,就不會授予unlimited tablespace許可權。
確實沒有創建視圖的許可權,由此看來如果需要創建視圖許可權,只能單獨授權:
GRANT CREATE VIEW TO 用戶;
『伍』 oracle怎麼查詢當前資料庫的所有角色許可權
一 確定角色的許可權:
select * from role_tab_privs ; 包含了授予角色的對象許可權
select
* from role_role_privs ; 包含了授予另一角色的角色
select * from
role_sys_privs ; 包含了授予角色的系統許可權
二 確定用戶帳戶所授予的許可權:
select *
from DBA_tab_privs ; 直接授予用戶帳戶的對象許可權
select * from DBA_role_privs ;
授予用戶帳戶的角色
select * from DBA_sys_privs ; 授予用戶帳戶的系統許可權
三 查看當前用戶許可權及角色:
SQL> select * from
session_privs;
SQL> select * from user_role_privs;
四 查詢某一角色的具體許可權:
例如查看RESOURCE具有那些許可權
SQL> SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE='RESOURCE';
『陸』 收回oracle下所有用戶的許可權
|我教你一種方法,運用拼字元串拼出腳本,比如下面這個
select 'revoke connect from '|| username||';' from dba_users;
你查詢一下,結果顯示為:
revoke connect from SYS;
revoke connect from SYSTEM;
revoke connect from TEST;
revoke connect from OUTLN;
revoke connect from MGMT_VIEW;
revoke connect from MDSYS;
revoke connect from ORDSYS;
把你查詢出的結果復制出來運行,就批量撤銷許可權了,
當然因為不知道你的用戶和你的具體許可權。所以你進行適當的修改select 'revoke connect from '|| username||';' from dba_users;這條sql語句,然後運行,把結構查詢出來執行就可以了
『柒』 oracle 總共有多少種許可權
一般來說sys用戶擁有所有許可權。
SELECT * From dba_sys_privs t WHERE t.grantee = 'SYS';
有159條記錄。
『捌』 在oracle資料庫中賦予哪些許可權才能使一個用戶擁有所有許可權
最全的就是dba許可權了,但dba比較危險
如果是系統上需要使用的話,建議還是需要什麼許可權給什麼許可權,自己學習的話無所謂了
『玖』 oracle 用戶 哪些許可權
1.查看所有用戶:
select * from dba_users;
select * from all_users;
select * from user_users;
2.查看用戶或角色系統許可權(直接賦值給用戶或角色的系統許可權):
select * from dba_sys_privs;
select * from user_sys_privs;
3.查看角色(只能查看登陸用戶擁有的角色)所包含的許可權
sql>select * from role_sys_privs;
4.查看用戶對象許可權:
select * from dba_tab_privs;
select * from all_tab_privs;
select * from user_tab_privs;
5.查看所有角色:
select * from dba_roles;
6.查看用戶或角色所擁有的角色:
select * from dba_role_privs;
select * from user_role_privs;
7.查看哪些用戶有sysdba或sysoper系統許可權(查詢時需要相應許可權)
select * from V$PWFILE_USERS
比如我要查看用戶 wzsb的擁有的許可權:
SQL> select * from dba_sys_privs where grantee='WZSB';
GRANTEE PRIVILEGE ADMIN_OPTION
------------------------------ ---------------------------------------- ------------
WZSB CREATE TRIGGER NO
WZSB UNLIMITED TABLESPACE NO
比如我要查看用戶 wzsb的擁有的角色:
SQL> select * from dba_role_privs where grantee='WZSB';
GRANTEE GRANTED_ROLE ADMIN_OPTION DEFAULT_ROLE
------------------------------ ------------------------------ ------------ ------------
WZSB DBA NO YES
查看一個用戶所有的許可權及角色
select privilege from dba_sys_privs where grantee='WZSB'
union
select privilege from dba_sys_privs where grantee in
(select granted_role from dba_role_privs where grantee='WZSB' );
『拾』 Oracle 有幾種許可權
*資料庫角色*/
public
public 角色
--public 角色是一個特殊的資料庫角色,每個資料庫用戶都屬於它。public 角色:
--捕獲資料庫中用戶的所有默認許可權。
--無法將用戶、組或角色指派給它,因為默認情況下它們即屬於該角色。
--含在每個資料庫中,包括 master、msdb、tempdb、model 和所有用戶資料庫。
--無法除去。
db_owner
--進行所有資料庫角色的活動,以及資料庫中的其它維護和配置活動。
--該角色的許可權跨越所有其它固定資料庫角色。
db_accessadmin
--在資料庫中添加或刪除 Windows NT 4.0 或 Windows 2000 組和用戶以及 SQL Server 用戶。
db_datareader
--查看來自資料庫中所有用戶表的全部數據。
db_datawriter
--添加、更改或刪除來自資料庫中所有用戶表的數據
db_ddladmin
--添加、修改或除去資料庫中的對象(運行所有 DDL)
db_securityadmin
--管理 SQL Server 2000 資料庫角色的角色和成員,並管理資料庫中的語句和對象許可權
db_backupoperator
--有備份資料庫的許可權
db_denydatareader
--拒絕選擇資料庫數據的許可權
db_denydatawriter
--拒絕更改資料庫數據的許可權
參考資料:http://..com/question/1286926.html