ORA-39181

Este error lo recibimos tras ejecutar un export haciendo uso de datapump en una base de datos Oracle 11g. En el fichero de log veremos entradas similares a estas:

ORA-39181: Only partial table data may be exported due to fine grain access control on "SYSMAN"."EM_EVENT_SEQUENCES":"OPEN"
ORA-39181: Only partial table data may be exported due to fine grain access control on "SYSMAN"."EM_EVENT_SEQUENCES":"P201308"
ORA-39181: Only partial table data may be exported due to fine grain access control on "SYSMAN"."EM_EVENT_SEQUENCES":"P201309"
ORA-39181: Only partial table data may be exported due to fine grain access control on "SYSMAN"."EM_ISSUES_INTERNAL":"OPEN"

Este error, según la documentación de My Oracle Support (nota 422480.1), es debido a que un usuario sin el privilegio adecuado está intentando exportar una tabla que tiene activada la política fine grain access control. De esta forma, solo las filas que pueden ser vistas por el usuario que ejecuta el export serán exportadas. Es decir, se tendrá un export consistente, pero con el peligro de que determinadas filas no se podrán recuperar del mismo en caso de que fuese necesario.

Para solucionar esta eventualidad basta con asignar el privilegio EXEMPT ACCESS POLICY al usuario que está ejecutando el export.

Según la misma nota de Oracle Support, este privilegio no debe ser concedido alegremente, de modo que la forma más elegante de hacerlo será asignar el privilegio al rol EXP_FULL_DATABASE, y este rol al usuario que ejecute el export.

Nosotros estamos ejecutando el trabajo de export con el esquema SYSTEM, y, aunque resulte paradójico, este esquema administrador de base de datos no tiene por defecto ni el rol EXP_FULL_DATABASE ni el privilegio en cuestión. Así las cosas, lo primero que hago es asignar el privilegio al rol:

grant EXEMPT ACCESS POLICY to EXP_FULL_DATABASE;

Finalmente, asigno el rol EXP_FULL_DATABASE al esquema SYSTEM:

grant EXP_FULL_DATABASE to SYSTEM;

Como lo acabo de implementar y el trabajo de copia lo tengo programado para la noche, mañana contaré cómo ha ido la cosa.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: