Histoire d'être un peu plus complete sur cette option qui permet d'éviter une ORA-01653, je tenais à préciser deux trois petites choses.
-1/ Quelles sont les opérations qui peuvent être "mise en attente".
- Les opérations classiques telles que INSERT, UPDATE, DELETE
- Les opérations d'import / Export
- Les opérations DDL suivantes:
- CREATE TABLE ... AS SELECT
- CREATE INDEX
- ALTER TABLE ... MOVE PARTITION
- ALTER TABLE ... SPLIT PARTITION
- ALTER INDEX ... REBUILD PARTITION
- ALTER INDEX ... SPLIT PARTITION
- CREATE MATERIALIZED VIEW
- CREATE MATERIALIZED VIEW LOG
-2/ Quelles sont les erreurs qui peuvent être "mise en attente".
- La fameuse ORA-01653 (unable to extend table ... in tablespace ....
- Sa petite soeur ORA-01654 (unable to extend index ... in tablespace ...
- Nombre maximum d'extent atteint pour une table (ORA-01631)
- Nombre macimum d'extent atteint pour un index (ORA-01654)
- Limite de quota atteinte (ORA-1536)
-3/ C'est bien beau d'avoir une telle option, mais comment savoir qu'il y a un souci.
Dans l'article précédent, on a vu qu'on pouvait de façon manuelle vérifier qu'il n'y a pas de soucis.
Je suis d'accord avec vous pour dire que c'est pas ce qu'il y a de plus pratique.
Certains traitement peuvent durer des heures, et je ne vais pas surveiller en permanence le fichier alert.log ou la table USER_RESUMABLE.
Vous vous doutez bien qu'ORACLE dans sa grande bonté a pensé à vous. Nous allons utiliser un TRIGGER !
Ouh la, j'en vois déjà qui vont me dire qu'un TRIGGER c'est sur une table..... et bien non pas uniquement, il existe des TRIGGERS qui se déclenchent au niveau base (ex: après une connexion, très pratique pour voir qui s'est connecté en SYSTEM).
Il exite un evenement qui est "AFTER SUSPEND"
exemple de trigger
CREATE OR REPLACE TRIGGER Appel_mon_gentil_dba
AFTER SUSPEND
ON DATABASE
BEGIN
....
END;
Ensuite dans le bloc BEGIN / END, vous y mettez ce que vous voulez. Personnellemet, j'utiliserai le package UTL_SMTP qui permet à ORACLE d'envoyer des mails. Plus besoin de surveiller sa base.
Reste à surveiller sa boite mail !
Pour l'utilisation du package UTL_SMTP, je vous invite à lire la documentation ORACLE.
http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/u_smtp.htm#CHDHHBJD
avec un exemple prêt à l'utilisation:
http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/u_smtp.htm#i1006675
Attention quand même à modifier les informations concernant le serveur SMTP et les adresses emails.
Bonsoir & à bientôt,
LAO.