Table partition and no partition indexes

Hello

I have the partition table that contains about 1 ml recods and he have daily score.
This partition table have only a unique index that is a partition No.

CREATE UNIQUE INDEX xxxxxx WE yyyyyy
(ITEM_GUID, IMAGE_SIDE)
LOGGING
TABLESPACE zzzzzz
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE)
INITIAL 170M
ACCORDING TO 1 M
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
DEFAULT USER_TABLES
)
NOPARALLEL;

I drop very first partition of

Fall of ALTER TABLE wwww.yyyyy SCORE PT_20080706;

But this isn't my unique INVALID index.

Is it normal to have a VALID unique index after the fall of any partition?

Do I have to rebuild a unique index again?

DB: oracle 10.2.0.3
platform: solaris

Thanks in advance

According to the Oracle doc, if you drop the bulkhead with an overall index,.

All index global, or all partitions of global partitioned indexes are marked UNUSABLE unless one of the following are true:

You specify the UPDATE INDEX (cannot be specified for tables organized by index. Use GLOBAL updating INDEXES.)

The dropped partition or its subparts are empty

more info here
http://download.Oracle.com/docs/CD/B19306_01/server.102/b14231/partiti.htm#sthref2751

Check ALL_PART_INDEXES and ALL_INDEXES to check the State of your indexes.

Tags: Database

Similar Questions

  • Table partitioning/indexing strategy

    Hello

    I have a data warehouse containing medical data. Normally, we develop queries against a small number of patients (e.g. where patient_id < 100) and adjust upward to run on a greater number (usually the entire base of 26 000 patients least some due to exclusion criteria).

    The largest table contains about 200 million lines, and I'm working on the question of whether I can change the partitioning and indexing in order to improve the performance of queries.

    The table contains 'patient_id', 'visit_id', 'item_id', 'chart_time', 'value' and 'valuenum' column and a variety of other columns that are rarely used. The id id columns are integers, pointrefers to the type of value is saved and value (varchar2) and valuenum (number) contain the data. chart_time is a "timestamp with time zone '.

    Currently, there are clues on patient_id, visit_id and item_id and a composite index on (visit_id, itemid). There is no partitioning for the moment.

    1. is the current index redundent? that is visit_id, item_id and composite (visit_id, item_id) do I need?
    2. we started to run queries of time based for specific patients. that is, we want data for specific items, for a specific set of visits, in the first day. An index on (visit_id, chart_time, item_id) would help with that?
    3. the table of patient_id partitioning help? We "never" queries between patient and therefore the data of each patient are independent. The database is running on 2 raid controllers, one for data, one for the index, perhaps it would be better to put half of patients on a single controller, and the other half on the other?

    Thank you

    Dan Scott

    Hello

    1. the index on visit_id sounds redundant as it is the main column in the composite index (visit_id, itemid).
    2. added chart_time to the composite index could be useful that the pair of columns (visit_id, item_id) is not quite selective. You must put in place a realistic model of your data distribution, choose some queries that you intend to run often watch their performance. It is not possible to predict performance in function purely thereotical reasoning.
    3 bear partitioning functions: maintenance of data (for example truncating, deleting or moving old partitions) and eliminating the irrelevant data in queries (partition size). You imagine you having to truncate, delete, or move a partition that is defined by a range of patient_id? Probably not. Can you imagine the need to restrict your query to a certain range of patient_id? Unlikely. That answers your question.

    Best regards
    Nikolai

  • Global and local index with respect to table partitioned

    Hello
    I am very confused about local and global index in a partitioned table.
    In addition, local index can be partitioned and unpartitioned.
    In addition, what is the difference between global partitioned and unpartitioned
    the index?

    As far as I know,
    If there is local index then there will be as many partitions as the partition table
    and local parition will index contains the index of only the lines of their corresponding scores.
    In addition, the local index maintananence is easier because drop us or create a partition, only index corresponding partition is affected then that in the case of the overall index,
    If we create a new partition of the table, to rebuild the global index.
    Am I wrong?

    Concerning

    Hello

    This means that when you add/drop/split/merge table any partition (maintaiance) lying below, its corresponding partition in index is automatically added/deleted/split/merged. Oracle takes care of it internally without user intervention.

    Concerning
    Anurag

  • table partitioned and unique keys

    I really don't understand why Oracle does not apply in some cases, unique keys.

    Let's say I have a table

    create table t (t_type not null, t_key not null, id not null, not null value)

    list partition (t_type)

    (

    type1 partition values ('ppp1"),

    rest of partition (default) values

    ) as

    Select "ppp" | rownum, rownum, rownum, rownum of double connect by rownum < = 100;

    And following changes in the indices for unique keys

    -1

    create index idx_1 on t (t_key, id);

    ALTER table t add constraint t_uk unique (t_key) using index idx_1;

    ALTER table drop constraint t_uk drop index;

    -2

    create index idx_1 on t (t_key, id, t_type);

    ALTER table t add constraint t_uk unique (t_key) using index idx_1;

    ALTER table drop constraint t_uk drop index;

    -3

    create index idx_1 on t (t_key, id, t_type) local;

    ALTER table t add constraint t_uk unique (t_key) using index idx_1;

    Drop index idx_1;

    -4

    create an index only idx_1 on t (t_key, id);

    ALTER table t add constraint t_uk unique (t_key) using index idx_1;

    Drop index idx_1;

    -5

    create an index only idx_1 on t (t_key, id, t_type);

    ALTER table t add constraint t_uk unique (t_key) using index idx_1;

    Drop index idx_1;

    -6

    create an index only idx_1 on t (t_key, id, t_type) local;

    ALTER table t add constraint t_uk unique (t_key) using index idx_1;

    Drop index idx_1;

    -7

    create index idx_1 on t (t_key, t_type, id) local;

    ALTER table t add t_uk unique constraint (t_key, t_type) using index idx_1;

    ALTER table drop constraint t_uk drop index;

    -8

    create an index only idx_1 on t (t_key, t_type, id) local;

    ALTER table t add t_uk unique constraint (t_key, t_type) using index idx_1;

    Drop index idx_1;

    I got the set of questions:

    1. first and second cases were performed with success while 4th and 5th failed.

    The only difference is that the overall index in 4th and 5th cases are unique.

    It is unclear why ' ORA-14196: specified index cannot be used to apply the constraint. ' has occurred.

    2. in the third case index is similar to that in second place with the only difference that it is local.

    Still, it is not clear why it failed with ORA-14196.

    3 and the last question why ORA-14196 arose in 8 cases, while the 7th, it didn't.

    The only difference is the local index in 8 cases is unique.

    Thank you

    Hi Alex

    (1) index 4 and 5 cannot be used to police the unique constraint as a unique index must have the same list of column under duress. Index 4, to establish in a non-unique index or to remove the column id of the index. To index 5, you will need to make a non-unique index or remove the columns id and index t_type.

    (2) 3 index cannot be used to the unique constraint of police that it is a local index and is not partitioned column (t_type) in both the definition of index/constraint. If allowed, this would require Oracle having to visit each partition to ensure that any new value of t_key is truly unique, that would not scale. Include the t_type column in the constraint and the index to both t_type and t_key as of the columns (so move the id column 3rd position) and it would be successful.

    (Index 3) 8 fails for the same reason as in 1). It's a unique index with a different column from the constraint list. Remove the id column of the index or to make it a non-unique index and it will be successful.

    In summary, a unique index MUST have the same list of column than the constraint and a local index MUST have the partitioning columns in both the definition of index/constraint.

    See you soon

    Richard Foote

    http://richardfoote.WordPress.com/

  • partitioning and partitioned index

    I created 1 table with partitions.

    CREATE TABLE SAMPLE_ORDERS
    (NUMBER OF ORDER_NUMBER,
    ORDER_DATE DATE,
    NUMBER OF CUST_NUM
    NUMBER OF TOTAL_PRICE
    NUMBER OF TOTAL_TAX
    NUMBER OF TOTAL_SHIPPING)
    PARTITION OF RANGE (ORDER_DATE)
    (
    SO99Q1 PARTITION VALUES LESS THAN (TO_DATE (APRIL 1, 1999 ',' MON-DD-YYYY "")),
    SO99Q2 PARTITION VALUES LESS THAN (TO_DATE (1 JULY 1999 ',' MON-DD-YYYY "")),
    SO99Q3 PARTITION VALUES LESS THAN (TO_DATE (OCTOBER 1, 1999 ',' MON-DD-YYYY "")),
    SO99Q4 PARTITION VALUES LESS THAN (TO_DATE (JANUARY 1, 2000 ',' MON-DD-YYYY "")),
    SO00Q1 PARTITION VALUES LESS THAN (TO_DATE (APRIL 1, 2000 ',' MON-DD-YYYY "")),
    SO00Q2 PARTITION VALUES LESS THAN (TO_DATE (JULY 1, 2000 ',' MON-DD-YYYY "")),
    SO00Q3 PARTITION VALUES LESS THAN (TO_DATE (OCTOBER 1, 2000 ',' MON-DD-YYYY "")),
    SO00Q4 PARTITION VALUES LESS THAN (TO_DATE (JANUARY 1, 2001 ',' MON-DD-YYYY ""))
    )
    ;


    Few questions is now.
    1. How can I create indexes on the table.
    2. How can I rebuild the index if it is partitioned index?
    3. What is the impact of the reconstruction of indexes on the table (all table locks or just locks partitioned index)
    4. If I want to create partition for future purposes, for example for each month do I need to partition manually created for the same thing?

    Thank you

    When you create an Index with the keyword LOCAL and do not specify the names of each partition, Oracle uses the default Partition of Table name.

    For example, to rebuild the index corresponding to the first partition of the table, partition

    alter index sales_orders_ndx_l rebuild partition SO99Q1 ;
    

    DML may continue to run against the other partitions of the table (and their corresponding indices).

    When you do the maintenance of the score as the addition of a new Partition or split an existing Partition, for each Partition of the 'new' Table, a corresponding Index Partition will be automatically created.
    In order to ensure that the affected Index partitions are not left in a State UNUSABLE but are also rebuilt with maintaining the Table Partition, add the clause INDEX of UPDATE of the ALTER TABLE statement you use.

  • Count (*) using partitioned index gives incorrect results

    I have a table partitioned by hash with 4 index the.

    Table name: store_assortment

    clues the: idx1 (master_id), idx2 (store), idx3 (item), idx4 (request_id)

    When I run this query result is 13649:

    SELECT COUNT (*)

    OF store_assortment

    WHERE to store = 6010

    ORDER BY point;

    When I run this query result is 13648:

    SELECT COUNT (*)

    OF store_assortment

    WHERE store = 6010;

    I rebuild all indexes, but the results are the same. Can anyone point to a bug or something that can explain this?

    I dropped and recreated the indices and values are correct now. Reconstruction did not work.

    Thanks for all the help.

  • Number of rows in each partition is displayed with a NULL value for a table partitioned in user_tab_partitions. Why?

    I created a table and partitioned on the date of the entry and added a local partitioned index.

    Now, I use a query to extract "num_rows" of user_tab_partitions to know the number of rows in each partition.

    Getting this value as null num_rows, wonder why?

    After looking to explain the Plan after interrogation ("select * from my_table1 where entry_date = 1 January 2015" ;))

    to find out if she actually partitioned table and its data in different partitions, I interpreted in effect because the query plan had a line like Partition_range (Single).

    My Question is:

    (a) is actually partitioned data (have I misinterpreted the Explain plan)

    (b) why is the num_rows null column in the query (Pasted below)

    (c) also in addition what difference it would have been if I had created a Global Index instead of the Local Index in my case?

    The following code Snippet:

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

    create the table my_table1
    (
    roll_no number constraint my_table1_pk primary key,
    date of entry_date
    )
    partition of range (entry_date)
    (
    PARTITION data_p1 VALUES LESS THAN (TO_DATE (December 31, 2014 ',' DD-MM-YYYY ""));
    PARTITION data_p2 VALUES LESS THAN (MAXVALUE)
    );


    create an index only my_table1_indx on my_table1 (entry_date) local;

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

    I now insert two lines:
    insert into my_table1 values (1, to_date ('01-01-2015', ' dd-mm-yyyy'));
    insert into my_table1 values (2, to_date('01-02-2015','dd-mm-yyyy'));

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

    These have been inserted successfully, now using the query below shows num_rows column as null. I don't know why?

    SELECT table_name, num_rows, high_value, nom_partition
    Of user_tab_partitions
    where table_name = 'MY_TABLE1 '.
    ORDER BY table_name, nom_partition;

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


    (a) is actually partitioned data (have I misinterpreted the Explain plan)

    Yes, it is partitioned. You can query this particular partition SELECT * FROM my_table1 (data_p1) PARTITION to check that.

    (b) why is the num_rows null column in the query (Pasted below)

    As already mentioned that you have not collected statistics.

    (c) also in addition what difference it would have been if I had created a Global Index instead of the Local Index in my case?

    In fact, you have created two types of indexes without knowing (can be)! One is not partitioned (although this column is not partition key) and another is partitioned (LOCAL). They are MY_TABLE1_PK and MY_TABLE1_INDX. You can check that USER_INDEXES.

    You can read this article to get an early jump on the partitioning of decision. Partition: Partition decisions

  • deletion of a partitioned index

    Hi friends,

    I use 10.2.0.4 oracle on solaris.

    I have several partitioned index with the 2011 created on a daily basis. I tried to drop one of the indexes and got the below error.

    SQL > ALTER INDEX QOSDEV. PK_RATE_CISCOMEMORYPOOL DROP PARTITION 'OCTOBER 5, 2012 '.

    ALTER INDEX QOSDEV. PK_RATE_CISMEPOOL DROP PARTITION 'OCTOBER 5, 2012 '.

    Error on line 2

    ORA-14076: submitted alter index partition/subpartition operation is not valid for local partitioned indexes

    Script done on line 2.

    I ask you how to remove these partitions.

    Thank you

    DBApps

    Hello

    Try-

    ALTER drop partition table RATE_CISCOMEMORYPOOL 'October 5, 2012;

    Anand

  • Partitioned index

    Using Oracle 11.2.0.3

    We are evalauating partitiong stragetegies with a view to the realization of gains from perfomnace in reports in particular.

    How effeicient are partitioned indexes in this by example anti-terrorism just partitioned index aan table is not partitioned.

    One big fact to durrogate keys that have bitmpa indxese table which link to accentuate associated key dimensions.

    Patitioning given bitmap index which links to the largest dimension and partitiong Kay dimesnion dimension laregts.

    Reflections on partitioned indexes would be particularly useful.

    Thank you

    user5716448 wrote:
    Using Oracle 11.2.0.3

    We are evalauating partitiong stragetegies with a view to the realization of gains from perfomnace in reports in particular.

    How effeicient are partitioned indexes in this by example anti-terrorism just partitioned index aan table is not partitioned.

    One big fact to durrogate keys that have bitmpa indxese table which link to accentuate associated key dimensions.

    Patitioning given bitmap index which links to the largest dimension and partitiong Kay dimesnion dimension laregts.

    Reflections on partitioned indexes would be particularly useful.

    Thank you

    It is not possible to create a partitioned index bitmp on a non-partitioned table. Bitmap indexes can be local partitioned only.
    --
    John Watson
    Oracle Certified Master s/n
    http://skillbuilders.com

  • Table Partitioned parallelized vs

    Hello
    (11.2 server, OS = OL5)

    I have a table that contains more than 50 million lines. I created this table with option 'parallel degree (x).

    It seems that the time required to execute a query on this table does not change when I share that, for example partition range dividing the table to 3 partitions.

    (access the request a unique index in the table and the query criteria match exactly one of the partitions)

    the question:
    1. What is the difference of strategy parallelism between «Parallel degree...» "and the"Division "?
    2. which of them are better in what scenario?
    3. is it better to use PARALLEL_AUTOMATIC_TUNING?
    4 and especially why the performance doesn't change even with a local index on the partitions?

    Thank you
    SMSK.

    >
    It seems that the time required to execute a query on this table does not change when I share that, for example partition range dividing the table to 3 partitions
    . . .
    (access the request a unique index in the table and the query criteria match exactly one of the partitions
    . . .
    @Adam Martin: thanks, but I was explained to question 4 that the performance does not change when I toggle locality index.
    >
    I do not see why it would be necessarily change just of partitioning. What is your reason to think so?

    If the index access is used it is basically to get the IDENTIFIER of a line of interest. The line can then be retrieved using the ROWID. The recovery time will be essentially the same way regardless of the line in a partitioned table or non-partitioned table, and regardless of whether the line of partition. This is because the ROWID is (simple explanation here) a FILE ID (which file?), a BLOCK number (relative block in the file) and a LINE NUMBER (which line in the block. It doesn't matter if the segment that is the block is a segment of the table, partitioned table segment, segment index, etc.

    It is the only factor that COULD change the time of the query when the index is used if the access of the index itself is more effective when the table is partitioned when the table is not partitioned.

    Clearly if it is an overall index, there is a change since the index access itself will be the same.

    The only factor now that MIGHT change the time of the request is so if 1) the index is changed locally and 2) the local index has a different structure than the old index that allows to find the best performing required index entries.

    You have not published information on the index of structure, so let me give you an analogy which shows a scenario where it is clear that the access to the index would not change.

    Assume that the overall index is analogous to a catalogue of cards with 26 entries - one for each letter of the alphabet. My query accesses the entries beginning with the letter 'F' As discussed above in table access to aid a ROWID obtained from the index will be the same, if the table is partitioned or not.

    So now I have the partition table and have 26 partitions - one for each letter of the alphabet.

    With the help of the global index of the access to the partition of 'F' will be the same.

    Now, if I create a local index (instead of global) it's almost as if I now 26 index, one for each letter of the alphabet. The first entry for the 'F' in the global index can be found by reading the root node and perhaps one or two other nodes - then that an index scan can be performed.

    The first entry for the 'F' in the local index is at the beginning of the index - no need to jump or to do a binary search to ignore the 'A', 'B', etc. entered.

    This time difference is microscopic.

    Once I found the first entry for the 'F' either in the overall index, or local 'F' remaining entries in the index are consecutive, so access time will be the same.

    I don't know if there is a structural difference between the indices and the that you tried, but the above should show if the structure (order) has not changed it would not be a noticeable difference in access.

  • Local partitioned indexes

    Hi all

    I created 2 local partitioned index. The indexes are indexes of function. the table size is 2.3 T.
    I created the first clue that it took 14 hours to create, and even to analyze and it works fine now. Then, I created second index. But now it does not.
    What should I do?

    version 11.1.0.6
    RAC, ASM

    Thanks in advance

    Published by: disaster on April 10, 2011 21:43

    Published by: disaster on April 10, 2011 21:51

    Dear Sir

    ----------------------------------------------------------------------------------------------------------
    | Id  | Operation              | Name         | Starts | E-Rows | A-Rows |   A-Time   | Buffers | Reads  |
    ----------------------------------------------------------------------------------------------------------
    |   1 |  PARTITION RANGE SINGLE|              |      1 |      1 |     82 |00:03:37.92 |     534K|    534K|
    |*  2 |   TABLE ACCESS FULL    | TBL          |      1 |      1 |     82 |00:03:37.92 |     534K|    534K|
    ----------------------------------------------------------------------------------------------------------
    

    It is the plan of the real explanation followed by the SQL engine to run your query

    The Oracle optimizer is the estimate (based on the statistics that you have collected about index and table) that your query will return only 1 rank (E-lines = 1) while in reality (when the query has been executed) it's return of 82 lines (A-Rows = 82) within 3 minutes and 37 seconds (A-Time = 00:03:37.92)

    It is clear that your index function that is not used.

    You should be aware that when you create a function based index, oracle will create a virtual column that is hidden behind the scene.

    Try to gather statistics on this column using dbms_stats.

    Please, try first to TEST

    BEGIN
       DBMS_STATS.gather_table_stats
                     (ownname             => user,
                      tabname             => 'TBL',
                      CASCADE             => TRUE,
                      method_opt         => 'FOR ALL HIDDEN COLUMNS SIZE 1'
                             );
    END;
    /
    

    and re - run your query and post once again the new plan explain him like you did before

    Best regards

    Mohamed Houri

  • Global partitioned index hash

    Is it possible to create an index of global partitioned hash on the columns of the primary key of a table that is not partitioned itself?
    If a table has a PK constraint there an index generated automatically on the PK columns.
    Y at - it a syntax to make the overall index partitioned hash when creating the constraint of PK,.
    or syntax to MODIFY the indexes after the creation of the constraint?

    When you add a Pk to a table, you can choose a place already in the index. Something like

    alter table t1 add constraint T_PK primary key (col1) using index T_IDX;
    

    Create the partitioned index as you like with the same columns as the primary key and use the foregoing.

  • Slow running queries on a table partitioned by date

    I have a table partitioned by COLDATE, when I write a query to get the data is slow, even if I try to only get 1 day data. How can I correct this query runs faster?

    Oracle Version: 10g

    Number of lines:

    See the below query

    select COL1, COL2 RANK() OVER (PARTITION BY   COL1, COLDATE ORDER BY OTHER_DATE DESC) SHOW_RANK
    from 
    SAMPLETABLE
    where COLDATE BETWEEN '01-JAN-2015' AND '01-JAN-2015'
    
    
    create table SAMPLETABLE
    (
      COL1   NUMBER(10) not null,
      COL2        NUMBER(10) not null,
      COLDATE       DATE not null,
      OTHER_DATE DATE
    )
    partition by range (COLDATE)
    (
      partition PARTITION_01_2015 values less than (TO_DATE(' 2015-02-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
        tablespace MYTABLESPACE_2015
        pctfree 20
        initrans 1
        maxtrans 255
        storage
        (
          initial 64K
          minextents 1
          maxextents unlimited
        ),
      partition PARTITION_02_2015 values less than (TO_DATE(' 2015-03-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
        tablespace MYTABLESPACE_2015
        pctfree 20
        initrans 1
        maxtrans 255
        storage
        (
          initial 64K
          minextents 1
          maxextents unlimited
        ),
      .
      .
      .
      .
      .
      .
      partition PARTITION_12_2016 values less than (TO_DATE(' 2017-01-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
        tablespace MYTABLESPACE_2016
        pctfree 20
        initrans 1
        maxtrans 255
        storage
        (
          initial 64K
          minextents 1
          maxextents unlimited
        )
    

    Force the session in parallel mode and check with the parallel hint option.

    SQL > alter session force parallel dml.

    SQL > select / * + parallel (table_name, none of the servers) * / colA, colB from table_name;

  • Table partitioning

    I have a table in my DB with stored more then 24 million and is growing every day. Growth rate increases with the passage of time. I want this partition table, in such a way that three first partitions such as each partition contains 10 years of data, and the remaining partition such as each partition contains data for 5 years.
    This is the first time that I am any table partitioning, I understand following sql is not correct, I need your help in resolving this issue.
    ALTER TABLE cb_pen_pmt_slip_dtl
    ADD
    PARTITION BY range (payment_date)
    INTERVAL (NUMTOYMINTERVAL(5,'YEAR'))
    (PARTITION p1 VALUES LESS THAN (TO_DATE('2000-01-01','YYYY-MM-DD'))
    partition p2 values less than (maxvalue));

    Hello

    This link can help you...
    >

    Kind regards

  • Split partition - index / local

    Hi friends,

    I'm trying to divide a table partition.

    Please let me know if the syntax below are correct.

    If the local index used

    ALTER TABLE SNYT. PART_ESTD
    ESTD_M13_S22 PARTITION SPLIT TO ('IS', 13, '22')
    IN (ESTD_M13_S21 PARTITION, PARTITION ESTD_M13_S22)
    update of the index;

    (by http://asktom.oracle.com/pls/asktom/f?p=100:11:0:::P11_QUESTION_ID:1401247200346349807)
    =================================================================

    If used Global indexes

    ALTER TABLE SNYT. PART_ESTD
    ESTD_M13_S22 PARTITION SPLIT TO ('IS', 13, '22')
    IN (ESTD_M13_S21 PARTITION, PARTITION ESTD_M13_S22)
    UPDATE GLOBAL INDEXES;

    Concerning
    KSG

    Published by: KSG on 23 August 2012 18:27

    Published by: KSG on 23 August 2012 18:51

    http://docs.Oracle.com/CD/E11882_01/server.112/e26088/statements_3001.htm#i2131218

    http://docs.Oracle.com/CD/E11882_01/server.112/e26088/statements_3001.htm#i2151566

Maybe you are looking for