Como cambiar el nombre a una base de datos en Oracle 11g fácilmente usando NID

junio 24, 2013
admin

cambiar el nombre a una base de datos

cambiar el nombre a una base de datos

Existen principalmente dos maneras de cambiar el nombre a una base de datos en Oracle 11g, la forma de “la vieja escuela” y la nueva manera.

El cambio de la vieja escuela es mediante “recreando los controlfiles” y el nuevo método es con el comando “nid”; personalmente siempre estuve acostumbrado a recrear los controlfiles es más tardado e involucra un poco más de riesgo pero por lo menos sabes lo que estás haciendo, pero para los novatos es mucho más fácil, rápido y seguro hacerlo mediante el comando nid, a continuación pongo los pasos a seguir:

NOTA:
para realizar estas acciones debes de tener el conocimiento básico de Oracle como:

  • ¿Qué es un tnsnames?
  • ¿Qué es una instancia?
  • ¿Qué es el archivo de parámetros?
  • ¿Cómo modifico las variables de ambiente?
  • Etc.

cambiar el nombre a una base de datos

Ya valide este tutorial, pero aun así no me hago responsable si algo llega a salir mal

  • Paso 1: Respalda la base de datos
    (te recomiendo el método que publique en mi página)
  • Paso 2: apaga la base de datos mediante un “shutdown immediate” y cerciórate que se apague limpiamente (si marca algún error al apagarse no prosigas hasta que se apague normalmente), después de apagarla, monta la base de datos con “startup mount”:

·
SHUTDOWN IMMEDIATE

STARTUP MOUNT

  • Paso 3: manda llamar DBNEWID utility (nid) especificándole el Nuevo nombre de la base de datos utiliza un usuario con privilegios de sysdba y luego el nuevo nombre de la base de datos:

nid
TARGET=sys/password@dbanterior1 DBNAME=dbnueva2

Prosigue con este tutorial única y exclusivamente si paso correctamente las validaciones que realiza. Te debería de mostrar algo como esto:

oracle@localhost>nid TARGET=sys/password@dbanterior1  DBNAME=dbnueva2

DBNEWID:
Release 9.2.0.3.0 – Production

Copyright
(c) 1995, 2002, Oracle Corporation.  All
rights reserved.

 

Connected
to database dbanterior1 (DBID=1024166118)

 

Control
Files in database:

    C:ORACLEORADATATSH1CONTROL01.CTL

    C:ORACLEORADATATSH1CONTROL02.CTL

    C:ORACLEORADATATSH1CONTROL03.CTL

 

Change database
ID and database name dbanterior1 to dbnueva2? (Y/[N]) => Y

 

Proceeding
with operation

Changing
database ID from 1024166118 to 1317278975

Changing
database name from dbanterior1 to dbnueva2

    Control File C:ORACLEORADATATSH1CONTROL01.CTL – modified

    Control
File C:ORACLEORADATATSH1CONTROL02.CTL – modified

    Control
File C:ORACLEORADATATSH1CONTROL03.CTL – modified

    Datafile
C:ORACLEORADATATSH1SYSTEM01.DBF – dbid changed, wrote new name

    Datafile
C:ORACLEORADATATSH1UNDOTBS01.DBF – dbid changed, wrote new name

    Datafile
C:ORACLEORADATATSH1CWMLITE01.DBF – dbid changed, wrote new name

    Control File C:ORACLEORADATATSH1CONTROL01.CTL
– dbid changed, wrote new name

    Control File
C:ORACLEORADATATSH1CONTROL02.CTL – dbid changed, wrote new name

    Control File
C:ORACLEORADATATSH1CONTROL03.CTL – dbid changed, wrote new name

 

Database
name changed to dbnueva2.

Modify
parameter file and generate a new password file before restarting.

Database
ID for database dbnueva2 changed to 1317278975.

All
previous backups and archived redo logs for this database are unusable.

Shut down
database and open with RESETLOGS option.

Succesfully
changed database name and ID.

DBNEWID – Completed succesfully.

  • Paso 4: apaga la base de datos:

SHUTDOWN IMMEDIATE

 

En algunas raras ocasiones el proceso apaga la base de datos en automático, puedes revisar las instancias que
están funcionando con el comando “ps –ef|grep pmon

  • Paso 5: Modifica el parámetro DB_NAME en el archive de inicio initdbanterior.ora   si la estas  manejando con spfile es de la siguiente manera

·
STARTUP MOUNT

·
ALTER
SYSTEM SET DB_NAME=dbnueva2 SCOPE=SPFILE;

SHUTDOWN IMMEDIATE;

  • Paso 6: crea el Nuevo archive de password:

orapwd file=$ORACLE_HOME/dbspwddbnueva2.ora  password=0r4cle123 entries=10;

  • Paso 7: Renombra el spfile o el pfile con el Nuevo nombre de la base de datos.
  • Paso 8: Si estas usando windows debes de recrear el servicio que se ejecuta de fondo:

·
oradim -delete -sid dbvieja1

oradim -new -sid dbnueva2 -intpwd password -startmode a -pfile c:oracle920databasespfiledbnueva2.ora

Si estas en Unix/Linux, solo exporta la variable de la instancia y agrégalo/cámbialo del bash_profile 

ORACLE_SID=TSH2; export ORACLE_SID

  • Paso 9: modifica el contenido de los archivos de listener.ora y tnsnames.ora para que coincidan con el Nuevo nombre de la base de datos:
  • lsnrctl reload
  • Paso 10: Conéctate a la sesión de Oracle (que debe de estar en estado mount e inicia la base de datos con
    RESETLOGS:

·
STARTUP MOUNT

ALTER DATABASE OPEN RESETLOGS;

  • Paso 11: respalda la base de datos.

Después de hacer el cambio de nombre todos los respaldos y archivelogs quedan invalidados,
toma muy en cuenta esto

 

Related Posts

No comments

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *