need to unpack a hash partitioned table

I'm working on the database oracle 11.1.0.7 on solaris.

We had problems loading data in compressed tables, so we try to unpack tables and their partitions.
When I tried to unpacking of a hash partitioned table, I get this error

SQL > alter table move partition SYS_1 sample nocompress;
ALTER table move partition SYS_1 nocompress sample
*
ERROR on line 1:
ORA-14260: incorrect physical attribute specified for this partition

I am able to move the table, it's just the nocompress option is not working.

SQL > alter table example moving partition SYS_1.

Modified table.

Can't unpack us a hash partitioned table that is compressed?

You must do this in two steps

alter table sample modify partition SYS_1 nocompress;
alter table sample move partition SYS_1;

Best regards

Maxim

Tags: Database

Similar Questions

  • Adding a Partition to a range-Hash partitioned Table

    Hello

    I created the composite partition table (RANGE-HASH).  Oracle: 11.2, OS: HP UX

    CREATE TABLE 'XYZ '. "" TABLE_XYZ.

    (

    ----

    VARCHAR2 (54) "PROFILE" DEFAULT "000000000000000000' ENABLE NON-NULL"

    NUMBER (21.7) "CREATED_ON" DEFAULT 0 ENABLE NOT NULL,.

    ----

    )

    PARTITION BY RANGE

    (

    CREATED_ON

    )

    SUBPARTITION BY HASH

    (

    VIEW PROFILE

    )

    SUBPARTITION TEMPLATE

    (

    SUBPARTITION SP1 TABLESPACE PSAPISU,

    SUBPARTITION TABLESPACE PSAPISU SP2,

    SUBPARTITION SP3 TABLESPACE PSAPISU,

    SUBPARTITION SP4 TABLESPACE PSAPISU,

    SUBPARTITION SP5 TABLESPACE PSAPISU,

    SUBPARTITION SP6 TABLESPACE PSAPISU,

    SUBPARTITION SP7 TABLESPACE PSAPISU,

    SUBPARTITION SP8 TABLESPACE PSAPISU,

    SUBPARTITION SP9 TABLESPACE PSAPISU,

    SUBPARTITION SP10 TABLESPACE PSAPISU,

    SUBPARTITION SP11 TABLESPACE PSAPISU,

    SUBPARTITION SP12 TABLESPACE PSAPISU,

    SUBPARTITION SP13 TABLESPACE PSAPISU,

    SUBPARTITION SP14 TABLESPACE PSAPISU,

    SUBPARTITION SP15 TABLESPACE PSAPISU,

    SUBPARTITION SP16 TABLESPACE PSAPISU,

    SUBPARTITION SP17 TABLESPACE PSAPISU,

    SUBPARTITION SP18 TABLESPACE PSAPISU,

    SUBPARTITION SP19 TABLESPACE PSAPISU,

    SUBPARTITION SP20 TABLESPACE PSAPISU,

    SUBPARTITION SP21 TABLESPACE PSAPISU,

    SUBPARTITION SP22 TABLESPACE PSAPISU,

    SUBPARTITION SP23 TABLESPACE PSAPISU,

    SUBPARTITION SP24 TABLESPACE PSAPISU,

    SUBPARTITION SP25 TABLESPACE PSAPISU

    )

    (

    CREATED_ON_OCP01 PARTITION VALUES LESS THAN (20090101000000).

    CREATED_ON_OCP02 PARTITION VALUES LESS THAN (20090401000000).

    CREATED_ON_OCP03 PARTITION VALUES LESS THAN (20090701000000).

    CREATED_ON_OCP04 PARTITION VALUES LESS THAN (20091001000000).

    CREATED_ON_OCP05 PARTITION VALUES LESS THAN (20100101000000).

    CREATED_ON_OCP06 PARTITION VALUES LESS THAN (20100401000000).

    CREATED_ON_OCP07 PARTITION VALUES LESS THAN (20100701000000).

    CREATED_ON_OCP08 PARTITION VALUES LESS THAN (20101001000000).

    CREATED_ON_OCP09 PARTITION VALUES LESS THAN (20110101000000).

    CREATED_ON_OCP10 PARTITION VALUES LESS THAN (20110401000000).

    CREATED_ON_OCP11 PARTITION VALUES LESS THAN (20110701000000).

    CREATED_ON_OCP12 PARTITION VALUES LESS THAN (20111001000000).

    CREATED_ON_OCP13 PARTITION VALUES LESS THAN (20120101000000).

    CREATED_ON_OCP14 PARTITION VALUES LESS THAN (20120401000000).

    CREATED_ON_OCP15 PARTITION VALUES LESS THAN (20120701000000).

    CREATED_ON_OCP16 PARTITION VALUES LESS THAN (20121001000000).

    CREATED_ON_OCP17 PARTITION VALUES LESS THAN (20130101000000).

    CREATED_ON_OCP18 PARTITION VALUES LESS THAN (20130401000000).

    CREATED_ON_OCP19 PARTITION VALUES LESS THAN (20130701000000).

    CREATED_ON_OCP20 PARTITION VALUES LESS THAN (20131001000000).

    CREATED_ON_OCP21 PARTITION VALUES LESS THAN (20140101000000).

    CREATED_ON_OCP22 PARTITION VALUES LESS THAN (20140401000000).

    CREATED_ON_OCP23 PARTITION VALUES LESS THAN (20140701000000).

    CREATED_ON_OCP24 PARTITION VALUES LESS THAN (20141001000000).

    CREATED_ON_OCP25 PARTITION VALUES LESS THAN (20150101000000).

    PARTITION CREATED_ON_OCPMAX VALUES LESS THAN (MAXVALUE)

    )

    TABLESPACE "PSAPISU" ENABLE LINE MOVEMENT;

    Now, I am trying to add the new partition but becomes under errors:

    ALTER TABLE SAPISU. ADD PARTITION VALUES LESS THAN (20150401000000) CREATED_ON_OCP26 ZTMD_300_VERS_MANAGE

    *

    ERROR on line 1:

    ORA-14074: partition bound must gather greater than that of the last partition

    ERROR on line 1:

    ORA-14018: partition bound list contains too few elements

    I tried the SYNTAX mentioned by Oracle DOC, still getting error. Partitioned table and index management

    Could if it you please let me know, what is the exact syntax that I should follow?

    See you soon

    Sameer

    CREATED_ON_OCPMAX PARTITION SPLIT THAN (MAXVALUE)

    That don't mean to 'divide' the MAXVALUE partition.

    You cannot split a partition that contains the values of A, B, C, D, MAXVALUE to MAXVALUE; that makes no sense. ERROR on line 1:

    ORA-14080: partition cannot be split along the specified high limit

    That exception is to say you can't use MAXVALUE upper limit. You must use a value that is actually IN the partition.

    Go back and look at the definition of your partitions:

    CREATED_ON_OCP25 PARTITION VALUES LESS THAN (20150101000000).

    PARTITION CREATED_ON_OCPMAX VALUES LESS THAN (MAXVALUE)

    See which ends with: "VALUES LESS THAN (MAXVALUE)? MAXVALUE is not IN the score; This is the upper limit of the partition.

    Divide certain value > '20150101000000' and LESS THAN MAXVALUE;

    So if you try to create a partition for OCP26 you can use '20160101000000'.

    CREATE TABLE PART_TEST2)
    VARCHAR2 (54) DEFAULT PROFILE "000000000000000000' ENABLE NOT NULL,
    CREATED_ON NUMBER (21.7) DEFAULT 0 ENABLE NOT NULL
    )
    PARTITION BY RANGE (CREATED_ON)
    (
    CREATED_ON_OCP24 PARTITION VALUES LESS THAN (20141001000000).
    CREATED_ON_OCP25 PARTITION VALUES LESS THAN (20150101000000).
    PARTITION CREATED_ON_OCPMAX VALUES LESS THAN (MAXVALUE)
    )

    ALTER table split partition created_on_ocpmax part_test2
    to (20160101000000) into (partition, partition CREATED_ON_OCPMAX created_on_ocp26)

  • Possible to Exchange temporary table with composite range-hash partitioned table?

    Hello

    Using oracle 11.2.0.3

    We want to clean up the data in some of our existing partitioned table.

    Afetr updates check spped that is too slow for us.

    Current table is partitioned the inetrval compoiste range-hash table.  Also it is compressed - enabled for compression of basis as well

    An interval of 1 month and 1 partition by month and 4 secondary partitions in the partition of ecah.

    You want to create tenp table with the data of celan and exchange the data in this table in the 'dirty' uisng existing partitions partition exchnage.

    Is this possible?

    The plan is

    1) create temporary table containing data for 1 partition (1 month worth of data)

    (2) clean the data here

    (3) create new temporary table with these specific data which compressed and discovered partitioned with 4 secondary partitions

    (4) table 3 for swap partition dirty using partition excahnge.

    Thaks

    I think that this can be done with a combination of Exchange and Split partition partitions. Prior to Oracle 11 g, only way of redefining tables online was DBMS_REDEFINITION package. Now, you can redefine the use of partitions for Exchange & Split. Check

    http://www.Oracle-base.com/articles/Misc/partitioning-an-existing-table-using-Exchange-partition.php

    Maintenance of Partitions

    Kind regards

  • Need help and suggestions for partitioned tables

    Hello

    We have a table and it is partitioned and partitioned with datetime column, IE... partition by range.

    I tried to run the query in the form below and it runs 1 HR and did not get the result and I kill the query.

    Select min (datetime) max (datetime) < big_table > maxdate, mindate; -2203M data in this table

    index also in place on these columns as a composite index (code, datetime, status, po_num)

    < big_table > - having columns like code, datetime, status, po_num, creation_date

    Here is the plan of the explain command:

    Hash value of plan: 228211001

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

    | ID | Operation | Name | Lines | Bytes | Cost (% CPU). Time | Pstart. Pstop |

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

    |   0 | SELECT STATEMENT |                   |     1.     8.  4009K (2) | 04:41:57 |       |       |

    |   1.  GLOBAL TRI |                   |     1.     8.            |          |       |       |

    |   2.   RANGE OF PARTITION ALL THE |                   |  2163M |    16G |  4009K (2) | 04:41:57 |     1. 1048575.

    |   3.    FULL RESTRICTED INDEX SCAN FAST | POSTATUSINDEX |  2163M |    16G |  4009K (2) | 04:41:57 |     1. 1048575.

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

    Please give me any suggestions how to get the query faster.

    THX in advance

    You need to know which column mainly used in queries?

    If most of the request uses ID column, then partition of hash on ID will be beneficial.

  • Unique key on the partitioned table range

    Hello

    We use a range of composite range-hash partitioned table

    Use index - try to do this have same tablespace to the local partitions but not liking it

    ALTER table RETAILER_TRANSACTION_COMP_POR
    Add primary key constraint RETAILER_TRANSACTION_COMP_PK (DWH_NUM)
    using index
    LOCAL


    ORA-14039: partitioning columns must be a subset of the columns in a unique index key

    Without local then fine but does not have same tablespace to walls and don't want to make this part of the partition key.

    Range Tbal partitioned - it's just a UK to avoid duplicates
    [oracle@localhost ~]$ oerr ora 14039
    14039, 00000, "partitioning columns must form a subset of key columns of a UNIQUE index"
    // *Cause:  User attempted to create a UNIQUE partitioned index whose
    //          partitioning columns do not form a subset of its key columns
    //          which is illegal
    // *Action: If the user, indeed, desired to create an index whose
    //          partitioning columns do not form a subset of its key columns,
    //          it must be created as non-UNIQUE; otherwise, correct the
    //          list of key and/or partitioning columns to ensure that the index'
    //          partitioning columns form a subset of its key columns
    
  • Table partitioned using the hash partition

    I need to create the table using hash partition and need to specify the number of partitions (for example, 32)
    1. How/where to specify the number of partitions? I checked under "partitioning" tab of the properties of the table, but "system partition" is disabled.
    2. What is the difference between the hash by quantity vs Hash of the list of partitions and which should I use?

    Hello

    To do this, you must set the Partition Type to HASH BY QUANTITY. Then, tab Tablespaces part of hash, you can set the quantity field on HashP to the number of partitions.

    Ownership of the system partition is only enabled if the type of partitioning SYSTEM.
    Hash partition list allows you to add entries in hash Partitions of the Table nsud Partition to set each individual partition.

    David

  • TIMESTAMP (6) partitioned key-&gt; range partitioned table ddl needed

    What is the DDL TIMESTAMP syntax (6) partitioned key, range partitioned table

    Published by: oracletune on January 11, 2013 10:26

    >
    What is the DDL TIMESTAMP syntax (6) partitioned key, range partitioned table
    >
    Don't know what you're asking. Are you asking how to create a table partitioned using a TIMESTAMP column (6) for the key?

    CREATE TABLE TEST1
    (
        USERID                 NUMBER,
        ENTRYCREATEDDATE     TIMESTAMP(6)
    )
    PARTITION BY RANGE (ENTRYCREATEDDATE) INTERVAL(NUMTOYMINTERVAL(1, 'MONTH'))
    (
        PARTITION P0 VALUES LESS THAN (TO_DATE('1-1-2013', 'DD-MM-YYYY'))
    )
    

    See my answer posted: January 10, 2013 21:56 if you need to do on a TIMESTAMP with TIME ZONE column. You must add a virtual column.
    Creating scores of auto range

  • Desperately need help - "the partition table on device sda was unreadable." Erase all data?

    I'm forced to install CentOs on my Macbook using a machine virtual (VMWare, which is what I downloaded my teacher recommended). It's for my first class of operating systems, so bare with me because I don't know anything about operating systems (except about how to use Windows and my Macbook). I am also a daughter, what makes my same technical knowledge that much more rare. However, I am eager to learn...

    In any case, I downloaded them both. When I launch Fusion, I choose the file> New> install Windows or another OS on a virtual machine> continue without disk> click on the button that says 'Operating system installation disc using image file'> then I select the appropriate iso CentOS (CentOS - 5.4 - i386-bin-1of6) file> continue> drop down lists, I choose LINUX as operating system and Red Hat Enterprise Linux 5 as my Version> continue-> finish (no customization settings). It appears the screen of CentOS and I am invited by a text asking me if I want to install in text or graphics mode. (Don't know what to do here, but I select the graph). A bunch of white text scroll a screen of black background, then a blue screen shows up saying: 'Welcome to CentOS' at the top and a gray screen that says "to start testing CD media before installation OK press. Choose Ignore to ignore the media test and launch the installation. "I click on the red button (even once, if it is incorrect, let me know). A few rows of white text on black background (from anaconda... something on a video card...) then a nice graphic display of CentOS which I click NEXT. I then select English as my tongue (twice) and I gives me the message:

    "The partition table on device sda (VMware, VMware Virtual S 20473 MB) was unreadable. To create new partitions, it must be initialized, cauing the loss of all DATA on this drive. This operation will replace all choice on what players to ignore previous installation. You would like to initialize this drive, erasing all THE DATA? »

    I have no idea what to do here. I googled the message and others have been too, but they can talk about some hard file (and I have no idea what it is, and I can't seem to find mine).

    I can't lose what's on my hard drive (my school, music, photos, applications, files etc.). Clicking YES will erase my HD? I'm terribly afraid. I need to get this thing installed so I can do my operating systems class work, but I don't know if I did the installation correctly so far and especially, what to click at this point. Can someone help me out please (I spent 4 hours on this one today. "I have no one else to ask)? Finally, the installation is almost done after this step?

    Any help at all would be so greatly appreciated.

    I do not use Fusion, but I have VMware Workstation on Windows. I went through the same process that you went through. The answer to your question is that when you choose the operating system you install and you choose the option for the installation disc, it creates a virtual hard drive for you, size 20 GB. When they ask you to erase the hard drive, it's clear that virtual you create, not your actual computer hard drive. You can check by looking at the properties of the hard drive on your computer. It's probably 250 GB or 500 GB or something big like this. The CentOS WARNING speaks of a 20 GB hard drive, which is the size of the disk that VMware Fusion (and Workstation) create for CentOS.

  • Can we have hash partition and list on 2 columns in the same table. How.

    Can we have hash partition and list on 2 columns in the same table. How.

    Work on 10g release 2

    # List-Hash is a valid composite partitioning strategy 11 from g.

  • I need to change the column of the range on my partition table

    Hello

    I created a partition table, but I need to change column of the range "CREATED" to "PREPARED". Two of them date format, but I can't modify this table.

    PARTITION OF RANGE (CREATED)--> I need to change column "CREATED" as "PREPARED".
    (
    INV08 PARTITION VALUES LESS (TO_DATE('01-SEP-2010','DD-MON-YYYY')).
    INV09 PARTITION VALUES LESS (TO_DATE('01-OCT-2010','DD-MON-YYYY')).
    INV10 PARTITION VALUES LESS (TO_DATE('01-NOV-2010','DD-MON-YYYY')).
    PARTITION INV VALUES LESS THAN (MAXVALUE)
    )

    How can I do?

    Published by: user567352 on December 23, 2010 04:10

    Hello

    As far as I know, dbms_redefinition didn't even know about the partitioning:

    1. you create a new empty table that matches your need + (that is where you defined you new partition key) +.
    2. you start the names of submiting of redefinition of existing and newly created table 'interim' table
    3. you leave enough time to get the work done
    4. you have finished redefining (the name of the table are swapped)
    And voila!

    Be sure to test thorougly the process of redefinition and the performance impact that may occur until you make it to your production !
    ;-)

  • Satellite L630-00V - need to partition table

    Hello to you guys...

    So I really screwed up here, I did my girlfriend buy a laptop (Toshiba Satellite L630) and also a new hard drive to replace the one on the inside because they have slow (5400 RPM)

    I've used ghost to clone the drive inside the laptop to the new one I mounted in a housing that is connected via USB to the computer.

    Although I double checked everything and that the destination drive was the good the bad thing happened, the blank disc has been cloned on the full.

    I don't think that all my data are deleted, because there were at least 70 GB of commands on the computer (3 recovery partitions and Windows 7 one) and I doubt enough that it can all be erased within 5 seconds.

    I used GetBackData for NTFS witch scanned the hard drive for about 05:30 (Yes, 5 hours and a half) and well found a lot of files... If right now I copy all partitions said based on another hard drive...

    I'll have to do the scan a 2nd time to get Fat32 partitions...

    Something that would be useful for me is to have the partition table of a released factory Toshiba L630-00v (500 GB HDD) *.



    Beginning and end clusters would be really useful, I would be able to rebuild my much easier partition table


    And oh, no idea how to get the OEM Windows 7 cd to a new facility? They were paying for a copy of windows with their computer, their must be a way to install it...

    Thank you very much! ;)

    Hello

    > And oh, no idea how to get the OEM Windows 7 cd to a new facility? They were paying for a copy of windows with their computer, their must be a way to install it.

    Now, you can get money from Toshiba Recovery disk.

    For European models:

    https://backupmedia.Toshiba.EU/landing.aspx

    American models:

    https://www.CSD.Toshiba.com/cgi-bin/TAIS/support/JSP/serviceUnitVerification.jsp?orderType=SFF

    > my girlfriend did buy a laptop (Toshiba Satellite L630) and also a new hard drive to replace the one on the inside because they have slow (5400 RPM)

    What happens if put you the old hard drive to make a recovery disk and replace it with a new one, then... Then you will be able to restore the factory settings on the new hard drive with a recovery disk. Or you have not previously burned?

  • VMFS partition table corruption? Need help to retrieve data

    My House ESXi 5.1 was installed on HP Microserver G7. Hypervisor on USB-flash, datastore on Adaptec 3405.

    After some problems of power electro Microserver is will not start and I have chosen to build the new server on Microserver Gen8. I moved Adaptec and disks in the new box, installed new ESXi 5.5 U1 (HP image) on USB and after reboot did not store data :-(.

    After some research, I found that ESXi is not see any partition table on this raid array:


    partedUtil getptbl /vmfs/devices/disks/mpx.vmhba2:C0:T0:L0

    unknown

    728422 255 63 11702108160

    BUT! I tried to start the server of linux liveCD with vmfs-tools 0.2.5 installed partition mounted with vmfs-fuse and able to see the data! But cannot copy all important vmdk (see below).

    debugvmfs is also show me some useful information:

    Volume Version: 14

    Version: 54

    Label: STORE

    Mode: public

    UUID: 4f2ac538-58c181cf-arms-441ea13ee615

    Creation date: 2012-02-02 23:17:44

    Block size: 1 MiB

    Subblock size: 8 KiB

    Size of header of the FDC: 64 KiB

    County of FDC Bitmap: 64

    and it's very strange

    debugvmfs/dev/sda1 see the lvm.extent [0]

    Device: / dev/sda1

    UUID: 4f2ac4da-8de4b166-a-441ea13ee615 848

    LUN: 0

    Version: 5

    Name:

    Size: 459.99 GiB

    NUM. Segments: 22319

    First Segment: 0

    Last Segment: 22318


    because I don't know that I don't create scopes.


    Also, there are two vmdk files on more than 256 GB data store and it cannot copy because of the limitation of vmdk-tools :-(.


    I tried to do a magic (like this - partedUtil setptbl "/ vmfs/devices/disks/mpx.vmhba2:C0:T0:L0" GPT "1 2048 11702099429 AA31E02A400F11DB9590000C2911D1B8 0""), but without success;-(.)


    All the suggestions, guys?

    Finally!

    Found that was an "Intel VT - d" enabled in the BIOS. After disable it everything is cool.

    It looks like Adaptec 3405 working wrong with it. Will try to change it to P222.

  • Partitioned table of LOB - àen SECUREFILE?

    Dear administrators,

    My version of DB - 11.1.0.7

    I need to convert storage LOB in BASIC NAVIGATION (and also to enable compression Adv LOB) on a partitioned table (Hash, 64 partitions). Table of the LOB chunk size size - 8 GB, segment - 1.2 to

    I am familiar with dbms_redef for these conversions on non partitioned tables. I know too, redefine a LOB table partitions. But is there a way to achieve BASIC SECUREFILE conversion on a table partitioned using the DBMS_REDEF?

    I have not found much info on this on oracle docs or other sources on the internet. Nobody don't know or don't know of this process? Thanks for your help.

    Post edited by: DBA112

    orclz > create table lobtab store (c2 c1 and number, clob) lob (c2) as partition by hash (c1) partitions 4 basicfile;

    Table created.

    orclz > create table inttab store (c2 c1 and number, clob) lob (c2) as securefile partition by hash (c1) partitions 4;

    Table created.

    orclz > alter table lobtab add constraint primary key lpk (c1);

    Modified table.

    orclz > insert into lobtab values(1,'abc');

    1 line of creation.

    orclz > dbms_redefinition.start_redef_table (user, 'lobtab', 'inttab') exec.

    PL/SQL procedure successfully completed.

    orclz > dbms_redefinition.finish_redef_table (user, 'lobtab', 'inttab') exec.

    PL/SQL procedure successfully completed.

    orclz >

  • Hash partitioning

    Hello

    I have a question around hash partitioning.

    I create a table 'Daily' in the table of 'Hand' containing only the data of the last day. Recording of hash are based on the Type of Transaction, and I know there are 8 Types of separate transactions for this table, so I create 8 Partitions.

    So, the question is what happens if a new Transaction Type is introduced? Which partition will contain the new Type of Transaction? Is there a better way to create this table, so he can adjust to new Types of Transaction dynamically?

    Code below:

    CREATE THE USER TABLE. THE DAY DATA OF TABLESPACE IN PARALLEL (DEGREE 8) HASH PARTITION (TRANS_TYPE) (TABLESPACE PARTITION1 PARTITION DATA, DATA TABLESPACE PARTITION2 PARTITION, PARTITION PARTITION3 TABLESPACE DATA, PARTITION PARTITION4 TABLESPACE DATA, DATA TABLESPACE PARTITION5 PARTITION, PARTITION PARTITION6 TABLESPACE DATA, PARTITION PARTITION7 TABLESPACE DATA, DATA OF THE PARTITION PARTITION8 TABLESPACE)

    IN SELECT / * + PARALLEL(MAIN_TB,8) * / * FROM CDRUSER. MAIN_TB

    WHEN trunc (trans_date) > = trunc (sysdate - 1).

    AND trunc (trans_date) < trunc (sysdate);

    Concerning

    Stephan

    Hello user16...

    The value that comes from your partition key will be the input to a hash function that determines that your recording in which partition will be written.

    If you have a new value then it causes no problem-> records owned by this new value will be moved to a hash partition always. -> In which one? You can't say it in advance. There is a hash algorithm in oracle.

    Hash partitioning is a technique that is good, if you have a unique key column (or more - composite unique index) and you want to distribute files between multiple partitions.

    The question is: you want to filter your queries on the partitioning key in the future? ->, You can not benefit from the size of the partition (partition elimination)

    But if you use a single key as a key partitioning in this case it makes no sense to talk about the size of the partition.

    If you want to create partitions of distinct values that will be filtered in where clauses

    AND you want to access only the lines in a complete analysis that belong to a single value of the partitioning key, so I recommend the use of partitioning to the LIST.

    Reason: In an analysis complete (Group by, Distinct etc.) it may happen that rows many partitioning key values will be stored in a partition if new values are added in the future in this case, you will need to analyze the lines that would be unnecessary.

    But it depends on what your needs are.

    You can read about this more in the oracle doc: partitioning in the Data Warehouses

  • Split hash partition.

    I have a system of production with a table that was created with the following configuration:
    CREATE TABLE CUSTOMER
    (
      CUSTOMER_ID                  NUMBER(18),
      DEFAULT_LANGUAGE_ID          NUMBER(18),
      COMPANY_ID                   NUMBER(18),
      CUSTOMER_NAME                VARCHAR2(100 BYTE),
    
    )
    TABLESPACE CUSTOMER_DATA
    PARTITION BY HASH (CUSTOMER_ID)
    (  
      PARTITION CUSTOMER_TAB_P01
        TABLESPACE CUSTOMER_DATA
    )
    NOCOMPRESS 
    NOCACHE
    NOPARALLEL
    MONITORING
    /
    The table was created incorrectly with just a single partition, now I need to split from 1 to 10 scores.
    I can't find how to divide a hash partition, partitions lie.

    How can I split without using a DEC and replace the table with a nine, as education split partition for the partition of the range?

    Thanks for the help.

    Best regards
    Ricardo Tomas

    >
    The table was created incorrectly with just a single partition, now I need to split from 1 to 10 scores.
    I can't find how to divide a hash partition, partitions lie.

    How can I split without using a DEC and replace the table with a nine, as education split partition for the partition of the range?
    >
    You can not.

    You could ADD a hash partition, but do not use this method: each ADD would result in ALL existing data being re-hashed.

    By doc VLDB and partitioning
    http://docs.Oracle.com/CD/E11882_01/server.112/e25523/part_admin002.htm#i1007318
    >
    Adding a Partition to a partitioned Table Hash
    When you add a partition to a partitioned hash table, the database fills the new partition with lines perceived from an existing partition (chosen by the database), as determined by the hash function. Therefore, if the table contains data, then it can take a while to add a hash partition.
    >
    The only options you really need to use DBMS_REDEFINITION or CTAS you mentioned.

    And first of all you should re-evaluate whether the same should table be partitioned.

    What were the reasons to choose the partition table? Why 'hash' partitioning?

    What is the cardinality of company_id? If it is unique, so, what do you gain by partitioning?

Maybe you are looking for