Table split

I have a table with columns like the below
doctor_id, month, value1, value2, value3, value4 .............. value 30, update1, update2, update2, update3......update10
this table will have many records every month we only store two months data... even that is huge...
the columns value1 to value30 keep changing every month. These columns are doctor's several factors related to his practice...
every month we need to compare each doctor's previous month values and generate some report and also update the columns update1 to update10....
Basically both inserts and lot of updates happen on that table daily and as well as monthly....
The question is "will it be good to split this table into two tables to share the load and improve performance? "

I gather from what you said that:
1) For one record, doctor_id and month will never change;
2) SQL against the tables always, or at least mostly, includes a value for the month;
3) You are mostly changing data in the most recent month;
4) You need to purge data older than the last two months.
In this situation, partitioning comes to mind. This splits the data without "splitting" the table definition itself. The most natural would be to split by month.
If the SQL always includes the month value, then you could use "local" indexes only, which are easier to manage.
Purging old data is as easy as removing the oldest partition, which takes almost no time and does not disturb newer data.
Partitioning is an option of Enterprise Edition: you have to pay for it.
P.S. Don't think about splitting the columns into two tables! A 1:1 relationship should go into one table; Oracle will manage that better than two tables.
Edited by: Stew Ashton on May 22, 2012 4:45 PM (P.S.)

Similar Messages

  • Unicode export:Table-splitting and package splitting

    Hi SAP experts,
    I know there are lot of forums related to this topic, but I have some new questions and hence posting a new thread.
    We are in the process of doing unicode conversion in our landscape(CRM 7.0 system based on NW 7.01) and we are running on AIX 6.1 and DB2 9.5. The database size is around 1.5 TB and hence, we want to go in for optimization for export and import in order to reduce the downtime.As a part of the process, we have tried to do table-splitting and parallel export-import to reduce the downtime.
    However, we are having some doubts whether this table-splitting has actually worked in our scenario,as the export has exeucted for nearly 28 hours.
    The steps followed by us :
    1.) Doing the export preparation using SAPINST
    2.) Doing table splitting preparation, by creating a table input file having entries in the format <tablename>%<No.of splits>.Also, we have used the latest R3ta file and the dbdb6slib.o(belonging to version 7.20 even though our system is on 7.01) using SAPINST.
    3.) Starting with the export using SAPINST.
    some observations and questions:
    1.) After completion of tablesplitting preparation, there were .WHR files that were generated for each of the tables in DATA directory of export location. However, how many .WHR files should be created and on what basis are they created?
    2.) I will take an example of a table PRCD_CLUST(cluster table) in our environment, which we had split. We had 29 *.WHR files that were created for this particular table. The number of splits given for this table was 36 and the table size is around 72 GB.Also, we noticed that the first 28 .WHR files for this table, had lots of records but the last 29th .WHR file, had only 1 record. But we also noticed that, the packages/splits for the 1st 28 splits were created quite fast but the last one,29th one took a long time(serveral hours) to get completed.Also,lots of packages were generated(around 56) of size 1 GB each for this 29th split. Also, there was only one R3load which was running for this 29th split, and was generating packages one by one.
    3.) Also,Our question here is that is there any thumb rule for deciding on the number of splits for a table.Also, during the export, are there any things that need to be specified, while giving the inputs when we use table splitting,in the screen?
    4.) Also, what exactly is the difference between table-splitting and package-splitting? Are they both effective together?
    If you have any questions and or need any clarifications and further inputs, please let me know.
    It would be great, if we could get any insights on this whole procedure, as we know a lot of things are taken care by SAPINST itself in the background, but we just want to be certain that we have done the right thing and this is the way it should work.
    Regards,
    Santosh Bhat

    Hi,
    First of all please ignore my very first response ... i have accidentally posted a response to some other thread...sorry for that 
    Now coming you your questions...
    > 1.) Can package splitting and table-splitting be used together? If yes or no, what exactly is the procedure to be followed. As I observed that, the packages also have entries of the tables that we decided to split. So, does package splitting or table-splitting override the other, and only one of the two can be effective at a time?
    Package splitting and table splitting works together, because both serve a different purpose
    My way of doing is ...
    When i do package split i choose packageLimit 1000 and also split out the tables (which i selected for table split)  into seperate package (one package per table). I do it because that helps me to track those table.
    Once the above is done i follow it up with the R3ta and wheresplitter for those tables.
    Followed by manual migration monitor to do export/import , as mentioned in the previous reply above you need to ensure you sequenced you package properly ... large tables are exported first , use sections in the package list file , etc
    > 2.) If you are well versed with table splitting procedure, could you describe maybe in brief the exact procedure?
    Well i would say run R3ta (it will create multiple select queries) followed by wheresplitter (which will just split each of the select into multiple WHR files)  ...  
    Best would go thought some document on table spliting and let me know if you have specific query. Dont miss the role of hints file.
    > 3.) Also, I have mentioned about the version of R3ta and library file in my original post. Is this likely to be an issue?Also, is there a thumb rule to decide on the no.of splits for a table.
    Rule is use executable of the kernel version supported by your system version. I am not well versed with 7.01 and 7.2 support ... to give you an example i should not use 700 R3ta on 640 system , although it works.
    >1.) After completion of tablesplitting preparation, there were .WHR files that were generated for each of the tables in DATA directory of export location. However, how many .WHR files should be created and on what basis are they created?
    If you ask for 10 split .... you will get 10 splits or in some case 11 also, the reason might be the field it is using to split the table (the where clause). But not 100% sure about it.
    > 2) I will take an example of a table PRCD_CLUST(cluster table) in our environment, which we had split. We had 29 *.WHR files that were created for this particular table. The number of splits given for this table was 36 and the table size is around 72 GB.Also, we noticed that the first 28 .WHR files for this table, had lots of records but the last 29th .WHR file, had only 1 record. But we also noticed that, the packages/splits for the 1st 28 splits were created quite fast but the last one,29th one took a long time(serveral hours) to get completed.Also,lots of packages were generated(around 56) of size 1 GB each for this 29th plit. Also, there was only one R3load which was running for this 29th split, and was generating packages one by one.
    Not sure why you got 29 split when you asked for 36, one reason might be the field (key) used for split didn't have more than 28 unique records. I dont know how is PRCD_CLUST  split , you need to check the hints file for "key". One example can be suppose my table is split using company code, i have 10 company codes so even if i ask for 20 splits i will get only 10 splits (WHR's).
    Yes the 29th file will always have less records, if you open the 29th WHR you will see that it has the "greater than clause". The 1st and the last WHR file has the "less than" and "greater than" clause , kind of a safety which allows you to prepare for the split even before you have downtime has started. This 2 WHR's ensures  that no record gets missed, though you might have prepared your WHR files week before the actual migration.
    > 3) Also,Our question here is that is there any thumb rule for deciding on the number of splits for a table.Also, during the export, are there any things that need to be specified, while giving the inputs when we use table splitting,in the screen?
    Not aware any thumb rule. First iteration you might choose something like 10 for 50 GB , 20 for 100 GB. If any of the tables overshoots the window. They you can give a try by  increase or decrease the number of splits for the table. For me couple of times the total export/import  time have improved by reducing the splits of some tables (i suppose i was oversplitting those tables).
    Regards,
    Neel
    Edited by: Neelabha Banerjee on Nov 30, 2011 11:12 PM

  • Export with Table Splitting : ORA-01115: IO error reading block from file

    Hello,
    We are in perfroming the last dryrun of our CU&UC conversion.
    The are now in the process of exporting the ECC6 system (Oracle 10.2.0.4.0, HPUX ia64) using sapinst features, "table splitting preparation"
    When doing so, we are facing critical errors :
    Creating file /export_uni/sapinst_splitting/ora_query3_tmp3_1.sql.
    ERROR 2010-08-11 10:27:28.881
    CJS-00084  SQL statement or script failed. DIAGNOSIS: Error message: ORA-12801: error signaled in parallel query server P002
    ORA-01115: IO error reading block from file 90 (block # 16640)
    ORA-27072: File I/O error
    HPUX-ia64 Error: 22: Invalid argument
    Additional information: 4
    Additional information: 16640
    Additional information: -1
    ORA-01115: IO error reading block from file 90 (block # 16640)
    ORA-27072: File I/O error
    HPUX-ia64 Error: 22: Invalid argument
    ORA-06512: at "SAPR3.TABLE_SPLITTER", line 775
    ORA-06512: at line 1
    I have therefore perfmed a dbverify ; no corruption has been recorded.
    When trying to perfrom the EXPORT, without table splitting ; it works fine ...but the processing time is extremely long, as you can imagine. Any help would be highly appreciated.Regards.
    Raoul

    Thank you Stefan,
    Our HPUX Release seems to be indeed 11v3,
    [root@:/root]# uname -a
    HP-UX B.11.31 U ia64 2566039091 unlimited-user license
    I'll check the installation of the  patch and keep you informed
    Thank you
    Raoul
    Edited by: Raoul Shiro on Aug 11, 2010 11:57 AM

  • Urgent: Unicode conversion - table splitting

    Hi all,
    I am having a problem when trying to perform the export step of the unicode conversion on ERP2005, MSSQL server 2005. Due to previously very long runtime, I am trying to use the table splitting option. I have performed the "Table Splitting Preparation" step with what seems to be a success.
    The problem is when I run the actual database instance export.
    First of all:
    Which filepath should I provide SAPinst when it is asking for "Table input file"?
    Second:
    How can I actually determine the Package Unload Order? I tried selecting this option, but I was not given the opportunity to change this order in the subsequent screen. (The F1 help in SAPinst sais that I would be able to...)
    Have anyone of you experience with this?
    Best Regards,
    Thomas

    Hi Thomas,
    As I can imagine from the date of your last posting, you probably have your answers. But just so other people, who are searching on this topic, can find the answer here, I will fill in the blanks.
    First, when using table splitting, you must export using the migration monitor (MIGMON). That means, when you run SAPINST, on the ABAP System -> Database Export screen, select the Export Method: Export using Migration Monitor.
    At this point, as you said, you have already run the Table Splitting option from SAPINST, so the WHR files are in the export DATA directory. This whr.txt file is also there.
    The file input screen you are mentioning does not appear when you select the Export method mentioned above. But you can create such a file for MIGMON. You have to create this on your own and can only do it after the SAPINST has split the STR files.
    When finished with SAPINST, create the .txt file (I usually call it table_order.txt) and add the names of the STR files which you want to make sure are exported first. After MIGMON completes that list, all other STR files are exported in alphabetical order.
    Create your table_order.txt file inserting the filenames of the packages that were created, without the STR/WHR extensions (using some large tables which STR splitter broke out into their own STR files during my last export). You have to look in DB02 and sort descending based on used space to determine the order in which these tables should be exported and listed in the .txt file:
    <SPLIT Table>-1
    <SPLIT Table>-2
    <SPLIT Table>-n
    BSIS
    RFBLG
    CE1VVOC
    CE1WWOC
    DBTABLOG
    CE3VVOC
    COEP
    ARFCSDATA
    GLPCA
    KONV
    SWW_CONT
    SOC3
    CDCLS
    CE3WWOC
    BSE_CLR
    STXL
    EDIDS
    COSP
    BSAD
    EDI40
    ACCTIT
    BSIM
    VBFS
    BSAS
    ACCTCR
    CDHDR
    CE4VVOC_ACCT
    SGOHIST
    MSEG
    In the export_monitor_cmd.properties file, you specify this file name for the 'orderBy=' parameter. Create and keep the table_order.txt file in the same directory as the export_monitor.sh/.bat files.
    For importing, again you will need to use the Migration Monitor. SAPINST will automatically stop and prompt you to start the import using MIGMON. Here, you can specify the same table_order.txt file. You might want to amend it to control when the rest of the packages are imported, if you found one or more tables holding up the completion of the export.
    I hope this helps someone.
    Best Regards,
    Warren Chirhart

  • Table split method Error - DB migration

    Hi,
    We are installing NW730,
    Migration details : oracle/solaris to DB2/Solaris
    Table split preparation failed with "R3ta failed for table REPOSRC"
    Also, am not sure about the below parameter which i gave during the "table spliting preparation"
    Database type : Oracle
    Thanks in Advance.

    Hi,
    Do you create table splitting file for table REPOSRC?
    for eg:
    REPOSRC%4;PROGNAME
    Perform a search on SDN and you'll find useful info in table splitting.
    Cheers,
    Thanks,
    Nicholas Chang

  • Smooth way to restart failed R3loads with table splitting

    Hi,
    We are running a Unicode conversion with largest tables split into 10 or more export/import packages.
    Now some of the packages fail, as they normally do.
    We use sockets technique.
    Do you find a smooth and reliable way to
    - delete already imported rows using where clause from the TSK files (both export and import servers)
    - replace "err" with "xeq" (or something else?) in TSK file (both export and import servers)
    - replace "=-" with "=0" in export_state.properties and import_state.properties
    We have done this manually with vi editor, but to me it sounds a bit too risky, as migration monitor itself might be trying to modify contents of .properties files simultaneously.
    We are looking for best practices on this one. All you techies, share your experience!
    Thanks a lot!
    BR.
    Samuli Kaisanlahti
    Certified Netweaver Basis consultant

    Dear Samuli,
    My experience with R3load is that editing and modifying TSK files could lead to problems and inconsistences, that will probably appear weeks after the import.
    I'd recommend that, in case of problems, you start the complete load from scratch.
    Regards
    Francisco

  • Table splitting for SAP Migration

    Hi ,
    The table splitting preparation through SAPINST takes long time.
    How soon can we start the tablesplitting  preparation before the export?
    can we start at command level without SAPINST?
    Thanks,
    Chitra

    Hi Chitra,
    Table splitting time depends upon number of tables for which table splitting needs to be done, no of parallel jobs and version of R3ta, R3load and R3szchk files.
    How many tables are your splitting ?
    How many parallel jobs have u defined ?
    Have you updated R3ta, R3load and R3szchk ?
    Regards,
    Deepak Kori

  • Using Table Splitting

    Hello,
    I am doing experiments in preparation of a unicode conversion of a 1 TB MAXDB system. Therfore I have exported the database with sapinst with a duration of 44 hours.
    To reduce the downtime I did another try using the table splitting option with the export monitor. Because I have not found detailed information I did a mistake in konfiguration of the file import_monitor_cmd.properties, so the export monitor did not use table splitting but needed also 44 hours for export (in addition to calculation of table splitting of around 20 hours which can be done online).
    At third try I konfigured the export monitor right, the duration increases to 7 days.
    Technical details:
    R3 Enterprise EXT 1.1, Kernel 640, MAXDB 7.5, actual R3ta
    10 CPU, 30 GB RAM, SAN
    8 parallel processes for export,
    8 tables to split to 16 parts each (COEP, COSS, COSP, COSB, GLPCA, CDCLS, AUSP, IBINVALUES)
    largest table: COSS with 85 GB
    DB-Size filled: around 1 TB, 50 Datafiles
    In special of MAXDB it would be best to use primary key for table splitting. But I found no documentation of the file R3ta_hints.txt where I can manipulate the splitting decision of R3ta. (I added IBINVALUES IN_RECNO as selective column).
    And now the questions:
    Do you know a detailed dokumentation of the file import_monitor_cmd.properties?
    Do you know a documentation of the R3ta table splitting options and input possibilities of R3ta_hints.txt?
    Can you give me some experiences of similiar tests or migrations?
    Best regards
    Andreas

    I´m actually trying to do a likewise thing with a 2,1 TB MaxDB 7.6.
    (in addition to calculation of table splitting of around 20 hours which can be done online).
    I´d be careful doing that online. If either at the time R3ta starts to evaluate the distinct values or after that table is finished someone does an insert to one of those tables you may miss that entry.
    I used DB50 - Statistics to find out the biggest tables. After I had those I created my own  R3ta_hints.txt checking each table in SE11 and DB50 to find out which field has the most distinct values. I have 85 tables in the R3ta_hints.txt.
    The R3ta run itself took almost three days (though database prefetching was activated).
    Since I had good experiences with packages of 250 MB in former migrations I spllited the rest of the tables with that value. At the end there were 1,114 packages.
    I started the export last friday, it´s still running.
    After my experiences the MaxDB can´t leverage the parallel unload as it would be expected. You may see a little better speed if you set the parameter LRU_FOR_SCAN to YES which will then use the full available data cache for table scans (as R3load does) instead of just 10 % of the cache if set to NO.
    What you see if you use parallel unload is (using x_cons  sh ac 1)
    T204   7     -1 User      21781 IO Wait (R)           0 0     45        98030278(s)
    T206   7     -1 User      21911 IOWait(R)(041)        0 0               98030278(s)
    T222   8     -1 User      21887 IOWait(R)(041)        0 0               132941587(s)
    T228   8     -1 User      21775 IOWait(R)(041)        0 0               132941587(s)
    T234   9     -1 User      21899 IOWait(R)(041)        0 0               105696431(s)
    T236   9     -1 User      21893 IOWait(R)(041)        0 0               105696431(s)
    T248  10     -1 User      21905 IO Wait (R)           0 0     40        101974717(s)
    T249  10     -1 User      21311 IO Wait (R)           0 0     41        101974717(s)
    The IOWaits with 041 are no real reads but in fact waits for another task reading the same tree/leafs.
    Markus

  • Table splitting during upgradation

    Hi,
    Please read the SAP Note below.
    In upgrade SAP had made changes to USR03 and SADR tables. The data that was previously stored in USR03 (SAP user) or in SADRP/SADR (office user) was merged in the tables of central address management (ADRP, ADRC, ADCP, ADR2, ADR3 and so on). The programs which are using those tables will not give syntax errors, but will not generate any output. As per the OSS note 96607:
      1. Replace accesses to table USR03 by calling function module SUSR_USER_ADDRESS_READ or BAPI_USER_GET_DETAIL.
    2 Replace accesses to the addresses of an SAP application in table SADR by calling function module ADDR_GET.
    Can you please let me know where this splitting or merging of tables information will be stored?
    The means the data that was in USR03 or in SADR was merged in tables ADRP, ADRC, ADCP, ADR2, ADR3 .
    Where this merging tables information will be stored?
    Thanks,
    Murthy

    Hi Chitra,
    Table splitting time depends upon number of tables for which table splitting needs to be done, no of parallel jobs and version of R3ta, R3load and R3szchk files.
    How many tables are your splitting ?
    How many parallel jobs have u defined ?
    Have you updated R3ta, R3load and R3szchk ?
    Regards,
    Deepak Kori

  • Table splitting - source db ms sql

    Dear All,
    Can we use table splitter during export of database which running on MS SQL Server ?
    If yes, then what we have to mention in table splitting file ?
    example in oracle we are mentioning tablename%numberofsplit;ROWID.
    Thanks,
    Nikunj Thaker

    Hi,
    Let me try to help...
    I think we need physical data server for SQL server.
    Yes, you will
    Do we need Logical schema also for SQL server?
    Yes, you do.
    We already have model for Oracle source. Do we need one for SQL server or is there a way we can use it for both.
    You will need a new one, once they are from distinct techologies.
    We need to add new LKM for SQL server.
    No, you can use a generic SQL LKM
    Do we need to change CKM?
    Are you validating some kind of constraint? If not, doesn't use any! If yes, you don't need to use a new CKM if the staging area remains the same.
    I believe this post can help you a little.... http://odiexperts.com/?p=652
    Make any sense?
    Cezar Santos
    [www.odiexperts.com]
    Edited by: Cezar Santos - www.odiexperts.com on 05/11/2009 17:40

  • Error in import of tables splitted with SQL splitter of note 1043380

    I'm doing an import on AIX for a Sap system, while the source system was on Windows and during the export I splitted some table using the splitter of note 1043380.
    THe export went fine, and I see from the .TOC files into the export directory a huge number of rows has been exported for these splitted tables.
    Neverthless during the import I discovered the Sapinst mark these tables as completed but the edata is not imoported.
    Into the .log file for one of them I see this :
    RFF) ERROR: no entry for table "VBFA" in "/export/ABAP/DATA/VBFA-1.TOC"
    (IMP) INFO: import of VBFA completed (0 rows)
    On SDN I found the post:
    Problem with import of split tables.
    But it's not clear how to apply it. I try to modify the ..TSK files for the VBFA pieces but I'm not able to find out the two space  characters responsible for this behaviour.
    Below some row of one of the .TSK for the VBFA table:
    VBFA-1__TPI.TSK
    D VBFA I ok
    WHERE (ROWID >= CHARTOROWID('AAAaZsAAEAAAqYJAAA') and ROWID <= CHARTOROWID('AAAaZsAAEAAArYIEI/'))
    /*+ ROWID ("VBFA") */
    D VBFA I ok
    WHERE (ROWID >= CHARTOROWID('AAAaZsAAEAACGUJAAA') and ROWID <= CHARTOROWID('AAAaZsAAEAACIUIEI/'))
    /*+ ROWID ("VBFA") */
    Beside the post stated this is a well know bug of the splitter of note 1043380 but I'm not able to find any Oss note for that.
    I used the splitter already several times and never encountered this error.
    Any help is really appreciated.
    Best regards

    Sorry I have posted the wrong link, it should be:
    Re: Import error 1647, CLOB fields problem, need help!
    Regards
    Rob

  • Table split across pages

    Is it possible to setup Indesign to automatically split table across frames like Microsoft Word do across pages?

    ID splits tables only between cells rows, not mid-row, but it will certainly split a table between frames.

  • Indesign CS4 Table splitting apart

    I'm using Indesign CS4. I created a table and then I went back in to add some text. As soon as I added some text, my table just split apart into 2 separate tables. I'm so perplexed???

    We figured it out. (Pacificed is a coworker of mine, but I was unavailable to troubleshoot yesterday.)
    It appeared to be a corrupted cell in one of the rows. I cut it, and repasted the cells in that row and everything reflowed nicely. I've had it happen in the past as well. I'm not sure what caused it.
    The camera icon doesn't seem to be working for her (I don't even think there's a way to attach images from the website), so I'm testing it with the following photo:

  • Table Splitting in 46C

    Hi,
    We are trying to do system copy of 46C environment. R3setup says to use perl for splitting table. How ever the tool returns an error code 2, when using perl and splitting large tables. Has anyone faced any issues like these before?
    Kind Regards,
    Jitendra

    This is a basic error for PERL. Have you tried running PERL from the command line (on the server) to see if it will run without error?
    J. Haynes

  • ORA-20100: Column name undefined invalid Error - Table splitting

    Hi
    While tablesplitting in our upgraded ECC6.0 (EHP4) system, we are facing the below error
    BEGIN table_splitter.ranges('SOFFCONT1','undefined',5,'/tmp/sapinst_instdir/ERPEhP4/LM/COPY/ORA/EXP/CENTRAL/AS-ABAP/PRETABSPLIT/Split/DATA'); END;
    ERROR at line 1:
    ORA-20100: Column name undefined invalid
    ORA-06512: at "SAPR3.TABLE_SPLITTER", line 775
    ORA-06512: at line 1
    In our R3hint file we have the below entry, but still we face the issue.
    (kdecc01)#cat R3ta_hints.txt | grep SOFF
    SOFFCONT1       PHIO_ID
    Has anyone faced this issue before?
    Senthil

    see SAP note 1043380
    Ensure the directory being reference does actually exist and ensure
    privilege are provided for access. Also, a Directory Alias should be
    used instead of the database parameter UTL_FILE_DIR which has been
    deprecated.
    Grant the READ or WRITE privileges to the username accessing the
    DIRECTORY.
    Ensure that the file being read does exist and actually contains
    information to be read.
    regards,
    Vincent

Maybe you are looking for

  • In Illustrator CS5, how can I scale down the length of each line in a selection rather than the selection as a whole?

    For example, suppose that I have selected the three lines in the image A below.  From a right-click > Transform > Scale... > Uniform (70%), I can produce B.  However I would like to produce C, in which each line is scaled down by 70%.  (Of course, I

  • My itunes won't open... read?

    "Apple application support was not found. Apple application support is required to run itunes. Please uninstall itunes and reinstall again. Error 2. (windows error 2)" that error comes up everytime i try to open up itunes. I've un-installed itunes se

  • Connecting iBook to television - scan rates

    This may well be a stupid question, but it's late at night and my brain is already asleep! I want to connect my iBook G4 to a television to display some multimedia presentations, so I've bought the Apple Video Adapter. I also intend to get an s-video

  • Magic Mouse scroll not working.

    Has anyone found a solution to the Magic Mouse, not scrolling all of the time after the latest OSX update (10.9).  Tried forgetting the mouse and then reactivating it.  No luck.

  • Outlook macro to make a call

    Hello, I'm using an outlook macro to run a powershell script. The powershell script queries my outlook contacts, displays their Name and phone number and then prompts to read a phone number from user. user inserts the number and makes the call. i att