Назад | Перейти на главную страницу

Есть ли способ узнать, каких пользователей, ролей и привилегий нужен файл дампа Oracle?

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

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

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

Есть ли способ узнать, каких пользователей, ролей и привилегий нужен файл дампа Oracle? Возможно, он сохранен в файле дампа?

Спасибо.

Система:

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

-- 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