有没有办法找出Oracle转储文件需要的必要用户,angular色和权限?

我的任务是从超出我的时间导入这个旧的Oracle转储文件 – 因此,导出的人员以及原来驻留在其上的服务器已经过时了。

我对甲骨文的知识是有限的,但据我所知,我不能无畏地恢复数据库, 我需要具有完全相同的用户,angular色,权限设置。

问题是,我不知道这些是什么。

有没有办法找出Oracle转储文件需要的必要用户,angular色和权限? 它是否保存在转储文件,也许?

谢谢。

系统:

  • Windows 7的
  • Oracle 11g XE(虽然我相信转储文件是从9g)

我创build了一个具有所有相关联的angular色和权限的视图。 然后我从视图中select。

-- Create the dba_user_privs view: CREATE OR REPLACE VIEW DBA_USER_PRIVS (USERNAME, ROLENAME, PRIVILEGE) AS SELECT DECODE(SA1.GRANTEE#, 1, 'PUBLIC', U1.NAME), SUBSTR(U2.NAME,1,20), SUBSTR(SPM.NAME,1,27) FROM SYS.SYSAUTH$ SA1, SYS.SYSAUTH$ SA2, SYS.USER$ U1, SYS.USER$ U2, SYS.SYSTEM_PRIVILEGE_MAP SPM WHERE SA1.GRANTEE# = U1.USER# AND SA1.PRIVILEGE# = U2.USER# AND U2.USER# = SA2.GRANTEE# AND SA2.PRIVILEGE# = SPM.PRIVILEGE UNION SELECT U.NAME, NULL, SUBSTR(SPM.NAME,1,27) FROM SYS.SYSTEM_PRIVILEGE_MAP SPM, SYS.SYSAUTH$ SA, SYS.USER$ U WHERE SA.GRANTEE#=U.USER# AND SA.PRIVILEGE#=SPM.PRIVILEGE ; -- You can now see any of the privileges that are granted to any user: --set lines 200 --select * from dba_user_privs where username='ALAN'; --col rolename format a8 --col username format a8 --USERNAME ROLENAME PRIVILEGE ---------- -------- ---------------------- --ALAN DBA MANAGE FILE GROUP --ALAN DBA MANAGE SCHEDULER --ALAN DBA MANAGE TABLESPACE --ALAN DBA MERGE ANY VIEW --ALAN DBA ON COMMIT REFRESH --ALAN DBA QUERY REWRITE --ALAN DBA READ ANY FILE GROUP --ALAN DBA RESTRICTED SESSION --ALAN DBA RESUMABLE --ALAN DBA SELECT ANY DICTIONARY --ALAN DBA SELECT ANY SEQUENCE --ALAN DBA SELECT ANY TABLE --ALAN DBA SELECT ANY TRANSACTION --ALAN DBA UNDER ANY TABLE --ALAN DBA UNDER ANY TYPE --ALAN DBA UNDER ANY VIEW --ALAN DBA UPDATE ANY TABLE --ALAN SELECT ANY DICTIONARY --ALAN UNLIMITED TABLESPACE