1. Objetivos
Explicar brevemente los diferentes métodos para parar y arrancar una base de datos ORACLE.
2. Arrancar base de datos
El arranque de una base de datos ORACLE requiere tres etapas
1. Arrancar la instancia
2. Montar la base de datos
3. Abrir la base de datos
Arrancar la base de datos
En esta parte del arranque se generan los procesos background.
Se crea la SGA. Sus dimensiones se basan en el fichero de inicialización "init.ora".
SQLPLUS> connect sys as sysdba connected SQLPLUS> startup nomount Oracle Instance started
Montar la base de datos
En esta parte del proceso de arranque se produce la conexión al/los archivo/s de control.
En este estado se puede:
- Cambiar el modo de archivado de la B.D.
- Renombrado de archivos de Redo Log o del asociado al tablespace SYSTEM
- Crear, modificar o suprimir nuevos Redo Log o grupos de Redo Log
Partiendo del anterior estado ( nomount ), montamos la base de datos de la siguiente forma:
SQLPLUS> alter database mount database mounted
En caso de que queramos iniciar la base de datos en este estado bastaría con hacer lo siguiente:
SQLPLUS> connect sys as sysdba connected SQLPLUS> startup mount Oracle Instance started Database mounted
Abrir base de datos
En esta parte de proceso abren todos los ficheros asociados a los tablespaces y los ficheros de Redo Log.
La B.D. está accesible para todos los usuarios
Si es necesaria una recuperación (por un fallo de luz o CPU), se produce en este momento.
Partiendo del anterio estando ( mount ), abrimos la base de datos de la siguiente forma:
SQLPLUS> alter database open database opened
En caso de que queramos iniciar la base de datos en este estado bastaría con hacer lo siguiente:
SQLPLUS> connect sys as sysdba connected SQLPLUS> startup Oracle Instance started Database opened
3. Más alternativas para el arranque de base de datos
Arranque solo para usuarios con el privilegio RESTRICTED SESSION
SQLPLUS> startup restrict
Arranque forzado
SQLPLUS> startup force
Arranque con un fichero de parámetros distinto al habitual o localizado en una situación diferente a donde se encuentra por defecto
SQLPLUS> startup pfile=/oracle/database/init2.ora
4. Parada base de datos
La parada de una B.D. Oracle se realiza mediante el comando SHUTDOWN desde SQL*DBA después de haber establecido una conexión como SYS AS SYSDBA
Existen tres tipos de shutdown:
1. shutdown normal
2. shutdown immediate
3. shutdown abort
Shutdown normal
Espera a que los usuarios conectados actualmente finalicen TODAS las operaciones.
Evita nuevas conexiones. Los usuarios que intentan conectarse reciben el mensaje "Shutdown in progress".
Cierra y desmonta la B.D. Cierra la SGA para los procesos background.
No necesita recuperacion al arrancar la base de datos.
SQLPLUS> connect sys as sysdba connected SQLPLUS> shutdown normal
Shutdown immediate
Espera a que las transacciones actuales se completen.
Evita nuevas transacciones y nuevas conexiones. Los usuarios que intentan conectarse o los que ya están conectados al intentar realizar una nueva transacción reciben el mensaje "Shutdown in progress".
El proceso PMON finaliza las sesiones no activas y realiza ROLLBACK de aquellas transacciones que no estén validadas.
Cierra y desmonta la B.D. Cierra la SGA para los procesos background.
No necesita recuperacion al arrancar la base de datos.
SQLPLUS> connect sys as sysdba connected SQLPLUS> shutdown immediate
Shutdown abort
Parada drástica, no espera a que los usuarios conectados actualmente finalicen sus transacciones. El usuario conectado recibe el mensaje "No logged on".
No se realiza ROLLBACK de las transacciones pendientes.
El proceso PMON finaliza las sesiones no activas y realiza ROLLBACK de aquellas transacciones que no estén validadas.
SI necesita recuperacion al arrancar la base de datos.
SQLPLUS> connect sys as sysdba connected SQLPLUS> shutdown abort
Cambiar de ubicación una base de datos Oracle
1. Introducción
Algunas veces es necesario mover o cambiar de ubicación una base de datos por diversas causas.Antes de realizar dicha operación es conveniente realizar un backup completo de la base de datos por si acaso existe un fallo al realizar la operación.
2. Pasos a seguir
- Paramos la base de datos y el listener
sqlplus /nolog
SQL> connect /as sysdba
SQL> shutdown immediate
SQL> exit $lsnrctl stop nb_listener
- Copiamos o movemos los archivos a la nueva ubicacion.
- Modificación de archivos
En caso de que hayamos cambiado de ubicación los controlfile tendremos que editar el archivo init.ora y modificar la ubicación de estos.
- Iniciamos la base de datos realizanzo un startup mount
sqlplus /nolog
SQL> connect /as sysdba
SQL> startup mount
SQL> exit
- Renombrar los datafiles
La base de datos tiene que estar en estado mount como hemos visto en el paso anterior.Con la sentencia ALTER DATABASE llevamos a cabo la reubicación de los datafile. Esta operación también habriá que hacerla en caso de que los datafiles hubiesen sido renombrados y no movidos o copiados de sitio.
SQL> ALTER DATABASE RENAME FILE '$ORACLE_HOME/oradata/user_data.dbf',
'$ORACLE_HOME/oradata/datos.dbf' TO
'$ORACLE_HOME/oradata2/user_data.dbf',
'$ORACLE_HOME/oradata2/datos.dbf';
Cuando realizamos esta operación los datafiles tienen que estar ya reubicados en el nuevo sitio o renombrados, ya que esta sentencia no los crea, simplemte los renombra o los reubica de sitio (ver paso 2)
- Renombrar los redolog
Para renombrar o reubicar los redo log hay que seguir el mismo paso que con los datafiles
SQL> ALTER DATABASE RENAME FILE
'$ORACLE_HOME/oradata/redo01.dbf','$ORACLE_HOME/oradata/redo02.dbf' TO
'$ORACLE_HOME/oradata2/redo01.dbf', '$ORACLE_HOME/oradata2/redo02.dbf';
- Levantamos la base de datos
Si la base de datos estaba en estado mount, la abrimos de la siguiente forma
SQL> ALTER DATABASE OPEN
SQL> exit
- Levantamos el listener
$ lsnrctl start nb_listener
Espero que les sea util.
Fuente www.orasite.com