Modify INITIAL in partitioned table

Dear all,
Facts:
oracle 10.1
aix 5.3
i have a table with the INITIAL value 1M:
partition PARTITION_83 values less than (201103)
tablespace D_DML
pctfree 0
pctused 40
initrans 1
maxtrans 255
storage
initial 1M
minextents 1
maxextents unlimited
and i want to change that value to 512 k.
i review the next http://ss64.com/ora/table_a_part.html but how can i do that ???
thanks all.

Why? What is the problem you're trying to solve?
I'm assuming you're using locally managed tablespaces since you're using a recent version of Oracle. I'm assuming your partitions are relatively large since partitioning is generally used for very large tables. Given that, the INITIAL parameter no longer controls the size of the initial extent-- instead, in a LMT, it sets a lower bound on the total size of all the extents that are initially allocated to the partition. It seems unlikely that you would have less than 1 MB of extents allocated to your partition-- there's a good chance that it's in a tablespace with uniform extents that are at least 1 MB. If there is more than 1 MB of data in the partition, what would changing the INITIAL parameter accomplish?
Justin

Similar Messages

  • Modify HUGE HASH partition table to RANGE partition and HASH subpartition

    I have a table with 130,000,000 rows hash partitioned as below
    ----RANGE PARTITION--
    CREATE TABLE TEST_PART(
    C_NBR CHAR(12),
    YRMO_NBR NUMBER(6),
    LINE_ID CHAR(2))
    PARTITION BY RANGE (YRMO_NBR)(
    PARTITION TEST_PART_200009 VALUES LESS THAN(200009),
    PARTITION TEST_PART_200010 VALUES LESS THAN(200010),
    PARTITION TEST_PART_200011 VALUES LESS THAN(200011),
    PARTITION TEST_PART_MAX VALUES LESS THAN(MAXVALUE)
    CREATE INDEX TEST_PART_IX_001 ON TEST_PART(C_NBR, LINE_ID);
    Data: -
    INSERT INTO TEST_PART
    VALUES ('2000',200001,'CM');
    INSERT INTO TEST_PART
    VALUES ('2000',200009,'CM');
    INSERT INTO TEST_PART
    VALUES ('2000',200010,'CM');
    VALUES ('2006',NULL,'CM');
    COMMIT;
    Now, I need to keep this table from growing by deleting records that fall b/w a specific range of YRMO_NBR. I think it will be easy if I create a range partition on YRMO_NBR field and then create the current hash partition as a sub-partition.
    How do I change the current partition of the table from HASH partition to RANGE partition and a sub-partition (HASH) without losing the data and existing indexes?
    The table after restructuring should look like the one below
    COMPOSIT PARTITION-- RANGE PARTITION & HASH SUBPARTITION --
    CREATE TABLE TEST_PART(
    C_NBR CHAR(12),
    YRMO_NBR NUMBER(6),
    LINE_ID CHAR(2))
    PARTITION BY RANGE (YRMO_NBR)
    SUBPARTITION BY HASH (C_NBR) (
    PARTITION TEST_PART_200009 VALUES LESS THAN(200009) SUBPARTITIONS 2,
    PARTITION TEST_PART_200010 VALUES LESS THAN(200010) SUBPARTITIONS 2,
    PARTITION TEST_PART_200011 VALUES LESS THAN(200011) SUBPARTITIONS 2,
    PARTITION TEST_PART_MAX VALUES LESS THAN(MAXVALUE) SUBPARTITIONS 2
    CREATE INDEX TEST_PART_IX_001 ON TEST_PART(C_NBR,LINE_ID);
    Pls advice
    Thanks in advance

    Sorry for the confusion in the first part where I had given a RANGE PARTITION instead of HASH partition. Pls read as follows;
    I have a table with 130,000,000 rows hash partitioned as below
    ----HASH PARTITION--
    CREATE TABLE TEST_PART(
    C_NBR CHAR(12),
    YRMO_NBR NUMBER(6),
    LINE_ID CHAR(2))
    PARTITION BY HASH (C_NBR)
    PARTITIONS 2
    STORE IN (PCRD_MBR_MR_02, PCRD_MBR_MR_01);
    CREATE INDEX TEST_PART_IX_001 ON TEST_PART(C_NBR,LINE_ID);
    Data: -
    INSERT INTO TEST_PART
    VALUES ('2000',200001,'CM');
    INSERT INTO TEST_PART
    VALUES ('2000',200009,'CM');
    INSERT INTO TEST_PART
    VALUES ('2000',200010,'CM');
    VALUES ('2006',NULL,'CM');
    COMMIT;
    Now, I need to keep this table from growing by deleting records that fall b/w a specific range of YRMO_NBR. I think it will be easy if I create a range partition on YRMO_NBR field and then create the current hash partition as a sub-partition.
    How do I change the current partition of the table from hash partition to range partition and a sub-partition (hash) without losing the data and existing indexes?
    The table after restructuring should look like the one below
    COMPOSIT PARTITION-- RANGE PARTITION & HASH SUBPARTITION --
    CREATE TABLE TEST_PART(
    C_NBR CHAR(12),
    YRMO_NBR NUMBER(6),
    LINE_ID CHAR(2))
    PARTITION BY RANGE (YRMO_NBR)
    SUBPARTITION BY HASH (C_NBR) (
    PARTITION TEST_PART_200009 VALUES LESS THAN(200009) SUBPARTITIONS 2,
    PARTITION TEST_PART_200010 VALUES LESS THAN(200010) SUBPARTITIONS 2,
    PARTITION TEST_PART_200011 VALUES LESS THAN(200011) SUBPARTITIONS 2,
    PARTITION TEST_PART_MAX VALUES LESS THAN(MAXVALUE) SUBPARTITIONS 2
    CREATE INDEX TEST_PART_IX_001 ON TEST_PART(C_NBR,LINE_ID);
    Pls advice
    Thanks in advance

  • How can I create my own tag name while creating a partition table.

    I have X4500 running Solaris 10. I have formatted a disk and created partition table as given below.
    Specify disk (enter its number): 0
    selecting c0t0d0
    [disk formatted]
    /dev/dsk/c0t0d0s0 is part of active ZFS pool zpool1. Please see zpool(1M).
    FORMAT MENU:
    disk - select a disk
    type - select (define) a disk type
    partition - select (define) a partition table
    current - describe the current disk
    format - format and analyze the disk
    fdisk - run the fdisk program
    repair - repair a defective sector
    label - write label to the disk
    analyze - surface analysis
    defect - defect list management
    backup - search for backup labels
    verify - read and display labels
    inquiry - show vendor, product and revision
    volname - set 8-character volume name
    !<cmd> - execute <cmd>, then return
    quit
    format> partition
    PARTITION MENU:
    0 - change `0' partition
    1 - change `1' partition
    2 - change `2' partition
    3 - change `3' partition
    4 - change `4' partition
    5 - change `5' partition
    6 - change `6' partition
    select - select a predefined table
    modify - modify a predefined partition table
    name - name the current table
    print - display the current table
    label - write partition map and label to the disk
    !<cmd> - execute <cmd>, then return
    quit
    partition> print
    Current partition table (original):
    Total disk sectors available: 1953508749 + 16384 (reserved sectors)
    Part Tag Flag First Sector Size Last Sector
    0 usr wm 34 4.00GB 8388641
    1 usr wm 8388642 2.00GB 12582945
    2 usr wm 12582946 200.00GB 432013345
    3 usr wm 432013346 175.00GB 799014945
    4 usr wm 1166180386 375.43GB 1953508748
    5 usr wm 799014946 175.00GB 1166016545
    6 usr wm 1166016546 80.00MB 1166180385
    8 reserved wm 1953508749 8.00MB 1953525132
    partition>
    I am unable to specify my own tag name. How can I change the tag name to one of my interest.
    I need to create 3 partitions as told below
    partitions:
    /earth
    /mars
    /work
    /earth and /work should be roughly equal in size, /mars should be twice the size of the others, if that is possible. If not 3 partitions of equal size will do.
    Please, help me .
    Thank you.

    Exactly 1TB? Slightly under/slightly over?
    Traditional Solaris disk labels are in VTOC format, but this format cannot describe disks larger than 1TB. So EFI labels must be used on disks larger than 1TB. Setup is slightly different.
    Are these physical disks or LUNs from a SAN array? If they are array LUNS, it is often the case that they don't have a Sun label of any type. So...
    #1 Apply a Solaris label
    If the LUNS don't have a label (when selected in 'format', it gives a warning that no label is present and offers to apply a label immediately). When run non-interactively, format assumes "yes" for any questions. So all you'd have to do is select every disk to have it apply labels to any unlabled disk. Run 'format' once and find the highest number (maybe it's 50 for you). Create a text file that looks like this:
    disk 1
    disk 2
    disk 3
    disk 50Then feed that to format like this:
    # format -f /tmp/disklist or whatever you've named the file.
    #2 Apply the partition layout to all disks you want.
    You asked if you should do the same procedure, but I don't see that you've actually done anything above other than print out the existing layout. Take one of your 48 drives and partition it the way you want manually (set the slices to the sizes that you want). Then you can copy the layout of that disk to others. You only want to do this between disks/LUNs of the same size. As an example, if you've explicitly partitioned c1t0d0 and you want to apply this to c1t1d0, do this:
    # prtvtoc /dev/rdsk/c1t0d0s2 | fmthard -s - /dev/rdsk/c1t1d0s2Repeat for all of your other disks.
    Darren

  • Modify the partition table

    Hi,
    Please let me know how to modify the partition table of the disk on to which root is mounted. I want to extend the root space, by modifying the partition table.
    Is there any other way of extending the root disk space?
    Thanks in Advance
    - Sarat.

    Take backup, re-partition, newfs, restore (you are talking about simple root, no mirroring/veritas, right?)

  • Tablespace about partitioned table

    Guys,
    I've had some issues with the partitioned tables. Scenario is like this..
    I have had a table, which was partitioned. I had to move all the partitions of this table to a new one, which worked fine and dropped the old tablespace. But now when i try to split the partition, the table still referes to the old tablespace name at a higer level. How do i change this..
    I am refering to the USER_DATA on top, which is the default tablespace for the user.
    It looks something like :
    CREATE TABLE XCM_CU19_ASGN_DLR
      XCM_CONSUMER_PK    VARCHAR2(14 BYTE)          NOT NULL,
      COUNTRY_ISO3_C     VARCHAR2(3 BYTE)           NOT NULL,
      CUST_CUSTOMER_R    NUMBER(11)                 NOT NULL,
      CUD_DLR_CTRY_C     VARCHAR2(3 BYTE)           NOT NULL,
      CUD_DLR_C          VARCHAR2(8 BYTE)           NOT NULL,
      CUD_DLR_ROLE_C     INTEGER,
      CUD_DLR_REF_X      VARCHAR2(15 BYTE),
      CUD_DLR_ST_Y       DATE,
      CUD_DLR_END_Y      DATE,
      P_CUD_DLR_SRC_C    INTEGER,
      P_UPDATE_ID_C      VARCHAR2(8 BYTE),
      P_UPDATE_S         DATE,
      XCM_UPDATE_S       DATE,
      IBMSNAP_LOGMARKER  TIMESTAMP(6)
    TABLESPACE USER_DATA
    PCTUSED    40
    PCTFREE    10
    INITRANS   1
    MAXTRANS   255
    PARTITION BY RANGE (COUNTRY_ISO3_C)
      PARTITION PRT001 VALUES LESS THAN ('CZE')
        LOGGING
        NOCOMPRESS
        TABLESPACE XCM04_DATA
        PCTUSED    40
        PCTFREE    10
        INITRANS   10
        MAXTRANS   255
        STORAGE    (
                    INITIAL          20M
                    NEXT             20M
                    MINEXTENTS       1
                    MAXEXTENTS       501
                    PCTINCREASE      0
                    FREELISTS        1
                    FREELIST GROUPS  1
                    BUFFER_POOL      DEFAULT
      PARTITION PRT002 VALUES LESS THAN ('DNK')
        LOGGING
        NOCOMPRESS
        TABLESPACE XCM04_DATA
        PCTUSED    40
        PCTFREE    10
        INITRANS   10
        MAXTRANS   255
        STORAGE    (
                    INITIAL          20M
                    NEXT             20M
                    MINEXTENTS       1
                    MAXEXTENTS       501
                    PCTINCREASE      0
                    FREELISTS        1
                    FREELIST GROUPS  1
                    BUFFER_POOL      DEFAULT
      PARTITION PRT003 VALUES LESS THAN ('FIN')
        LOGGING
        NOCOMPRESS
        TABLESPACE XCM04_DATA
        PCTUSED    40
        PCTFREE    10
        INITRANS   10
        MAXTRANS   255
        STORAGE    (
                    INITIAL          20M
                    NEXT             20M
                    MINEXTENTS       1
                    MAXEXTENTS       501
                    PCTINCREASE      0
                    FREELISTS        1
                    FREELIST GROUPS  1
                    BUFFER_POOL      DEFAULT
      PARTITION PRT004 VALUES LESS THAN ('GBR')
        LOGGING
        NOCOMPRESS
        TABLESPACE XCM04_DATA
        PCTUSED    40
        PCTFREE    10
        INITRANS   10
        MAXTRANS   255
        STORAGE    (
                    INITIAL          20M
                    NEXT             20M
                    MINEXTENTS       1
                    MAXEXTENTS       501
                    PCTINCREASE      0
                    FREELISTS        1
                    FREELIST GROUPS  1
                    BUFFER_POOL      DEFAULT
      PARTITION PRT005 VALUES LESS THAN ('GIB')
        LOGGING
        NOCOMPRESS
        TABLESPACE XCM04_DATA
        PCTUSED    40
        PCTFREE    10
        INITRANS   10
        MAXTRANS   255
        STORAGE    (
                    INITIAL          20M
                    NEXT             20M
                    MINEXTENTS       1
                    MAXEXTENTS       501
                    PCTINCREASE      0
                    FREELISTS        1
                    FREELIST GROUPS  1
                    BUFFER_POOL      DEFAULT
      PARTITION PRT006 VALUES LESS THAN ('ITA')
        LOGGING
        NOCOMPRESS
        TABLESPACE XCM04_DATA
        PCTUSED    40
        PCTFREE    10
        INITRANS   10
        MAXTRANS   255
        STORAGE    (
                    INITIAL          20M
                    NEXT             20M
                    MINEXTENTS       1
                    MAXEXTENTS       501
                    PCTINCREASE      0
                    FREELISTS        1
                    FREELIST GROUPS  1
                    BUFFER_POOL      DEFAULT
      PARTITION PRT007 VALUES LESS THAN ('USA')
        LOGGING
        NOCOMPRESS
        TABLESPACE XCM04_DATA
        PCTUSED    40
        PCTFREE    10
        INITRANS   10
        MAXTRANS   255
        STORAGE    (
                    INITIAL          20M
                    NEXT             20M
                    MINEXTENTS       1
                    MAXEXTENTS       501
                    PCTINCREASE      0
                    FREELISTS        1
                    FREELIST GROUPS  1
                    BUFFER_POOL      DEFAULT
      PARTITION PRT008 VALUES LESS THAN (MAXVALUE)
        LOGGING
        NOCOMPRESS
        TABLESPACE XCM04_DATA
        PCTUSED    40
        PCTFREE    10
        INITRANS   10
        MAXTRANS   255
        STORAGE    (
                    INITIAL          20M
                    NEXT             20M
                    MINEXTENTS       1
                    MAXEXTENTS       501
                    PCTINCREASE      0
                    FREELISTS        1
                    FREELIST GROUPS  1
                    BUFFER_POOL      DEFAULT
    NOCACHE
    PARALLEL ( DEGREE 8 INSTANCES 1 )
    ENABLE ROW MOVEMENT;Thanks

    I've done this before but I couldn't find it quickly... hence I thought it was the MOVE TABLESPACE clause. But now I think what I did was:
    ALTER TABLE xxx MODIFY DEFAULT ATTRIBUTES TABLESPACE yyy;See
    http://download-east.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_3001.htm#i2131000
    Cheers,
    Colin

  • Error while creating partition table

    Hi frnds i am getting error while i am trying to create a partition table using range
    getting error ORA-00906: missing left parenthesis.I used the following statement to create partition table
    CREATE TABLE SAMPLE_ORDERS
    (ORDER_NUMBER NUMBER,
    ORDER_DATE DATE,
    CUST_NUM NUMBER,
    TOTAL_PRICE NUMBER,
    TOTAL_TAX NUMBER,
    TOTAL_SHIPPING NUMBER)
    PARTITION BY RANGE(ORDER_DATE)
    PARTITION SO99Q1 VALUES LESS THAN TO_DATE(‘01-APR-1999’, ‘DD-MON-YYYY’),
    PARTITION SO99Q2 VALUES LESS THAN TO_DATE(‘01-JUL-1999’, ‘DD-MON-YYYY’),
    PARTITION SO99Q3 VALUES LESS THAN TO_DATE(‘01-OCT-1999’, ‘DD-MON-YYYY’),
    PARTITION SO99Q4 VALUES LESS THAN TO_DATE(‘01-JAN-2000’, ‘DD-MON-YYYY’),
    PARTITION SO00Q1 VALUES LESS THAN TO_DATE(‘01-APR-2000’, ‘DD-MON-YYYY’),
    PARTITION SO00Q2 VALUES LESS THAN TO_DATE(‘01-JUL-2000’, ‘DD-MON-YYYY’),
    PARTITION SO00Q3 VALUES LESS THAN TO_DATE(‘01-OCT-2000’, ‘DD-MON-YYYY’),
    PARTITION SO00Q4 VALUES LESS THAN TO_DATE(‘01-JAN-2001’, ‘DD-MON-YYYY’)
    ;

    More than one of them. Try this instead:
    CREATE TABLE SAMPLE_ORDERS
    (ORDER_NUMBER NUMBER,
    ORDER_DATE DATE,
    CUST_NUM NUMBER,
    TOTAL_PRICE NUMBER,
    TOTAL_TAX NUMBER,
    TOTAL_SHIPPING NUMBER)
    PARTITION BY RANGE(ORDER_DATE) (
    PARTITION SO99Q1 VALUES LESS THAN (TO_DATE('01-APR-1999', 'DD-MON-YYYY')),
    PARTITION SO99Q2 VALUES LESS THAN (TO_DATE('01-JUL-1999', 'DD-MON-YYYY')),
    PARTITION SO99Q3 VALUES LESS THAN (TO_DATE('01-OCT-1999', 'DD-MON-YYYY')),
    PARTITION SO99Q4 VALUES LESS THAN (TO_DATE('01-JAN-2000', 'DD-MON-YYYY')),
    PARTITION SO00Q1 VALUES LESS THAN (TO_DATE('01-APR-2000', 'DD-MON-YYYY')),
    PARTITION SO00Q2 VALUES LESS THAN (TO_DATE('01-JUL-2000', 'DD-MON-YYYY')),
    PARTITION SO00Q3 VALUES LESS THAN (TO_DATE('01-OCT-2000', 'DD-MON-YYYY')),
    PARTITION SO00Q4 VALUES LESS THAN (TO_DATE('01-JAN-2001', 'DD-MON-YYYY')))In the future, if you are having problems, go to Morgan's Library at www.psoug.org.
    Find a working demo, copy it, then modify it for your purposes.

  • How to import partitioned tables in different tablespace

    Hi everyone,
    I try to import the partitioned tables in different tablespace.
    Consider the following situation:
    I have a dump file which is created by using "Export" utility. Some data are in partitioned tables, some of them are in non-partitioned tables. Also, all tables are located in "MYTBS" tablesapce. I try to import all data from this dump file to another database. I didn't get error messages when importing the data from non-partitioned tables. However, I got error message when importing the data from partitioned tables. The error message is: tablespace 'MYTBS' does not exist.
    I just want to how I can solve this problem other than create 'MYTBS' tablespace for my new database.
    Thanks in advance.
    Angel

    Hi,
    I got the following error message:
    IMP-00017: following statement failed with ORACLE error 959:
    "CREATE TABLE "FACILITYCONNECTION",....., "CONNECTIONTYPE" "
    "NUMBER(1, 0) NOT NULL ENABLE) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 25"
    "5 PARALLEL ( DEGREE DEFAULT INSTANCES 1) NOLOGGING STORAGE( PCTINCREASE 0) "
    "TABLESPACE "MYTBS" PARTITION BY RANGE ("CONNECTIONTYPE" ) (PARTITION "
    ""EXT" VALUES LESS THAN (1) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 S"
    "TORAGE(INITIAL 65536) TABLESPACE "MYTBS" NOLOGGING, PARTITION "FAC" VA"
    "LUES LESS THAN (2) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 STORAGE(I"
    "NITIAL 65536) TABLESPACE "MYTBS" NOLOGGING )"
    IMP-00003: ORACLE error 959 encountered
    ORA-00959: tablespace 'MYTBS' does not exist
    Thanks.
    Angel

  • Migrate Partition Tables

    What is the best way to migrate partition tables from one oracle instance to another? I noticed when using CTAS statement and import/export utilitiy, Oracle migrates the table as a regular table and not as a partitioned table.

    CTAS can be used to create a partitioned table, but you need to specify the partitioning in the CREATE TABLE part of the statement.
    Use DBMS_METADATA.GET_DDL to extract the DDL for the table, like this:
    SELECT dbms_metadata.get_ddl('TABLE',table_name) FROM user_tables;Then modify it into your CTAS statement.
    For example:
    create table part_table
      partition by range (timestamp)
      (partition aug15 values less than (to_date('16-aug-2008','DD-mon-YYYY'))
      ,partition aug16 values less than (to_date('17-aug-2008','DD-mon-YYYY'))
      ,partition aug17 values less than (to_date('18-aug-2008','DD-mon-YYYY'))
      ,partition aug18 values less than (to_date('19-aug-2008','DD-mon-YYYY'))
      ,partition aug21 values less than (to_date('22-aug-2008','DD-mon-YYYY'))
      ,partition aug22 values less than (to_date('23-aug-2008','DD-mon-YYYY'))
      ,partition other values less than (MAXVALUE)
      ) tablespace USERS
    as select * from non_part_table@my_dblink;

  • Query Needed for Partitioning table

    Hi,
    I have created a table called Test. There is a column named business_name.
    There are several businesses like ABC,BCD,ADE....
    There will be lakhs of rows corresponding to each business, i mean there will be lakhs of entires corresponding to ABC,BCD....
    So i like to partition the table according to business_name so that the search will be more faster.As we had partitioned according to the business_name, i hope we need to search only on the partition corresponding to the particular business.
    can any one provide the Query to partition the table ' TEST ' according to the column ' business_name ' .
    Also can anyone provide Query to modify the already existing table ' TEST ' to incorporate partition for the column ' business_name '.

    We can partiton a table by the following
    create table Generalledger (
         record_id     number,
         business_name     varchar2(3)
         sales_dt     date,
         amount     number(10)
    partition by list (business_name)
    partition ct values ('ABC'),
    partition ca values ('BCD'),
    partition def values (default)
    But if we dont know the values like 'ABC' , 'BCD'
    ....how can we do the partitionuse SQL to generate part (or all) of your DDL statement. The following will output one partition statement for each business_name:
    SELECT DISTINCT 'partition p_' || BUSINESS_NAME || ' values (''' ||
                     BUSINESS_NAME || '''),'
    FROM GENERALLEDGER;

  • Partitioning tables in Oracle 10g

    Hi,
    I have a table that already contains more than a million of records, I am considering partitioning it, I am new with the web based console of oracle 10g, so I am not finding the way to do it.
    can any one help me?

    Well, search on "Creating Partitioned Tables" in OEM help and that will tell you how to get to the partitions page for when you are creating a new table. I figured modifying an existing table would be in the Storage tab of that area but I didn't see it. For an existing table, it might be easier just to use SQL Plus.
    Or you can use OEM to create a new empty table with partitions and just do a select into... on it.
    Gaff

  • How to record partitioned tables in Data Modeler ?

    Hi,
    I have discovered the options for partitioned tables. Some questions remain, however.
    1) Static partitions
    For one table, a set of predefined partitions is set up in the data model. In certain situations, a new partition is added. Is it possible to generate alter table DDL from the model that will add this partition ?
    2) Dynamic partitions
    For another table, partitions are added and deleted on the fly (exhange partition). For this tabel, I would like to record just 1 partition, which is added when the tabels are created initially. It is not important to include the actual partitions when synchronizing with the database. Is it possible to skip this for a certain table (i.e. record this preference with the table, since it does not apply for all partitioned tables... ) ?
    Thanks,
    Richard.

    Hi Richard,
    For one table, a set of predefined partitions is set up in the data model. In certain situations, a new partition is added. Is it possible to generate alter table DDL from the model that will add this partition ?
    In Data Modeler version 4.1, ALTER TABLE ... ADD PARTITION statements are generated for new LIST partitions, but not for other types of partitions.
    For another table, partitions are added and deleted on the fly (exhange partition). For this tabel, I would like to record just 1 partition, which is added when the tabels are created initially. It is not important to include the actual partitions when synchronizing with the database. Is it possible to skip this for a certain table (i.e. record this preference with the table, since it does not apply for all partitioned tables... ) ?
    I've logged an enhancement request on this.
    Regards,
    David

  • How to move lob segment in partitioned table

    On my Oracle 11.2, I have a partitioned table wich I would like to move to another tablespace
    After invoking script, there's still unmoved lob segment withing table
    CREATE TABLE BONGO.AAA_3
      ID       NUMBER,
      DATUM    DATE,
      OBJEKAT  BLOB
    TABLESPACE BONGODATA_HUGE
    PCTUSED    40
    PCTFREE    10
    INITRANS   1
    MAXTRANS   255
    LOGGING
    PARTITION BY RANGE (DATUM)
      PARTITION P_MAXVALUE VALUES LESS THAN (MAXVALUE)
        LOGGING
        NOCOMPRESS
        TABLESPACE BONGODATA_HUGE
    LOB (OBJEKAT) STORE AS
            (   TABLESPACE  BONGODATA
              ENABLE        STORAGE IN ROW
              CHUNK       8192
              RETENTION
              NOCACHE
              STORAGE    (
                          INITIAL          64K
                          NEXT             1M
                          MINEXTENTS       1
                          MAXEXTENTS       UNLIMITED
                          PCTINCREASE      0
                          FREELISTS        1
                          FREELIST GROUPS  1
                          BUFFER_POOL      DEFAULT
        PCTUSED    40
        PCTFREE    10
        INITRANS   1
        MAXTRANS   255
        STORAGE    (
                    INITIAL          64K
                    NEXT             1M
                    MINEXTENTS       1
                    MAXEXTENTS       UNLIMITED
                    FREELISTS        1
                    FREELIST GROUPS  1
                    BUFFER_POOL      DEFAULT
    NOCOMPRESS
    NOCACHE
    NOPARALLEL
    MONITORING;how to move this lob segment in partitioned table?
    or, is there some package for data move within tablespaces?
    regards

    tnx...
    now, I have another problem..
    I have a nested table within partitioned table, and I'm trying to move it to another tablespace.
    I tried to move child table (of nested type colum), but I didn't succedeed...

  • Insert performance issue with Partitioned Table.....

    Hi All,
    I have a performance issue during with a table which is partitioned. without table being partitioned
    it ran in less time but after partition it took more than double.
    1) The table was created initially without any partition and the below insert took only 27 minuts.
    Total Rec Inserted :- 2424233
    PL/SQL procedure successfully completed.
    Elapsed: 00:27:35.20
    2) Now I re-created the table with partition(range yearly - below) and the same insert took 59 minuts.
    Is there anyway i can achive the better performance during insert on this partitioned table?
    [ similerly, I have another table with 50 Million records and the insert took 10 hrs without partition.
    with partitioning the table, it took 18 hours... ]
    SQL> select * from table(dbms_xplan.display);
    PLAN_TABLE_OUTPUT
    Plan hash value: 4195045590
    | Id | Operation | Name | Rows | Bytes |TempSpc| Cost (%CPU)| Time |
    | 0 | SELECT STATEMENT | | 643K| 34M| | 12917 (3)| 00:02:36 |
    |* 1 | HASH JOIN | | 643K| 34M| 2112K| 12917 (3)| 00:02:36 |
    | 2 | VIEW | index$_join$_001 | 69534 | 1290K| | 529 (3)| 00:00:07 |
    |* 3 | HASH JOIN | | | | | | |
    | 4 | INDEX FAST FULL SCAN| PK_ACCOUNT_MASTER_BASE | 69534 | 1290K| | 181 (3)| 00:00
    | 5 | INDEX FAST FULL SCAN| ACCOUNT_MASTER_BASE_IDX2 | 69534 | 1290K| | 474 (2)| 00:00
    PLAN_TABLE_OUTPUT
    | 6 | TABLE ACCESS FULL | TB_SISADMIN_BALANCE | 2424K| 87M| | 6413 (4)| 00:01:17 |
    Predicate Information (identified by operation id):
    1 - access("A"."VENDOR_ACCT_NBR"=SUBSTR("B"."ACCOUNT_NO",1,8) AND
    "A"."VENDOR_CD"="B"."COMPANY_NO")
    3 - access(ROWID=ROWID)
    Open C1;
    Loop
    Fetch C1 Bulk Collect Into C_Rectype Limit 10000;
    Forall I In 1..C_Rectype.Count
    Insert test
         col1,col2,col3)
    Values
         val1, val2,val3);
    V_Rec := V_Rec + Nvl(C_Rectype.Count,0);
    Commit;
    Exit When C_Rectype.Count = 0;
    C_Rectype.delete;
    End Loop;
    End;
    Total Rec Inserted :- 2424233
    PL/SQL procedure successfully completed.
    Elapsed: 00:51:01.22
    Edited by: user520824 on Jul 16, 2010 9:16 AM

    I'm concerned about the view in step 2 and the index join in step 3. A composite index with both columns might eliminate the index join and result in fewer read operations.
    If you know which partition the data is going into beforehand you can save a little bit of processing by specifying the partition (which may not be a scalable long-term solution) in the insert - I'm not 100% sure you can do this on inserts but I know you can on selects.
    The APPEND hint won't help the way you are using it - the VALUES clause in an insert makes it be ignored. Where it is effective and should help you is if you can do the insert in one query - insert into/select from. If you are using the loop to avoid filling up undo/rollback you can use a bulk collect to batch the selects and commit accordingly - but don't commit more often than you have to because more frequent commits slow transactions down.
    I don't think there is a nologging hint :)
    So, try something like
    insert /*+ hints */ into ...
    Select
         A.Ing_Acct_Nbr, currency_Symbol,
         Balance_Date,     Company_No,
         Substr(Account_No,1,8) Account_No,
         Substr(Account_No,9,1) Typ_Cd ,
         Substr(Account_No,10,1) Chk_Cd,
         Td_Balance,     Sd_Balance,
         Sysdate,     'Sisadmin'
    From Ideaal_Cons.Tb_Account_Master_Base A,
         Ideaal_Staging.Tb_Sisadmin_Balance B
    Where A.Vendor_Acct_Nbr = Substr(B.Account_No,1,8)
       And A.Vendor_Cd = b.company_no
          ;Edited by: riedelme on Jul 16, 2010 7:42 AM

  • SYNC(EVERY interval ) deployment for Partitioned Tables

    I am wondering if anyone has deployed the SYNC(EVERY "SYSDATE + interval") style in a Partition table environment where there is a large number of partitions but only a few the most recent 7days (lets say 30 days) have any inserts/updates. As I understand it, the SYNC(EVERY interval) creates a DBMS_SCHEDULER job for each partition and the job will submit as per the interval. We have about 5000 partitions on any given day; partitions get dropped and we add a new one for the fututre (we keep 30 days ahead).
    1. Is it possible to modify the interval in these auto created Jobs? For Partitions older thasn X days i would want to run the job every Z hours
    2. Disable the future jobs until the day required (enable 10 minutes before the partition becomes "active" -- gets data
    Regards

    Hi,
    you can read about this in the manual (http://docs.oracle.com/cd/E11882_01/text.112/e24436/csql.htm#i997677). The manual says: "Each partition of a locally partitioned index can have its own type of sync (ON COMMIT, EVERY, or MANUAL). The type of sync specified in master parameter strings applies to all index partitions unless a partition specifies its own type." So it is possible to set for each partition its own sync type. This is possible with an ALTER statement:
    ALTER INDEX index_name MODIFY PARTITION partition_name PARAMETER (paramstring)1. With the above alter you can change it
    2. You can put a partition to MANUAL and then synchronize when necessary.
    So if you know when the partition needs to change, you can change it possible with another job or procedure.
    Herald ten Dam
    http://htendam.wordpress.com

  • How to import partition table in 10 express edition database

    Hi all,
    I have 10g express edition installed on my laptop, I have a table with partition now I am unable to import that table in my oracle 10 express edition database.Anybody help me in this regard that how could I able to import this table in my database, even I dont want its partitions I want only data.
    Regards

    The phrase "awfully small table" was not intended as criticism. It merely notes that tables smaller than 2 GB would normally be too small to partition. Since you didn't specify the amount of data initially, it was reasonable to suspect that you might exceed the express edition data size limits.
    If you pre-create the table as a non-partitioned table (i.e. do a CREATE TABLE manually) before importing, I would expect that would allow the import to succeed (of course, you'd have to ignore the warning that the object already existed when it was time to import).
    Justin

Maybe you are looking for