web-dev-qa-db-fra.com

Supprimer une instance Oracle, de la bonne façon

Je souhaite supprimer une instance Oracle (Oracle 10.2.0.4.0) créée dans le système d'exploitation AIX 6.0. Je sais que je peux supprimer tous les fichiers dbf et ctl dans le terminal, mais je pense que ce n'est pas la meilleure façon de le faire. Je pense que cela doit être une façon plus propre de le faire.

Merci d'avance.

8
Jorge Vega Sánchez

Vous pouvez supprimer des bases de données avec DBCA qui s'occupe de la plupart d'entre elles.

Ou vous pouvez faire comme ci-dessous, mais cela fera la même chose que la suppression manuelle des fichiers de données, des fichiers de journalisation et des fichiers de contrôle.

sqlplus / as sysdba
startup mount exclusive restrict
exit
rman target /
drop database including backups noprompt;
exit

Après cela, vous devez toujours supprimer l'entrée qui appartient à la base de données de/etc/oratab, supprimer init.ora/spfile, le fichier de mot de passe de $ Oracle_HOME/dbs et nettoyer les répertoires de journaux (adump, bdump, cdump, udump).

16
Balazs Papp

Si vous décidez d'utiliser DBCA pour supprimer la base de données, vous pouvez le faire:

Si vous souhaitez supprimer complètement une instance Oracle 10.2g d'un répertoire de base Oracle, vous devez d'abord identifier l'instance dans le fichier oratab. Par exemple, cette entrée montre que l'instance de base de données Oracle testdb est associée à Oracle_HOME suivant:

testdb:/u01/app/Oracle/product/11.2.0/db_1:Y
mydb:/u01/app/Oracle/product/10.2.0/db_1:N

Ensuite, vous devez définir l'environnement de la base de données que vous souhaitez supprimer, par exemple:

/usr/local/bin/oraenv
Oracle_SID = [testdb] ? mydb

Vous pouvez maintenant démarrer Database Configuration Assistant (DBCA):

dbca

Sélectionnez ensuite la base de données à supprimer (mydb) et cliquez sur Terminer.

Vous pouvez également supprimer une base de données à l'aide de DBCA en mode silencieux. Par exemple, pour une base de données à instance unique:

dbca -silent -deleteDatabase -sourceDB <Oracle_Sid>

La suppression d'une base de données Oracle supprime toutes les données de la base de données. Par exemple, entre autres choses, cette action supprimera:

1) Tous les fichiers résultant de cette requête (pour mydb):

SELECT name FROM v$datafile
   UNION
SELECT name FROM v$controlfile
   UNION
SELECT name FROM v$tempfile
   UNION
SELECT member FROM v$logfile

2) Entrée associée à mydb dans oratab

3) Entrées associées à mydb dans listener.ora et tnsnames.ora

Si vous souhaitez conserver ces données, assurez-vous de sauvegarder la base de données avant de la supprimer.

À partir d'Oracle Database 11g Release 2 (11.2), vous pouvez profiter de la commande deinstall.

8
Shaunyl