策略 函数ORA-28100

  • A+
所属分类:技术

chatGPT账号
目标端数据库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;
本文由 知点 首发于【知点网http://www.zhidnet.com)】未经允许不得以任何方式转载,违者必将追究法律责任
  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的电报
  • 这是我的电报扫一扫
  • weinxin
chatGPT账号
知点

发表评论

您必须登录才能发表评论!