GNU/Linux >> Tutoriales Linux >  >> Linux

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

Necesita volver a crear el archivo de control

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

  1. hacer:modificar el archivo de control de la copia de seguridad de la base de datos para rastrear;
  2. extraiga el comando "crear archivo de control" del archivo de seguimiento de destino de volcado de fondo.
  3. apagar 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. Cambie el SID en su entorno y consígalo
  7. Inicie la base de datos para montar-estadostartup mount
  8. Vuelva a crear el archivo de control con la declaración de la posición 2.
  9. Alterar el nombre de la base de datos global_name a 10. Cambiar la configuración 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 para 10 g, aún debería funcionar.


Desde 9i, la utilidad dbnewid (nid) se puede usar para cambiar el nombre de la base de datos (y el DBID si es necesario). Si solo se cambia el nombre de la base de datos, no se requieren reinicios de registro:

  • 1 base de datos de inicio en modo 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 cerrar e iniciar la base de datos en modo montaje:

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

    alter system set db_name=newname scope=spfile;
    
  • 5 volver a crear 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 muy fácil.

En Oracle, ORACLE_SID es solo el nombre de la instancia de Oracle y no tiene mucho que ver con DBNAME. Se puede servir una base de datos con el nombre PROD utilizando Instancias con cualquier nombre válido. No hay 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 se encuentra 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, desactive la instancia de Oracle anterior e inicie la nueva instancia de Oracle después de haber configurado ORACLE_SID al nuevo nombre de 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.


Linux
  1. Cómo cambiar la identidad de un sistema Linux

  2. ¿Cómo cambiar el nombre de host?

  3. ¿Cómo puedo cambiar el diseño del teclado de entrada mientras estoy en la consola?

  4. ¿Se puede usar mprotect() para cambiar los permisos de .rodata?

  5. ¿Dónde se encuentra la base de datos updatedb?

¿Puedo cambiar el dominio principal de la cuenta más adelante?

Cómo cambiar el nombre del sitio web en WordPress

¿Puedo cambiar el color de las pestañas en Gedit?

¿Cómo puedo cambiar la contraseña de una base de datos en cPanel?

¿Puedo cambiar el dominio principal de la cuenta de hosting?

Cambiar la contraseña de cPanel