Обсуждение: ora2pg partitioned table DDL 'not working'
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"
) 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 "
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)) ) ;
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) ;
) PARTITION BY RANGE (owner) ;
Regards,
Ed
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