Eliminar una instancia de Oracle, de la manera correcta

8

Quiero eliminar una instancia de Oracle (Oracle 10.2.0.4.0) creada en el sistema operativo AIX 6.0. Sé que puedo eliminar todos los archivos dbf y ctl en la Terminal, pero creo que esa no es la mejor manera de hacerlo. Creo que debe ser una forma más limpia de hacerlo.

Gracias por adelantado.

Jorge Vega Sánchez
fuente

Respuestas:

16

Puede eliminar bases de datos con DBCA que se encarga de la mayor parte.

O puede hacer lo siguiente, pero esto hará lo mismo que eliminar los archivos de datos, rehacer registros, archivos de control manualmente.

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

Después de esto, aún debe eliminar la entrada que pertenece a la base de datos de / etc / oratab, eliminar init.ora / spfile, el archivo de contraseña de $ ORACLE_HOME / dbs y limpiar los directorios de registro (adump, bdump, cdump, udump).

Balazs Papp
fuente
8

Si decide usar DBCA para eliminar la base de datos, puede hacer esto:

Si desea eliminar por completo una instancia de Oracle 10.2g de un directorio de inicio de Oracle, primero debe identificar la instancia en el archivo oratab . Por ejemplo, esta entrada muestra que la instancia de la base de datos Oracle testdb está asociada con el siguiente ORACLE_HOME:

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

A continuación, debe establecer el entorno para la base de datos que desea eliminar, por ejemplo:

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

Ahora puede iniciar el Asistente de configuración de base de datos (DBCA):

dbca

Luego, seleccione la Base de datos para eliminar (mydb) y haga clic en finalizar.

También puede eliminar una base de datos usando DBCA en modo silencioso . Por ejemplo, para la base de datos de instancia única:

dbca -silent -deleteDatabase -sourceDB <Oracle_Sid>

La eliminación de una base de datos Oracle elimina todos los datos en la base de datos. Por ejemplo, entre otras cosas, esta acción eliminará :

1) Todos los archivos resultantes de esta consulta (para 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) Entrada asociada con mydb en oratab

3) Entradas asociadas con mydb en listener.ora y tnsnames.ora

Si desea conservar estos datos, asegúrese de hacer una copia de seguridad de la base de datos antes de eliminarla.

A partir de Oracle Database 11g Release 2 (11.2), puede aprovechar el comando de desinstalación .

Shaunyl
fuente