Bonjour,
J'aimerais savoir comment peut voir l'historique d'un agrandissement de tablespace ?
Merci
Bonjour,
J'aimerais savoir comment peut voir l'historique d'un agrandissement de tablespace ?
Merci
Il y a le mode bricole : tu tournes un script chaque semaine qui te sauve la taille de l''utilisation de tes tablespaces dans une table.
A ma connaissance, il n'y a pas d'historisation de l'augmentation des tailles.
Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2
N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD
Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !
Utilise dbms_metadata.get_ddl pour récupérer l'ordre de créationd e ton tablespace.
Normalement tu verras le ALTER TABLESPACE...RESIZE mais sans la date de l'opération.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 SELECT DBMS_METADATA.GET_DDL('TABLESPACE', 'USER_DATA') FROM DUAL; DBMS_METADATA.GET_DDL('TABLESPACE','USER_DATA') -------------------------------------------------------------------------------- CREATE TABLESPACE "USER_DATA" DATAFILE '/*****/oradata02/*****/*****_USER_DATA_01.dbf' SIZE 104857600 AUTOEXTEND ON NEXT 104857600 MAXSIZE 30720M LOGGING ONLINE PERMANENT BLOCKSIZE 8192 EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT NOCOMPRESS SEGMENT SPACE MANAGEMENT AUTO ALTER DATABASE DATAFILE '/*****/oradata02/*****/*****_USER_DATA_01.dbf' RESIZE 13203668992 1 row selected.
DBA Oracle
Rédacteur du blog : dbaoraclesql.canalblog.com
Il existe le paramètre de l'instance qui permet de consigner les modifications des tailles de tablespace , essaye de voir est-ce que ça fonctionne ? ?
Le parametre ENABLE_DDL_LOGGING=TRUE
La solution de choix si vous êtes en édition Entreprise, c'est la vue DBA_HIST_TBSPC_SPACE_USAGE qui vous fournira l'évolution de la volumétrie.
Mais attention, vous devez avoir acquis la licence pour le "diagnostics pack" pour avoir le droit d'utiliser cette vue.
Si vous ne remplissez pas les conditions, il faudra gérer vos propres tables d'historisation comme suggéré par Fabien.
Sinon, les extensions de tablespaces, manuelles ou automatiques, sont tracées dans l'alert.log, mais ce n'est guère commode à exploiter.
(Et si vous purgez régulièrement l'alert.log comme c'est d'usage, l'historique sera probablement insuffisant).
Concernant ENABLE_DDL_LOGGING, ce paramètre n'agit pas sur les tablespaces d'après la documentation.
Et, cerise (très amère) sur le gâteau, il exige la licence "Database Lifecycle Management Pack"
Consultant / formateur Oracle indépendant
Certifié OCP 12c, 11g, 10g ; sécurité 11g
Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration
en ajoutant la solution d'audit des tablespaces, ça ira aussi !!
DBA Oracle
Rédacteur du blog : dbaoraclesql.canalblog.com
La liste des objets à auditer est ici, et parmi eux tu trouveras les opérations du tablespace :
https://docs.oracle.com/cd/E11882_01...htm#SQLRF01107
Merci pour le lien.
Sinon on peut aussi faire un trigger system sur l'évènement "Before/After DDL".
Attention à bien récupérer les variables d'environnement de ce trigger pour filtrer sur l'ordre DDL.
https://www.morganslibrary.org/refer...l_trigger.html
DBA Oracle
Rédacteur du blog : dbaoraclesql.canalblog.com
Pour réctifier ce qu'il a déclaré Pomalaix sur la paramètre ENABLE_DDL_LOGGING, je viens de le tester sur une base 19c sous windows,
il agit bien les opérations d'un TABLESPACE, le fichier généré en format xml est dans le dossier :
F:\app\admin\diag\rdbms\test\test\log\ddl
Good luck !!!!
Bien vu ! En effet, bien que la doc ne le mentionne pas, les tests montrent que ENABLE_DDL_LOGGING enregistre aussi les commandes explicites relatives aux fichiers et tablespaces.
On constate aussi que les commandes implicites (agrandissement automatique d'un fichier en autoextension) ne sont pas enregistrées via ce paramètre. Et ceci paraît tout à fait normal.
A l'inverse, un agrandissement automatique est tracé spontanément dans l'alert.log sans avoir besoin d'un tel paramètre.
Si l'objectif c'est d'obtenir l'historique de la volumétrie des tablespaces, j'en reste à ma première réponse :
- DBA_HIST_TBSPC_SPACE_USAGE sous réserve d'être en édition Entreprise avec la licence Diagnostics pack
- mécanique créée de toute pièce (mais simple à mettre en place par un simple SELECT / INSERT) qui va enregistrer automatiquement dans une table de suivi, la volumétrie des tablespaces, à intervalle régulier, par exemple une fois par jour.
Les "solutions" à base d'analyse d'alert.log, de paramètre ENABLE_DDL_LOGGING ou d'audit, sont à oublier, car elles sont incapables de répondre au besoin de manière simple et complète.
Consultant / formateur Oracle indépendant
Certifié OCP 12c, 11g, 10g ; sécurité 11g
Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration
DBA Oracle
Rédacteur du blog : dbaoraclesql.canalblog.com
Consultant / formateur Oracle indépendant
Certifié OCP 12c, 11g, 10g ; sécurité 11g
Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration
Ah, je croyais que la question était sur un ALTER TABLESPACE ... RESIZE pour suivre l'évolution d'augmentatio nde la taille d'un tbs.
A priori c'est l'évolution de la consommation de l'espace dans le tablespace.
DBA Oracle
Rédacteur du blog : dbaoraclesql.canalblog.com
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager