Overblog Suivre ce blog
Editer l'article Administration Créer mon blog
5 octobre 2010 2 05 /10 /octobre /2010 20:57

 

Modification Tablespace avec l'ordre SQL ALTER TABLESPACE / DATABASE.

Comment ajouter un fichier de données dans un tablespace permanent de ma base de données Oracle ou comment renommer, déplacer un fichier de données, passer le Tablespace OFFLINE ou en READ-ONLY ou en FORCE LOGGING ou augmenter la taille d'un fichier de données Oracle ? .

Cet article ne traite pas la modification de Tablespaces dit technique (UNDO et TEMPORARY) mais la modification de Tablespaces permanents ( stockage tables, index, procédures, objets, ...).

Rappel :

• Les Tablespaces SYSTEM et SYSAUX ne peuvent pas être renommés.
• Un Tablespace est une unité logique de stockage composée de fichiers physiques.
• Le stockage est organisé en Segments et Extents.
• Un Tablespace peut être géré dans le dictionnaire ou localement.
• On appelle Tablespace permanents, les Tablespace autres que TBS UNDO et TBS TEMPORARY.
• On ne peut pas ajouter un fichier supplémentaire dans un Tablespace Bigfile (1 fichier unique volumineux).
• Un Tablespace peut être ONLINE (accessible) ou OFFLINE (inaccessible).
• Un Tablespace OFFLINE ne peut pas être renommé.
• Un Tablespace peut être en READ WRITE (lecture/écriture) ou READ ONLY (lecture).

 

Syntax ordre sql ALTER TABLESPACE Permanent.

 

 
 ALTER TABLESPACE tablespace { DEFAULT [ table_compression ] storage_clause | MINIMUM EXTENT integer [ K | M | G ] | RESIZE integer [ K | M | G | T ] | COALESCE | RENAME TO new_tablespace_name | { BEGIN | END } BACKUP { ADD { DATAFILE } [ file_specification ] | DROP {DATAFILE } { 'filename' | file_number } | RENAME DATAFILE 'filename' [, 'filename' ]... TO 'filename' [, 'filename' ] | { DATAFILE } { ONLINE | OFFLINE } } { | [ NO ] FORCE LOGGING } TABLESPACE GROUP { tablespace_group_name | '' } { ONLINE | OFFLINE [ NORMAL | TEMPORARY | IMMEDIATE ] } | READ { ONLY | WRITE } | { PERMANENT } AUTOEXTEND { OFF | ON [ NEXT integer [ K | M | G | T ] ] [ MAXSIZE { UNLIMITED | integer [ K | M | G | T ] } ] } FLASHBACK { ON | OFF } RETENTION { GUARANTEE | NOGUARANTEE } } ; 

 

Configurer le paramètre DB_CREATE_FILE_DEST.

Le paramètre d'initialisation DB_CREATE_FILE_DEST définit le répertoire dans lequel seront créés les fichiers de données et fichiers temporaires de la base de données Oracle. C'est l'OMF ( Oracle Managed File ). Si ce paramètre est utilisé alors aucune spécification de fichier sera nécessaire dans les opérations de création de fichiers de données. Ce paramètre est utilisé pour une gestion rapide des fichiers, cependant cette méthode est rarement utilisé dans un environnement de production.

Ajouter un fichier de données au TABLESPACE avec ADD DATAFILE.

 

SQL> ALTER SYSTEM SET DB_CREATE_FILE_DEST = 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\DBTEST';
SQL> ALTER TABLESPACE data ADD DATAFILE AUTOEXTEND ON MAXSIZE 3G;

sinon

SQL> ALTER TABLESPACE data ADD DATAFILE 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\DBTEST\DATA_2.DBF'
SIZE 2G AUTOEXTEND ON MAXSIZE 3G;

 

Modifier la taille d'un fichier de données avec RESIZE.

 

Si TABLESPACE SMALLFILE alors
SQL> ALTER DATABASE DATAFILE 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\DBTEST\DATA_2.DBF' RESIZE 3G;

Si TABLESPACE BIGFILE alors
SQL> ALTER TABLESPACE big_tbs RESIZE 40G;

 

Activer l'extension automatique d'un fichier de données avec AUTOEXTEND.

 

Si TABLESPACE SMALLFILE alors
SQL> ALTER DATABASE DATAFILE 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\DBTEST\DATA_2.DBF' AUTOEXTEND ON NEXT 500M MAXSIZE 4G;

Si TABLESPACE BIGFILE alors
SQL> ALTER TABLESPACE big_tbs AUTOEXTEND ON NEXT 2G MAXSIZE 50G;

 

Désactiver / Activer un TABLESPACE avec OFFLINE / ONLINE.

 

Désactiver TABLESPACE
SQL> ALTER TABLESPACE data OFFLINE;

Activer TABLESPACE
SQL> ALTER TABLESPACE data ONLINE;

 

Renommer et déplacer un fichier de données (base ouverte).

 

SQL> ALTER TABLESPACE data OFFLINE;

SQL> HOST MOVE 'C:\ORADATA\DBTEST\DATA_2.DBF' 'D:\NEWDATA_2.DBF';

SQL> ALTER TABLESPACE data RENAME DATAFILE 'C:\ORADATA\DBTEST\DATA_2.DBF' TO 'D:\NEWDATA_2.DBF';

SQL> ALTER TABLESPACE data ONLINE;

 

Renommer et déplacer un fichier de données (base montée).

 

SQL> HOST MOVE 'C:\ORADATA\DBTEST\DATA_2.DBF' 'D:\NEWDATA_2.DBF';

SQL> ALTER DATABASE RENAME FILE 'C:\ORADATA\DBTEST\DATA_2.DBF' TO 'D:\NEWDATA_2.DBF';

SQL> ALTER DATABASE OPEN;

 

Renommer un Tablespace (ONLINE uniquement).

 

SQL> ALTER TABLESPACE data RENAME TO newdata;

 

Descriptions de quelques Options.

BIGFILE | SMALLFILE.
Si cette clause est omise, Oracle prendra le type par défaut défini au niveau de la base de données.

Name.
C'est le nom que vous donnerez à votre Tablespace.

DATAFILE file_specification.
Permet de préciser l'emplacement du fichier de données pour le Tablespace.

AUTOEXTEND.
Indique si le fichier pourra grossir une fois l'espace alloué est utilisé.

NEXT.
Espace alloué lors de l'extension.

MAXSIZE.
Taille maximale du fichier.

LOGGING | NOLOGGING.
Définit le mode de journalisation des segments qui seront stockés dans le Tablespace. Clause ignorée si FORCE LOGGING est actif niveau Tablespace ou Base de données.

FORCE LOGGING.
Permet de garantir que les modifications sont enregistrées dans les fichiers de journalisation.

FLASHBACK { ON | OFF }.
Indique si le Tablespace participe aux opérations de FLASHBACK Database.

ONLINE | OFFLINE.
Indique si le Tablespace est crée Online ou Offline.

 

Liens en rapport avec l'article et qui sont susceptibles de vous intéresser
• Oracle Tablespace Annulation (UNDO)
• Oracle Tablespace Temporaire (TEMPORARY)
• Oracle Tablespace description
• Create TABLESPACE Oracle

Partager cet article

Repost 0
Published by Daniel Roesch - dans TABLESPACE
commenter cet article

commentaires