ORA-00600 [kkpoffoc]/ORA-07445 [kkmipmpost] while moving partition when RLS policy is in place

(Doc ID 1478913.1)

Last updated on NOVEMBER 28, 2016

Applies to:

Oracle Database - Enterprise Edition - Version 11.2.0.1 to 11.2.0.3 [Release 11.2]
Information in this document applies to any platform.

Symptoms

SQL> alter table move partition ;

            *
    ERROR at line 1:
    ORA-00600: internal error code, arguments: [kkpoffoc], [], [], [], [], [], [], [], [], [], [], []


Call stack

----------------

$cold_kkpoffoc_find <- frag_obj_cache <- kkpogfn_get_frag_def_by_name <- kkpogfna_get_frag_def_by_name_all

 

There is a simple testcase

create table move_test
(
    column1 number,
    column2 varchar2(20),
    column3 date,
    constraint move_test_pk primary key (column1, column2, column3)
)
organization index
partition by range (column1)
(
   partition P1 values less than (2),
   partition P2 values less than (3),
   partition P9 values less than(10)
);

--ordinary policy function
SQ> create or replace function policy_fnc(object_schema in varchar2, object_name varchar2) return varchar2
is
begin
    return 'mod(column1, 3) = 0';
end policy_fnc;
/

SQL> insert into move_test
select rownum, 'row #' || rownum, trunc(sysdate)+rownum
  from dual
 connect by level < 10;
commit;


SQL> begin
  sys.dbms_rls.add_policy     (
    object_schema          => user
    ,object_name           => 'move_test'
    ,policy_name           => 'policy_1'
    ,function_schema       => user
    ,policy_function       => 'policy_fnc'
    ,statement_types       => 'select'
    ,policy_type           => dbms_rls.dynamic
    ,long_predicate        => false
    ,update_check          => true
    ,static_policy         => false
    ,enable                => true );
end;
/


SQL> alter table move_test move partition p1 storage
(initial 20k next 20k);
            *

    ERROR at line 1:
    ORA-00600: internal error code, arguments: [kkpoffoc], [], [], [], [], [], [], [], [], [], [], []

 

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms