Overblog
Editer l'article Suivre ce blog Administration + Créer mon blog
31 janvier 2009 6 31 /01 /janvier /2009 09:18
Bonjour,

On parle souvent de création de base de données, mais ils arrive aussi de devoir supprimer des bases de données.
On peut alors utiliser (dbca, Database Configuration Assistant), qui permet la suppression d'une base.
Si on aime (ou que l'on n'a pas forcement le choix) les opérations manuelles, on peut faire le nettoyage à la main.
Depuis Oracle 10 et uniquement depuis cette version, il existe une commande qui permet la suppression d'une base ==> "DROP DATABASE".

Remarque : Pour les versions précedents d'Oracle, reportez vous au commentaire de  Wahren.

Opération de suppression d'une base: (en sys)
Je vais supprimer la base que j'ai cloné dans mon article précédent (DB2)


SET ORACLE_SID=DB2
SQLPLUS /nolog
CONNECT / as sysdba

SHUTDOWN ABORT;
STARTUP MOUNT EXCLUSIVE RESTRICT pfile='e:\oracle\product\admin\db2\pfile\init.ora';
DROP DATABASE;
EXIT;



Le "DROP DATABASE" a eu pour effet de supprimer les fichiers de la base de données (datafiles, redo, controlfile,...) mais les répertoires sont encore présents, ainsi que toute la partie log(udump, cdump,budum,pfile). Il faut donc les supprimer à la main.

Par ailleurs, sous windows, il faut penser à supprimer l'instance représenté par un windows service



oradim -delete -sid DB2


Notre base est maintenant supprimée.

Si ma base était une base de production (en fin de vie) à supprimer, j'aurai également pu passer par RMAN.
L'avantage de passer par RMAN aurait été de pouvoir supprimer la base ainsi que les backup associés et de désenregistrer la bae du Catalog. Attention, pour être désenregistrer du catalog, il faut evidemment être connecté au catalog pour effectuer l'opération.

La commande est la même.



DROP DATABASE; (uniquement suppression de la base)
DROP DATABASE INCLUDING BACKUPS; (pour supprimer également les backups)



On peut également ajouter l'option NOPROMPT pour ne pas avoir de demande de confirmation de la part de RMAN.

LAO.

Partager cet article
Repost0

commentaires

W
Pour être plus complet, voici ce que j'ai posté dans la liste cru.fr :<br /> <br /> Avant la 10g :<br /> <br /> - arrêter l'instance (et éventuellement le listener)<br /> - supprimer tous les fichiers au niveau OS (datafiles, controlfiles,redologs, archivelogs)<br /> - si Windows, oradim ... -delete pour supprimer le service<br /> - si Unix, supprimer l'entrée dans /etc/oratab<br /> - supprimer l'entrée du listener.ora (et éventuellement du tnsnames.ora)<br /> <br /> Pour localiser les fichiers :<br /> <br /> SELECT name FROM v$datafile;<br /> SELECT name FROM v$controlfile;<br /> SELECT member FROM v$logfile;
Répondre
L
<br /> Merci pour ta participation active.. J'ai ajouté dans le post le lien vers ton commentaire pour la suppression d'une base avant la version 10.<br /> <br /> LAO. <br /> <br /> <br />
W
Bonjour et merci pour tes articles.<br /> <br /> Juste deux commentaires : <br /> <br /> 1- La commande "drop database" n'est possible qu'en 10g. Pour les versions inférieures, il faut supprimer les fichiers à la main. <br /> 2- dbca = database configuration assistant et non database creator database.
Répondre
L
<br /> Bonjour,<br /> <br /> tout a fait d'accord avec toi pour Oracle 10, d'ailleurs je l'ai précisé dans l'article. De manière générale, je concois mes post avec une version 10.<br /> Et pour DCBA...., je me disais aussi qu'il y a avait quelque chose qui sonnait faux...<br /> Merci.<br /> LAO<br /> <br /> <br />