1. 查看指定用户拥有的所有权限(系统权限、对象权限、角色),分别是通过dba_sys_privs,dba_tab_privs,dba_role_privs三个视图来查看。
脚本:query_user_privs.sql
2. 获得指定用户所赋权限的DDL语句,有两种方式:
1).利用1中query_user_privs.sql脚本,在select 后加入grant to等关键字,使得查询输出的结果为完整的DDL语句。
脚本:get_ddl_privs_dic.sql
2)使用oracle提供的包:
dbms_metadata.get_ddl('USER','&&uname') 获取创建user的DDL语句
dbms_metadata.get_granted_ddl('SYSTEM_GRANT','&&uname') 获取指定用户赋予系统权限的DDL语句
dbms_metadata.get_granted_ddl('ROLE_GRANT','&&uname‘) 获取指定用户赋予角色的DDL语句
dbms_metadata.get_granted_ddl('OBJECT_GRANT,'&&uname') 获取指定用户赋予对象权限的DDL语句