1. 本际云推荐 - 专业推荐VPS、服务器,IDC点评首页
  2. 云主机运维
  3. VPS运维

IMPDP遇到ORA-06598报错

问题背景

最近小编在进行一个从11gRAC生产环境的数据泵导入数据到19cRAC的需求时,遇到了一个问题。具体地说,从导出dmp文件、传输文件到导入表的数据都没有问题,但是在数据泵导入indextype时却出现ORA-06598报错。

IMPDP遇到ORA-06598报错

问题分析和解决

经过查阅官方资料,小编发现这是因为12c新引入的一个功能-INHERITPRIVILEGES导致的。inheritprivilege权限(举例说明):B用户(较低权限)创建了Invoker’sright procedure,A用户(较高权限)在调用B用户的procedure执行时会使用A的权限。为了防止B在A不知情的情况下修改Procedure,并利用A的高权限做一些越权操作,等下次A用户执行procedure时这些越权操作就会被执行。12c中引入了inheritprivilege权限,它表明invoker是否能以invoker的身份去执行owner的invoker’s right privilege,或者说B用户的procedure是否有权以A用户的权限去运行这个procedure。默认情况下系统对于新建的用户会将inheritprivilege权限授予PUBLIC,相当于grantinheritprivilegesonNEWUSERtoPUBLIC。因此,问题的解决方案是通过GRANT和REVOKE进行赋权或取消赋权。invoking_user(dba_user)只把自己的inheritprivileges赋予自己信任的procedure_owner(hacker_user),这样可以防止调用不安全的存储过程或函数。

具体地说,我们可以通过以下语句进行授权或回收权限:

GRANTINHERITPRIVILEGESONUSER invoking_user TO procedure_owner;

REVOKEINHERITPRIVILEGESONUSER invoking_user FROM procedure_owner。

重新为用户授权后,小编顺利地将数据泵导入indextype,成功解决了ORA-06598报错问题。

以上就是此次经验分享,欢迎大家持续关注本公众号“IT那活儿”获取更多实用技术干货。

原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/6389.html