文档解释
ORA-47954: Oracle Data Pump authorization for Oracle Database Vault to string on object string.string already exists
Cause: Oracle Data Pump authorization for Oracle Database Vault on the given object was already granted to the given grantee.
Action: Choose a different grantee or a different object and retry the operation.
本错误消息指示数据泵已经尝试向oracle数据库中分配一个权限,但此权限已存在。
官方解释
ORA-47954: “Oracle Data Pump具有用于Oracle Database Vault来限制指定对象{string.string}的访问, 该权限已存在。”
常见案例
使用Oracle Data Pump导出数据库中的角色,表,存储过程等后,有时会出现上述错误。
一般处理方法及步骤
1. 重启Oracle Database Vault 实例,使用以下命令。
BEGIN
DBMS_MACADM.M_RWDOWN;
DBMS_MACADM.M_RWUP;
END;
2. 重新导入,确保为对象提供正确的权限
3. 再次使用Data Pump导出数据库,或者测试被导出的文件。