Utilizamos cookies propias y de terceros. [Más información sobre las cookies].
Política de cookies
Proyecto AjpdSoft

· Inicio
· Buscar
· Contactar
· Cookies
· Descargas
· Foros
· Historia
· Nosotros
· Temas
· Top 10
· Trucos
· Tutoriales
· Wiki
Proyecto AjpdSoft: Foros

AjpdSoft :: Ver tema - Copiar permisos de un servidor de Oracle a otro
Foros de discusión Buscar Perfil FAQ Iniciar sesión
Information Copiar permisos de un servidor de Oracle a otro

Publicar nuevo tema Responder al tema
Foros de discusión » Oracle Database, motor de base de datos profesional   
Ver tema anterior :: Ver tema siguiente
AutorMensaje
varios
Magnífico usuario


Registrado: Oct 10, 2006
Mensajes: 2092

Asunto: Copiar permisos de un servidor de Oracle a otro Responder citando

Tengo un servidor con Oracle Database 11g instalado y en producción. Por otro lado, tengo otro equipo donde he instalado Oracle Database 11g y quiero que tenga los mismos permisos que el anterior.

Es decir, en el anterior tengo tres usuarios, con sus respectivos permisos, lo que quiero es que en el nuevo servidor todos los usuarios tengan los mismos permisos.
MensajePublicado:
Mie Ene 07, 2009 6:41 pm
Top of PageVer perfil de usuario
alonsojpd
Administrador/Moderador


Registrado: Sep 16, 2003
Mensajes: 2687

Asunto: Re: Copiar permisos de un servidor de Oracle a otro Responder citando



Anuncios



1. En el servidor de Oracle donde tienes los usuarios y roles con los permisos, utiliza la siguiente consulta SQL que te generar:
Código:
select 'grant ' || granted_role || ' to ' || grantee || ';'
  from dba_role_privs
  where grantee not in ('SYS','SYSTEM','XDB') and admin_option ='NO'
union
select 'grant ' || granted_role || ' to ' || grantee || ' with admin option;'
  from dba_role_privs
  where grantee not in ('SYS','SYSTEM','XDB') and admin_option ='YES'
union
  select 'grant ' || privilege || ' to ' || grantee || ';'
  from dba_sys_privs
  where grantee not in ('SYS','SYSTEM','XDB') and admin_option ='NO'
union
  select 'grant ' || privilege || ' to ' || grantee || ' with admin option;'
  from dba_sys_privs
  where grantee not in ('SYS','SYSTEM','XDB') and admin_option ='YES'
union
  select 'grant ' || privilege || ' on ' || OWNER || '.' || TABLE_NAME || ' to ' || grantee || ';'
  from dba_tab_privs
  where grantee not in ('SYS','SYSTEM','XDB')


Te generará algo así:

grant ADMINISTER ANY SQL TUNING SET to DBA with admin option;
grant ADMINISTER DATABASE TRIGGER to DBA with admin option;
grant ADMINISTER DATABASE TRIGGER to EXFSYS;
grant ADMINISTER DATABASE TRIGGER to IMP_FULL_DATABASE;
grant ADMINISTER DATABASE TRIGGER to WMSYS;
grant ADMINISTER RESOURCE MANAGER to DBA with admin option;
grant ADMINISTER RESOURCE MANAGER to EXP_FULL_DATABASE;
grant ADMINISTER RESOURCE MANAGER to IMP_FULL_DATABASE;
grant ADMINISTER SQL MANAGEMENT OBJECT to DBA with admin option;
grant ADMINISTER SQL MANAGEMENT OBJECT to DBA with admin option;
....

2. Copia el resultado de la consulta SQL anterior a un fichero y guárdalo.

3. Si tienes un software de terceros (como TOAD) para ejecutar varias consultas SQL a la vez puedes pegarlas y ejecutarlas, sino puedes utilizar SQL*Plus de Oracle para ejecutar el Script (el fichero que has guardado anteriormente).

Nota: el resultado de esta consulta SQL sólo sirve para generar los GRANT necesarios para asignar los permisos a los usuarios, pero antes de ejecutarla has de tener creados todos los usuarios y roles que tenías en el otro servidor.
MensajePublicado:
Mie Ene 07, 2009 6:54 pm
Top of PageVer perfil de usuario
Mostrar mensajes de anteriores:   
Todas las horas son GMT - 1 Horas
Publicar nuevo tema Responder al tema
Foros de discusión » Oracle Database, motor de base de datos profesional  

Cambiar a:  
Key
  Puede publicar nuevos temas en este foro
No puede responder a temas en este foro
No puede editar sus mensajes en este foro
No puede borrar sus mensajes en este foro
No puede votar en encuestas en este foro
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A