Overblog Suivre ce blog
Administration Créer mon blog
1 mai 2012 2 01 /05 /mai /2012 12:04

 

Nom et taille des objets dans le Tablespace SYSAUX.

Comment voir, lister le contenu du Tablespace SYSAUX.
Comment déplacer, migrer un objet du Tablespace SYSAUX.

Voir les objets du Tablespace SYSAUX.

On interroge la vue V$SYSAUX_OCCUPANTS pour lister les objets contenu dans le Tablespace SYSAUX.

 
  SQL> SET LINESIZE 130 SQL> COL occupant_desc FORMAT A52 SQL> COL occupant_name FORMAT A21 SQL> COL schema_name FORMAT A10 SQL> SQL> SELECT occupant_desc, occupant_name, schema_name, space_usage_kbytes FROM v$sysaux_occupants ORDER BY space_usage_kbytes DESC; OCCUPANT_DESC OCCUPANT_NAME SCHEMA_NAM SPACE_USAGE_KBYTES ---------------------------------------------------- --------------------- ---------- ------------------ Enterprise Manager Repository EM SYSMAN 49728 XDB XDB XDB 49216 Server Manageability - Optimizer Statistics History SM/OPTSTAT SYS 37504 Oracle Spatial SDO MDSYS 33216 Server Manageability - Automatic Workload Repository SM/AWR SYS 31360 Analytical Workspace Object Table AO SYS 21248 OLAP API History Tables XSOQHIST SYS 21248 OLAP Catalog XSAMD OLAPSYS 15936 Server Manageability - Advisor Framework SM/ADVISOR SYS 7232 Server Manageability - Other Components SM/OTHER SYS 6272 Workspace Manager WM WMSYS 6080 OCCUPANT_DESC OCCUPANT_NAME SCHEMA_NAM SPACE_USAGE_KBYTES ---------------------------------------------------- --------------------- ---------- ------------------ LogMiner LOGMNR SYSTEM 6080 Oracle Text TEXT CTXSYS 4736 Expression Filter System EXPRESSION_FILTER EXFSYS 3712 Enterprise Manager Monitoring User EM_MONITORING_USER DBSNMP 1600 Logical Standby LOGSTDBY SYSTEM 896 Oracle Streams STREAMS SYS 512 Oracle interMedia ORDSYS Components ORDIM ORDSYS 512 Unified Job Scheduler JOB_SCHEDULER SYS 448 Oracle Data Mining ODM DMSYS 256 Oracle Transparent Session Migration User TSM TSMSYS 256 Oracle Ultra Search Demo User ULTRASEARCH_DEMO_USER WK_TEST 0 OCCUPANT_DESC OCCUPANT_NAME SCHEMA_NAM SPACE_USAGE_KBYTES ---------------------------------------------------- --------------------- ---------- ------------------ Oracle interMedia ORDPLUGINS Components ORDIM/PLUGINS ORDPLUGINS 0 Statspack Repository STATSPACK PERFSTAT 0 Oracle Ultra Search ULTRASEARCH WKSYS 0 Oracle interMedia SI_INFORMTN_SCHEMA Components ORDIM/SQLMM SI_INFORMT 0 N_SCHEMA 26 ligne(s) sélectionnée(s). SQL>  

 

Migrer un objet hors du Tablespace SYSAUX.

Pour déplacer un objet du Tablespace SYSAUX vers un autre espace disque logique, on utilise le champ MOVE_PROCEDURE de la vue V$SYSAUX_OCCUPANTS.
Ce champ contient la procédure à exécuter pour déplacer l'objet dans un autre Tablespace.

 
  SQL> SET LINESIZE 130 SQL> COL occupant_name FORMAT A25 SQL> COL move_procedure FORMAT A36 SQL> COL move_procedure_desc FORMAT A58 SQL> SQL> SELECT occupant_name, move_procedure, move_procedure_desc FROM v$sysaux_occupants ORDER BY occupant_desc DESC; OCCUPANT_NAME MOVE_PROCEDURE MOVE_PROCEDURE_DESC ------------------------- ------------------------------------ ------------------------------------------ XDB XDB.DBMS_XDB.MOVEXDB_TABLESPACE Move Procedure for XDB WM DBMS_WM.move_proc Move Procedure for Workspace Manager JOB_SCHEDULER *** MOVE PROCEDURE NOT APPLICABLE *** STATSPACK Use export/import (see export parameter fi SM/OTHER *** MOVE PROCEDURE NOT APPLICABLE *** SM/OPTSTAT *** MOVE PROCEDURE NOT APPLICABLE *** SM/AWR *** MOVE PROCEDURE NOT APPLICABLE *** SM/ADVISOR *** MOVE PROCEDURE NOT APPLICABLE *** ULTRASEARCH_DEMO_USER MOVE_WK Move Procedure for Oracle Ultra Search ULTRASEARCH MOVE_WK Move Procedure for Oracle Ultra Search TSM *** MOVE PROCEDURE NOT APPLICABLE *** OCCUPANT_NAME MOVE_PROCEDURE MOVE_PROCEDURE_DESC ------------------------- ------------------------------------ ------------------------------------------ TEXT DRI_MOVE_CTXSYS Move Procedure for Oracle Text STREAMS *** MOVE PROCEDURE NOT APPLICABLE *** SDO MDSYS.MOVE_SDO Move Procedure for Oracle Spatial ORDIM/SQLMM *** MOVE PROCEDURE NOT APPLICABLE *** ORDIM *** MOVE PROCEDURE NOT APPLICABLE *** ORDIM/PLUGINS *** MOVE PROCEDURE NOT APPLICABLE *** ODM MOVE_ODM Move Procedure for Oracle Data Mining XSAMD DBMS_AMD.Move_OLAP_Catalog Move Procedure for OLAP Catalog XSOQHIST DBMS_XSOQ.OlapiMoveProc Move Procedure for OLAP API History Tables LOGMNR SYS.DBMS_LOGMNR_D.SET_TABLESPACE Move Procedure for LogMiner LOGSTDBY SYS.DBMS_LOGSTDBY.SET_TABLESPACE Move Procedure for Logical Standby OCCUPANT_NAME MOVE_PROCEDURE MOVE_PROCEDURE_DESC ------------------------- ------------------------------------ ------------------------------------------ EXPRESSION_FILTER *** MOVE PROCEDURE NOT APPLICABLE *** EM emd_maintenance.move_em_tblspc Move Procedure for Enterprise Manager Repo EM_MONITORING_USER *** MOVE PROCEDURE NOT APPLICABLE *** AO DBMS_AW.MOVE_AWMETA Move Procedure for Analytical Workspace Ob 26 ligne(s) sélectionnée(s). SQL>  

 

Déplacer l'objet LOGMNR de SYSAUX vers le Tablespace DATA.

Ici nous déplaçons LOGMNR de SYSAUX vers un Tablespace DATA avec l'aide du Package SYS.DBMS_LOGMNR_D.SET_TABLESPACE, et on ensuite nous vérifions que l'objet est bien migré vers le nouveau Tablespace en interrogeant la vue DBA_SEGMENTS.

 
  SQL> EXECUTE SYS.DBMS_LOGMNR_D.SET_TABLESPACE('DATA'); Procédure PL/SQL terminée avec succès. SQL> SQL> COL segment_name FORMAT A35 SQL> SELECT segment_name, tablespace_name FROM dba_segments WHERE tablespace_name='DATA'; SEGMENT_NAME TABLESPACE_NAME ----------------------------------- ------------------- LOGMNR_SESSION_EVOLVE$ DATA LOGMNR_SESSION_EVOLVE$_PK DATA LOGMNR_HEADER1$ DATA LOGMNR_HEADER2$ DATA LOGMNR_UID$ DATA LOGMNR_UID$_PK DATA LOGMNRC_DBNAME_UID_MAP DATA LOGMNRC_DBNAME_UID_MAP_PK DATA LOGMNR_DICTSTATE$ DATA LOGMNR_DICTIONARY$ DATA LOGMNR_OBJ$ DATA SEGMENT_NAME TABLESPACE_NAME ----------------------------------- ------------------- LOGMNR_USER$ DATA LOGMNRC_GTLO DATA LOGMNRC_GTLO_PK DATA LOGMNRC_GTCS DATA LOGMNRC_GSII DATA .............  

Haut de Page www.dba-ora.fr

 

 

Liens en rapport avec l'article et qui sont susceptibles de vous intéresser
• Oracle Tablespace
Repost 0
Published by Daniel Roesch - dans TABLESPACE
commenter cet article
14 mars 2012 3 14 /03 /mars /2012 21:43

 

Migration Tablespace et Poids ENDIAN.

C'est quoi un Big Endian. ?
C'est quoi un Little Endian. ?

 

Deux architectures différentes pour la gestion de stockage de mémoire. Ils sont appelés Big Endian et Little Endian et font référence à l'ordre dans lequel sont stockés les octets en mémoire.

Dans une architecture big-endian, les bits sont numérotés de la gauche vers a droite, le bit de poids le plus fort est le bit 0, et le bit de poids le plus faible est le 7 dans un octet.
Dans une architecture little-endian, c'est le contraire.

Big et Little Endian

Ceci va poser problème pour les tablepaces transportables durant une migration car la lecture des données binaires, selon l'architecture sur laquelle nous allons migrer, sera impossible.

 

Plateforme Oracle et Conversion RMAN.

 

Voir les types de plateforme et leurs poids.

 

  C:\>SET ORACLE_SID=TEST C:\>sqlplus /nolog SQL*Plus: Release 10.2.0.5.0 - Production on Mar. Mars 13 20:37:21 2012 Copyright (c) 1982, 2005, Oracle. All rights reserved. SQL> connect / as sysdba Connecté. SQL> COL platform_name FORMAT A40 SQL> COL endian_format FORMAT A20 SQL> SELECT platform_name, endian_format FROM V$TRANSPORTABLE_PLATFORM ORDER BY 2; PLATFORM_NAME ENDIAN_FORMAT ---------------------------------------- -------------------- HP-UX IA (64-bit) Big Solaris[tm] OE (32-bit) Big Apple Mac OS Big HP-UX (64-bit) Big IBM zSeries Based Linux Big AIX-Based Systems (64-bit) Big Solaris[tm] OE (64-bit) Big IBM Power Based Linux Big Solaris Operating System (x86) Little Microsoft Windows 64-bit for AMD Little Linux 64-bit for AMD Little Microsoft Windows IA (64-bit) Little HP Open VMS Little HP Tru64 UNIX Little Linux IA (32-bit) Little Microsoft Windows IA (32-bit) Little Linux IA (64-bit) Little 17 ligne(s) sélectionnée(s). SQL> SELECT platform_name FROM v$database; PLATFORM_NAME ---------------------------------------- Microsoft Windows IA (64-bit) SQL>  

 

Conversion des Tablespaces avec RMAN.

Une conversion avec RMAN des tablespaces transportables est obligatoire afin d'être compatible avec la plateforme cible et cela grâce à la commande CONVERT TABLESPACE de l'utilitaire RMAN.

  RMAN> CONVERT TABLESPACE ‘USERS’ TO PLATFORM = ‘AIX-Based Systems (64-bit)DB_FILE_NAME_CONVERT = ‘C:\users01.dbf’, ‘C:\transport_aix\users01.dbf’;  

Haut de Page www.dba-ora.fr


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
• ALTER TABLESPACE / DATABASE Oracle
Repost 0
Published by Daniel R. - dans TABLESPACE
commenter cet article
18 août 2011 4 18 /08 /août /2011 23:12

 

Script Lister les Objets d'un Tablespace.

Comment voir et lister les données / Objets d'un Tablespace Oracle ?.
Comment voir les tables et index dans un Tablespace Oracle ?.
Comment connaitre le nom du DATAFILE dans lequel sont stockées les objets ?.
Comment connaitre la taille des objets dans un Tablespace ?.

Voir les Objets dans les DATAFILES.

 

 
  REPHEADER PAGE CENTER 'LISTE DES OBJETS DANS TABLESPACE' SET LINESIZE 150 SET PAGESIZE 900 COL "TABLESPACE" FORMAT A10 COL "SCHEMA" FORMAT A8 COL "NOM OBJET" FORMAT A20 COL "TYPE OBJET" FORMAT A10 COL "TAILLE (Mb)" FORMAT 9999.99 COL "FICHIER DE DONNEES" FORMAT A30 SELECT e.tablespace_name AS "TABLESPACE", e.owner AS "SCHEMA", e.segment_name AS "NOM OBJET", e.segment_type AS "TYPE OBJET", ROUND(Sum(e.bytes)/1024/1024,2) AS "TAILLE (Mb)", d.file_name AS "FICHIER DE DONNEES" FROM dba_extents e INNER JOIN dba_data_files d ON ( e.file_id = d.file_id ) WHERE e.tablespace_name ='DATA' GROUP BY e.tablespace_name, e.owner, e.segment_name, e.segment_type, d.file_name ORDER BY 2,"TAILLE (Mb)" DESC; 

 

Aperçu Nom et Taille Objets dans Tablespace.

 
  LISTE DES OBJETS DANS TABLESPACE TABLESPACE SCHEMA NOM OBJET TYPE OBJET TAILLE (Mb) FICHIER DE DONNEES ---------- -------- -------------------- ---------- ----------- ------------------------------ DATA SCOTT MARQUE TABLE 150.06 C:\TBS\DATA_01.DBF DATA SCOTT VEHICULE TABLE 141.45 C:\TBS\DATA_01.DBF DATA SCOTT UN_MARQUE_ID INDEX 78.08 C:\TBS\DATA_02.DBF DATA SCOTT UN_VEHICULE_ID INDEX 50.85 C:\TBS\DATA_01.DBF DATA TEST VEHICULE TABLE 30.12 C:\TBS\DATA_02.DBF DATA TEST UN_VEHICULE_ID INDEX 8.16 C:\TBS\DATA_02.DBF  

Haut de Page www.dba-ora.fr

 

 

Liens en rapport avec l'article et qui sont susceptibles de vous intéresser
 
Repost 0
Published by Daniel Roesch - dans TABLESPACE
commenter cet article
16 août 2011 2 16 /08 /août /2011 20:58

 

Script User Unlimited Tablespace Privilège et Quota.

Comment voir et lister les Quota et Unlimited Tablespace Privilège ?

Lister les Quotas par User.

Permet de faire un inventaire des utilisateurs qui ont des quotas , des Unlimited Tablespace ainsi que le Privilège Unlimited Tablespace.
A savoir que si un USER a le Privilège Unlimited Tablespace, alors tous ses Quotas et Unlimited Tablespace spécifiques à un Tablespace sont Obsolètes.
Par contre si le Privilège est révoqué alors les Quotas et Unlimited Tablespace spécifiques deviennent Actifs.

 
 REPHEADER PAGE CENTER 'USER INFORMATION QUOTA et UNLIMITED TABLESPACE PRIVILEGE' SET LINESIZE 100 SET PAGESIZE 900 COL USERNAME FORMAT A10 COL TABLESPACE_NAME FORMAT A16 COL "INFO QUOTA" FORMAT A57 SELECT USERNAME, TABLESPACE_NAME, DECODE (SIGN (MAX_BYTES), -1, 'Unlimited Tbs sur '||TABLESPACE_NAME, 'Quota de ' ||(ROUND((MAX_BYTES/1024/1024),2))||' Mo') "INFO QUOTA", ROUND((BYTES/1024/1024),2) "IN USE EN Mo" FROM DBA_TS_QUOTAS WHERE USERNAME NOT IN(SELECT grantee FROM DBA_SYS_PRIVS WHERE privilege ='UNLIMITED TABLESPACE') UNION SELECT USERNAME, TABLESPACE_NAME, DECODE (SIGN (MAX_BYTES), -1, 'Unlimited Tbs sur '||TABLESPACE_NAME|| ' Obsolete car Unlimited Tbs Priv', 'Quota de ' || (ROUND((MAX_BYTES/1024/1024),2))||' Mo Obsolete car UNLIMITED TBS PRIV') "INFO QUOTA", ROUND((BYTES/1024/1024),2) "IN USE EN Mo" FROM DBA_TS_QUOTAS WHERE USERNAME IN(SELECT grantee FROM DBA_SYS_PRIVS WHERE privilege ='UNLIMITED TABLESPACE') UNION SELECT grantee, '*', 'Unlimited Tbs Privilege', NULL FROM DBA_SYS_PRIVS WHERE privilege ='UNLIMITED TABLESPACE' ORDER BY 4 ; 

 

Aperçu script Lister les Quotas par User.

 
  USER INFORMATION QUOTA et UNLIMITED TABLESPACE PRIVILEGE USERNAME TABLESPACE_NAME INFO QUOTA IN USE EN Mo ---------- ---------------- --------------------------------------------------------- ------------ MGMT_VIEW SYSTEM Unlimited Tbs sur SYSTEM 0 RMAN DATA Quota de 10 Mo Obsolete car UNLIMITED TBS PRIV 0 SCOTT DATA Unlimited Tbs sur DATA Obsolete car Unlimited Tbs Priv ,13 DMSYS SYSAUX Quota de 200 Mo ,25 RMAN RMAN_CATALOG Unlimited Tbs sur RMAN_CATALOG Obsolete car Unlimited Tbs 8,25 Priv OLAPSYS SYSAUX Unlimited Tbs sur SYSAUX Obsolete car Unlimited Tbs Priv 15,56 SYSMAN SYSAUX Unlimited Tbs sur SYSAUX Obsolete car Unlimited Tbs Priv 48,56 CTXSYS * Unlimited Tbs Privilege DBSNMP * Unlimited Tbs Privilege EXFSYS * Unlimited Tbs Privilege MDDATA * Unlimited Tbs Privilege MDSYS * Unlimited Tbs Privilege OLAPSYS * Unlimited Tbs Privilege ORDPLUGINS * Unlimited Tbs Privilege ORDSYS * Unlimited Tbs Privilege OUTLN * Unlimited Tbs Privilege RMAN * Unlimited Tbs Privilege SCOTT * Unlimited Tbs Privilege SYS * Unlimited Tbs Privilege SYSADM * Unlimited Tbs Privilege SYSMAN * Unlimited Tbs Privilege SYSTEM * Unlimited Tbs Privilege TSMSYS * Unlimited Tbs Privilege WMSYS * Unlimited Tbs Privilege XDB * Unlimited Tbs Privilege 26 ligne(s) sélectionnée(s). SQL> 

Haut de Page www.dba-ora.fr

 

 

Liens en rapport avec l'article et qui sont susceptibles de vous intéresser
Repost 0
Published by Daniel Roesch - dans TABLESPACE
commenter cet article
22 mai 2011 7 22 /05 /mai /2011 19:53

 

DROP (Suppression) TABLESPACE avec l'ordre SQL DROP TABLESPACE.

Comment supprimer un TABLESPACE permanent de ma base de données Oracle ?.
Avec l'ordre SQL DROP TABLESPACE.

Rappel sur les Tablespaces :

• 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 DROP TABLESPACE.

 
 DROP TABLESPACE tablespace [ INCLUDING CONTENTS [ {AND | KEEP} DATAFILES ] [ CASCADE CONSTRAINTS ] ] ; 

Attention, pas de rollback possible (ordre DDL), les fichiers physiques même encore présent sur le disque si l'option AND DATAFILES n'est pas utilisée sont irrécupérables. Avant toute suppression d'un TABLESPACE, faire une sauvegarde complète de la base de données.

Recommandation de passer le TABLESPACE OFFLINE.

 

SQL> ALTER TABLESPACE data OFFLINE;

 

Suppression d'un TABLESPACE permanent sans segment de données ou index..

 

SQL> DROP TABLESPACE data;

Si le tablespace data n'est pas vide alors ERREUR ORA-01549: le tablespace n'est pas vide ; utiliser l'option INCLUDING CONTENTS

 

Suppression d'un TABLESPACE permanent avec Tables et Index..

 

SQL> DROP TABLESPACE data INCLUDING CONTENTS;

Si des contraintes d’intégrité lient les données de ce tablespace avec d’autres tablespaces, l’ordre CASCADE CONTRAINTS doit être indiqué sinon ERREUR ORA-02449: clés unique/primaires de la table référencées par des clés étrangères.

 

Suppression d'un TABLESPACE permanent avec Tables et Index et Contraintes..

 

SQL> DROP TABLESPACE data INCLUDING CONTENTS CASCADE CONSTRAINTS;

 

Suppression d'un TABLESPACE permanent avec Tables et Index et Contraintes + Fichiers Physiques..

 

SQL> DROP TABLESPACE data INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;

ATTENTION, la clause AND DATAFILES n'est pas nécessaire pour Oracle-managed files, car ils sont retirés du système, même si vous ne spécifiez pas AND DATAFILES.
Donc si vous êtes en Oracle-managed files et que vous ne désirez pas supprimer les fichiers physiques, utilisez KEEP DATAFILES.

 

Descriptions Options.

INCLUDING CONTENTS.
Cette clause est nécessaire si le tablespace n'est pas vide.

AND DATAFILES.
Supprime les fichiers physique du Tablespace (En Oracle-managed files suppression par défaut sans cette commande).

KEEP DATAFILES.
En Oracle-managed files, permet de ne pas supprimer les fichiers physique du Tablespace.

CASCADE CONSTRAINTS.
Supprime les contraintes d'integrité référentielle des tables hors du tablespace et qui référencent des tables à l'intérieur de celui-ci.

 

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
• ALTER TABLESPACE / DATABASE Oracle
Repost 0
Published by Daniel Roesch - dans TABLESPACE
commenter cet article
10 octobre 2010 7 10 /10 /octobre /2010 11:55

 

Connaitre les Statuts des Tablespace avec la vue DBA_TABLESPACES.

Comment savoir si un Tablespace est en mode READ ONLY ou OFFLINE ? .
En interrogeant la vue DBA_TABLESPACES.


Passage en READ ONLY et OFFLINE de deux Tablespaces.

 

SQL> ALTER TABLESPACE index_tbs READ ONLY;

SQL> ALTER TABLESPACE data OFFLINE;

 

Connaitre les statuts des Tablespaces.

 
 SQL> SELECT tablespace_name, status, contents, extent_management FROM dba_tablespaces; 
TABLESPACE_NAME STATUS CONTENTS EXTENT_MANAGEMENT
SYSTEM ONLINE PERMANENT LOCAL
UNDOTBS1 ONLINE UNDO LOCAL
SYSAUX ONLINE PERMANENT LOCAL
TEMP ONLINE TEMPORARY LOCAL
USERS ONLINE PERMANENT LOCAL
INDEX_TBS READ ONLY PERMANENT LOCAL
RMAN_CATALOG ONLINE PERMANENT LOCAL
DATA OFFLINE PERMANENT LOCAL

 


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
• ALTER TABLESPACE / DATABASE Oracle
Repost 0
Published by Daniel Roesch - dans TABLESPACE
commenter cet article
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
Repost 0
Published by Daniel Roesch - dans TABLESPACE
commenter cet article
25 septembre 2010 6 25 /09 /septembre /2010 10:46

 

Création Tablespace permanent avec l'ordre sql CREATE TABLESPACE.

Comment créer un tablespace permanent dans ma base de données Oracle ? .

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

Rappel :

• 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.
• A partir de la version 10G, Oracle permet la création de Tablespace Bigfile (1 fichier unique volumineux), sinon il est appelé Tablespace Smallfile par défaut.
• Un Tablespace peut être ONLINE (accessible) ou OFFLINE (inaccessible).
• Un Tablespace peut être en READ WRITE (lecture/écriture) ou READ ONLY (lecture).

 

Syntax ordre sql CREATE TABLESPACE Permanent.

 
 CREATE [ BIGFILE | SMALLFILE ] TABLESPACE Name DATAFILE file_specification SIZE integer [ K | M | G | T | P | E ] [REUSE] AUTOEXTEND { OFF | ON [ NEXT integer [ K | M | G | T | P | E ]] [ MAXSIZE { UNLIMITED | integer [ K | M | G | T | P | E ] } ] | DEFAULT [ { COMPRESS | NOCOMPRESS } ] STORAGE ({ INITIAL integer [ K | M | G | T | P | E ] | NEXT integer [ K | M | G | T | P | E ] | MINEXTENTS integer | MAXEXTENTS { integer | UNLIMITED } | PCTINCREASE integer | FREELISTS integer | FREELIST GROUPS integer | OPTIMAL [ integer [ K | M | G | T | P | E ] | NULL ] | BUFFER_POOL { KEEP | RECYCLE | DEFAULT } }) EXTENT MANAGEMENT { LOCAL [ AUTOALLOCATE | UNIFORM [ SIZE integer [ K | M | G | T | P | E ] ] ] | DICTIONARY } SEGMENT SPACE MANAGEMENT { AUTO | MANUAL } | [ MINIMUM EXTENT integer [ K | M | G | T | P | E ] | BLOCKSIZE integer [ K ] | { LOGGING | NOLOGGING } | FORCE LOGGING | FLASHBACK { ON | OFF } | { ONLINE | OFFLINE }; 

 

Création d'un Tablespace avec une gestion locale uniforme des extensions.

 
 SQL> CREATE SMALLFILE TABLESPACE "DATA" DATAFILE 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\DBTEST\DATA.DBF' SIZE 2G AUTOEXTEND ON NEXT 100M MAXSIZE 5000M LOGGING ONLINE PERMANENT BLOCKSIZE 8192 EXTENT MANAGEMENT LOCAL UNIFORM SIZE 10M SEGMENT SPACE MANAGEMENT AUTO; 

 

Création d'un Tablespace avec une gestion locale automatique des extensions.

 
 SQL> CREATE SMALLFILE TABLESPACE "DATA" DATAFILE 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\DBTEST\DATA.DBF' SIZE 2G AUTOEXTEND ON NEXT 100M MAXSIZE 5000M LOGGING ONLINE PERMANENT BLOCKSIZE 8192 EXTENT MANAGEMENT LOCAL AUTOALLOCATE SEGMENT SPACE MANAGEMENT AUTO; 

 

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.

EXTENT MANAGEMENT.
Mode de gestion des extensions du Tablespace.

SEGMENT SPACE MANAGEMENT.
Mode de gestion de l'espace libre des segments dans le Tablespace.(clause valable si TBS géré localement uniquement).

MINIMUM EXTENT.
Taille minimum des Extensions dans le Tablespace. (clause valable si TBS géré dans le Dictionnaire uniquement).

BLOCKSIZE.
Taille du bloc utilisée par le Tablespace. (2k, 4K, 8K, 16K, 32K)

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
Repost 0
Published by Daniel Roesch - dans TABLESPACE
commenter cet article
9 février 2010 2 09 /02 /février /2010 02:15


Oracle Tablespace d’Annulation (UNDO).


Oracle
stocke temporairement les données en cours de modifications dans des segments d’annulations. Ces segments d’annulations sont en attente de validation ou d’annulation (COMMIT ou ROLLBACK).

Utile pour la notion de lecture cohérente des données pendant des opérations de mises à jour, pour la récupération de données (FLASHBACK) et le RECOVER.

La gestion des segments d’annulations est proposée en automatique pour ce type de Tablespace UNDO (conseillé par Oracle)et anciennement appelés, ROLLBACK SEGMENT. Ce Tablespace est créé au moment de la création de la base de données ou après et est obligatoirement géré localement.

Dans le fichier d’initialisation de la base (initSID.ora)
on précise le mode de gestion souhaité
UNDO_MANAGEMENT=AUTO

Le Tablespace UNDO par défaut (On peut en avoir plusieurs)
UNDO_TABLESPACE= UNDOTBS

La durée de rétention (durée de conservation en secondes, 900 par défaut)
UNDO_RETENTION=900

Vous pouvez voir ces valeurs avec cette requête

SQL> SELECT name, value, description
     FROM V$PARAMETER
     WHERE name LIKE '%undo%';

NAME VALUE DESCRIPTION
undo_management AUTO instance runs in SMU mode if TRUE, else in RBU mode
undo_tablespace UNDOTBS1 use/switch undo tablespace
undo_retention 900 undo retention in seconds


  
  
  
  




Création d’un Tablespace UNDO avec CREATE UNDO TABLESPACE


SQL> CREATE SMALLFILE UNDO TABLESPACE undotbs2
     DATAFILE 'c:\oracle\oradata\dbtest\undotbs2_01.dbf' SIZE 5G
     AUTOEXTENT ON NEXT 1G MAXSIZE 20G;



Ajouter des fichiers au Tablespace UNDO avec ALTER TABLESPACE


SQL> ALTER TABLESPACE undotbs2
     ADD DATAFILE 'c:\oracle\oradata\dbtest\undotbs2_02.dbf' SIZE 5G
     AUTOEXTENT ON NEXT 1G MAXSIZE 20G;


Changement de Tablespace UNDO actif (si plusieurs) avec ALTER SYSTEM

SQL> ALTER SYSTEM SET UNDO_TABLESPACE = undotbs2 SCOPE=BOTH;

Si vous changez de Tablespace UNDO, et que des segments d’annulations sont utilisés dans des transactions, leurs états ne seront pas OFFLINE mais PENDING OFFLINE jusqu'à la fin des transactions en cours.Vous pouvez ensuite le supprimer par exemple.

Supprimer un Tablespace UNDO avec DROP TABLESPACE INCLUDING CONTENTS

SQL> DROP TABLESPACE undotbs2 INCLUDING CONTENTS AND DATAFILES;

 

Liens en rapport avec l'article et qui sont susceptibles de vous intéresser
• Create TABLESPACE Oracle
• Oracle Tablespace Temporaire (TEMPORARY)
• Oracle Tablespace description
Repost 0
Published by Daniel Roesch - dans TABLESPACE
commenter cet article
7 février 2010 7 07 /02 /février /2010 17:56

 

Oracle Tablespace temporaire (TEMPORARY TABLESPACE)

C'est quoi un tablespace temporaire dans Oracle.

Oracle effectue de nombreux tris (utilisateurs et noyau) suite aux requêtes du type ORDER BY, GROUP BY, UNION, DISTINCT, etc.
Ils sont principalement effectués dans une zone de tri en mémoire (PGA) sauf si celle ci est insuffisante alors il utilisera le TEMPORARY TABLESPACE.

Attention si votre base de données n’en possède pas, les tris seront effectués dans le tablespace SYSTEM.

Le tablespace temporaire peut être géré en mode local ou dictionnaire. Le mode conseillé est le mode LOCAL.

Plusieurs tablespace temporaires peuvent être en ligne et actifs simultanément dans une base de données et faire partie d'un groupe de tablespaces temporaires.
Amélioration des temps de réponses pour les requêtes en parallèles.

Création d’un Tablespace temporaire avec CREATE TABLESPACE.

 SQL> CREATE TEMPORARY TABLESPACE temp TEMPFILE 'c:\oracle\oradata\dbtest\temp01.dbf' SIZE 1000M EXTENT MANAGEMENT LOCAL AUTOEXTEND ON NEXT 100M MAXSIZE 5000M ; 

 

Définir le TEMPORARY TABLESPACE par défaut.

 SQL> ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp ; 

 

Ajouter un fichier de données temporaire.

 SQL> ALTER TABLESPACE temp ADD TEMPFILE 'c:\oracle\oradata\dbtest\temp02.dbf' SIZE 1000M AUTOEXTEND ON NEXT 100M MAXSIZE 5000M ; 

 

Supprimer un fichier de données temporaire avec ALTER DATABASE DROP INCLUDING.

 SQL> ALTER DATABASE TEMPFILE 'c:\oracle\oradata\dbtest\temp01.dbf' DROP INCLUDING DATAFILES ; 

 

Liens en rapport avec l'article et qui sont susceptibles de vous intéresser
• Oracle Tablespace Annulation (UNDO)
• Create TABLESPACE Oracle
• Oracle Tablespace description
Repost 0
Published by Daniel Roesch - dans TABLESPACE
commenter cet article