Saltar al contenido

¿Puedo cambiar el SID de una base de datos Oracle?

Solución:

Necesita volver a crear el archivo de control

Esta publicación de Kaunain Ahmed describe los pasos necesarios:

  1. hacer: alterar el archivo de control de respaldo de la base de datos para rastrearlo;
  2. extraiga el comando “crear archivo de control” del archivo de rastreo background-dump-destination.
  3. apague la base de datos.
  4. Cambie el DB-Name en su init.ora y cambie el init.ora
  5. Cambie el SID en / etc / oratab o / var / opt / oracle / oratab
  6. Cambiar el SID en su entorno y obtenerlo
  7. Iniciar la base de datos para montar el montaje de inicio de estado
  8. Vuelva a crear el archivo de control con la declaración de la posición 2.
  9. Modifique el nombre de la base de datos y cambie el nombre de global_name a 10. Cambie la configuración de TNS en consecuencia $ ORACLE_HOME / network / admin / *. Ora Busque SID y GLOBAL_NAME

Hay otras herramientas a las que se hace referencia en el hilo.

Aquí hay una publicación de AskTom que hace referencia al proceso con más detalle. Si bien es por 10 g, aún debería funcionar.

Dado que la utilidad 9i dbnewid (nid) se puede utilizar para cambiar el nombre de la base de datos (y DBID si es necesario). Si solo se cambia el nombre de la base de datos, no es necesario restablecer los registros:

  • 1 base de datos de inicio en modo de montaje

    shutdown immediate
    startup mount
    
  • 2 ejecute nid para cambiar el nombre de la base de datos:

    nid target=sys/[email protected] dbname=newname setname=YES
    
  • 3 apague e inicie la base de datos en modo de montaje:

    shutdown immediate
    startup mount
    
  • 4 cambio db_name en spfile (o en pfile editando el archivo):

    alter system set db_name=newname scope=spfile;
    
  • 5 recrear el archivo de contraseña:

    orapwd file=orapwnewname password=syspassword
    
  • 6 iniciar la base de datos

    startup
    
  • 7 pasos para cambiar el nombre de la publicación:

    change SID in listener.ora
    correct tnsnames.ora
    remove old trace directories
    change /etc/oratab (UNIX) or rename windows service using oradim
    

Sí, puedes y también es bastante fácil.

En Oracle, ORACLE_SID es solo el nombre de la instancia de Oracle y no tiene mucho que ver con DBNAME. Una base de datos con el nombre PROD, se puede servir utilizando Instancias con cualquier nombre válido. No existe una conexión directa entre el SID y el DBNAME. Esta conexión se realiza utilizando los parámetros.

El archivo de parámetros se identifica como init $ {ORACLE_SID} .ora o spfile $ {ORACLE_SID} .ora En el archivo de parámetros está el parámetro db_name. Aquí es donde se realiza la conexión entre la instancia de Oracle y la base de datos.

Por lo tanto, no necesita volver a crear un archivo de control, no necesita usar nid, solo asegúrese de que su archivo de parámetros tenga el nombre correcto, baje la antigua Instancia de Oracle e inicie la nueva Instancia de Oracle después de haber configurado ORACLE_SID al nuevo nombre de la instancia de Oracle. El archivo de parámetros y el archivo de contraseñas se encuentran usando $ {ORACLE_SID} como parte de su nombre.

Solo es necesario volver a crear el archivo de control cuando el DBNAME tiene que cambiar. nid es necesario después de una operación de clonación en la que necesita cambiar el DBID para evitar accidentes que podrían dañar las copias de seguridad de la base de datos de origen.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

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