meta données pour cette page
  •  

Ceci est une ancienne révision du document !


=== tablespace

SET linesize 100
SET pagesize 100
col file_name FOR a60
SELECT
    a.tablespace_name "TABLESPACE_NAME",
    ROUND(a.current_mb) "CURRENT_SIZE_MB",
    ROUND(a.max_mb) "MAX_SIZE_MB",
    ROUND(a.current_mb - c.free) "USED_MB",
    ROUND(a.max_mb - (a.current_mb - c.free)) "FREE_MB",
    ROUND(((a.current_mb - c.free)*100)/a.max_mb) "USED_PCT"
FROM
    (
        SELECT
            tablespace_name,
            SUM(a.bytes)/(1024*1024) current_mb,
            SUM(DECODE(a.autoextensible, 'NO', a.bytes/(1024*1024), GREATEST (a.maxbytes/(1024*1024),a.bytes/(1024*1024)))) max_mb
        FROM
            dba_data_files a
        GROUP BY tablespace_name
    ) a,
    (
        SELECT
            d.tablespace_name, SUM(NVL(c.bytes/(1024*1024),0)) free
        FROM
            dba_tablespaces d,
            dba_free_space c
        WHERE
            d.tablespace_name = c.tablespace_name(+)
        --AND d.contents='PERMANENT'
        --AND d.status='ONLINE'
        GROUP BY
            d.tablespace_name
    ) c
WHERE
    a.tablespace_name = c.tablespace_name
ORDER BY 6;

=== DATAFILE

col tablespace_name format A40 heading tablespace
col file_name  format a70
col tot_KB     format 99,999,999
col tot_freeMB format  9,999,999
col Kb_max     format  9,999,999
SET lines 300
SELECT
   f.tablespace_name,
   f.file_name,
   f.bytes/1024/1024 tot_MB,
   f.MAXBYTES/1024/1024 MAX_MB,
   SUM(NVL(s.bytes,0)/1024/1024) tot_freeMB,
   MAX(NVL(s.bytes,0)/1024/1024) maxextent_freeMB,
   f.INCREMENT_BY INCREMENT_BY ,
  ( (SUM(NVL(s.bytes,0)/1024/1024)) / (f.bytes/1024/1024) )*100 Pct_available
FROM  
   sys.dba_data_files f,
   sys.dba_free_space s
WHERE
   f.file_id = s.file_id(+)
GROUP BY
   f.tablespace_name,
   f.file_name,
   f.MAXBYTES/1024/1024,
   f.bytes/1024/1024,
 INCREMENT_BY
ORDER BY f.tablespace_name,Pct_available;

— REDO

column member format a50;
SELECT GROUP#, member FROM v$logfile ORDER BY 1;

— Temp Tablespaces

SET lines 300
col  a.name format A20
col  FILE_NAME format A80
SELECT b.TS#,a.name FILE_NAME ,b.name TABLESPACE_NAME , a.bytes/1024/1024/1024 SIZE_GB, a.STATUS STATUS FROM v$tempfile a, v$tablespace b WHERE a.ts#=b.ts#;
SET lines 300
col  a.name format A20
col  FILE_NAME format A60
SELECT b.TS#,a.name FILE_NAME ,b.name TABLESPACE_NAME , a.STATUS STATUS FROM v$tempfile a, v$tablespace b WHERE a.ts#=b.ts#;

— SYSAUX —

– Occupants:

SELECT occupant_name,occupant_desc,space_usage_kbytes/1024 space_usage_Mbytes FROM v$sysaux_occupants
ORDER BY space_usage_kbytes DESC; 

Si les AWR sont trop gros, vérifier la durée de rétention (cf DB -SYSAUX énorme en 19c si 19C)

SET lines 300
Col SNAP_INTERVAL format A30
Col RETENTION format A30
Col SRC_DBNAME format A30
SELECT * FROM DBA_HIST_WR_CONTROL;

select min(snap_id),MAX(snap_id) from dba_hist_snapshot;

— AJOUT DATAFILE —

Il faut au préalable vérifier la taille des blocs dans l'instance

set lines 300 col name format A20 col display_value format A20 col ISINSTANCE_MODIFIABLE format A20

select num,name,type,display_value,ISINSTANCE_MODIFIABLE,DESCRIPTION FROM v$parameter WHERE name = 'db_block_size';

Ou

show parameter db_block_size

Compléter avec DB_BLOCK vs KB

ALTER TABLESPACE PAT_PIL_STA ADD DATAFILE '/oracle/oradata/PATIENT/u03/PAT_PIL_STA03.dbf' SIZE 1G AUTOEXTEND ON NEXT 128M MAXSIZE 8192M ;

Si l'option NEXT xxx n'est pas précisée, Oracle prendra la valeur pas défaut qui est 8KB. Ce n'est pas bon car le datafile, avec une valeur EXTEND aussi petite, passera son temps à s'étendre et les perf risquent d'être dégradées

— Agrandir DATAFILE —

ALTER DATABASE DATAFILE '/u04/oradata/his/data/core_dataHIS70.dbf' RESIZE 20G;

— changer MAX SIZE —-

ALTER DATABASE DATAFILE 'D:\DBDATA\TESTPTIX02.ORA' AUTOEXTEND ON MAXSIZE 3840M;

— Générer ALTER DATAFILE select 'alter database datafile '||FILE_NAME||' autoextend on next 128M;' from dba_data_files where AUTOEXTENSIBLE = 'YES' and INCREMENT_BY/BLOCKS*BYTES/1024 < 131072;

CREATE TEMPORARY TABLESPACE TEMP TEMPFILE '/SIATIC_DATA3/oracle/SIATICI3/tempfile/temp.dbf' SIZE 5G;

alter database default temporary tablespace temp;

DROP TABLESPACE temp INCLUDING CONTENTS AND DATAFILES;