问题描述
目标端数据库imp之后查询相关表,报 ORA-28100。这是以为再源端有vpd策略,在目标端删除这些策略即可。
ALL_POLICIES 策略信息 DBA_,USER_
ALL_POLICY_GROUPS 定义的策略组 DBA_,USER_
专家解答
1、查询策略
SQL> select OBJECT_NAME,POLICY_GROUP,POLICY_NAME from user_policies; OBJECT_NAME POLICY_GROUP ------------------------------ ------------------------------ POLICY_NAME ------------------------------ ENMO_EMP SYS_DEFAULT POLICY_ENMO_EMP
2、删除策略
SQL> exec dbms_rls.drop_grouped_policy('AWEN','ENMO_EMP','SYS_DEFAULT','POLICY_ENMO_EMP'); PL/SQL procedure successfully completed.
下面的过程是网上一位同学写的,可以快速删除所有策略
declare -- Local variables here i integer; str_schema varchar2(20) := 'ods_yyjc_buf'; str_obj_name varchar2(20) ; str_group_name varchar2(20); str_policy_name varchar2(30); begin -- Test statements here for item in (select * from all_policies) loop str_obj_name := item.object_name; str_group_name := item.policy_group; str_policy_name := item.policy_name; dbms_rls.drop_grouped_policy(object_schema => str_schema,object_name => str_obj_name, policy_group => str_group_name,policy_name => str_policy_name); end loop; for item in (select * from ALL_POLICY_GROUPS) loop str_obj_name := item.object_name; str_group_name := item.policy_group; str_policy_name := str_schema; dbms_rls.delete_policy_group(str_schema,str_obj_name,str_group_name); end loop; end;
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。