Defragmentation of the tablespaces?

DB version: 11.2.0.4

Platform: Oracle Linux 6.5

3-node RAC DB

We have a TB 23 DB, and we met some performance issues lately. Sound mainly due to poorly written queries, large volume of data in the result set,... etc. But, this application was asked at a meeting if I could check that storage space (not tables) are fragmented. Apparently, in his old store DBA there did some 'Defragmenting' of tablespaces for the same application solve some performance problems.

To resize the data files, move to another tablespace DB objects so that the HWM in a particular data file is reset and then we could run the RESIZE command. But this isn't "defragmentation".

In the thread below, Justin cave explains that "a managed tablespace locally cannot effectively be fragmented."

That Justin is meant by that? Why have we not need "defragmentation" to locally managed Tablespaces?

Since I worked on 11g, I don't know the history. Done, DBA do a sort of defragmentation for older versions?

https://community.Oracle.com/thread/2508361

In general, you don't need to defragment of LMT because they re - operate segments more effectively.  That assumes a particular definition of the fragmentation that don't understand what some people call "Gruyère" fragmentation, which means free space holes, spread across the tablespace.  Sometimes it is wise to reclaim this space, generally do not, since generally the trend is to use space.

Many more details are in the link given Aman, but there are a few somewhat obscure situations where you would not automatically exclude the defragmentation:

A tablespace that has been migrated from DMT could have a few deferred maintenance on the lookout for defragmentation.

You might still have DMTs.  You shouldn't, but there is nothing no longer this deferred maintenance upgrades of version (I do not forget something hope).

Some applications do stupid things like add and remove tables and if done in a strange order (as drop any other individual and adding more), can travel on limits of segment requirements (as Jonathan explains in some links on the moving objects until the beginning of storage spaces).

It is also possible to be unlucky and have performance issues based on the distribution of physical data get worse by moving data autour.

In general, Oracle did some good things, but be prepared to do an investigation of mind, when it is not.  It allows to be confident and knowledgeable on the bases then.  For the 'fragmentation' in particular, a Manager may well have been seduced by myths or the specific practices that don't apply generally. "Best practices" may suffer, too.

Tags: Database

Similar Questions

  • A question pertaining to the Tablespace while performing a Transportable Tablespace migration.

    Hi all

    I'm in the middle of a migration, and currently I am performing a VINE for this. The tablespace should I migrate is 3TO in size.

    I've checked endian, its perfect, the two BONES are similar.

    No violation not found for verification of transport, the tablespace is autonomous, I also did the expdp for the tablespace. After that, I copied all the 3 TB data files and emptying of the export to the destination server.

    Now, here's where I'm confused. The next step is to create appropriate patterns.

    The schema name and a source tablespace is CCF1 and the destination is CCF2 respectively.

    I guess I'll have to create the CCF2 user on the destination server and to do so, first, I have to create tablespace CCF2 so that I can create the user and assign the default tablespace, that means I have to create the tablespace with 3 TB of data files value?

    But what about the data files which I already copied during the source? I need 6 TB of space on the volume to accommodate the two data files. Please correct me if I am wrong somewhere... I'm sure I'm

    The database is the 12 c (no, I do not use pluggable database), OS is RHEL5.

    Hi Indigo;

    Tell in Oracle Technology Network: http://docs.oracle.com/database/121/ADMIN/transport.htm#ADMIN10140

    Now, here's where I'm confused. The next step is to create appropriate patterns.

    The schema name and a source tablespace is CCF1 and the destination is CCF2 respectively.

    I guess I'll have to create the CCF2 user on the destination server and to do so, first, I have to create tablespace CCF2 so that I can create the user and assign the default tablespace, that means I have to create the tablespace with 3 TB of data files value?

    But what about the data files which I already copied during the source? I need 6 TB of space on the volume to accommodate the two data files. Please correct me if I am wrong somewhere... I'm sure I'm

    You are so confused, because if you follow all steps in the Document Oracle you don't have to create storage spaces and users. If you have exported metadata with Data Pump EXPort, you must import the metadata to your target database.

    Follow the link; It will help you.

    Kind regards.

  • Increase the size of the tablespace: which of the data file for the tablespaces ine that I have to increase?

    Hello

    I need to increase the size of the tablespaces in EBS R12 Database 11.2.0.3.0:

    APPS_TS_TX_IDX

    APPS_TS_SEED

    APPS_TS_TX_DATA

    But they all have multiple datafiles:

    Example for APPS_TS_SEED:

    [data oracle@ebs122dev] $ of the hs - a_ref0 *.

    1, 5G a_ref01.dbf

    1, 2G a_ref02.dbf

    508M a_ref03.dbf

    2, 0G a_ref04.dbf

    2, 0G a_ref05.dbf

    2, 0G a_ref06.dbf

    Many of the datafiles should I resize to increase the size?

    Thank you

    Luis

    Hello

    It does not matter what file you resize.

    Personally, I prefer to start with the first file and reach the largest file size and resize then the following.

    In addition, having the files with a size that is a multiple of 1 GB is a good practice for me.

    Another option is to activate the autoextend for data files option.

    You can set the maximum size of 4 GB for example all files in storage areas that are growing rapidly.

    Kind regards

    Bashar

  • ORA-01659: impossible to allocate MINEXTENTS beyond 2 in the tablespace test

    Hello

    I created a table and tried to insert records over 2 million and I'm getting an error such as ORA-01659: impossible to allocate MINEXTENTS beyond 2 in the tablespace test.

    Used tablespace percentage is only 73%.

    I used below when creating table

    tablespace TEST

    PCTFREE 10

    INITRANS 1

    maxtrans 255

    Please suggest me how to solve this problem.

    Thank you

    Suri

    Hi @Suri

    I see no problem in storage settings in your table.

    But the number of rows helps you insert and in the free space in your tablespace.

    Perhaps too much space is needed for your data and storage space can not support.

    The only things you can do is the following:

    (a) try PCT_INCREASE to 0, this product extensions to equal size.

    (b) put the PCT_FREE less than the default of 10. But it is advisable if you make updates to your table.

    (c) maybe create your table with the clause compress, just for bulk inserts, but this depends on the use of the table.

    (d) ask your DBA to increase the data files of the TEST table space or add more data files.

    (e) using the package DBMS_SPACE, you can calculate the space used by your table in tablespace TEST. g 10 and later versions.

    See the following example:

    
    SQL> SET SERVEROUTPUT ON
    
     SQL> DECLARE
       lc_tablespace       VARCHAR2(100)  DEFAULT 'CC_TBSD001_MOVI_DOMICILIOS';
       lc_megabytes        SIMPLE_INTEGER DEFAULT 1024*1024;
       lc_estimated_rows   SIMPLE_INTEGER DEFAULT 45000000;
       lc_pct_used         SIMPLE_INTEGER DEFAULT 10;
    
       l_cost_columns           SYS.CREATE_TABLE_COST_COLUMNS;
       l_mbytes_to_be_used      NUMBER;
       l_mbytes_to_be_allocated NUMBER;
    BEGIN
      l_cost_columns := SYS.CREATE_TABLE_COST_COLUMNS(
                 SYS.CREATE_TABLE_COST_COLINFO('NUMBER'  ,15)
                ,SYS.CREATE_TABLE_COST_COLINFO('NUMBER'  ,10)
                ,SYS.CREATE_TABLE_COST_COLINFO('NUMBER'  , 4)
                ,SYS.CREATE_TABLE_COST_COLINFO('VARCHAR2', 6)
                ,SYS.CREATE_TABLE_COST_COLINFO('VARCHAR2', 4)
                ,SYS.CREATE_TABLE_COST_COLINFO('NUMBER'  , 1)
                ,SYS.CREATE_TABLE_COST_COLINFO('NUMBER'  , 4)
                                                      );
    
       DBMS_SPACE.CREATE_TABLE_COST(lc_tablespace
                                   ,l_cost_columns
                                   ,lc_estimated_rows
                                   ,lc_pct_used
                                   ,l_mbytes_to_be_used
                                   ,l_mbytes_to_be_allocated
                                   );
    
       l_mbytes_to_be_used      := l_mbytes_to_be_used/lc_megabytes;
       l_mbytes_to_be_allocated := l_mbytes_to_be_allocated/lc_megabytes;
    
       DBMS_OUTPUT.PUT_LINE('Megabytes to be used: '||TO_CHAR(l_mbytes_to_be_used));
       DBMS_OUTPUT.PUT_LINE('Megabytes to be allocated: '||TO_CHAR(l_mbytes_to_be_allocated));
    END;
    /
    

    A few ref, pleas read

    http://docs.Oracle.com/CD/B28359_01/server.111/b28286/clauses009.htm#SQLRF30013

    Hope this can help you.

    Kind regards

    Juan M

  • Determine the space allocated to the tablespace on disk and the database free summer

    Hello

    Using oracle 11.2.0.3 and want to determine that some new storage space will be large enough to hold the data that we intend to move in them these is large enough.

    When watching in Oracle enterprise manager see tablespaces but all look to have a default value 1024 MB and when run query below don't even see the tablespaces.

    Another team created these and advised 4 GB but want to verify this.

    How can we be sure that 4 GB was allotted to each of the tablespaces concerned before moving data.

    Select df.tablespace_name "Tablespace"

    totalusedspace 'Used MB',

    (df.totalspace - tu.totalusedspace) "MB free.

    DF. TotalSpace 'Total MB. "

    round (100 * ((df.totalspace-tu.totalusedspace) / df.totalspace))

    "PCT free."

    Of

    (select nom_tablespace,

    Round (Sum (bytes) / 1048576) TotalSpace

    from dba_data_files

    Group by tablespace_name) df,.

    (select round (sum (bytes) /(1024*1024)) totalusedspace, nom_tablespace)

    from dba_segments

    where nom_tablespace like '% % refund '.

    you group by tablespace_name)

    where df.tablespace_name = tu.tablespace_name

    order by 1

    Thank you

    Hello

    Use this query and display the results:

    CLEAR COLUMNS
    SET LINES 200
    COLUMN "Tablespace"  FORMAT A34 TRUNC
    COLUMN "AllocSize (M)"    FORMAT 999,990
    COLUMN "AllocFree (M)"    FORMAT 999,990
    COLUMN "AllocUsed (%)"    FORMAT A16
    COLUMN "MaxSize (M)"  FORMAT 999,990
    COLUMN "MaxFree (M)"  FORMAT 999,990
    COLUMN "MaxUsed (%)"  FORMAT A16
    
    SELECT /*+choose*/    CASE f.status
                  WHEN 'ONLINE'
                      THEN '+'
                  WHEN 'OFFLINE'
                      THEN '-'
                  ELSE '='
                END
            || '|'
            || SUBSTR (f.CONTENTS, 1, 1)
            || '|'
            || f.tablespace_name "Tablespace",
            f.nallocsize "AllocSize (M)", f.free "AllocFree (M)",
                '['
            || RPAD (NVL (RPAD ('#', ROUND (f.nusedpct / 10), '#'), '_'), 10,
                      '_')
            || ']'
            || LPAD (TO_CHAR (f.nusedpct), 3, ' ')
            || '%' "AllocUsed (%)",
            f.nmaxsize "MaxSize (M)",
            (f.free + f.nmaxsize - f.nallocsize) "MaxFree (M)",
                '['
            || RPAD (NVL (RPAD ('#', ROUND (f.nmaxusedpct / 10), '#'), '_'),
                      10,
                      '_'
                    )
            || ']'
            || LPAD (TO_CHAR (f.nmaxusedpct), 3, ' ')
            || '%' "MaxUsed (%)"
        FROM (SELECT e.status, e.tablespace_name, e.CONTENTS, e.nallocsize,
                    e.free, e.nmaxsize,
                    (CASE nallocsize
                        WHEN 0
                            THEN 0
                        ELSE ROUND ((100 - (e.free / e.nallocsize * 100)))
                      END
                    ) nusedpct,
                    (CASE nmaxsize
                        WHEN 0
                            THEN 0
                        ELSE ROUND (  100
                                    -  (e.free + e.nmaxsize - e.nallocsize)
                                      / e.nmaxsize
                                      * 100
                                    )
                      END
                    ) nmaxusedpct
                FROM (SELECT d.status, d.tablespace_name, d.CONTENTS,
                            ROUND (a.BYTES / (1024 * 1024)) nallocsize,
                            ROUND (NVL (s.BYTES, 0) / (1024 * 1024)) free,
                            (CASE
                                WHEN NVL (a.maxbytes, 0) < a.BYTES
                                    THEN ROUND (a.BYTES / (1024 * 1024))
                                ELSE ROUND (NVL (a.maxbytes, 0) / (1024 * 1024))
                              END
                            ) nmaxsize
                        FROM (SELECT status, tablespace_name, CONTENTS
                                FROM dba_tablespaces
                              WHERE CONTENTS != 'TEMPORARY') d,
                            (SELECT  tablespace_name, SUM (NVL (BYTES, 0))
                                                                            BYTES,
                                      SUM
                                          (CASE
                                              WHEN NVL (maxbytes, 0) <
                                                                    NVL (BYTES, 0)
                                                THEN NVL (BYTES, 0)
                                              ELSE NVL (maxbytes, 0)
                                          END
                                          ) maxbytes
                                  FROM dba_data_files
                              GROUP BY tablespace_name) a,
                            (SELECT  tablespace_name, SUM (BYTES) BYTES
                                  FROM (SELECT  tablespace_name,
                                                SUM (BYTES) BYTES
                                            FROM dba_free_space
                                        GROUP BY tablespace_name
                                        )
                              GROUP BY tablespace_name) s
                      WHERE d.tablespace_name = a.tablespace_name
                        AND d.tablespace_name = s.tablespace_name(+)
                      UNION ALL
                      SELECT d.status, d.tablespace_name, d.CONTENTS,
                            ROUND (a.BYTES / (1024 * 1024)) nallocsize,
                            ROUND (NVL (s.BYTES, 0) / (1024 * 1024)) free,
                            (CASE
                                WHEN NVL (a.maxbytes, 0) < a.BYTES
                                    THEN ROUND (a.BYTES / (1024 * 1024))
                                ELSE ROUND (NVL (a.maxbytes, 0) / (1024 * 1024))
                              END
                            ) nmaxsize
                        FROM (SELECT status, tablespace_name, CONTENTS
                                FROM dba_tablespaces
                              WHERE CONTENTS = 'TEMPORARY') d,
                            (SELECT  tablespace_name, NVL (SUM (BYTES),
                                                            0) BYTES,
                                      NVL (SUM (maxbytes), 0) maxbytes
                                  FROM dba_temp_files
                              GROUP BY tablespace_name) a,
                            (SELECT  h.tablespace_name,
                                      SUM (  (h.bytes_free + h.bytes_used)
                                            - NVL (p.bytes_used, 0)
                                          ) BYTES
                                  FROM v$temp_space_header h,
                                      v$temp_extent_pool p,
                                      dba_temp_files f
                                WHERE p.file_id(+) = h.file_id
                                  AND p.tablespace_name(+) = h.tablespace_name
                                  AND f.file_id = h.file_id
                                  AND f.tablespace_name = h.tablespace_name
                              GROUP BY h.tablespace_name) s
                      WHERE  d.tablespace_name = a.tablespace_name
                        AND d.tablespace_name = s.tablespace_name(+)) e) f
    where f.tablespace_name like '%RTRN%'
    ;
    
    PROMPT (+) = ONLINE      (P) = PERMANENT
    PROMPT (=) = READ ONLY    (U) = UNDO
    PROMPT (-) = OFFLINE      (T) = TEMPORARY
    PROMPT
    

    Edit:

    Example of output:

    Tablespace AllocSize (M) AllocFree (M) AllocUsed (%) MaxSize (M) MaxFree (M) MaxUsed (%)

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

    +| P | XDB 1 374 0 [#] 100% 8 192 6 818 [# _] 17%

    If the column "MaxFree (M)" you show no space required, then your data files are not configured well. Your DBA must configure the parameters 'CanGrow' and 'maxsize' adequate level data file in each tablespace.

    Kind regards

    Juan M

  • collect statistics for the tablespace

    Friends...

    OS: Linux

    DB: 11 GR 2

    Data size: 1 TB

    I spend monthly multiple partitioned table spaces and bring together in a single annual partition. (for example tbs_2014_01, tbs_2014_02 - tbs_2014_12... all combine them into tbs_2014 as a tablespace)

    Over the weekend, work of database gets executed that collects statistics that are obsolete, it collects all the segments that have been moved from the storage.

    Given that the collection of statistics at the end of the week takes too long, I tried to find a smart way to collect statistics after each tablespace move rather than waiting for job to weekend which will take two or three days to complete.

    1. is there a way to gather statistics at the tablespace level and collect statistics for all objects in this table space?

    2. how to determine the overall stats of collection of statistics part?

    That is, suppose I have move the tbs_2014_01 tablespace and collect statistics with global stats that could take 2 hours but it will be difficult to spend 2 hours for each stats global tablespace which in my opinion is not good and we should be collecting global stats only once.

    3. any other advice?

    977272 wrote:

    @sol.beach... Thanks for your comments...

    I've not been asked to collect statistics to the tablespace but level to collect statistics after that finish objects move in storage.

    Given the size of the data, it is difficult to gather all the statistics at the weekend so trying to understand another method to collect the statistics the weekend load will be less.

    You can collect statistics object on an object by object basis level after that each object has been moved.

  • Cannot delete the tablespace empty without including content

    SQL > select the separate owner, nom_segment, segment_type dba_extents where nom_tablespace = 'PLAYLOG. "

    no selected line

    However-

    SQL > drop tablespace playlog.

    Drop tablespace playlog

    *

    ERROR on line 1:

    ORA-01549: tablespace not empty, use CONTENT including option

    SQL > purge the tablespace playlog.

    Purged tablespace.

    SQL > drop tablespace playlog.

    Drop tablespace playlog

    *

    ERROR on line 1:

    ORA-01549: tablespace not empty, use CONTENT including option

    Also compare bytes in dba_segments with dba_extents.  I know you served the recyclebin, but still...

    Another more speculative idea: I wonder if delayed segment creation has something to do with it.

    See map of measurement for the Oracle, the way to old for some ideas on how to look.

  • ORA-1655: impossible to extend the cluster SYS. C_TS # 8 in the tablespace SYSTEM ORA-1655: impossible to extend the cluster SYS. C_TS # 8 in the SYSTEM tablespace

    Hi all

    Oracle version 11.2.0.2 XE edition, OEL 5.6

    I am facing error during the creation of tablespace that my system tablespace is full. Although the system tablespace is autoextend and there is space available on the hard disk what preventing the system tablespace not capable to autoextend. I checked and there is no space in the system tablespace.

    I encountered a similar problem earlier for one of the could not tablespace autoextend even though autoextend is on and enough free space on hard disk (in a different environment)

    ulimit is unlimited for this.

    What could be the reasons that although if autoextend is the tablespace not power autoextend.

    Thank you.

    Fahim5 wrote:

    Hi all

    Oracle version 11.2.0.2 XE edition, OEL 5.6

    I am facing error during the creation of tablespace that my system tablespace is full. Although the system tablespace is autoextend and there is space available on the hard disk what preventing the system tablespace not capable to autoextend. I checked and there is no space in the system tablespace.

    I encountered a similar problem earlier for one of the could not tablespace autoextend even though autoextend is on and enough free space on hard disk (in a different environment)

    ulimit is unlimited for this.

    What could be the reasons that although if autoextend is the tablespace not power autoextend.

    Thank you.

    Autoextend would also have a maximum limit of how much of the data file would be able to expand. So, what is the value of that? I don't see other reasons except that you made out of the maximum space allowed for the data file extend and which is prohibiting him from extends.

    Aman...

  • ORA-00959: NSN_2 tablespace does not exist... But the tablespace is defined in the user temp script

    WHEN I SPEAR IMPDP I GET AN ERROR ABOUT "THE TABLESPACE DOES NOT EXIST.

    THIS space of STORAGE IS in FACT is MORE PRESENT on THE SYSTEM, BUT IT IS DEFINED IN the User1 SCRIPT

    IS there ANYWAY THAT I CAN ASK HIM don't GET THIS TEMP TABLESPACE

    or

    is there anyway I can remove the definition of the user (User1) NSN_2

    OR

    should I just re-create the NSN_2 tablescape

    HELP NEEDED PLS...

    DROP USER CASCADE USER1;

    CREATE THE USER1 USER

    IDENTIFIED BY < password >

    NSN_1 DEFAULT TABLESPACE

    TEMPORARY TEMP TABLESPACE

    -2 Tablespace quotas for User1

    ALTER USER USER1 QUOTA UNLIMITED ON NSN_1;

    ALTER USER USER1 QUOTA UNLIMITED ON NSN_2;                -point in contention

    Directory of Impdp User1/password = dump_dir dumpfile = logfile = LOG.log remap_schema user2.dmp = USER2:USER1 remap_tablespace = NSN_4:NSN_1

    Table main "USER1". "' SYS_IMPORT_FULL_01 ' properly load/unloaded

    Departure "USER1". "' SYS_IMPORT_FULL_01 ': User1 / * directory = dump_dir = setup_02102012.dmp = logfile dumpfile tries .log remap_schema = remap_tablespace of installation: USER1 = NSN_4:NSN_1

    Processing object type SCHEMA_EXPORT/USER

    ORA-31684: USER object Type: 'USER1' already exists

    Processing object type SCHEMA_EXPORT/SYSTEM_GRANT

    Processing object type SCHEMA_EXPORT/ROLE_GRANT

    Processing object type SCHEMA_EXPORT/DEFAULT_ROLE

    Processing object type SCHEMA_EXPORT/TABLESPACE_QUOTA

    ORA-39083: Type as tablespace_quota cannot be created with the object error:

    ORA-00959: tablespace "NSN_2" does not exist

    Because sql is:

    REPORT THE NUMBER OF TEMP_COUNT;   SQLSTR VARCHAR2 (200); BÉGIN SQLSTR: = ' ALTER USER 'USER1' QUOTA UNLIMITED ON 'NSN_2 ';  RUN IMMEDIATELY SQLSTR; EXCEPTION, THEN THAN OTHERS SO IF SQLCODE =-30041 THEN SQLSTR: = ' SELECT COUNT (*) OF USER_TABLESPACES WHERE NOM_TABLESPACE = "NSN_2" AND CONTENT = "TEMPORARY"';      RUN IMMEDIATELY SQLSTR IN TEMP_CO

    Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA

    Object type SCHEMA_EXPORT/SEQUENCE/SEQUENCE of treatment

    Object type SCHEMA_EXPORT/TABLE/TABLE processing

    ORA-39083: TABLE object type: "USER1". "" AVAIL_BY_OPTION_REF "impossible to create with the error:

    ORA-00959: tablespace "NSN_2" does not exist

    Impdp transform = segment_attributes

    Smit

  • Diffrence between the tablespace is ONLINE and READ WRITE?

    Hi all

    I'm very confused on the tablespace is ONLINE and READ WRITE?

    Some say that if the tablespace is online, this means that its READ WRITE and when its offline then its READ-only.

    So, what is the difference between them:

    ALTER TABLESPACE offline tablespacename; -> done mean READ only now?

    ALTER TABLESPACE tablespacename online; -> is it means its READ WRITE now?

    If Yes, then what is the use of the following command if above 2 commands? :

    ALTER TABLESPACE tablespacename [READ ONLY |] READING WRITING];

    Kind regards

    Confused Ritu

    In addition, when the tablespace is offline, objects belonging to those who are not available for use to users. You wouldn't be able to query for objects in a tablespace offline.

    When the tablespace is read only - no write operation cannot be performed i.e. etc. INSERT/UPDATE/DEL. Oracle says that read-only tablespaces provides a way to protect the historical data so that users cannot modify it. You can drop objects, such as tables or indexes, to a tablespace read-only, but you can't create or modify objects in a tablespace read only

    In order to bring a tablespace OFFLINE to ONLINE - so that it is available to users, you must "ALTER TABLESPACE online tablespacename" command. A tablespace online can be READ ONLY or READ WRITE mode.

  • command to check the tablespace is read or write mode State?

    command to check the tablespace is read or write mode State?

    SELECT status FROM dba_tablespaces WHERE nom_tablespace = 'MY_TS ';

    The State values are online, offline, or READ only. ONLINE is READ WRITE.

    HTH,

    Brian

  • alert on the size of the tablespace

    RDBMS 11.2.0.4

    EM 12.1

    Someone at - it a rule of thumb on the size of the tablespace

    lets say I'm 2 datafiles, max size 32 gb autoincrement on.  total of 64 GB

    How do you manage your space, do alert you when it arrives to the % of the size of 64 GB.  How get oracle automatically adds a file?  Id want to do or not?  I can handle alerting on start it then.

    Edit (yes I know auto adding files could be a bad thing if something went bump in the night but another of that)

    Select * from DBA_TABLESPACE_USAGE_METRICS where USED_PERCENT > 85 and nom_tablespace! = "undo."

    This method works.

  • Moving the tablespace to another location

    Hi all

    I need to move the files to the tablespace from one place to another location because of the hard drive space.

    Example of

    Tablespace name: TEST_TS

    which contains several dbf files such as

    ' / opt/oracle/oradata/1.DBF' SIZE 20480 M AUTOEXTEND ON NEXT 1024 M MAXSIZE UNLIMITED,.

    ' / opt/oracle/oradata/2.DBF' SIZE M 30720 AUTOEXTEND ON NEXT 1024 M MAXSIZE UNLIMITED,.

    ' / opt/oracle/oradata/3.DBF' SIZE M 31744 AUTOEXTEND ON NEXT 1024 M MAXSIZE UNLIMITED,.

    ' / opt/oracle/oradata/4.DBF' SIZE M 30720 AUTOEXTEND ON NEXT 1024 M MAXSIZE UNLIMITED,.

    ' / opt/oracle/oradata/5.DBF' SIZE 2048 M AUTOEXTEND ON NEXT 500 M MAXSIZE UNLIMITED

    now I need to move files some where else like

    ' / u01/oracle/oradata/1.DBF' SIZE 20480 M AUTOEXTEND ON NEXT 1024 M MAXSIZE UNLIMITED,.

    ' / u01/oracle/oradata/5.DBF' SIZE 2048 M AUTOEXTEND ON NEXT 500 M MAXSIZE UNLIMITED

    Kindly help me in this archive.

    Thanks and greetings

    Saami

    You need

    1. to disconnect the tablespace

    2. copy your data files to the new location

    3 Rename in your database

    4 put the storage space online

    Link below gives an example and details;

    Management of data files and temporary files

  • How to move the tablespace SYSAUX ASM file system when the database is opened?

    OS: RHEL 5.9 with UEK

    Database version: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64 bit Production

    On a stand-alone server network infrastructure.

    According to me, that if I put the database in montage mode or disconnect SYSAUX, I can move the ASM filesystem SYSAUX tablespace by issuing the following instructions:

    • format of backup as copy tablespace SYSAUX "+ SYSTEM";
    • tablespace SYSAUX switch copy;

    But I want to know how I can move the ASM filesystem SYSAUX tablespace when the database is opened.

    Thank you.

    The two doc tells how to move sysaux when the database is opened:

    How do I move the TABLESPACE SYSAUX (Doc ID 301186.1)

    http://Paul.CLAESSEN.org/?p=79

    This method may not work if any process uses sysaux. You will need to stop car he like sb said.

  • When OMF add the data file in the tablespace

    Hi friends,

    We use oracle 11.2 with CMS (oracle managed file) for the database on the linux platform. the parameter - DB_CREATE_FILE_DEST had been set. at the present time, we received a message from global warming this tablespace criterion is 85% full.

    According to the document of the oracle, OMF auto will add a data file in the tablespace tast. more than a week, I do not see any data file has been added by OMF.

    I want to know when OMF adds the data file in the tablespace? 85% or 95% or some (parameter) setting this action?

    Thank you

    newdba

    OMF does not automatically add a new data file.  You must explicitly add a new data file with the ALTER TABLESPACE ADD DATAFILE command tbsname.

    What is OMF is to provide a Unique name and a default size (100 MB) for the data file.  That is why the ALTER TABLESPACE... Command ADD DATAFILE that you run didn't need to specify the file size or file name.

    Hemant K Collette

Maybe you are looking for