Pregunta

El servidor de base de datos Oracle 11g es Enterprise Edition Release 11.1.0.7.0 - 64 bits

¿Hay una manera fácil y rápida de cambiar los SID de las bases de datos de prueba en el servidor?

Dejar caer y volver a crear la base de datos es una opción para mí. Pero yo estoy buscando algo que requiere menos tiempo.

La otra opción para asignar los nombres de los clientes tnsnames.ora es propenso a errores, porque no son administrados de forma centralizada.

En comparación con el momento de bajar y crear una base de datos en SQL Server, la cantidad de tiempo necesario para crear una nueva base de datos Oracle es excesivamente mayor. Más adelante SQL Server se puede cambiar el nombre de las instancias de SQL Server. [Por lo general, cambiar el nombre del servidor en el SQL-Server se está ejecutando y tienen algunos problemas hasta que cambia el nombre del servidor también].

¿Fue útil?

Solución

Desde utilidad dbnewid 9i (nid) se puede utilizar para cambiar el nombre de base de datos (Y DBID si es necesario). Si el nombre de base de datos está cambiando sólo entonces resetlogs no se requiere:

  • 1 base de datos de arranque en el modo de montar

    shutdown immediate
    startup mount
    
  • 2 nid plazo a cambio de nombre de base de datos:

    nid target=sys/syspassword@dbtns dbname=newname setname=YES
    
  • 3 apagado y empezar base de datos en modo de montaje:

    shutdown immediate
    startup mount
    
  • 4 db_name cambio en spfile (o en pfile la edición del archivo):

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

    orapwd file=orapwnewname password=syspassword
    
  • 6 Puesta en marcha de la base de datos

    startup
    
  • 7 pasos posteriores de cambio de nombre:

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

Otros consejos

Es necesario volver a crear el archivo de control

Esta poste por Kaunain Ahmed describe los pasos necesarios:

  1. hacer: controlfile copia de seguridad alter database para dejar rastro;
  2. extraer el comando "Crear archivo de control" de la tracefile fondo-dump-destino.
  3. apagado el PP.
  4. Cambiar el DB-Nombre en sus init.ora y cambiar el init.ora
  5. Cambiar el SID en el directorio / etc / oratab o / var / opt / oracle / oratab
  6. Cambiar el SID en su entorno y la fuente que
  7. Inicio la base de datos para montar estatus inicio montar
  8. volver a crear el archivo de control con la declaración de la posición 2.
  9. Hacer un cambio de nombre global_name alter database para 10.Change el TNS-configuración en consecuencia $ ORACLE_HOME / network / admin / *. Ora Busque SID y GLOBAL_NAME

Hay otras herramientas que se hace referencia en el hilo.

Aquí hay una publicar por AskTom que hace referencia al proceso en más detalle. Si bien es de 10 g, lo que debería todavía trabajo.

Sí, se puede y es muy fácil también.

En Oracle, el SID_ORACLE es sólo el nombre de la instancia de Oracle y no tiene mucho que ver con el DBNAME. Una base de datos con el nombre PROD, se puede servir el uso de instancias con cualquier nombre válido. No hay 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 es la nombre_base_de_datos parámetro. Aquí es donde se realiza la conexión entre la instancia de Oracle y la base de datos.

Por lo tanto, no es necesario volver a crear un archivo de control, que no es necesario el uso nid, sólo asegúrese de que su parameterfile tiene el nombre correcto, bajar la edad de Oracle Instancia e iniciar la nueva instancia de Oracle después habiendo establecido SID_ORACLE al nuevo nombre de instancia de Oracle. El parameterfile y el archivo de la contraseña son encontrados usando el $ {} SID_ORACLE como parte de su nombre.

Para volver a crear el archivo de control es solamente necesaria cuando el DBNAME tiene que cambiar. nid es necesaria después de una operación de clonación donde se necesita cambiar el DBID para evitar accidentes que podrían perjudicar a las copias de seguridad de la base de datos de origen.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a dba.stackexchange
scroll top