Clustered table replace

Hello,
I have ran into this situation:
Table A is single table in cluster. Table B is table which I want to replace table A with. Issue is that table A has to be always available, so it is not possible to drop and rename. Dependent objects will get decompiled as they lost reference. Exchange partition is not an option as partition and cluster exclude each other.
There is option of processing - execute list of insert update delete commands, but I want to avoid this option because its not necessary, as the table will exist in final state, but outside the cluster.
Droping and renaming would work only if there is something to keep views compiled. Packages will stay compiled if references to table A will be in EXECUTE IMMEDIATE.
If there is something unclear just ask.
Any ideas?
Many thanks

I'm more confused now...
It sounds like you don't want to replace the cluster at all. It sounds like you want to do a simple correlated update
UPDATE target_table t
   SET (<<list of columns>>) =
    (SELECT <<list of columns>>
       FROM source_table s
      WHERE s.key = t.key)
WHERE EXITS
    (SELECT 1
       FROM source_table s
      WHERE s.key = t.key)Justin

Similar Messages

  • Clusters tables in HR ABAP

    hi,
    Can anybody tell me what are clusters tables in HR ABAP.
    Thanks,
    Sriram Ponna.

    Hi,
    Please check this link ... perhaps it may help.
    http://www.hrexpertonline.com/downloads/12-04.doc .
    Regards,
    Ferry Lianto

  • How to load data to a "clustered table" quickly?  direct insert not work

    We have a single hash clustered table whose size is 45G, and we used the command:
    insert /*+ append */ into t_hashed as select * from source.
    the source is about 30G, it takes a very long time(several days, and not yet completed).
    I dumped the redo log, and find there are lots of redo info about the insert. I have thought it should create much redo as it is "direct path insert", but from the dump info I could say the direct path insert didn't take effect.

    Your assessment is correct. INSERT /*+ APPEND */ does not work with a hash clustered table.
    If you think about how hash clusters work, and how direct load insert works, it should be clear to you why a direct load insert via the append hint can never work.
    How hash clusters work (well, only the part that's relevant to the current discussion):
    Initially, at creation time, the storage for the entire cluster is preallocated, based on the various cluster parameters you chose. Think about that. All the storage is allocated to the cluster.
    How direct load works (well, only the part that's relevant to the current discussion):
    Space already allocated to and used by the segment is ignored. Space is taken from free, unformatted blocks from above the high water mark.
    So, hopefully it's clear how these features are incompatible.
    Bottom line:
    It doesn't work, there's no way around it, there's nothing you can do about it....
    -Mark

  • Create clustered table from heap table

    Hi
    I have a table with more than 15 million rows. I want to create a clustured table from this heap table and as you know, I can't use CTAS for clustered table
    I created a clustered table and started insert data to it (Using append hint and parallel 16). Now, waiting 10 hours there's no result. What's the best way?
    Thanks

    a. you can use ctas:
    SQL> select * from v$version;
    BANNER
    Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
    PL/SQL Release 9.2.0.1.0 - Production
    CORE    9.2.0.1.0       Production
    TNS for 32-bit Windows: Version 9.2.0.1.0 - Production
    NLSRTL Version 9.2.0.1.0 - Production
    SQL>  create cluster clu(m_num number);
    Cluster created.
    SQL> create index clu_ind on cluster clu;
    Index created.
    SQL>  create table clu_tab
      2   (m_num)
      3   cluster clu(m_num)
      4   as select rownum from dual connect by level <=10;
    Table created.please post:
    1. the whole cluster creation script
    2. your oracle version
    Amiel Davis

  • Applying support packs, is there way to see all tables/view/clustered table

    We are applying support packs, and they are taking awhile.   Upon review it looks like it's adding some fields to some tables/clustered tables.  Is there a way to see all the tables/views/cluster tables that were updated.  I know I can look at version management, but if somebody can point me to the base tables to look at and I can do an sql to sort them for what I am looking for.   I want to make the changes to the update tables ahead of time by adding the column at the end, so there's no need for a conversion.

    you can find all the changes in Transport requests logs as below ;
    PATH -> SAP******* -> you get package,general text,documentation,table,tabclecontents,porgram,view etc..
    Plesae let me know if you have any questions?
    regards
    nag

  • When to clustering tables

    I understand that clustering tables is grouping tables into same data blocks so that it could reduce random access time when multiple tables join together.
    But do you need to verify tables' location first in order to determine whether clustering them or not?
    Wish someone could show light on the issue. Concrete example will be appreciated. Thanks.

    You don't cluster previously existing tables. You create tables inside of a previously existing cluster.
    When to do it is something determined by using EXPLAIN PLAN and DBMS_XPLAN to determine if it is the right thing to do.
    Generally speaking the rule is if a table, and its data, is most often accessed simultaneously with another table or tables based upon a single set of common attributes.
    Run this query to get an idea of what and when it may make sense:
    select table_name
    from dba_tables
    where cluster_name = 'C_OBJ#'
    order by 1;

  • Wat is the exact differences between clustered table and pooled table

    hi,
       can you tell me ravi...wat is the exact differences between clustered table and pooled table
    with regards//
    anilreddyg

    Hi Anil Reddy
    Pooled Tables, Table Pools, Cluster Tables, and Table Clusters
    These types of tables are not transparent in the sense that they are not legible or manageable directly using the underlying database system tools. They are managed from within the R/3 environment from the ABAP dictionary and also at runtime when they are loaded into application memory.Pool and cluster tables are logical tables. Physically, these logical tables are arranged as records of transparent tables. The pool and cluster tables are grouped together in other tables, which are of the transparent type. The tables that group together pool tables are known as table pools, or just pools; similarly, table clusters, or just
    clusters, are the tables which group cluster tables.Not all operations that can be performed over transparent tables can be executed over pool or cluster tables.
    For instance, you can manage these tables using Open SQL calls from ABAP, but not Native SQL.These tables are meant to be buffered and loaded in memory, because they are commonly used for storing internal control information and other types of data with no external (business) relevance. SAP recommends that tables of pool or cluster type be used exclusively for control information such as
    program parameters, documentation, and so on. Transaction and application data should be stored in transparent tables.
    Table Pools
    From the point of view of the underlying DBMS as from the point of view of the ABAP dictionary, a table pool is a transparent table containing a group of pooled tables which, when created, were assigned to this table pool.
    Field Type Description
    TABNAME CHAR(10) Table name
    VARKEY CHAR(n) Maximum key length n =< 110
    DATALN INT2(5) Length of the VARDATA record returned
    VARDATA RAW(m) Maximum length of the data varies according to DBMS
    Table Clusters
    Similarly to pooled tables, cluster tables are logical tables which, when created, are assigned to a table cluster. Therefore, a table cluster, or just cluster, groups together several tables of type clusters.Several logical rows from different cluster tables are brought together in a single physical record. The records
    from the cluster tables assigned to a cluster are thus stored in a single common table in the database.A cluster contains a transparent cluster key which must be located at the start of the key of all logical cluster tables to be included in the cluster. As well, a cluster contains a long field (VARDATA), which contains the
    data of the cluster tables for this key. If the data does not fit into a field, continuation records are created.
    Field Type Description
    CLKEY1 CHAR(*) First key fields
    CLKEY2 CHAR(*) Second key field
    CLKEYN CHAR(*) nth key field
    PAGENO INT2(5) Number of the next page
    TIMESTMP CHAR(14) Time stamp
    PAGELG INT2(5) Length of the VARDATA record returned
    VARDATA RAW(*) Maximum length of the data section; varies according to database system
    Working with Tables
    The dictionary includes many functions for working with tables. There are five basic operations you can perform on tables: display, create, delete, modify, copy. Please do not confuse displaying a table with displaying the table entries (table contents). In order to display a table, it must previously exist; otherwise the system will display an error message in the status bar. For the following example, the table TABNA is used. To display this table, from the main dictionary screen, enter the table name in the Object name
    input field with the radio button selected next to Tables. Then, click on the Display button at the bottom of the screen, or press the F7 function key, or, alternatively,
    select Dictionary object Display from the menu.
    In this screen, you can see table information such as
    ¨ Table type, shown next to the name of the object. In the example, it is a transparent table.
    ¨ Short text description.
    ¨ Name of the user who made the last change, and the date of the change.
    ¨ Master language.
    ¨ Table status. On the screen, you can see this table is saved and active.
    ¨ Development class. For information on development classes, refer to Chap. 6.
    Delivery class, which sets the maintenance group for the table. It controls how tables will behave during client copy procedures, upgrades, and so forth.¨
    Tab. Maint. Allowed flag, which indicates whether you can generate a screen for maintaining table entries.
    ¨Then, on the lower part of the screen, you can see the table fields with all associated characteristics such as:
    ¨ Field name.
    ¨ Key indicator. When set, this field is the primary key, or part of it.
    ¨ Data element.
    ¨ Basic data type.
    ¨ Length.
    ¨ Check table.
    ¨ Short text, describing the field.
    Additional information about the table can be displayed by selecting the corresponding functions from the menu or directly from the application toolbar, such as keys, indexes, or technical settings
    Standard table:
    The key access to a standard table uses a sequential search. The time required for an access is linearly dependent on the number of entries in the internal table.
    You should usually access a standard table with index operations.
    Sorted table:
    The table is always stored internally sorted by its key. Key access to a sorted table can therefore use a binary search. If the key is not unique, the entry with the lowest index is accessed. The time required for an access is logarithmically dependent on the number of entries in the internal table.
    Index accesses to sorted tables are also allowed. You should usually access a sorted table using its key.
    Hash table:
    The table is internally managed with a hash procedure. All the entries must have a unique key. The time required for a key access is constant, that is it does not depend on the number of entries in the internal table.
    You cannot access a hash table with an index. Accesses must use generic key operations (SORT, LOOP, etc.).
    Index table:
    The table can be a standard table or a sorted table.
    Index access is allowed to such an index table. Index tables can be used to define the type of generic parameters of a FORM (subroutine) or a function module.
    Just have a look at these links:
    http://help.sap.com/saphelp_nw04/helpdata/en/90/8d7304b1af11d194f600a0c929b3c3/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/74/83015785d811d295a800a0c929b3c3/frameset.htm
    Regards
    Sreeni

  • Hash clustered table and freelist

    We want to use hash clustered table to store a lookup table, that table has 300M rows, and every day it will get 100K rows. If using clustered table, we could get a best performance for lookup. My concern is the insert. For normal table, we could use freelist to let different transaction to insert into different block. But for clustered table, many transactions will insert into the same block as their hashed value will locate into the same block. And seems the concept of freelist will not apply to clustered table as a transaction has to operation against a specific block instead of a any-is-ok block

    For the insert operation, things will get worse when use a ID as the hash function, as the ID will increase 1 by 1, so most likely it will be inserted into the same block.
    If using the default hash function, we could avoid this problem, but oracle suggests to use
    "hash is HASH_KEY" when the id is distinct.

  • Database Table replacement in ecc 6

    There are two tables in version 4.6B Named M_VMVMD & M_VMVME.
    what are their replacements in ecc 6.0
    and similarly for the function modules
    MIGO_GR_CREATE
    EXIT_RMVKON00_001
    What are the replacements in ecc 6.0
    Please answer.. urgent requirement.

    Hello,
      The function modules MIGO_GR_CREATE & EXIT_RMVKON00_001 are available in ECC 6.0.
    But the tables M_VMVMD & M_VMVME are not available.
    Thanks,
    Venu

  • How to add tables in data clustering after table creation

    Hi,
    I want to use clustered tables, but the issue is that i have created tables but not
    clusters and now i want to make a cluster and add the tables in this cluster.
    but doesn't find any solution.
    I am using
    http://download-west.oracle.com/docs/cd/B19306_01/server.102/b14231/clustrs.htm#i1006586
    Thanks
    Umesh

    You have a couple of choices but none of them what you want.
    Not knowing version or cluster type or quantity of data or other things my first thought would be to rename the table, create a new one inside the cluster then do an INSERT INTO SELECT * FROM.

  • Clustering a statical table

    If you have a table A and a table B. You create and populate table B with the following query:
    CREATE TABLE B as SELECT * FROM A ORDER by A.columnX;
    If B isn't updated any more after this is this equivalent of creating B as a clustered table on columnX?
    A simple select * from B; will return the tuples ordered by columnX, but does this mean that it is "clustered"?

    yes, if clustered on A all records where A=b are stored together in contiguous blocks as long as there is space in the same extent. As you first create the table(s) and than add them to a cluster I think they will try to optimize this there.
    if you create a normal heap table using select * from ... order by A,
    I'd rather these records are not necessarily stored in contiguous blocks,
    but as it is one bulk operation there is just a high chance they will.
    I think you must check it out using the rowid and see if the blocks used by the above select are contiguous.
    Another option is an IOT if the records are not too large.
    Then after you have optimized the disk IO, if you read that table, oracle will first read these blocks in the cache where they are distributed wildly in buffer chains. So if the table is not large you might say: "alter table ... cache" and use an appropriate db_keep_cache_size. Then you have no disk IO at all.
    By the way: I'm running PostgreSQL on MacOSX. It is really
    one of the first full featured dbms for this plattform and I like it very much too. Do you have any experience with this free Oracle-compatible stuff in PostgreSQL ?
    Message was edited by:
    Karsten Hashimoto

  • Clarification regarding Shadow Table

    Hi All,
    Clarification regarding Shadow Table. FKK_GPSHAD is a shadow table that belongs to Business Partner. The doubts that i have is
    What is Shadow Table?
    What is the purpose of Shadow table?
    Is it correct way to update Shadow table Manually(Not using any BAPi etc....)?
    Is any BAPI available to update The above mentioned Shadow table.
    Thanks in Advance..

    Reclustering InfoCubes:
    With reclustering, the InfoCube fact tables are always completely converted. The system createsshadow tables with a new clustering schema and copies all of the data from the original tables into the shadow tables. As soon as the data is copied, the system creates indexes and the original table replaces the shadow table. After the reclustering request has been successfully completed, both fact tables exist in their original state (name of shadow table) as well as in their modified state with the new clustering schema (name of original table).
    You can only use reclustering for InfoCubes. Reclustering deactivates the active aggregates of the InfoCubes; they are reactivated after the conversion.
    Reclustering DataStore Objects
    Reclustering completely converts the active table of the DataStore object. The system creates a shadow table with a new clustering schema and copies all of the data from the original table into the shadow table. As soon as the data is copied, the system creates indexes and the original table replaces the shadow table. After the reclustering request has been successfully completed, both active tables exist in their original state (name of shadow table) as well as in their modified state with the new clustering schema (name of original table).
    You can only use reclustering for standard DataStore objects and DataStore objects for direct update. You cannot use reclustering for write-optimized DataStore objects. User-defined multidimensional clustering is not available for write-optimized DataStore objects.
    Pls chk this thread:
    Shadow Table?
    http://help.sap.com/saphelp_nw2004s/helpdata/en/47/5cf74153b6ca17e10000000a155106/content.htm
    Hope this helps,
    Reward points...

  • Issue with single table hash cluster

    I'm still learning lots about html db so please do bear with me...
    I have a table that is part of a single table hash cluster. The cluster and table are created like so:
    create cluster webmon.owm_system
      db_id number(3),
      env_id number(3)
    size 171
    hashkeys 1009
    single table
    pctfree 2
    pctused 96;
    create table webmon.owm_system
      tier_id number(3) not null,
      host_id number(3) not null,
      port number(4) not null,
      sid varchar2(8) not null,
      admin_user varchar2(32) not null,
      admin_auth varchar2(48) not null,
      primary_dba_id number(3) not null,
      secondary_dba_id number(3) not null,
      primary_bac_id number(3) not null,
      secondary_bac_id number(3) not null,
      version_id number(3) not null,
      log_mode_id number(3) not null,
      db_id number(3) not null,
      env_id number(3) not null,
      admin_conn varchar2(32) null,
      constraint owm_system_pk primary key (db_id, env_id)
    cluster webmon.owm_system
      db_id,
      env_id
    );I have created a form (and report) to view and edit the data in the table. When I click the "Apply Changes" button on the form after editing data, I get an error. The SQL that is sent to the database is incorrect.
    Here is the (reformatted) incorrect SQL that is sent (captured in a database trace file):
    update
      "WEBMON"."OWM_SYSTEM"
    set
      "SECONDARY_DBA_ID" = :DML_BV0001,
      "DB_ID" = :DML_BV0002,
      "DB_ID" = :DML_BV0003,  /* This should not be here */
      "ENV_ID" = :DML_BV0004,
      "ENV_ID" = :DML_BV0005,  /* This should not be here */
      "HOST_ID" = :DML_BV0006,
      "PORT" = :DML_BV0007,
      "SID" = replace(:DML_BV0008,'%null%',null),
      "ADMIN_USER" = replace(:DML_BV0009,'%null%',null),
      "ADMIN_AUTH" = replace(:DML_BV0010,'%null%',null),
      "ADMIN_CONN" = replace(:DML_BV0011,'%null%',null),
      "VERSION_ID" = :DML_BV0012,
      "LOG_MODE_ID" = :DML_BV0013,
      "TIER_ID" = :DML_BV0014,
      "PRIMARY_DBA_ID" = :DML_BV0015,
      "PRIMARY_BAC_ID" = :DML_BV0016,
      "SECONDARY_BAC_ID" = :DML_BV0017
    where
      "DB_ID" = :p_rowid
    and
      "ENV_ID" = :p_rowid2Why are the DB_ID and ENV_ID columns in the statement twice? That is the error.
    Now, if I create the table as just a basic, non-clustered table like this:
    create table webmon.owm_system
      tier_id number(3) not null,
      host_id number(3) not null,
      port number(4) not null,
      sid varchar2(8) not null,
      admin_user varchar2(32) not null,
      admin_auth varchar2(48) not null,
      primary_dba_id number(3) not null,
      secondary_dba_id number(3) not null,
      primary_bac_id number(3) not null,
      secondary_bac_id number(3) not null,
      version_id number(3) not null,
      log_mode_id number(3) not null,
      db_id number(3) not null,
      env_id number(3) not null,
      admin_conn varchar2(32) null,
      constraint owm_system_pk primary key (db_id, env_id)
    );Everything works as expected. The (correct) SQL sent in this case is:
    update
      "WEBMON"."OWM_SYSTEM"
    set
      "SECONDARY_DBA_ID" = :DML_BV0001,
      "DB_ID" = :DML_BV0002,
      "ENV_ID" = :DML_BV0003,
      "HOST_ID" = :DML_BV0004,
      "PORT" = :DML_BV0005,
      "SID" = replace(:DML_BV0006,'%null%',null),
      "ADMIN_USER" = replace(:DML_BV0007,'%null%',null),
      "ADMIN_AUTH" = replace(:DML_BV0008,'%null%',null),
      "ADMIN_CONN" = replace(:DML_BV0009,'%null%',null),
      "VERSION_ID" = :DML_BV0010,
      "LOG_MODE_ID" = :DML_BV0011,
      "TIER_ID" = :DML_BV0012,
      "PRIMARY_DBA_ID" = :DML_BV0013,
      "PRIMARY_BAC_ID" = :DML_BV0014,
      "SECONDARY_BAC_ID" = :DML_BV0015
    where
      "DB_ID" = :p_rowid
    and
      "ENV_ID" = :p_rowid2The "real" system in question has a fairly large number of single table hash clusters. I'm leary of continuing my explorations if there is a problem with using single table hash clusters. On the other hand, I'm quite open to the idea that I've done something wrong!
    Any pointers? Is there anyway to change the SQL that is being generated when using the single table hash cluster? More information needed?
    Thanks,
    Mark

    Mark,
    Can't help with the hash table problem but as a method of dealing with it you could just make a procedure to manage the table.
    Pass the value of :REQUEST (matches value of button) in and you'll be able to modify the tables.
    procedure manage_owm_system (p_request varchar2,db_id number ...)is
    begin
    case p_request
    when 'CREATE' then
    insert
    into ....
    when 'SAVE' then
    update .....
    else
    raise_application_error(-20001,'Unkown request');
    end case;
    end;
    put that in a plsql reqion after submit
    begin
    manage_owm_system(p_request=>:REQUEST,p_dbid=>:P1_DBID .......);
    end;
    You need to create something similar , with out parameters, to populate the items when the pags loads.
    Chris

  • Trying to convert Interval Partitioned Table to Range..Exchange Partition..

    Requirement:
    Replace Interval partitioned Table by Range Partitioned Table
    DROP TABLE A;
    CREATE TABLE A
       a              NUMBER,
       CreationDate   DATE
    PARTITION BY RANGE (CreationDate)
       INTERVAL ( NUMTODSINTERVAL (30, 'DAY') )
       (PARTITION P_FIRST
           VALUES LESS THAN (TIMESTAMP ' 2001-01-01 00:00:00'));
    INSERT INTO A
         VALUES (1, SYSDATE);
    INSERT INTO A
         VALUES (1, SYSDATE - 30);
    INSERT INTO A
         VALUES (1, SYSDATE - 60);I need to change this Interval Partitioned Table to a Range Partitioned Table. Can I do it using EXCHANGE PARTITION. As if I use the conventional way of creating another Range Partitioned table and then :
    DROP TABLE A_Range
    CREATE TABLE A_Range
    a NUMBER,
    CreationDate DATE
    PARTITION BY RANGE (CreationDate)
       (partition MAX values less than (MAXVALUE));
    Insert  /*+ append */  into A_Range Select * from A; --This Step takes very very long..Trying to cut it short using Exchange Partition.Problems:
    I can't do
    ALTER TABLE A_Range
      EXCHANGE PARTITION MAX
      WITH TABLE A
      WITHOUT VALIDATION;
    ORA-14095: ALTER TABLE EXCHANGE requires a non-partitioned, non-clustered table
    This is because both the tables are partitioned. So it does not allow me.
    If I do instead :
    create a non partitioned table for exchanging the data through partition.
      Create Table A_Temp as Select * from A;
       ALTER TABLE A_Range
      EXCHANGE PARTITION MAX
      WITH TABLE A_TEMP
      WITHOUT VALIDATION;
      select count(*) from A_Range partition(MAX);
    -Problem is that all the data goes into MAX Partition.
    Even after creating a lot of partitions by Splitting Partitions, still the data is in MAX Partition only.
    So:
    -- Is it that we can't Replace an Interval Partitioned Table by Range Partitioned Table using EXCHANGE PARTITION. i.e. We will have to do Insert into..
    -- We can do it but I am missing something over here.
    -- If all the data is in MAX Partition because of "WITHOUT VALIDATION" , can we make it be redistributed in the right kind of range partitions.

    You will need to pre-create the partitions in a_range, then exchange them one by one from a to a tmp then then to arange. Using your sample (thanks for proviing the code by the way).
    SQL> CREATE TABLE A
      2  (
      3     a              NUMBER,
      4     CreationDate   DATE
      5  )
      6  PARTITION BY RANGE (CreationDate)
      7     INTERVAL ( NUMTODSINTERVAL (30, 'DAY') )
      8     (PARTITION P_FIRST
      9         VALUES LESS THAN (TIMESTAMP ' 2001-01-01 00:00:00'));
    Table created.
    SQL> INSERT INTO A VALUES (1, SYSDATE);
    1 row created.
    SQL> INSERT INTO A VALUES (1, SYSDATE - 30);
    1 row created.
    SQL> INSERT INTO A VALUES (1, SYSDATE - 60);
    1 row created.
    SQL> commit;
    Commit complete.You can find the existing partitions form a using:
    SQL> select table_name, partition_name, high_value
      2  from user_tab_partitions
      3  where table_name = 'A';
    TABLE_NAME PARTITION_NAME HIGH_VALUE
    A          P_FIRST        TO_DATE(' 2001-01-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA
    A          SYS_P44        TO_DATE(' 2013-01-28 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA
    A          SYS_P45        TO_DATE(' 2012-12-29 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA
    A          SYS_P46        TO_DATE(' 2012-11-29 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAYou can then create table a_range with the apporopriate partitions. Note that you may need to create additional partitions in a_range because interval partitioning does not create partitions that it has no data for, even if that leaves "holes" in the partitioning scheme. So, based on the above:
    SQL> CREATE TABLE A_Range (
      2     a NUMBER,
      3     CreationDate DATE)
      4  PARTITION BY RANGE (CreationDate)
      5     (partition Nov_2012 values less than (to_date('30-nov-2012', 'dd-mon-yyyy')),
      6      partition Dec_2012 values less than (to_date('31-dec-2012', 'dd-mon-yyyy')),
      7      partition Jan_2013 values less than (to_date('31-jan-2013', 'dd-mon-yyyy')),
      8      partition MAX values less than (MAXVALUE));
    Table created.Now, create a plain table to use in the exchanges:
    SQL> CREATE TABLE A_tmp (
      2     a              NUMBER,
      3     CreationDate   DATE);
    Table created.and exchange all of the partitions:
    SQL> ALTER TABLE A
      2    EXCHANGE PARTITION sys_p44
      3    WITH TABLE A_tmp;
    Table altered.
    SQL> ALTER TABLE A_Range
      2    EXCHANGE PARTITION jan_2013
      3    WITH TABLE A_tmp;
    Table altered.
    SQL> ALTER TABLE A
      2    EXCHANGE PARTITION sys_p45
      3    WITH TABLE A_tmp;
    Table altered.
    SQL> ALTER TABLE A_Range
      2    EXCHANGE PARTITION dec_2012
      3    WITH TABLE A_tmp;
    Table altered.
    SQL> ALTER TABLE A
      2    EXCHANGE PARTITION sys_p46
      3    WITH TABLE A_tmp;
    Table altered.
    SQL> ALTER TABLE A_Range
      2    EXCHANGE PARTITION nov_2012
      3    WITH TABLE A_tmp;
    Table altered.
    SQL> select * from a;
    no rows selected
    SQL> select * from a_range;
             A CREATIOND
             1 23-NOV-12
             1 23-DEC-12
             1 22-JAN-13John

  • SOME DOUBTS IN SETUP TABLES

    HI,
    TO ALL BW GURUS,
    I WANT TO KNOW THE ARCHITECTURE OF SETUP TABLES.
    WHAT IS THE MAIN DIFF'S BETWEEN NORMAL TABLES AND POOLED AND CLUSTERED TABLES.
    2.
    WHAT IS PSEUDODELTA.
    WHERE IT IS USED AND WHAT IS THE PURPOSE OF THIS DELTA.
    THANKS
    ANAND.

    Hi,
    check the beow link for table types:
    http://help.sap.com/saphelp_47x200/helpdata/en/81/415d363640933fe10000009b38f839/frameset.htm
    regards,
    raju

Maybe you are looking for