查看用戶在某個(gè)對(duì)象上面的使用權(quán)限可以用數(shù)據(jù)字典表DBA_TAB_PRIVS.表結(jié)構(gòu)如下:
Name Null? Type
---------------------------- -------- ----------------------------
GRANTEE NOT NULL VARCHAR2(30) <== 權(quán)限獲得者
OWNER NOT NULL VARCHAR2(30)
TABLE_NAME NOT NULL VARCHAR2(30)
GRANTOR NOT NULL VARCHAR2(30) <-- 權(quán)限授予者
PRIVILEGE NOT NULL VARCHAR2(40)
GRANTABLE VARCHAR2(3) <-- 權(quán)限獲得者是否有權(quán)限授予別人權(quán)限
權(quán)限由命令GRANT授予由命令REVOKE收回:
GRANT select, insert, update, delete, references ON my_table TO user_joe ;
REVOKE insert, delete ON my_table FROM user_joe ;
GRANT create public synonym TO user_joe ;
其他相關(guān)權(quán)限安全的數(shù)據(jù)字典表有:
ALL_TAB_PRIVS
ALL_TAB_PRIVS_MADE
ALL_TAB_PRIVS_RECD
DBA_SYS_PRIVS
DBA_ROLES
DBA_ROLE_PRIVS
ROLE_ROLE_PRIVS
ROLE_SYS_PRIVS
ROLE_TAB_PRIVS
SESSION_PRIVS
SESSION_ROLES
USER_SYS_PRIVS
USER_TAB_PRIV
在做完EXP/IMP后,權(quán)限需要重新授予時(shí)可用下面的腳本:
set echo off
rem
rem 19980729 M D Powell New script.
rem
set verify off
set pagesize 0
set feedback off
spool grt_&&owner._&&table_name..sql
select 'REM grants on &&owner..&&table_name'
from sys.dual ;
select 'grant '||privilege||' on '||lower(owner)||'.'||
lower(table_name)||' to '||grantee||
decode(grantable,'YES',' with grant option',NULL)||
' ;'
from sys.dba_tab_privs
where owner = upper('&&owner')
and table_name = upper('&&table_name')
order by grantee, privilege ;
spool off
undefine owner
undefine table_name
Name Null? Type
---------------------------- -------- ----------------------------
GRANTEE NOT NULL VARCHAR2(30) <== 權(quán)限獲得者
OWNER NOT NULL VARCHAR2(30)
TABLE_NAME NOT NULL VARCHAR2(30)
GRANTOR NOT NULL VARCHAR2(30) <-- 權(quán)限授予者
PRIVILEGE NOT NULL VARCHAR2(40)
GRANTABLE VARCHAR2(3) <-- 權(quán)限獲得者是否有權(quán)限授予別人權(quán)限
權(quán)限由命令GRANT授予由命令REVOKE收回:
GRANT select, insert, update, delete, references ON my_table TO user_joe ;
REVOKE insert, delete ON my_table FROM user_joe ;
GRANT create public synonym TO user_joe ;
其他相關(guān)權(quán)限安全的數(shù)據(jù)字典表有:
ALL_TAB_PRIVS
ALL_TAB_PRIVS_MADE
ALL_TAB_PRIVS_RECD
DBA_SYS_PRIVS
DBA_ROLES
DBA_ROLE_PRIVS
ROLE_ROLE_PRIVS
ROLE_SYS_PRIVS
ROLE_TAB_PRIVS
SESSION_PRIVS
SESSION_ROLES
USER_SYS_PRIVS
USER_TAB_PRIV
在做完EXP/IMP后,權(quán)限需要重新授予時(shí)可用下面的腳本:
set echo off
rem
rem 19980729 M D Powell New script.
rem
set verify off
set pagesize 0
set feedback off
spool grt_&&owner._&&table_name..sql
select 'REM grants on &&owner..&&table_name'
from sys.dual ;
select 'grant '||privilege||' on '||lower(owner)||'.'||
lower(table_name)||' to '||grantee||
decode(grantable,'YES',' with grant option',NULL)||
' ;'
from sys.dba_tab_privs
where owner = upper('&&owner')
and table_name = upper('&&table_name')
order by grantee, privilege ;
spool off
undefine owner
undefine table_name

