Elimina un'istanza di Oracle, nel modo giusto


8

Voglio eliminare un'istanza di Oracle (Oracle 10.2.0.4.0) creata nel sistema operativo AIX 6.0. So di poter eliminare tutti i file dbf e ctl nel Terminale, ma penso che non sia il modo migliore per farlo. Penso che debba essere un modo più pulito per farlo.

Grazie in anticipo.

Risposte:


16

È possibile eliminare i database con DBCA che si occupa della maggior parte di esso.

Oppure puoi fare come di seguito, ma ciò equivale a rimuovere manualmente i file di dati, ripristinare i registri, i file di controllo.

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

Dopodiché, devi ancora rimuovere la voce che appartiene al database da / etc / oratab, rimuovere init.ora / spfile, il file password da $ ORACLE_HOME / dbs e pulire le directory dei log (adump, bdump, cdump, udump).


8

Se decidi di utilizzare DBCA per eliminare il database, puoi farlo:

Se si desidera rimuovere completamente un'istanza Oracle 10.2g da una directory home Oracle, è innanzitutto necessario identificare l'istanza nel file oratab . Ad esempio, questa voce mostra che l'istanza del database Oracle testdb è associata al seguente ORACLE_HOME:

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

Successivamente, è necessario impostare l'ambiente per il database che si desidera rimuovere, ad esempio:

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

Ora puoi avviare Database Configuration Assistant (DBCA):

dbca

Quindi, selezionare il database da eliminare (mydb) e fare clic su Fine.

È inoltre possibile eliminare un database utilizzando DBCA in modalità silenziosa . Ad esempio, per il database a istanza singola:

dbca -silent -deleteDatabase -sourceDB <Oracle_Sid>

La rimozione di un database Oracle elimina tutti i dati nel database. Ad esempio, tra le altre cose, questa azione eliminerà :

1) Tutti i file risultanti da questa query (per 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) Voce associata a mydb in oratab

3) Voci associate a mydb in listener.ora e tnsnames.ora

Se si desidera conservare questi dati, assicurarsi di eseguire il backup del database prima di eliminarlo.

A partire da Oracle Database 11g versione 2 (11.2), è possibile sfruttare il comando deinstall .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.