ORA-12804: parallel query server appears to have died with ORA-12801: error signaled in parallel query server

Hi,

When I run the SQL, I got ” ORA-12804: parallel query server appears to have died with ORA-12801: error signaled in parallel query server ” error.

 

Details of error are as follows.

declare
v_dyn clob;
begin

   begin
      execute immediate 'drop table ' || 'ODI' || '.' || 'ODI_TABLE purge';
   exception when others then null;
   end;
         v_dyn := '
           CREATE TABLE "ODI"."ODI_TABLE" 
            ( "SUBSCR_ID" NUMBER NOT NULL ENABLE, 
               "SUBSCR_CLASS_SCHEME_CD" VARCHAR2(16 CHAR) NOT NULL ENABLE, 
               "VALID_FROM_DT" DATE NOT NULL ENABLE, 
               "VALID_UNTIL_DT" DATE NOT NULL ENABLE, 
               "SUBSCR_CLASS_VALUE_CD" VARCHAR2(16 CHAR) NOT NULL ENABLE, 
               "SOURCE_SYSTEM_CD" VARCHAR2(5 CHAR) NOT NULL ENABLE, 
               "INSERT_DT" DATE, 
               "UPDATE_DT" DATE
            ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255  NOLOGGING 
           STORAGE(
           BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
           TABLESPACE "MSD_TBS" 
           PARTITION BY RANGE ("VALID_UNTIL_DT") INTERVAL (NUMTODSINTERVAL(1,''DAY'')) 
           SUBPARTITION BY LIST ("SUBSCR_CLASS_SCHEME_CD") 
           SUBPARTITION TEMPLATE ( 
             SUBPARTITION "SP_LOB" VALUES ( ''LOB'' ), 
             SUBPARTITION "SP_SGIB" VALUES ( ''SGIB'' ), 
             SUBPARTITION "SP_VIP" VALUES ( ''VIP'' ) ) 
          (PARTITION "P_LOW"  VALUES LESS THAN (TO_DATE('' 1980-01-01 00:00:00'', ''SYYYY-MM-DD HH24:MI:SS'', ''NLS_CALENDAR=GREGORIAN'')) 
         PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
           STORAGE(
           BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
           TABLESPACE "MSD_TBS" 
          ( SUBPARTITION "P_LOW_SP_LOB"  VALUES (''LOB'')  
           STORAGE(
           BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
           TABLESPACE "MSD_TBS" 
          COMPRESS BASIC , 
           SUBPARTITION "SYS_SUBP459877"  VALUES (''SGIB'') 
           STORAGE(
           BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
           TABLESPACE "MSD_TBS" 
          COMPRESS BASIC , 
           SUBPARTITION "SYS_SUBP672811"  VALUES (''VIP'')  
           STORAGE(
           BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
           TABLESPACE "MSD_TBS" 
          COMPRESS BASIC ) ) 
           PARALLEL 16 ';
         execute immediate v_dyn;


       execute immediate 'alter session enable parallel dml';
            insert /*+  append parallel(64)   */ into ODI.ODI_TABLE 
             partition for (to_date('2049-12-31 00:00:00', 'YYYY-MM-DD HH24:MI:SS'))
            select  /*+ parallel(64) */ t1.* from ODI2.SUBSCR_CLASS partition for (to_date('2049-12-31 00:00:00', 'YYYY-MM-DD HH24:MI:SS')) t1;
         commit;
       execute immediate 'alter session disable parallel dml';   

end;
/
ERROR at line 1:
ORA-12801: error signaled in parallel query server P00F
ORA-12804: parallel query server appears to have died
ORA-06512: at line 54

 

 

This error is related with Partitioned table and Parallel execution on Cluster Nodes.

 

 

To solve this problem, You can run the same SQL as follows.

set the following trace events, then run the same SQL as follows.

alter session set events '10384 trace name context forever , level 16384';

 

declare
v_dyn clob;
begin

begin
execute immediate 'drop table ' || 'ODI' || '.' || 'ODI_TABLE purge';
exception when others then null;
end;
v_dyn := '
CREATE TABLE "ODI"."ODI_TABLE" 
( "SUBSCR_ID" NUMBER NOT NULL ENABLE, 
"SUBSCR_CLASS_SCHEME_CD" VARCHAR2(16 CHAR) NOT NULL ENABLE, 
"VALID_FROM_DT" DATE NOT NULL ENABLE, 
"VALID_UNTIL_DT" DATE NOT NULL ENABLE, 
"SUBSCR_CLASS_VALUE_CD" VARCHAR2(16 CHAR) NOT NULL ENABLE, 
"SOURCE_SYSTEM_CD" VARCHAR2(5 CHAR) NOT NULL ENABLE, 
"INSERT_DT" DATE, 
"UPDATE_DT" DATE
) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOLOGGING 
STORAGE(
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "MSD_TBS" 
PARTITION BY RANGE ("VALID_UNTIL_DT") INTERVAL (NUMTODSINTERVAL(1,''DAY'')) 
SUBPARTITION BY LIST ("SUBSCR_CLASS_SCHEME_CD") 
SUBPARTITION TEMPLATE ( 
SUBPARTITION "SP_LOB" VALUES ( ''LOB'' ), 
SUBPARTITION "SP_SGIB" VALUES ( ''SGIB'' ), 
SUBPARTITION "SP_VIP" VALUES ( ''VIP'' ) ) 
(PARTITION "P_LOW" VALUES LESS THAN (TO_DATE('' 1980-01-01 00:00:00'', ''SYYYY-MM-DD HH24:MI:SS'', ''NLS_CALENDAR=GREGORIAN'')) 
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
STORAGE(
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "MSD_TBS" 
( SUBPARTITION "P_LOW_SP_LOB" VALUES (''LOB'') 
STORAGE(
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "MSD_TBS" 
COMPRESS BASIC , 
SUBPARTITION "SYS_SUBP459877" VALUES (''SGIB'') 
STORAGE(
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "MSD_TBS" 
COMPRESS BASIC , 
SUBPARTITION "SYS_SUBP672811" VALUES (''VIP'') 
STORAGE(
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "MSD_TBS" 
COMPRESS BASIC ) ) 
PARALLEL 16 ';
execute immediate v_dyn;


execute immediate 'alter session enable parallel dml';
insert /*+ append parallel(64) */ into ODI.ODI_TABLE 
partition for (to_date('2049-12-31 00:00:00', 'YYYY-MM-DD HH24:MI:SS'))
select /*+ parallel(64) */ t1.* from ODI2.SUBSCR_CLASS partition for (to_date('2049-12-31 00:00:00', 'YYYY-MM-DD HH24:MI:SS')) t1;
commit;
execute immediate 'alter session disable parallel dml'; 

end;
  /

PL/SQL procedure successfully completed.

SQL>

 

 

 

Do you want to learn Oracle Database for Beginners, then read the following articles.

https://ittutorial.org/oracle-database-19c-tutorials-for-beginners/

 609 views last month,  2 views today

About Mehmet Salih Deveci

I am Founder of SysDBASoft IT and IT Tutorial and Certified Expert about Oracle & SQL Server database, Goldengate, Exadata Machine, Oracle Database Appliance administrator with 10+years experience.I have OCA, OCP, OCE RAC Expert Certificates I have worked 100+ Banking, Insurance, Finance, Telco and etc. clients as a Consultant, Insource or Outsource.I have done 200+ Operations in this clients such as Exadata Installation & PoC & Migration & Upgrade, Oracle & SQL Server Database Upgrade, Oracle RAC Installation, SQL Server AlwaysOn Installation, Database Migration, Disaster Recovery, Backup Restore, Performance Tuning, Periodic Healthchecks.I have done 2000+ Table replication with Goldengate or SQL Server Replication tool for DWH Databases in many clients.If you need Oracle DBA, SQL Server DBA, APPS DBA,  Exadata, Goldengate, EBS Consultancy and Training you can send my email adress [email protected].-                                                                                                                                                                                                                                                 -Oracle DBA, SQL Server DBA, APPS DBA,  Exadata, Goldengate, EBS ve linux Danışmanlık ve Eğitim için  [email protected] a mail atabilirsiniz.

Leave a Reply

Do NOT follow this link or you will be banned from the site!