Defining free space in segments

hello
how i can define amount of free space in segments(tables,indexes,..) by query of dictionary views?
please write an example
thanks

no user_segments and user_extents views don't represent free space
they give me total segment space
Message was edited by:
khosravi

Similar Messages

  • ITunes syncing error reports not enough free space

    Having an issue with syncing the iPad where iTunes reports that there is not enough free space to transfer the selected data. In this case it was an app(The Elements) which is 1.78 GB. The iPad has 3.8 GB free space, yet the app cannot be transfered because there is "Insufficient space". I used to see the same problem with my iPhone when attempting to sync back the photos i just copied off the camera app. There is definately free space, but iTunes seems to see something different than what is reported.
    BTW. I could not sync the app to the iPad using iTunes, but there was enough free space to directly download the app on the iPad. Seems like a problem with iTunes to me.
    Is iTunes and the iPad reporting an incorrect amount of free space? Can iTunes be forced to transfer apps without checking for the amount of free space? Any other ideas?

    It seems like double the size of the app is needed to install it on the device.

  • FREELIST GROUP 을 지정한 경우 FREE SPACE 를 GET하는 방법

    제품 : ORACLE SERVER
    작성날짜 : 2002-05-30
    FREELIST GROUP 을 지정한 경우 FREE SPACE 를 GET하는 방법
    ========================================================
    PURPOSE
    FREELIST GROUP을 지정한 경우 FREE SPACE를 GET하는 방법에 대해
    알아본다.
    Explanation
    freelist group 을 설정하지 않는 경우 segment header 에는 1 block 이
    추가되어, extent map 과 freelist 를 위한 master freelist, process
    freelist, transaction freelist 가 들어 있다.
    그러나, freelist group 을 설정한 경우, freelist group 은 각각의 block 에
    freelist group 이 할당되어진다.
    각 extent 는 extent 별로 freelist group 에 할당되어져 해당 freelist group
    에 assign 되는 thread 만 그 extent 의 block 을 사용할 수 있다.
    그러나, create table 시 initial 과 dynamic 하게 extent 되는 부분은
    segment header 의 master freelist 로 할당된다.
    여기서 freespace 를 get 하는 algorithm 은 freelist group 을 사용하지
    않는 경우와 다르며, 이는 아래에 제시하였다.
    또 이 segment header 의 master freelist 의 block 은 각 freelist group
    에서 공유가 가능하다.
    이의 process 는 각 freelist group block 에는 master, process,
    Tx freelist 를 모두 가지고 있으며, process freelist 에서 freespace 를
    get 하지 못하는 경우 master freelist 에서 free space 를 get 하고,
    이의 실패 시 segment 의 master freelist 에서 25 bock 을 process free
    list 로 옮긴다 되어 있으므로 (extent 전체를 옮기는 것이 아니고) 이 master
    free list 는 여러 group 에 의해 block 단위로 공유되어진다 할 수 있겠다.
    또 freelist 를 unlink 시킬 때에는 현 current block 의 freelist field 를
    no marking 후 successor 를 SM (Space Management) 에게 return 하도록
    되어 있다.
    Example
    <freelist group 이 있는 경우 algorithm>
    0. Search free space in its own Tx free list. If OK goto 8 else goto 1.
    1. Search free space in Process free list. If OK goto 8 else goto 2.
    2. Search in Master free list of the group. If OK move 5 blocks from
    Master free list of the Group to Process free list, then goto 1. Else
    goto 3.
    3. Search in Master free list of the segment. If OK move 25 blocks from
    Master free list of the segment to Process free list, then goto 1.
    Else goto 4.
    4. For each committed Tx free list not empty, move all the blocks to
    Master free list of the group, then goto 2. Else goto 5.
    5. Try to bump up the High Water Mark by some number of blocks. If OK,
    link those new blocks to Master free list of the group or to Tx free
    list and goto 1. Else goto 6.
    6. Search in FET$ (Oracle dictionnary table) to allocate a new extent
    for the segment. If failure goto 7.
    7. Errors 1631, 1656, 1632 or 1630. No more space in Tablespace.
    8. Success. Use the space.
    Reference Document
    ------------------

  • Re-use of free space

    Hi,
    after a large client delete or after important data archiving, does Oracle re-use new freed space into datafile ? ... we need to delete a large client and then copy e new mid-size client but we haven't a lot of free space in dev system.
    Regards.
    Ganimede Dignan.

    Hello Ganimede,
    >> after a large client delete or after important data archiving, does Oracle re-use new freed space into datafile ?
    Oracle reuses the freed space inside the same segment. For example if you have freed space in table MSEG, you can reuse the allocated space only for table MSEG (=same segment).
    For indexes its a little bit "special", because the freed space (in blocks) can only be reused if they are completely empty, because of the index must be sorted.
    You can take a look at the ALL_TABLES on column AVG_SPACE to estimate the freed size in the tables (but take care, the values are only updated on statistic gathering):
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14237/statviews_2105.htm#i1592091
    Regards
    Stefan

  • How SMON coalesces free space in oracle 9i and 10g

    how SMON coalesces free space in oracle 9i and 10g?
    Is it doing same as it was behaving in oracle 7 like looking through free extent table every five minutes (sys.fet$) to see if there are any adjacent free extents that can be coalesced into a single extent, and on every 25th cycle (i.e. every two hours and five minutes) it looks at the segment table (sys.seg$) to see if there are any temporary segments that need to be eliminated, as explained by jonathan lewis?
    what are extent and segment tables available in oracle 9i and 10g like sys.fet$ and sys.seg$ in oracle7?

    >
    how SMON coalesces free space in oracle 9i and 10g?
    Is it doing same as it was behaving in oracle 7 like looking through free extent table every five minutes (sys.fet$) to see if there are any
    adjacent free extents that can be coalesced into a single extent, and on every 25th cycle (i.e. every two hours and five minutes) it looks
    at the segment table (sys.seg$) to see if there are any temporary segments that need to be eliminated, as explained by jonathan lewis?
    what are extent and segment tables available in oracle 9i and 10g like sys.fet$ and sys.seg$ in oracle7?I think you need to go and have a look at the Oracle 9i documentation here
    http://www.oracle.com/technology/documentation/oracle9i_arch_901.html
    and automatic segment management in 10g
    http://www.oracle.com/technology/pub/articles/10gdba/week15_10gdba.html
    HTH.
    Paul...
    Software - OS (+ version), Server,
    Hardware - CPU + Disk configuration.
    Please include all of the above information with database queries.
    This will help those who are trying to help you!
    Furthermore, please do not top-post and do try to trim your replies!

  • Unable to create partition from free space on hard drive

    I have a segment of free space on my Macbook Air's hard drive. It was formerly a Bootcamp partition.
    When I try to create a new partition from this free space in Disk Utility, it prompts me to start creating the partition, but nothing happens after that. I can leave the machine alone for hours, and nothing has occurred. Disk Utility thinks it's working though, since it prompts me to cancel the process when exiting the app.
    Any thoughts on how to fix this? Thanks!

    Freeing Up Space on The Hard Drive
      1. See Lion/Mountain Lion/Mavericks' Storage Display.
      2. You can remove data from your Home folder except for the /Home/Library/ folder.
      3. Visit The XLab FAQs and read the FAQ on freeing up space on your hard drive.
      4. Also see Freeing space on your Mac OS X startup disk.
      5. See Where did my Disk Space go?.
      6. See The Storage Display.
    You must Empty the Trash in order to recover the space they occupied on the hard drive.
    You should consider replacing the drive with a larger one. Check out OWC for drives, tutorials, and toolkits.
    Try using OmniDiskSweeper 1.8 or GrandPerspective to search your drive for large files and where they are located.

  • Reclaim free space in datafiles

    Hello:
    I have taken over management of one of our test servers with Oracle 9i on Windows2000 and have noticed that there are two files that are much larger than the space that is actually being used:
    D:\ORACLE\ORADATA\ORCL\SYSTEM01.DBF - 17964M - (Used 1,542M)
    D:\ORACLE\ORADATA\ORCL\DATA01.DBF - 12511M - (Used 243M)
    How can I reclaim all of this unused space?

    Remember it is always best to reclaim space by moving all the objects to another tablespace and reclaiming all space. This will free up space within the tables and indexes as well.
    I use the following script to generate the commands for me:
    resizea.sql:
    drop table alan99;
    set pages 50
    create table alan99 as
    select max(block_id+blocks) block_id,file_id from dba_extents
    group by file_id;
    column tablespace_name format a15
    column pct format 999.99
    set wrap off
    set lines 120
    set trunc off
    column file_id format 999
    spool resizea.lst
    select b.bytes/1024/1024-a.bytes/1024/1024 CURRENT_meg,
    a.file_id,a.tablespace_Name,'alter database datafile '''||b.file_name||''' resize '
    ||trunc(c.block_id*8192/1024/1024+1)||'m;'
    from dba_free_space a,dba_data_files b, alan99 c
    where a.file_id=b.file_id
    and a.block_id=c.block_id and a.file_id=c.file_id
    order by current_meg;
    set termout off
    drop table alan99;
    set termout on
    spool off
    select 'Your output has been saved as resizea.lst' from dual;
    A script that will tell you what is inside is:
    column owner format a30
    column object format a30
    set lines 120
    set wrap off
    set trunc off
    set pages 50
    set feedback on
    column file_id format 999
    select     /*+ Rule */     'free space' owner     /*"owner" of free space*/
    ,          ' ' object          /*blank object name*/
    ,          file_id                    /*file id for the extent header*/
    ,          block_id               /*block id for the extent header*/
    ,          blocks                    /*length of the extent, in blocks*/
    from          dba_free_space
    where          file_id=&1
    union
    select     /*+ Rule */ substr(owner,1,20)||' '||substr(segment_type,1,9) /*owner name (first 20 chars)*/
    ,          substr(segment_name,1,32)||'.'||partition_name     /*segment name*/
    ,          file_id                    /*file id for the extent header*/
    ,          block_id               /*block id for the extent header*/
    ,          blocks                    /*length of the extent, in blocks*/
    from           dba_extents
    where          file_id=&1
    order by     3,4
    /

  • Free space in temp tablespace

    SQL> show parameter block
    NAME                                 TYPE        VALUE
    db_block_buffers                     integer     0
    db_block_checking                    boolean     FALSE
    db_block_checksum                    boolean     TRUE
    db_block_size                        integer     8192
    db_file_multiblock_read_count        integer     8
    SQL> SELECT tablespace_name,
           total_blocks,
           used_blocks,
           free_blocks,
        (total_blocks*8)/1024 as total_MB,
        (used_blocks*8)/1024  as used_MB,
        (free_blocks*8)/1024  as free_MB
    FROM   v$sort_segment;
       2    3    4    5    6    7    8 
    TABLESPACE_NAME                 TOTAL_BLOCKS USED_BLOCKS FREE_BLOCKS   TOTAL_MB    USED_MB    FREE_MB
    TEMP                                   72704        2944       69760        568         23        545
    SQL>  select (sum(bytes_free)/1024/1024) Size_MB from v$temp_space_header
    order by file_id  2 
      3  /
       SIZE_MB
          1479
    SQL>
    My version is 9.2.0.7
    why temp free space is different in both queries above..
    which one is correct.....

    why temp free space is different in both queries above..Because you are looking at two different values.
    V$SORT_SEGMENT gives details about the sort segment created in a temporary tablespace. The sort segment created may or may not be of the same size as the complete temporary tablespace. In your case, the sort segment has a total size of 568 MB but only 23 MB is being used.
    V$TEMP_SPACE_HEADER refers to the physical files allocated to the temporary tablespace; so the other query is giving you the free bytes in those files.

  • Block corruption in Free Space

    Hi,
    Environment:-
    Oralce 10.2.0
    Windows platform
    I am facing problem of Logical block corruption.
    RMAN validate block corruption (DBVerify as well) But no entry in Alert log file.
    When I check Which segment has block corruption I found that block corruption are in free blocks of tablespace (DBA_FREE_SPACE).
    To Fix it I create table and allocate corrupted block to that table. I confirm corrupted block allocation in table (using DBA_EXTENTS).
    But when I insert rows in that table to reuse corrupted block Oracle give error of ora-1578 Block corruption, and I am not able to reuse corrupted block(as many expert suggest to overcome block corruption in free space).
    I dropped table and recreate and repeat this process many times but still no success.
    So. can anybody help me on this.
    I appreciate your efforts and time you spend to read this
    Thanks

    Hello,
    Please check the link i posted.
    Example: Detecting Corruption
    The CHECK_OBJECT procedure checks the specified object, and populates the repair table with information about corruptions and repair directives. You can optionally specify a range, partition name, or subpartition name when you want to check a portion of an object.
    Validation consists of checking all blocks in the object that have not previously been marked corrupt. For each block, the transaction and data layer portions are checked for self consistency. During CHECK_OBJECT, if a block is encountered that has a corrupt buffer cache header, then that block is skipped.
    The following is an example of executing the CHECK_OBJECT procedure for the scott.dept table.
    SET SERVEROUTPUT ON
    DECLARE num_corrupt INT;
    BEGIN
    num_corrupt := 0;
    DBMS_REPAIR.CHECK_OBJECT (
    SCHEMA_NAME => 'SCOTT',
    OBJECT_NAME => 'DEPT',
    REPAIR_TABLE_NAME => 'REPAIR_TABLE',
    CORRUPT_COUNT => num_corrupt);
    DBMS_OUTPUT.PUT_LINE('number corrupt: ' || TO_CHAR (num_corrupt));
    END;
    SQL*Plus outputs the following line, indicating one corruption:
    number corrupt: 1

  • Block Corruption In Free Space Chuck Of A Datafile

    Hi all,
    I have run into this issue where both dbv and rman have caught a block corruption on one of the datafiles. When I checked these blocks, they did not belong to any segments and I was able to verify that this block ID falls in the block_id + blocks range in the dba_free_space where file_id = 41.
    My questions are ...
    - why is rman complaining about a bad block in free space? It will never need to back it up any way?
    - According to note 28814.1, this type of corruption can be ignored and if when oracle needs to use this block, it will simply create/rewrite a new image without the corrupted data. Have you been affected by this issue? If yes, what did you do?
    Thank you

    1. "why is rman complaining about a bad block in free space? It will never need to back it up any way?"
    Because it is doing its job.
    2. "Have you been affected by this issue? If yes, what did you do?"
    In what version? I generally find it helpful to read the docs and check discussions of issues on metalink.

  • FREE LIST와 FREE SPACE관리

    제품 : ORACLE SERVER
    작성날짜 : 1995-11-06
    * Free List 는 해당 세그먼트가 다시 사용할 수 있는 block에 관한 list 이다.
    Free Block이 추가될 때는 Free List의 Head에 덧붙여진다. 예를 들면 Block B5
    가 Free List FL 에 있고 다른 B6 block이 FL에 덧붙여질 때
    FL : B6 -> B5
    즉 B6 가 free block으로 먼저 쓰여진다.
    앞으로 사용할 약어 : V1(V6.0 ~ V6.0.34)
    V2(V.6.0.35 ~ V7)
    * Free List 에는 다음과 같은 것들이 있다.
    . Txfl(Transaction Free List) : 모든 트랜잭션에 할당되는 Free List이다.
    한 세그먼트에는 최소 16 Txfl 이 있고 이는 블럭이 꽉 찰 때 까지 필요한
    만큼 증가한다. 모든 프로세스는 해당 인스턴스에 주어진 Txfl에 접근 할 수
    있다.
    . Prfl(Process Free List) : 하나의 프로세스에 할당되는 Free List 이다.
    하나의 프로세스는 다른 프로세스에 할당 되어진 Prfl 을 사용하지 않는다.
    . Sgfl(Segment Free List) : Prfl과 같다.
    . Msfl(Master Free List) : 모든 프로세스가 사용 할 수 있도록 미리 할당
    되어진 Prfl이다.
    <V1 에서의 Segment Header의 Block Format>
    * 세그먼트는 연속된 블럭의 모음인 익스텐트로 구성 되어 있다. 세그먼트가
    생성될때 첫번째 익스텐트의 첫번째 블럭을 Segment Header라고 한다.
    Segment Header는 Extent Control, Extent Map Table, Segment Header,Segment
    Free Space, Transaction Free Space로 이루어져 있다. Extent Control과
    Extent Map Table은 세그먼트에 할당된 익스텐트에 관한 정보를 준다. Segment
    Header Control은 Transaction Free List 정보와 세그먼트가 생성 될 때 명시된
    Instance List(nfb)와 Process Free List(nfl)의 갯수를 가지고 있다.
    * Instance Free List(infl) 갯수는 디폴트가 1이며 1보다 클 경우 Prfl의
    갯수는 Prfl/Sgfl = nfb * nfl 이다. nfb는 init<SID>.ora 의 free_list_inst,
    nfl은 free_list_proc 에서 지정된다.
    <V1 과 V2 에서의 Block Format 차이점>
    * V6.0.35 에서는 기존의 Block Type 5에 Block Type 12가 추가됨으로써 Segment
    Header는 Type 5 또는 12가 가능하다. 이의 구별은 명시된 Free Group의 갯수에
    의해 결정된다. 즉, Free Group의 갯수가 1보다 크면 Segment Header의 block
    Type은 12로 설정된다.
    * V6.0.35 이상에서는 Free Lists 의 관련 정보를 Storage 항에서 표시할 수
    있다.
    ....storage (freelists n freelist groups m)
    장점은 데이타 딕셔너리에 Free List의 정보가 저장 되어진다는 것이다. 즉
    V1 에서 처럼 Free Lists 를 바꾸기 위해 데이타베이스를 Restartup 할
    필요가 없다.
    * V1 에서는 Freelists를 위해 Segment Header인 한 블럭이 할당된다. 그러나 V2
    에서는 각 Free List Group 에 한개의 Free List Block 이 존재한다. 예를
    들어, M=2 이면 Segment Header와 다음 2 block 이 할당 되어지는데 각 블럭은
    Free List Group을 위한 것이다. ( 여기서 M 은 Free Group 이다).
    < Mapping Function 과 Free Space 검색 알고리즘>
    (Mapping Function)
    * Mapping Function은 단순히 Thread Number % Freelist Groups 와 Process
    Number % Process Freelists이다. 예를 들어 M=3,N=5는 3개의 Free List Groups
    와 각각은 5개의 Process Free List 를 가짐을 의미한다.
    1(1 2 3 4 5) 2(1 2 3 4 5) 3(1 2 3 4 5)
    . 임의의 프로세스가 인스턴스 2 에 접속되어 있고 Thread Number는 10 이고
    Process Number는 26 이라고 가정하면 어떤 Freelist 가 할당되어질까?
    이런 경우에는
    10 % 3 = 1
    26 % 5 = 1
    즉, 첫번째 그룹의 첫번째 Prfl 을 선택하게 된다.
    * 만약 인스턴스를 특정한 Freelist Block에 할당하고자 할 때는 init<SID>.ora
    Parameter 인 Instance_number를 이용한다.
    (검색 알고리즘)
    * V6.04 이하에서는 다음 순서를 따른다.
    1. 자신의 Transaction Free List에서 Free List를 찾는다. 찾으면 #7, 아니면
    #2로 간다.
    2. Process Freelist 의 Free Space 를 찾는다. 찾으면 #7, 아니면 #3 으로간다.
    3. Commit된 Txfls를 찾는다. 만일 Commit되지 않은 Txfl Space를 발견하면 #4로
    가고 아니면 각 Commit된 Txfl Space 를 한 Prfl에 할당한다. 만약 Prfl >
    Trfl 이면 어떤 Prfl는 Space를 얻지 못하고 Prfl < Trfl 이면 어떤 Prfl은
    보다 많은 Space를 얻으며 #2 로 간다.
    4. High Water Mark를 Bump Up할 수 없으면 #5로 가고 가능하면 원래대로
    Space를 Prfl에 복사한 후 #2로 간다.
    5. 데이타 딕셔너리에서 fet$를 검색하고 익스텐트를 세그먼트에 할당하고 #4로
    간다. 만일 fet$ 에 Space 가 없으면 #6로 간다.
    6. 에러발생. 테이블스페이스에 더이상 Space 가 없다.
    7. Space 를 사용한다.
    * V6.0.35 이상에서는 다음 순서에 의한다.
    1. 자신의 Transaction Free List에서 Free List를 찾는다. 찾으면 #8, 아니면
    #2 로 간다.
    2. Process Freelist 의 Free Space 를 찾는다. 찾으면 #8, 아니면 #3 으로
    간다.
    3. Master Freelist를 검색한다. 만일 Space를 찾으면 Prfl에 Space의 조각을
    복사하고 #2, 아니면 4로 간다.
    4. Commit된 Txfls를 찾는다. 만일 Commit되지 않은 Txfl Space를 발견하면 #5,
    아니면 각 Commit된 Txfl Space 를 Master Freelist 에 복사하고 #3으로간다.
    5. High Water Mark 를 Bump Up할 수 없으면 #6으로 가고 가능하면 Bump Up하고
    Space를 Prfl 에 복사한 후 #2로 간다.
    6. 데이타 딕셔너리에서 fet$를 검색하고 익스텐트를 세그먼트에 할당하고 #4로
    간다. 만일 fet$ 에 Space 가 없으면 #7로 간다.
    7. 에러 발생 테이블스페이스에 더 이상 Space 가 없다.
    8. Space 를 사용한다.

    Hi sachin22,
    Welcome to the forum! 
    Upon verifying from the Windows Phone Store website, the apps that you mentioned (which are all from XBox) are tagged as paid apps. You can visit the website and search the apps to verify it: windowsphone.com However, aside from these apps, are you able to find other free apps from the Store, like those that are published by Nokia? Also, you installed the free version of these apps via SD card (using XAP app installers), is that right?
    By the way, when you say 'flashing', do you mean recovering the phone's OS using the
    Nokia Software Recovery tool as shown at this link: FAQ's - Nokia Software Recovery tool
    Hope to hear feedback from you soon. 

  • Set tablespace free space (mb) for a single large tablespace?

    It seems that in EM, setting the free space (mb) for locally managed tablespaces affects all of my locally managed tablespaces in the database and not just one.
    I clicked on Tablespace, Edit (button), Thresholds and set the Free Space (MB) Warning and Critical. I thought I was setting it for a particular tablespace (because I chose Edit on a single tablespace). But then I got alerts from much smaller tablespaces because those tablespaces had much smaller MB than the thresholds that I just set.
    Using EM GC, is there a way to set the free space (mb) to alert for a single large tablespace where defining a critical free space mb is better than setting a free space percent?

    ok, go to the database you want to manage.
    Then click on Metric and Policy Settings (link at the very bottom).
    Scroll down to the 'Tablespace Space Used (%)' metric, and click on the edit button
    Now, click on the 'add' button to setup settings for individual tablespaces.
    Bazza

  • What actually happens @Completed filling free space info for database

    Hello,
    i see some strange thing with my 15.7 Ase server
    Earlier for a very big db of around 1TB the recovery time would be around 15Mins( i mean for the 1TB db to come online).
    Now its taking only seconds to come up.
    so wanted to check what actually happens in this stage.
    Started filling free space info for database 'xxx'
    Completed filling free space info for database 'xxx'
    The difference is that we have created new server and bcpd the data into it.
    Please can someone explain.
    Thanks

    ASE keeps counters in memory of the amount of free space available on devices and segments.  When ASE is shutdown cleanly (aka "politely"), these values are flushed to disk and used to initialize the in-memory counters on reboot.  If ASE is shutdown abruptly, the values have to be recalculated, a process which involves either reading every OAM page in the database or every Allocation page.

  • Calculate free space without reorg

    Hi DB-Gurus,
    we  are currently on AIX and Oracle 9.2.0.6.0. The SAP System is BankAnalyzer, which is an add-on to a BIW (3.5). Data is loaded into the system via STS, a tool from a third party vendor. All relevant tables (BankAnalyzer and STS) are in one tablespace, the size of the tablespace is about 1 TB, of which STS-tables occupy about 400 GB. STS produces a lot of redundant overhead which we now want to archive and delete on a regular basis.
    <b>Without</b> a DB-reorg, is there a way to tell how much space is currently free in the DB, and how much space ist occupied? As I understand, DB02 will keep showing the same figures until a reorg is done, even though we have deleted 200 GB from the tables. We need a way to tell the current free space in order to control DB-load and to calculate future DB costs.
    We are using database managed tablespaces. If we can't reorg the whole tablespace or DB, will fragmentation over time (archive & delete old STS-data every 3 months and load new data on a daily basis) reduce performance, even though we reorg the index tables?
    If we could identify the tables affected from the regular delete and update processes, is there a way to reorg just these tables? Would this be an advisable way to reduce DB-maintenance and increase DB-performence?
    Thanks for your valued input & kind regards,
    Mark
    PS: yes, we are planing an upgrade to 10.2 sometime soon.

    Hello Mark,
    at first:
    <b>>> Since I am not deep into the DB stuff (yet )</b>
    That's no problem man ... nobody can know everthing...but i would recommend some extern support, if you don't have the know-how in-house. This topic is pretty deep on database level to make any suggestions or definitive statements...
    But now lets start with your questions.
    <b>>> STS produces a lot of redundant overhead which we now want to archive and delete on a regular basis.</b>
    That's the first good idea
    <b>>> Without a DB-reorg, is there a way to tell how much space is currently free in the DB, and how much space ist occupied?</b>
    I don't know any SAP possibility to show this (because i don't use man SAP features for analyzing problems / reorgs,etc..), but i can show you some possibilites on database level.
    At first some helpful views/tables:
    http://download.oracle.com/docs/cd/B10501_01/server.920/a96536/ch2451.htm#1317269
    INDEX_STATS - You have to analyze the index first with an ANALYZE INDEX and then you can query the view index_stats in the same session (that's important!). The columns DEL_LF_ROWS, USED_SPACE, PCT_USED are very interesting in your case.
    The problem with INDEX_STATS is that you will lock the segment with the ANALYZE command.
    http://download.oracle.com/docs/cd/B10501_01/server.920/a96536/ch2152.htm#1303953
    ALL_TABLES - This values are populated if you collect statistics for the table, but the values are not as clear as the index ones. The column EMPTY_BLOCKS does not count the empty blocks.. it only counts the blocks that are not formated yet. The column AVG_SPACE is more interesting but you have to set it in the context of some other values.. its really difficult to explain this over the internet without any table values.
    <b>>> We are using database managed tablespaces. If we can't reorg the whole tablespace or DB, will fragmentation over time (archive & delete old STS-data every 3 months and load new data on a daily basis) reduce performance, even though we reorg the index tables? </b>
    I don't know what you mean with database managed tablespaces. Do you mean data dictionary managed ones or do you mean locally managed ones? But this does not have any affects on the block filling logic (only on extend logic is affected by that)... the block filling logic only depends on automatic segment space mangement or not. You can not make any over-all statement if the performance would be better or not. It depends on so many factors like execution plans (access pathes), reused blocks, etc... Normally the "freed" space is reused, but the performance can be as bad as before if the same blocks are touched (for example index range scans, full table scans, and so on...)
    <b>>> If we could identify the tables affected from the regular delete and update processes, is there a way to reorg just these tables? Would this be an advisable way to reduce DB-maintenance and increase DB-performence?</b>
    http://download.oracle.com/docs/cd/B10501_01/server.920/a96536/ch2146.htm#1303064
    You could identify these ones if you activate the monitoring attribute on the tables and after that you can query the view ALL_TAB_MODIFICATIONS. The data which is populated in that view are the counters since the last collected statistics on the table.
    The same as above you can not make any over-all statement if it is good or bad... it depends on so many factors if it will increase the db performance. You can reorg single tables.
    I hope it helps a little bit, but if you don't have any experience/know-how on oracle .. it will be really difficult to do any further analysis on that topic.
    Regards
    Stefan

  • Ild: (Performing full relink) internal free space in undefined symbol error

    I am using Sun Sparc C++ 5.4 compiler to compile some code.
    I had some issues with Makefile which I have resolved successfully for test program, which has only one string and print statetments.
    When I compile my program error_log.C program using Makefile, I am geting following errors.
    Same file for test program works ok.
    Any suggestions/pointers etc are much appreciated.
    Thanks
    Ravi
    ERRORS:
    ==================================================================================
    /opt/SUNWspro/bin/CC -g -compat=4 -V - YP,/ford/thishost/u/rbhave/mqrouter/lib:/usr/lib:/opt/SUNWspro/prod/lib -I/ford/thishost/u/rbhave/mqrouter/include -c error_log.c
    CC: Forte Developer 7 C++ 5.4 2002/03/09
    ccfe: Forte Developer 7 C++ 5.4 2002/03/09
    /opt/SUNWspro/bin/CC -g -compat=4 -V -YP,/ford/thishost/u/rbhave/mqrouter/lib:/usr/lib:/opt/SUNWspro/prod/lib -I/ford/thishost/u/rbhave/mqrouter/include error_log.o -o error_log -lXm -lXt -lX11 -lstring -lipc -lutils
    CC: Forte Developer 7 C++ 5.4 2002/03/09
    CClink: Forte Developer 7 C++ 5.4 2002/03/09
    CC: Forte Developer 7 C++ 5.4 2002/03/09
    ild: (Performing full relink) internal free space in output file exhausted (sections)
    /opt/SUNWspro/bin/../prod/bin/c++filt: Forte Developer 7 C++ 5.4 2002/03/09
    ild: Forte Developer 7 Incremental Linker 4.0 2002/03/09
    ild: Forte Developer 7 Incremental Linker 4.0 2002/03/09
    ild: (undefined symbol) ErrLog_c::ErrLog_c(void) -- referenced in the text segment of error_log.o
    ild: (undefined symbol) ErrLog_c::SetFileOutput(char*) -- referenced in the text segment of error_log.o
    ild: (undefined symbol) operator <<(ostream&, const String&) -- referenced in the text segment of /ford/thishost/u/rbhave/mqrouter/lib/libutils.a(ini_file.o)
    ild: (undefined symbol) operator <<(ostream&, const String&) -- referenced in the text segment of /ford/thishost/u/rbhave/mqrouter/lib/libutils.a(datetime.o)
    ild: (undefined symbol) IsSocketUsed(const char*, const char*) -- referenced in the text segment of /ford/thishost/u/rbhave/mqrouter/lib/libipc.a(socket_recv.o)
    ild: (undefined symbol) IsSocketUsed(const char*, const char*) -- referenced in the text segment of error_log.o
    ild: (undefined symbol) operator >>(istream&, String&) -- referenced in the text segment of /ford/thishost/u/rbhave/mqrouter/lib/libutils.a(general.o)
    ild: (undefined symbol) setsockopt -- referenced in the text segment of /ford/thishost/u/rbhave/mqrouter/lib/libipc.a(socket_recv.o)
    ild: (undefined symbol) recv -- referenced in the text segment of /ford/thishost/u/rbhave/mqrouter/lib/libipc.a(socket_recv.o)
    ild: (undefined symbol) bind -- referenced in the text segment of /ford/thishost/u/rbhave/mqrouter/lib/libipc.a(socket_recv.o)
    ild: (undefined symbol) socket -- referenced in the text segment of /ford/thishost/u/rbhave/mqrouter/lib/libipc.a(socket_dgram.o)
    ild: (undefined symbol) ErrLog_c::Rename(const ErrLogMesg_t&) -- referenced in the text segment of error_log.o
    ild: (undefined symbol) sendto -- referenced in the text segment of /ford/thishost/u/rbhave/mqrouter/lib/libipc.a(socket_dgram.o)
    ild: (undefined symbol) ErrLog_c::~ErrLog_c(void) -- referenced in the text segment of error_log.o
    *** Error code 5
    make: Fatal error: Command failed for target `error_log'
    ==================================================================================

    Try rebuilding with -xild=off to eliminate ild from the process.
    If it still doesn't link, delete the most recent .o files and try again to see how it goes.
    - Rose

Maybe you are looking for