Reducing table storage space in oracle 8i

Hi,
I am trying to reduce the space usage of the historical tables I have.
These tables contains Data of the previous months.The only table(snapshot) we can retrive the historical data from.
Is there any table compression technique or script that can help me? I can't afford to reduce the PCTFREE parameter.
Waiting for your valuable suggestions
Regards
Rajib

Hi Rajib,
Dropping unused extents will definelty help you reduce the space occupied. But before that you need to know how many extents are totally blank. if more percent of extents are completely blank then this option will help you to a certain extent.
You can make use of dbms_rowid package and dba_extents and find out no of blocks/extents partially or completely free.
Or else , rebuilding a table is a best option , but again depends on the size of the table. If bigger the table, time taken to rebuild ill be more. If you can afford this time, then well and fine.
-Firoz

Similar Messages

  • Reducing Mail Storage Space on Mac OS X Server

    Hi,
    We have a very large mail database on Mac OS X Server as we store a lot of images etc. in our email.
    I have been trying to delete older messages, and deleting them off the server but this seems to have little net effect in terms of opening up more free disk space on the server.
    I have deleted older emails on each client version of mail and after also chose the Erase Deleted items option to make sure that the messages are being deleted off the server
    In addition I noticed also that /var/spool and /var/spool/imap continue to remain at close to 150GB each?
    I tried to look up online as to what these directories hold and am wondering if there is something I need to do (after deleting messages) to help compact the mail database and perhaps thereby reduce the amount of files in /var/spool & var/spool/imap
    Does anyone have any suggestions or help in this matter - would be most appreciated.
    Thanks - Rohin

    I tried to look up online as to what these directories hold and am wondering if there is something I need to do (after deleting messages) to help compact the mail database and perhaps thereby reduce the amount of files in /var/spool & var/spool/imap
    The mail content is stored in /var/spool/imap/user/ and I'm surprised that you're seeing content sizes for those folders (unless perhaps you're logged in as root) since they are owned by cyrus and not otherwise accessible. Mine only shows about 320MB (the size of the database) for the /spool/imap/ folder when I know that the actual contents are weighing in at around 10GB..
    There are maintenance tools in Server Admin that will let you reconstruct individual mail accounts as well as repair the mail service database. Best done by stopping the mail service and performing the maintenance.
    -Doug

  • Manage max table storage space in case of excess data (size in GB)

    My scenario is that I am using sql server 2008 r2 on my end. I have created a database named testDB. I have a lot of tables with some log tables in this. some tables have contain lack of records in log table.
    So my purpose is that I want to fix the table size of those tables(log tables) and want to move records in other database table placed on another location. So my database has no problem.
    Please tell me, is there any way to make such above steps which I want for my database?
    Is there already built any such functionality in sql server?
    May be this question repeated but still I have no solution for my issue.
    Fill free to ask any query.
    Thanks

    My scenario is that I am using sql server 2008 r2 on my end. I have created a database named testDB. I have a lot of tables with some log tables in this. some tables have contain lack of records in log table.
    So my purpose is that I want to fix the table size of those tables(log tables) and want to move records in other database table placed on another location. So my database has no problem.
    Please tell me, is there any way to make such above steps which I want for my database?
    Is there already built any such functionality in sql server?
    May be this question repeated but still I have no solution for my issue.
    Fill free to ask any query.
    Thanks
    well, there is no such direct option to restrict the table size.. one way, you can do it. putt that table on separate filegroup and files and restrict the growth on the file. BUT, this will not give the accurate limitaion on the rows you want and, it not
    a good practice to do that- infact you should never do this option. and if you have more tables, each one would require it's own filegroup/files - this is a bad idea.
    the more common solution is to archive the information into another table in a different database.
    a simple script such as this would work. this will move all the log data older than 30 days to archive database
    use ArchiveDatabase
    GO
    insert into archivetable
    select * from testdb..Oldtablelog where logdate <(dateadd(day,-30,getdate())
    is there any particular reason you want to archive the data.. if this for database managability- for backups/maintanence - you can partition and mark the old filegroups as readonly and new data as read-write.
    Hope it Helps!!

  • How can I reduce the storage needs for iMovie events (raw video)

    Good news - After borrowing an 8mm analog camcorder (mine died years ago) and an older digital camcorder (mine doesn't support A/V in) I have been able to set up a "bridge" to convert our old 8mm home videos to digital and import them to iMovie.
    Bad news - At 13GB per 8mm tape, plus the Mini DV tapes we also have, getting it all in the computer with room to grow is going to require at least 500GB of space, which I don't have. On hand are 120GB internal (MacBook), 120GB external (Time Machine) and 40GB portable.
    After my experience with the 8mm analog camcorder (it died, couldn't buy them anymore, tapes useless) I want to get everything digital in a standard format with backup.
    1) Is there any way to reduce the storage space required for the raw video (Events) without impacting image quality (already mediocre in the tapes converted from analog)?
    2) What's the best way to squeeze an hour of video down to fit on a DVD but still leave the video available for re-import/editing in the future? I'd likely mail the DVDs to my parents house or something to keep them separate.
    Thanks!

    Hi
    You can also use
    Yousendit (google it)
    where You can send 200Mb movies
    - You download Your movie to them
    - get an Internet address back ( url - I think it's called )
    - this You copy and send in Your e-mail to those that want's Your movie
    - and now they can get it from same address
    If You pay You can send up to 2Gb (if I remember right)
    BUT it will take time ! In most of my cases - burn it onto a DVD and send by snail-mail most often are a better solution.
    Yours Bengt W

  • Oracle Table Storage Parameters - a nice reading

    bold Gony's reading excercise for 07/09/2009 bold -
    The below is from the web source http://www.praetoriate.com/t_%20tuning_storage_parameters.htm. Very good material.The notes refers to figures and diagrams which cannot be seen below. But the text below is ver useful.
    Let’s begin this chapter by introducing the relationship between object storage parameters and performance. Poor object performance within Oracle is experienced in several areas:
    Slow inserts Insert operations run slowly and have excessive I/O. This happens when blocks on the freelist only have room for a few rows before Oracle is forced to grab another free block.
    Slow selects Select statements have excessive I/O because of chained rows. This occurs when rows “chain” and fragment onto several data blocks, causing additional I/O to fetch the blocks.
    Slow updates Update statements run very slowly with double the amount of I/O. This happens when update operations expand a VARCHAR or BLOB column and Oracle is forced to chain the row contents onto additional data blocks.
    Slow deletes Large delete statements can run slowly and cause segment header contention. This happens when rows are deleted and Oracle must relink the data block onto the freelist for the table.
    As we see, the storage parameters for Oracle tables and indexes can have an important effect on the performance of the database. Let’s begin our discussion of object tuning by reviewing the common storage parameters that affect Oracle performance.
    The pctfree Storage Parameter
    The purpose of pctfree is to tell Oracle when to remove a block from the object’s freelist. Since the Oracle default is pctfree=10, blocks remain on the freelist while they are less than 90 percent full. As shown in Figure 10-5, once an insert makes the block grow beyond 90 percent full, it is removed from the freelist, leaving 10 percent of the block for row expansion. Furthermore, the data block will remain off the freelist even after the space drops below 90 percent. Only after subsequent delete operations cause the space to fall below the pctused threshold of 40 percent will Oracle put the block back onto the freelist.
    Figure 10-83: The pctfree threshold
    The pctused Storage Parameter
    The pctused parameter tells Oracle when to add a previously full block onto the freelist. As rows are deleted from a table, the database blocks become eligible to accept new rows. This happens when the amount of space in a database block falls below pctused, and a freelist relink operation is triggered, as shown in Figure 10-6.
    Figure 10-84: The pctused threshold
    For example, with pctused=60, all database blocks that have less than 60 percent will be on the freelist, as well as other blocks that dropped below pctused and have not yet grown to pctfree. Once a block deletes a row and becomes less than 60 percent full, the block goes back on the freelist. When rows are deleted, data blocks become available when a block’s free space drops below the value of pctused for the table, and Oracle relinks the data block onto the freelist chain. As the table has rows inserted into it, it will grow until the space on the block exceeds the threshold pctfree, at which time the block is unlinked from the freelist.
    The freelists Storage Parameter
    The freelists parameter tells Oracle how many segment header blocks to create for a table or index. Multiple freelists are used to prevent segment header contention when several tasks compete to INSERT, UPDATE, or DELETE from the table. The freelists parameter should be set to the maximum number of concurrent update operations.
    Prior to Oracle8i, you must reorganize the table to change the freelists storage parameter. In Oracle8i, you can dynamically add freelists to any table or index with the alter table command. In Oracle8i, adding a freelist reserves a new block in the table to hold the control structures. To use this feature, you must set the compatible parameter to 8.1.6 or greater.
    The freelist groups Storage Parameter for OPS
    The freelist groups parameter is used in Oracle Parallel Server (Real Application Clusters). When multiple instances access a table, separate freelist groups are allocated in the segment header. The freelist groups parameter should be set the number of instances that access the table. For details on segment internals with multiple freelist groups, see Chapter 13.
    NOTE: The variables are called pctfree and pctused in the create table and alter table syntax, but they are called PCT_FREE and PCT_USED in the dba_tables view in the Oracle dictionary. The programmer responsible for this mix-up was promoted to senior vice president in recognition of his contribution to the complexity of the Oracle software.
    Summary of Storage Parameter Rules
    The following rules govern the settings for the storage parameters freelists, freelist groups, pctfree, and pctused. As you know, the value of pctused and pctfree can easily be changed at any time with the alter table command, and the observant DBA should be able to develop a methodology for deciding the optimal settings for these parameters. For now, accept these rules, and we will be discussing them in detail later in this chapter.
    There is a direct trade-off between effective space utilization and high performance, and the table storage parameters control this trade-off:
    For efficient space reuse A high value for pctused will effectively reuse space on data blocks, but at the expense of additional I/O. A high pctused means that relatively full blocks are placed on the freelist. Hence, these blocks will be able to accept only a few rows before becoming full again, leading to more I/O.
    For high performance A low value for pctused means that Oracle will not place a data block onto the freelist until it is nearly empty. The block will be able to accept many rows until it becomes full, thereby reducing I/O at insert time. Remember that it is always faster for Oracle to extend into new blocks than to reuse existing blocks. It takes fewer resources for Oracle to extend a table than to manage freelists.
    While we will go into the justification for these rules later in this chapter, let’s review the general guidelines for setting of object storage parameters:
    Always set pctused to allow enough room to accept a new row. We never want to have a free block that does not have enough room to accept a row. If we do, this will cause a slowdown since Oracle will attempt to read five “dead” free blocks before extending the table to get an empty block.
    The presence of chained rows in a table means that pctfree is too low or that db_block_size is too small. In most cases within Oracle, RAW and LONG RAW columns make huge rows that exceed the maximum block size for Oracle, making chained rows unavoidable.
    If a table has simultaneous insert SQL processes, it needs to have simultaneous delete processes. Running a single purge job will place all of the free blocks on only one freelist, and none of the other freelists will contain any free blocks from the purge.
    The freelist parameter should be set to the high-water mark of updates to a table. For example, if the customer table has up to 20 end users performing insert operations at any time, the customer table should have freelists=20.
    The freelist groups parameter should be set the number of Real Application Clusters instances (Oracle Parallel Server in Oracle8i) that access the table.

    sb92075 wrote:
    goni ,
    Please let go of 20th century & join the rest or the world in the 21st century.
    Information presented is obsoleted & can be ignored when using ASSM & ASSM is default with V10 & V11I said the same over here for the exactly same thread, not sure what the heck OP is upto?
    Oracle Table Storage Parameters - a nice reading
    regards
    Aman....

  • Short dump - No more storage space available for extending an internal tabl

    Hi All,
    I have requirement in which my program generates a text file on my presentation server. Here my problem is, this requirement can not be executed in back ground, it should be done in foreground only. When I execute in foreground, if the data records comes to some 38 lacks then I am getting a short dump saying 'No more storage space available for extending an internal table'.
    And in dump analysis under WHAT HAPPENED section it is giving as
    ' What happened?                                                                                |
    |    You attempted to extend an internal table, but the required space was                         |
    |    not available.
    Please suggest me, what I have to do in this case?
    Thanks in advance.
    Thanks,
    Sudha Mettu

    Hi SuDash,
    Allocation of the memory spaces will be done by BASIS people.
    you can contact them..
    Regards!

  • Short dump -No more storage space available for extending an internal table

    Hi All,
    While running one program I get the short dump saying
    "No more storage space available for extending an internal table "IT_862".
    Error Analysis given in the dump log :
    The internal table "IT_862" could not be enlarged further.
    To extend the internal table, 14656 bytes of storage space was
    needed, but none was available. At this point, the table "IT_862" has
    8528862 entries.
    Source Code Extract :
    003360     loop at t_line.
    003370       clear t_output.
    003380
    003390   *   Increment Line counter
    003400       add 1 to l_line_cnt.
    003410
    003420       t_output-object = t_stxh-tdobject.
    003430       t_output-id     = t_stxh-tdid.
    003440       t_output-spras  = t_stxh-tdspras.
    003450       t_output-name   = t_stxh-tdname.
    003460       t_output-line   = l_line_cnt.
    003470       t_output-format = t_line-tdformat.
    003480       t_output-text   = t_line-tdline.
         *>       append toutput.   " ERROR POINT*
    Can you please suggest what can be the possible solution for the above error.
    Thanks in advance.
    Sanjeet

    Hi
    Check out this thread:
    Re: No storage space available for extending the internal table
    Make sure you are not having an infinite loop.
    Hope this helps
    Regards,
    Jayanthi.K

  • No storage space available for extending an internal table.

    Hi All,
    I am using Function Module :  VC_I_GET_CONFIGURATION in FI related Sales Order Report to get
    configuration data for fields Model/Engine and Line no.
    when the program executed in Production environment, It is giving Runtime Error TSV_TNEW_PAGE_ALLOC_FAILED.
    ShrtText : No storage space available for extending an internal table.  
    The termination occurred in the ABAP program "SAPLIBINF" in "SELECT_INSTANCES_01" . its all happening
    in the above FM.
    Is there any possibility to get configuration data (Model/Engine and Line no)  with out using FM.
    please advise me on how you would like to proceed related to this issue.
    Thanks & Regards
    Satish Reddy

    Hi Satish,
    Please go through the below links and see if you can use this to address your issue,
    http://wiki.sdn.sap.com/wiki/display/ABAP/ReplacementofVC_I_GET_CONFIGURATIONforperfomance+tunning
    VC_I_GET_CONFIGURATION and paging memory
    Regards,
    Chen
    Edited by: Chen K V on May 26, 2011 2:34 PM

  • Error-No more storage space available for extending an internal table.

    Hi Experts,
                    i am facing problem in a program . its showing runtime error.
    Short text
        No more storage space available for extending an internal table.
    its showing error at   
    IF sy-subrc NE 0.
            REFRESH p_wip_tab.
          ELSE.
            i_wip_tab-pspnr = i_internal_and_external-pspnr_prps.
            LOOP AT p_wip_tab.
              MOVE-CORRESPONDING p_wip_tab TO i_wip_tab.
    ==> APPEND i_wip_tab.
            ENDLOOP.
          ENDIF.
    DATA: l_billable_tab LIKE p_billable_tab OCCURS 0 WITH HEADER LINE,
          p_wip_tab      LIKE zpswip OCCURS 0 WITH HEADER LINE.
    DATA: BEGIN OF i_wip_tab OCCURS 0,
            pspnr              LIKE prps-pspnr.
            INCLUDE STRUCTURE zpswip.
    DATA:   pernr_name         LIKE pa0002-vorna,
          END OF i_wip_tab.
    How i can resolve this problem if anybody knows it then please reply me as soon as possible.
    Thanks

    Hello.
    Probably you fill the internal table with too much data and it cannot hold that much.
    You can either redesign the program so that it processes the data in batches of, say 100000 records, or contact your BASIS team and ask for their help. They could possible assign more memory to the running applications.
    Reward if helpful.
    Regards,
    George

  • Wether "CREATE TABLE"  can be used in storage procedure of Oracle?

    I am migrating MS SQL 2000 Database to Oracle 8.1.7. But I encounter a trouble, the defind sentences of temporary table in storage procedure of MS SQL can't be migrate to oracle.
    I have try two kinds of syntax to defind temporary table, but both of them can't pass the compiler of pl/sql. Two syntax that I have try as follows:
    1.CREATE TEMP TABLE chanp1(chanpid varchar(50))
    2.CREATE GLOBAL TEMPORARY TABLE chanp1(chanpid varchar(50))
    Now, I want to know whether "CREATE TABLE" sentence can be used in storage procedure of Oracle.

    you could use EXECUTE IMMEDIATE (Oracle8i above) or DBMS_SQL pacakge to do dynamic SQL.
    since you are already on Oracle8i 8.1.7 using EXECUTE IMMEDIATE may be more easy.

  • Statistics setup for 2LIS_11 and no storage space available internal table

    Hi, I am running statistical setup for 2LIS_11_VAITM. It ran for 10 hours and failed with an ABAP run time error. The error is "no storage space available for extending an internal table". For 11 application, the selection options is sales org, company code and sales document. We have tried twice, and already drilled down to the level of sales org and company code, but still with error.
    The only option is sales documents.
    The volume of the data is 16 million records around in VBAP table which needs to be in the setup table.
    What is the criteria to categorize the sales document.
    Can we use order types? We have 200 values in the order types. And I am not sure the document ranges in each order type is clearly defined and not overlapping each other, so that we could load those in the setup table.
    Please advise!! Or if you have other suggestions!
    Thanks!

    Hi
    It could be because of main memory problem... so Restrict your selections and do the statistical setup
    by the way how many comp codes you have? restrict with comp codes or doc ranges
    Thanks,

  • Lack of storage space while extending an internal table

    Hi,
    While executing a select statement my program is giving dump.
    <b>ShrtText    </b>                                                                               
    No storage space available for extending an internal table.                                   
    <b>What happened? </b>                                                                               
    You attempted to extend an internal table, but the required space was                         
        not available.   
    <b>Error analysis</b>                                                                               
    The internal table "IT_49" could not be enlarged further. To allow                            
        error handling, the table had to be deleted before this log was                               
        created. So, if you branch to the ABAP debugger from the display                              
        of this log, the table will there be displayed with 0 rows.                                                                               
    At the moment of the termination, the following data was                                      
        determined for the respective internal table:                                                 
        Storage location: "Session memory"                                                            
        Row width: 7936                                                                               
    Number of rows: 1594                                                                               
    Allocated rows: 1594                                                                               
    Newly requested rows: 2 (in 1 blocks)                                                                               
    Please let me know how to solve this problem.
    Thanks in advance
    Suresh

    Hi Suresh ,
      The problem is with the statement where you select the data from the table
    SELECT QID "Queue identification (unique key)
    TRANS "Transaction counter: Batch input, statistics
    BLOCK "Message counter: Batch input, statistics
    SEGMT "Queue data segmentation number
    MSGCOUNT "Queue data block number
    VARLEN "Queue data length of user data
    VARDATA
    "Long String Used to Store BDC Objects in the Database
    FROM APQD
    INTO TABLE IT_APQD
    FOR <b>ALL ENTRIES IN I_APQD</b>
    WHERE QID = I_APQD-QID
    AND TRANS = I_APQD-TRANS.
    Please refer the how the FOR ALL ENTRIES CONCEPT works.
    if still the problem exists then try using the addition PACKAGE SIZE in your select statement , what this does is insted of write all the selected data at once into the internal table it will append in packets of size specified by you.
    <a href="http://help.sap.com/saphelp_erp2005vp/helpdata/en/fc/eb39eb358411d1829f0000e829fbfe/frameset.htm">Click here for Help on using Package Size in select statement</a>
    Thanks
    Arun

  • F.05 : No more storage space is available for extending  an internal table

    Hi,
    While executing F.05(FCV), I am getting ABAP Run time Error which is as below
    Short Text: No more storage space is available for extending  an internal table
    Pls, Give me solution and get more points. It is very urgent
    Thanks in advance
    Akash

    call your sap basis guys
    i don't need any points

  • Getting Dump "No more storage space available for extending an internal table" ??

    Hi All,
    In Web Ui while i was click save, it taking too much of time for saving at all lost it throwing dump such as "No more storage space available for extending an internal table". Recently Basis side did some activities for storing day to day transaction in back up server, after this activities i am getting this problem. i opening that Bsp component it throwing some information message such as component not integrated, i didn't see that message properly but i clicked continue button. After that basis activity only i got that information message once.
    i dont know what is the issue. Can anyone give solution for this issue
    Thanks,
    Anbu

    Ask your basis guys to clean up the system memory. This is happening because no memory is left.
    ~Kavindra

  • Dump --  No more storage space available for extending an internal table

    In Our system we are getting this dump
    No more storage space available for extending an internal table
    and because of it no user is able to login into the system.
    We have Some classes in the system and we have defined shared memories to all classes according to regions.
    So for a particular class means users of a region are not able to logon to systems and we are getting these dumps in the system.
    So please suggest first how to clear the shared memory & how to conclude what activity in system made the shared memory full.
    Regards,
    Shivam Mittal

    My OS is HP-UNIX..
    And we do not access on OS level,So please suggest the way to clear it from SAP level.
    In dump it is also mentioned:
    The internal table "\AREA=<Name>\INSTANCE=$DEFAULT_INSTANCE$\VER
    SID=2\OBJ={O:1.2*\CLASS=<CLASS>\DATA=GT_BUFFER[1]-DATA" could
      not be further extended. To enable
    error handling, the table had to be delete before this log was written.
    As a result, the table is displayed further down or, if you branch to
    the ABAP Debugger, with 0 rows.
    At the time of the termination, the following data was determined for
    the relevant internal table:
    Memory location: "\AREA=<Name>\INST=$DEFAULT_INSTANCE$\CLNT=100"
    Row width: 156
    Number of rows: 0
    Allocated rows: 63
    Newly requested rows: 1216 (in 19 blocks)
    Please also suggest what is the internel table name that is causing the issue.
    Regards,
    Shivam Mittal

Maybe you are looking for

  • How do i shrink a dvd file size

    hi this proberbly very easy but i don't know how to do it so it isn't to me , I want to copy my childrens discs because they leave them lying around and the get knackered so i thought if i just give them the copy and stash the original it would be gr

  • Soritng in a report

    I have a report foo. I have to fields set to sort in foo, fields 1 and 2 and they are set to sort by 1 and 2 respectively. When I run the report on system 1 I get error failed to parse SQL query: ORA-06502: PL/SQL: numeric or value error: NULL index

  • Parameter length limition passing to java stored procedure! help

    hi: i am working with java stored procedure to do some resource consuming work. i have to pass a long string (varch2) or bytes(log raw) which is larger than 32k which is the limitation set by oracle. is there a walk around? another question: i have t

  • Table for disply release code.

    Hi experts, I want to check the relesse codes for different release strategies. So where can i check the codes for different strategies.In SAP any table where i can check. Please give the reply urgently. Thanks & regards, Vinay

  • Won't backup due to problem with username or password.

    When my machine sits idle, frequently I will get a message that the time capsule didn't backup due to a problem with user name or passwork. When I am using the computer it backs up fine.