expdp ORA-39181解决方法

在用expdp执行导出schema时候,报错

 

 ORA-39181:Only Partial Table Data Exported DueTo Fine Grain Access Control

 

metalink上找到一篇关于该问题的文档ID 422480.1

适用环境

 

Oracle Database - Enterprise Edition - Version 10.2.0.1 and later

Information in this document applies to any platform.


原因分析

 

$ oerr ora 39181

39181, 0000, "Only partial table data may be exported due to fine grain access control on %s"

// *Cause:  An unprivileged user has tried to export a table that has fine

//          grain access control. The table owner is subjected to access

//          control and may not be able to export all rows in the table.

//          Only the rows that can be seen by that user will be exported. In

//          order to preserve integrity of the table, the user importing the

//          table should have enough privilege to recreate the table with the

//          security policies at import time.

// *Action: It is strongly recommended that the database administrator handle

//          exporting of this table.

一个非特权用户试图导出一个具有精细访问控制的表,表的所有者受到访问控制,可能无法导出表中的全部行数据。

 

VPD and Oracle Label Security are not enforced during DIRECT path export and similarly, database users granted the EXEMPT ACCESS POLICY privilege, either directly or through a database role, are exempt from VPD enforcements. However, the following policy enforcement options remain in effect even when EXEMPT ACCESS POLICY is granted:

 

* INSERT_CONTROL, UPDATE_CONTROL, DELETE_CONTROL, WRITE_CONTROL, LABEL_UPDATE, and LABEL_DEFAULT

 

EXEMPT ACCESS POLICY  is a strong privilege and must be granted with care. For example , grant it to the role exp_full_database role as this role is granted to admin users only.

 

EXEMPT ACCESS POLICY是一个非常大的权限,授权时候必须小心。例如只授予拥有exp_full_database角色的管理账户EXEMPT ACCESS POLICY的权限。

 

解决方法

 

To avoid this:

 

 Grant the privilege EXEMPT ACCESS POLICY to the exporting user

 

 -or-

 

 Disable the VPD policy.

请使用浏览器的分享功能分享到微信等