Thread: ora2pg partitioned table DDL 'not working'

ora2pg partitioned table DDL 'not working'

From
Edwin UY
Date:
Hi,

I put not working in quote because I am not sure whether this is the expected behavior of ora2pg for this partitioned table.

I have a partitioned table in Oracle that has the partition defined as below. This is just an excerpt of the DDL of the table generated using Oracle's dbms_metadata.

        "MODIFIED_BY_SOURCE_APPL_ID" VARCHAR2(64)
   ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255  LOGGING
  STORAGE(INITIAL 104857600 NEXT 104857600 MAXEXTENTS 2147483645
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "BLAH"
 LOB ("IMAGE") STORE AS BASICFILE (
  ENABLE STORAGE IN ROW CHUNK 8192 PCTVERSION 10
  NOCACHE LOGGING
  STORAGE(
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT))
  PARTITION BY RANGE ("OWNER")
 (PARTITION "CI1"  VALUES LESS THAN (2) SEGMENT CREATION IMMEDIATE
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
 NOCOMPRESS LOGGING
  STORAGE(INITIAL 104857600 NEXT 104857600 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "BLAH"
 LOB ("IMAGE") STORE AS BASICFILE (
  TABLESPACE " BLAH " ENABLE STORAGE IN ROW CHUNK 8192 PCTVERSION 10
  NOCACHE LOGGING
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)) ,
 PARTITION "CI2"  VALUES LESS THAN (MAXVALUE) SEGMENT CREATION IMMEDIATE
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
 NOCOMPRESS LOGGING
  STORAGE(INITIAL 104857600 NEXT 104857600 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE " BLAH "
 LOB ("IMAGE") STORE AS BASICFILE (
  TABLESPACE "BLAH" ENABLE STORAGE IN ROW CHUNK 8192 PCTVERSION 10
  NOCACHE LOGGING
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)) ) ;


AFTER the ora2pg run, it has the following only, without the CI1 and C12 partitions, is this as expected?

        modified_by_source_appl_id varchar(64)
) PARTITION BY RANGE (owner) ;


Regards,
Ed

Re: ora2pg partitioned table DDL 'not working'

From
Julien Rouhaud
Date:
Hi,

On Mon, May 13, 2024 at 05:37:08AM GMT, Edwin UY wrote:
> 
> I put not working in quote because I am not sure whether this is the
> expected behavior of ora2pg for this partitioned table.
> 
> I have a partitioned table in Oracle that has the partition defined as
> below. This is just an excerpt of the DDL of the table generated using
> Oracle's dbms_metadata.
> 
>         "MODIFIED_BY_SOURCE_APPL_ID" VARCHAR2(64)
>    ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255  LOGGING
>   STORAGE(INITIAL 104857600 NEXT 104857600 MAXEXTENTS 2147483645
>   BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
>   TABLESPACE "BLAH"
>  LOB ("IMAGE") STORE AS BASICFILE (
>   ENABLE STORAGE IN ROW CHUNK 8192 PCTVERSION 10
>   NOCACHE LOGGING
>   STORAGE(
>   BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT))
> *  PARTITION BY RANGE ("OWNER")*
> * (PARTITION "CI1"  VALUES LESS THAN (2) SEGMENT CREATION IMMEDIATE*
>   PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
>  NOCOMPRESS LOGGING
>   STORAGE(INITIAL 104857600 NEXT 104857600 MINEXTENTS 1 MAXEXTENTS
> 2147483645
>   PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
>   BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
>   TABLESPACE "BLAH"
>  LOB ("IMAGE") STORE AS BASICFILE (
>   TABLESPACE " BLAH " ENABLE STORAGE IN ROW CHUNK 8192 PCTVERSION 10
>   NOCACHE LOGGING
>   STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
>   PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
>   BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)) ,
> * PARTITION "CI2"  VALUES LESS THAN (MAXVALUE) SEGMENT CREATION IMMEDIATE*
>   PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
>  NOCOMPRESS LOGGING
>   STORAGE(INITIAL 104857600 NEXT 104857600 MINEXTENTS 1 MAXEXTENTS
> 2147483645
>   PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
>   BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
>   TABLESPACE " BLAH "
>  LOB ("IMAGE") STORE AS BASICFILE (
>   TABLESPACE "BLAH" ENABLE STORAGE IN ROW CHUNK 8192 PCTVERSION 10
>   NOCACHE LOGGING
>   STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
>   PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
>   BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)) ) ;
> 
> 
> AFTER the ora2pg run, it has the following only, without the CI1 and C12
> partitions, is this as expected?
> 
>         modified_by_source_appl_id varchar(64)
> ) PARTITION BY RANGE (owner) ;

If the partition root is created as a partitioned table, it should logically
support creating the partitions too.  It's either a configuration option that
you didn't use or an issue with ora2pg.  If you don't find the answer on ora2pg
documentation you should create an issue on the tool repository:
https://github.com/darold/ora2pg/issues