meta données pour cette page
  •  

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
oracle:database:tablespace-datafile [22/02/2024 09:51] mdloracle:database:tablespace-datafile [14/02/2025 08:46] (Version actuelle) mdl
Ligne 1: Ligne 1:
-=== tablespace+===== tablespace & datafile ===== 
 +== DB SIZE == 
 +<code PLSQL> 
 +col "Database Size" format a20 
 +col "Free space" format a20 
 +col "Used space" format a20 
 +select round(sum(used.bytes) / 1024 / 1024 / 1024 ) || ' GB' "Database Size" 
 +, round(sum(used.bytes) / 1024 / 1024 / 1024 ) - 
 +round(free.p / 1024 / 1024 / 1024) || ' GB' "Used space" 
 +, round(free.p / 1024 / 1024 / 1024) || ' GB' "Free space" 
 +from (select bytes 
 +from v$datafile 
 +union all 
 +select bytes 
 +from v$tempfile 
 +union all 
 +select bytes 
 +from v$log) used 
 +, (select sum(bytes) as p 
 +from dba_free_space) free 
 +group by free.p 
 +
 +</code> 
 +  * Check the CDB Size of the databases 
 +<code PLSQL> 
 +select sum(bytes)/1024/1024/1024 from cdb_data_files; 
 +</code> 
 +  * Check the PDB Size of the databases 
 +<code PLSQL> 
 +select con_id, name, open_mode, total_size/1024/1024/1024 "PDB_SIZE_GB" from v$pdbs; 
 +</code>
  
 +=== tablespace ===
 <code PLSQL> <code PLSQL>
 set linesize 100 set linesize 100
Ligne 39: Ligne 70:
 ORDER BY 6; ORDER BY 6;
 </code> </code>
- +\\   
-=== DATAFILE +=== DATAFILE === 
 +<code PLSQL>
 col tablespace_name format A40 heading tablespace col tablespace_name format A40 heading tablespace
 col file_name  format a70 col file_name  format a70
Ligne 69: Ligne 100:
  INCREMENT_BY  INCREMENT_BY
 order by f.tablespace_name,Pct_available; order by f.tablespace_name,Pct_available;
- +</code> 
- +\\   
- +=== REDO === 
---- REDO+<code PLSQL>
 column member format a50; column member format a50;
 select group#, member from v$logfile order by 1; select group#, member from v$logfile order by 1;
- +</code> 
---- Temp Tablespaces+\\   
 +=== Temp Tablespaces === 
 +<code PLSQL>
 set lines 300 set lines 300
 col  a.name format A20 col  a.name format A20
 col  FILE_NAME format A80 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#; 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#;
 +</code>
  
 +<code PLSQL>
 set lines 300 set lines 300
 col  a.name format A20 col  a.name format A20
 col  FILE_NAME format A60 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#; 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#;
- +</code> 
---- SYSAUX --- +\\   
- +=== SYSAUX === 
--- Occupants: +== Occupants: == 
- + <code PLSQL>
 select occupant_name,occupant_desc,space_usage_kbytes/1024 space_usage_Mbytes from v$sysaux_occupants select occupant_name,occupant_desc,space_usage_kbytes/1024 space_usage_Mbytes from v$sysaux_occupants
 order by space_usage_kbytes DESC;  order by space_usage_kbytes DESC; 
 +</code>
  
 Si les AWR sont trop gros, vérifier la durée de rétention (cf DB -SYSAUX énorme en 19c si 19C) Si les AWR sont trop gros, vérifier la durée de rétention (cf DB -SYSAUX énorme en 19c si 19C)
  
 +<code PLSQL>
 Set lines 300 Set lines 300
 Col SNAP_INTERVAL format A30 Col SNAP_INTERVAL format A30
Ligne 104: Ligne 138:
 Col SRC_DBNAME format A30 Col SRC_DBNAME format A30
 select * from DBA_HIST_WR_CONTROL; select * from DBA_HIST_WR_CONTROL;
- +</code> 
-  + <code PLSQL>
- +
- +
- +
- +
 select min(snap_id),MAX(snap_id) from dba_hist_snapshot; select min(snap_id),MAX(snap_id) from dba_hist_snapshot;
- +</code> 
-  + \\   
- +=== AJOUT DATAFILE ===
-  +
- +
- +
- +
---- AJOUT DATAFILE --- +
  
 Il faut au préalable vérifier la taille des blocs dans l'instance Il faut au préalable vérifier la taille des blocs dans l'instance
  
 +<code PLSQL>
 set lines 300 set lines 300
 col name format A20 col name format A20
 col display_value format A20 col display_value format A20
 col ISINSTANCE_MODIFIABLE format A20 col ISINSTANCE_MODIFIABLE format A20
-  
 select num,name,type,display_value,ISINSTANCE_MODIFIABLE,DESCRIPTION FROM v$parameter WHERE name = 'db_block_size'; select num,name,type,display_value,ISINSTANCE_MODIFIABLE,DESCRIPTION FROM v$parameter WHERE name = 'db_block_size';
 + </code>
  
  
 Ou Ou
 +<code PLSQL>
 show parameter db_block_size show parameter db_block_size
- + </code>
- +
  
 Compléter avec DB_BLOCK vs KB Compléter avec DB_BLOCK vs KB
  
- +<code PLSQL>
 ALTER TABLESPACE PAT_PIL_STA ADD DATAFILE '/oracle/oradata/PATIENT/u03/PAT_PIL_STA03.dbf' SIZE 1G AUTOEXTEND ON NEXT  128M MAXSIZE 8192M ; ALTER TABLESPACE PAT_PIL_STA ADD DATAFILE '/oracle/oradata/PATIENT/u03/PAT_PIL_STA03.dbf' SIZE 1G AUTOEXTEND ON NEXT  128M MAXSIZE 8192M ;
 +</code>
 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 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 ---  +\\ 
 +=== Agrandir DATAFILE === 
 +<code PLSQL>
 ALTER DATABASE DATAFILE '/u04/oradata/his/data/core_dataHIS70.dbf' RESIZE 20G; ALTER DATABASE DATAFILE '/u04/oradata/his/data/core_dataHIS70.dbf' RESIZE 20G;
 +</code>
  
---- changer MAX SIZE ---- +\\   
 +=== changer MAX SIZE === 
 +<code PLSQL>
 ALTER DATABASE DATAFILE 'D:\DBDATA\TESTPTIX02.ORA' AUTOEXTEND ON MAXSIZE 3840M; ALTER DATABASE DATAFILE 'D:\DBDATA\TESTPTIX02.ORA' AUTOEXTEND ON MAXSIZE 3840M;
- +</code> 
- +\\   
---- Générer ALTER DATAFILE+=== Générer ALTER DATAFILE === 
 +<code PLSQL>
 select 'alter database datafile '''||FILE_NAME||''' autoextend on next 128M;' from dba_data_files where AUTOEXTENSIBLE = 'YES' and INCREMENT_BY/BLOCKS*BYTES/1024 < 131072; select 'alter database datafile '''||FILE_NAME||''' autoextend on next 128M;' from dba_data_files where AUTOEXTENSIBLE = 'YES' and INCREMENT_BY/BLOCKS*BYTES/1024 < 131072;
 +</code>
  
- +<code PLSQL>
- +
- +
- +
 CREATE TEMPORARY TABLESPACE TEMP    TEMPFILE '/SIATIC_DATA3/oracle/SIATICI3/tempfile/temp.dbf' SIZE 5G; CREATE TEMPORARY TABLESPACE TEMP    TEMPFILE '/SIATIC_DATA3/oracle/SIATICI3/tempfile/temp.dbf' SIZE 5G;
 +</code>
  
 +<code PLSQL>
 alter database default temporary tablespace temp; alter database default temporary tablespace temp;
 +</code>
  
 +<code PLSQL>
 DROP TABLESPACE temp INCLUDING CONTENTS AND DATAFILES; DROP TABLESPACE temp INCLUDING CONTENTS AND DATAFILES;
 +</code>