Существует ли способ узнать необходимых пользователей, роли, и дает файлу Дампа Oracle полномочия потребности?

Для меня определили задачу с импортом этого старого файла дампа Oracle из-за моего времени - как таковой, человек, который сделал экспорт, и сервер, на котором он первоначально находится на, давно в прошлом.

Мое знание с Oracle ограничено, но насколько я знаю, я не могу только восстановить базу данных волей-неволей; у меня должна быть та же самая установка пользователей, ролей, полномочия, которые она использовала.

Проблема, я не знаю, каково это.

Существует ли способ узнать необходимых пользователей, роли, и дает файлу Дампа Oracle полномочия потребности? На этом экономят файл дампа, возможно?

Спасибо.

Система:

  • Windows 7
  • XE 11 г Oracle (хотя я верю файлу дампа, от 9 г),
0
задан 11 March 2014 в 19:42
1 ответ

Я создаю представление, в котором есть все связанные роли и привилегии. Затем я выбираю из представления.

-- 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
1
ответ дан 4 December 2019 в 17:48

Теги

Похожие вопросы