jueves, 9 de febrero de 2012

ORACLE: SYNONYM, PRIVILEGE, SEQUENCE

Cuando se importa uno o varios esquemas, al intentar compilar los objetos es frecuente que queden inválidos debido a que no están creados los permisos, secuencias y sinónimos.
Para obtener todos los datos, se puede recurrir al siguiente método:

En cada esquema de origen en la BD de origen ejecutar las siguientes querys:

Sinónimos:

select 'CREATE SYNONYM '||SYNONYM_NAME||' FOR '||TABLE_OWNER||'.'||TABLE_NAME||';' from user_synonyms where TABLE_OWNER in ('UN_ESQUEMA','OTRO_ESQUEMA');

Privilegios:
select 'GRANT '||PRIVILEGE||' ON '||TABLE_NAME||' TO '||GRANTEE||';' from all_tab_privs_made where GRANTOR='MI_ESQUEMA' and GRANTEE='OTROS_ESQUEMAS'; 

Secuencias:
select 'CREATE SEQUENCE '||sequence_name||' START WITH '||to_char(last_number+1)||';' from user_sequences order by sequence_name;


No hay comentarios:

Publicar un comentario