<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Administración Oracle &#187; Cambiar Nombre de Base de Datos Oracle</title>
	<atom:link href="http://www.xgodoy.com/wordpress/tag/cambiar-nombre-de-base-de-datos-oracle/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.xgodoy.com/wordpress</link>
	<description>Blog para compartir experiencias y conocimientos en administración de bases de datos Oracle</description>
	<lastBuildDate>Fri, 25 Dec 2009 17:09:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Cambiar nombre de base de datos Oracle</title>
		<link>http://www.xgodoy.com/wordpress/2009/11/18/cambiar-nombre-de-base-de-datos-oracle/#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://www.xgodoy.com/wordpress/2009/11/18/cambiar-nombre-de-base-de-datos-oracle/#comments</comments>
		<pubDate>Wed, 18 Nov 2009 21:18:08 +0000</pubDate>
		<dc:creator>Jimy Godoy</dc:creator>
				<category><![CDATA[Administración]]></category>
		<category><![CDATA[Cambiar nombre de base de datos]]></category>
		<category><![CDATA[Cambiar Nombre de Base de Datos Oracle]]></category>
		<category><![CDATA[DNNEWID]]></category>
		<category><![CDATA[NID]]></category>

		<guid isPermaLink="false">http://www.xgodoy.com/wordpress/?p=272</guid>
		<description><![CDATA[Una utilidad llamada DBNEWID, fácil de utilizar pero con consideraciones no documentadas explícitamente, en el siguiente artículo realizaremos un par de ejemplos sobre cómo utilizar el DBNEWID y las consideraciones que se deben tener en cuenta.]]></description>
			<content:encoded><![CDATA[<p align="justify" class = "parrafo">Por alguna raz&oacute;n puede que se requiera modificar el nombre de la base de datos, modificando un par de par&aacute;metros y recreando el controlfile puede ser una tarea entre par&eacute;ntesis f&aacute;cil pero esto no asegura el cambio &iacute;ntegro ya que solo cambia el DBNAME pero no el DBID, el DBID es interno y &uacute;nico identificador de la base de datos. Por ejemplo, se requiere restaurar una base de datos en el mismo servidor de origen (algo as&iacute; como una copia de la base de datos), se ve algo f&aacute;cil, solo bastar&iacute;a con levantar una instancia con otro nombre, restaurar la base de datos sobre esa instancia y recrear el controlfile, pero las dos base de datos seguir&iacute;an con el mismo DBID, algunos de los problemas con esto son por ejemplo los backups con RMAN ya que este identifica a las bases de datos con el DBID. Otro caso pr&aacute;ctico es restaurar una copia de nuestra base de datos en el mismo servidor donde se encuentra nuestro DATAGUARD, simplemente nuestro DATAGUARD tendr&aacute; muchos problemas al encontrarse dos bases de datos en el mismo servidor con el mismo DBID (aunque las instancias tengan distinto nombre). La soluci&oacute;n para estos casos es una utilidad llamada DBNEWID, f&aacute;cil de utilizar pero con consideraciones no documentadas expl&iacute;citamente, en el siguiente art&iacute;culo realizaremos un par de ejemplos sobre c&oacute;mo utilizar el DBNEWID y las consideraciones que se deben tener en cuenta.</p>
<p class = "subtitulo">Cambiando solo el DBNAME</p>
<p align="justify" class = "parrafo">Se cuenta con una base de datos llamada jimydb, cambiaremos solo el nombre de esta a TESTDB:</p>
<p align="justify" class = "parrafo">Lo primero es crear un archivo de init:</p>
<p class = "shell"> cp $ORACLE_HOME/dbs/initjimydb.ora $ORACLE_HOME/dbs/initTESTDB.ora </p>
<p align="justify" class = "parrafo">Modificamos el par&aacute;metro db_name en el init y todo par&aacute;metro que haga referencia al nombre de la instancia o la base de datos. Luego es necesario agregar al listener.ora, tnsnames.ora y /etc/oratab la instancia TESTDB.</p>
<p align="justify" class = "parrafo">Ahora a renombrar la base de datos.</p>
<p align="justify" class = "parrafo">La base de datos debe est&aacute;n en modo <strong>MOUNT:</strong></p>
<p class = "shell"> [oracle@SERVER dbs]$ . oraenv<br />
ORACLE_SID = [jimydb] ? jimydb<br />
[oracle@SERVER dbs]$sqlplus / as sysdba </p>
<p class = "sql">SQL&gt; shutdown immediate<br />SQL&gt;startup mount</p>
<p align="justify" class = "parrafo"> Luego de sede ejecutar el utilitario DBNEWID con un usuario con privilegios sysdba de la siguiente forma: </p>
<p class = "shell">nid TARGET=SYS/password@jimydb DBNAME=TESTDB SETNAME=YES</p>
<p align="justify" class = "parrafo">Preguntar&aacute; si deseas cambiar el nombre de la base de datos, le damos &ldquo;Y&rdquo;:</p>
<p align="justify" class = "parrafo">La salida es algo por el estilo:</p>
<p class = "shell"> DBNEWID: Release 10.2.0.3.0 &#8211; Production on Wed Jul 8 16:57:36 2009<br />
&nbsp;<br />
Copyright (c) 1982, 2005, Oracle.&nbsp; All rights reserved.<br />
&nbsp;<br />
Connected to database JIMYDB (DBID=3309000021)<br />
&nbsp;<br />
Connected to server version 10.2.0<br />
&nbsp;<br />
Control Files in database:<br />
&nbsp;&nbsp;&nbsp; /u02/oradata/jimydb/control01.ctl<br />
&nbsp;&nbsp;&nbsp; /u02/oradata/jimydb/control02.ctl<br />
&nbsp;&nbsp;&nbsp; /u02/oradata/jimydb/control03.ctl<br />
&nbsp;<br />
Change database name of database JIMYDB to TESTDB? (Y/[N]) =&gt; Y<br />
&nbsp;<br />
Proceeding with operation<br />
Changing database name from JIMYDB to TESTDB<br />
&nbsp;&nbsp;&nbsp; Control File /u02/oradata/jimydb/control01.ctl &#8211; modified<br />
&nbsp;&nbsp;&nbsp; Control File /u02/oradata/jimydb/control02.ctl &#8211; modified<br />
&nbsp;&nbsp;&nbsp; Control File /u02/oradata/jimydb/control03.ctl &#8211; modified<br />
&nbsp;&nbsp;&nbsp; Datafile /u02/oradata/jimydb/system01.dbf &#8211; wrote new name<br />
&nbsp;&nbsp;&nbsp; Datafile /u02/oradata/jimydb/undotbs01.dbf &#8211; wrote new name<br />
&nbsp;&nbsp;&nbsp; Datafile /u02/oradata/jimydb/sysaux01.dbf &#8211; wrote new name<br />
&nbsp;&nbsp;&nbsp; Datafile /u02/oradata/jimydb/users01.dbf &#8211; wrote new name<br />
&nbsp;&nbsp;&nbsp; Datafile /u02/oradata/jimydb/testdat.dbf &#8211; wrote new name<br />
&nbsp;&nbsp;&nbsp; Datafile /u02/oradata/jimydb/testdat2.dbf &#8211; wrote new name<br />
&nbsp;&nbsp;&nbsp; Datafile /u02/oradata/jimydb/temp01.dbf &#8211; wrote new name<br />
&nbsp;&nbsp;&nbsp; Control File /u02/oradata/jimydb/control01.ctl &#8211; wrote new name<br />
&nbsp;&nbsp;&nbsp; Control File /u02/oradata/jimydb/control02.ctl &#8211; wrote new name<br />
&nbsp;&nbsp;&nbsp; Control File /u02/oradata/jimydb/control03.ctl &#8211; wrote new name<br />
&nbsp;&nbsp;&nbsp; Instance shut down<br />
&nbsp;<br />
Database name changed to TESTDB.<br />
Modify parameter file and generate a new password file before restarting.<br />
Succesfully changed database name.DBNEWID &#8211; Completed succesfully. </p>
<p align="justify" class = "parrafo">Se puede apreciar la modificaci&oacute;n del controlfile y como marca los datafiles. Termina la correcta ejecuci&oacute;n bajando la base de datos. Luego y ya que el archivo <strong><em>initTESTDB.ora</em></strong> ya esta creado nos ambientamos como TESTDB y levantamos la base de datos:</p>
<p class = "shell"> [oracle@SERVER dbs]$ . oraenv<br />
ORACLE_SID = [jimydb] ? TESTDB<br />
[oracle@SERVER dbs]$ sqlplus / as sysdba </p>
<p class = "sql"> SQL&gt; startup</p>
<p align="justify" class = "parrafo">Verificamos par&aacute;metros y nombre de la base de datos:</p>
<p class = "sql"> SQL&gt; sho parameters name<br />
NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TYPE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VALUE<br />
- &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211;  &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; -<br />
db_file_name_convert&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string<br />
db_name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TESTDB<br />
db_unique_name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TESTDB<br />
global_names&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; boolean&nbsp;&nbsp;&nbsp;&nbsp; FALSE<br />
instance_name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TESTDB<br />
lock_name_space&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string<br />
log_file_name_convert&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string<br />
service_names&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TESTDB</p>
<p class = "sql"> SQL&gt; select DBID, NAME, DB_UNIQUE_NAME from v$database;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DBID NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DB_UNIQUE_NAME<br />
- &#8211; - &#8211; -  &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; -<br />
3309000021 TESTDB&nbsp;&nbsp;&nbsp; TESTDB</p>
<p align="justify" class = "parrafo">Listo!, por ultimo creamos un nuevo archivo de password y verificamos los procesos oracle:</p>
<p class = "shell"> [oracle@SERVER dbs]$ orapwd file=/u01/app/oracle/db/dbs/orapwTESTDB password=password entries=10;<br />
[oracle@SERVER dbs]$ ps -fea |grep ora_<br />
oracle&nbsp;&nbsp;&nbsp; 1108&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; 0 23:21 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00:00:00 ora_pmon_TESTDB<br />
oracle&nbsp;&nbsp;&nbsp; 1110&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; 0 23:21 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00:00:00 ora_psp0_TESTDB<br />
oracle&nbsp;&nbsp;&nbsp; 1112&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; 0 23:21 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00:00:00 ora_mman_TESTDB<br />
oracle&nbsp;&nbsp;&nbsp; 1114&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; 0 23:21 ? &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;00:00:00 ora_dbw0_TESTDB<br />
oracle&nbsp;&nbsp;&nbsp; 1116&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; 0 23:21 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00:00:00 ora_lgwr_TESTDB<br />
oracle&nbsp;&nbsp;&nbsp; 1118&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; 0 23:21 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00:00:00 ora_ckpt_TESTDB<br />
oracle&nbsp;&nbsp;&nbsp; 1120&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; 0 23:21 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00:00:00 ora_smon_TESTDB<br />
oracle&nbsp;&nbsp;&nbsp; 1122&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; 0 23:21 ? &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;00:00:00 ora_reco_TESTDB<br />
oracle&nbsp;&nbsp;&nbsp; 1124&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; 0 23:21 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00:00:00 ora_cjq0_TESTDB<br />
oracle&nbsp;&nbsp;&nbsp; 1126&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; 0 23:21 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00:00:00 ora_mmon_TESTDB<br />
oracle&nbsp;&nbsp;&nbsp; 1128&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; 0 23:21 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00:00:00 ora_mmnl_TESTDB<br />
oracle&nbsp;&nbsp;&nbsp; 1134&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; 0 23:21 ? &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;00:00:01 ora_j000_TESTDB<br />
oracle&nbsp;&nbsp;&nbsp; 1136&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; 0 23:21 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00:00:00 ora_j001_TESTDB </p>
<p><strong class = "subtitulo">Cambiando el DBNAME y DBID</strong></p>
<p align="justify" class = "parrafo">Actualmente la base de datos se llama TESTDB, la renombraremos a PRUEBADB y adem&aacute;s cambiaremos el DBID de esta:</p>
<p align="justify" class = "parrafo"> Primero identificaremos el nombre actual y DBID de la base de datos:</p>
<p class = "sql"> SQL&gt; select DBID, NAME, DB_UNIQUE_NAME from v$database;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DBID NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DB_UNIQUE_NAME<br />
- &#8211; - &#8211; -  &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; -<br />
3309000021 TESTDB&nbsp;&nbsp;&nbsp; TESTDB</p>
<p align="justify" class = "parrafo">Crear un archivo de init:</p>
<p class = "shell"> cp $ORACLE_HOME/dbs/initTESTDB.ora $ORACLE_HOME/dbs/initPRUEBADB.ora </p>
<p align="justify" class = "parrafo">Modificamos el par&aacute;metro db_name en el init y todo par&aacute;metro que haga referencia al nombre de la instancia o la base de datos. Luego es necesario agregar al listener.ora, tnsnames.ora y /etc/oratab la instancia PRUEBADB.</p>
<p align="justify" class = "parrafo">La base de datos debe est&aacute;n en modo <strong>MOUNT:</strong></p>
<p class = "shell"> [oracle@SERVER dbs]$ . oraenv<br />
ORACLE_SID = [TESTDB] ? TESTDB<br />
[oracle@SERVER dbs]$sqlplus / as sysdba </p>
<p class = "sql"> SQL&gt; shutdown immediate<br />
SQL&gt; startup mount</p>
<p>Luego de sede ejecutar el utilitario DBNEWID con un usuario con privilegios sysdba de la siguiente forma:</p>
<p class = "shell"> nid TARGET=SYS/password@TESTDB DBNAME=PRUEBADB</p>
<p align="justify" class = "parrafo">Preguntar&aacute; si deseas cambiar el nombre de la base de datos, le damos &ldquo;Y&rdquo;:</p>
<p align="justify" class = "parrafo">La salida es algo por el estilo:</p>
<p class = "shell"> DBNEWID: Release 10.2.0.3.0 &#8211; Production on Wed Jul 8 23:40:07 2009<br />
Copyright (c) 1982, 2005, Oracle.&nbsp; All rights reserved.<br />
Connected to database TESTDB (DBID=3309000021)<br />
Connected to server version 10.2.0<br />
Control Files in database:<br />
&nbsp;&nbsp;&nbsp; /u02/oradata/jimydb/control01.ctl<br />
&nbsp;&nbsp;&nbsp; /u02/oradata/jimydb/control02.ctl<br />
&nbsp;&nbsp;&nbsp; /u02/oradata/jimydb/control03.ctl<br />
Change database ID and database name TESTDB to PRUEBADB? (Y/[N]) =&gt; Y<br />
Proceeding with operation<br />
Changing database ID from 3309000021 to 455356631<br />
Changing database name from TESTDB to PRUEBADB<br />
&nbsp;&nbsp;&nbsp; Control File /u02/oradata/jimydb/control01.ctl &#8211; modified<br />
&nbsp;&nbsp;&nbsp; Control File /u02/oradata/jimydb/control02.ctl &#8211; modified<br />
&nbsp;&nbsp;&nbsp; Control File /u02/oradata/jimydb/control03.ctl &#8211; modified<br />
&nbsp;&nbsp;&nbsp; Datafile /u02/oradata/jimydb/system01.dbf &#8211; dbid changed, wrote new name<br />
&nbsp;&nbsp;&nbsp; Datafile /u02/oradata/jimydb/undotbs01.dbf &#8211; dbid changed, wrote new name<br />
&nbsp;&nbsp;&nbsp; Datafile /u02/oradata/jimydb/sysaux01.dbf &#8211; dbid changed, wrote new name<br />
&nbsp;&nbsp;&nbsp; Datafile /u02/oradata/jimydb/users01.dbf &#8211; dbid changed, wrote new name<br />
&nbsp;&nbsp;&nbsp; Datafile /u02/oradata/jimydb/testdat.dbf &#8211; dbid changed, wrote new name<br />
&nbsp;&nbsp;&nbsp; Datafile /u02/oradata/jimydb/testdat2.dbf &#8211; dbid changed, wrote new name<br />
&nbsp;&nbsp;&nbsp; Datafile /u02/oradata/jimydb/temp01.dbf &#8211; dbid changed, wrote new name<br />
&nbsp;&nbsp;&nbsp; Control File /u02/oradata/jimydb/control01.ctl &#8211; dbid changed, wrote new name<br />
&nbsp;&nbsp;&nbsp; Control File /u02/oradata/jimydb/control02.ctl &#8211; dbid changed, wrote new name<br />
&nbsp;&nbsp;&nbsp; Control File /u02/oradata/jimydb/control03.ctl &#8211; dbid changed, wrote new name<br />
&nbsp;&nbsp;&nbsp; Instance shut down<br />
Database name changed to PRUEBADB.<br />
Modify parameter file and generate a new password file before restarting.<br />
Database ID for database PRUEBADB changed to 455356631.<br />
All previous backups and archived redo logs for this database are unusable.<br />
Database is not aware of previous backups and archived logs in Recovery Area.<br />
Database has been shutdown, open database with RESETLOGS option.<br />
Succesfully changed database name and ID.<br />
DBNEWID &#8211; Completed succesfully. </p>
<p align="justify" class = "parrafo">Se puede apreciar la modificaci&oacute;n del controlfile y como marca los datafiles. A diferencia del proceso anterior el utilitario avisa el cambio de DBID. Termina la correcta ejecuci&oacute;n bajando la base de datos.</p>
<p align="justify" class = "parrafo">Luego y ya que el archivo <strong><em>initPRUEBADB.ora</em></strong> ya esta creado nos ambientamos como PRUEBADB y levantamos la base de datos:</p>
<p class = "shell"> [oracle@SERVER dbs]$ . oraenv<br />
ORACLE_SID = [TESTDB] ? PRUEBADB<br />
[oracle@SERVER dbs]$ sqlplus / as sysdba </p>
<p class = "sql"> SQL&gt; startup mount<br />
SQL&gt; alter database open resetlogs; </p>
<p align="justify" class = "parrafo">Verificamos par&aacute;metros y nombre de la base de datos:</p>
<p class = "sql"> SQL&gt; sho parameters name<br />
NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TYPE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VALUE<br />
- &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; -<br />
db_file_name_convert&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string<br />
db_name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PRUEBADB<br />
db_unique_name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PRUEBADB<br />
global_names&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; boolean&nbsp;&nbsp;&nbsp;&nbsp; FALSE<br />
instance_name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PRUEBADB<br />
lock_name_space&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string<br />
log_file_name_convert&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string<br />
service_names&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PRUEBADB </p>
<p class = "sql"> SQL&gt; select DBID, NAME, DB_UNIQUE_NAME from v$database;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DBID NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DB_UNIQUE_NAME<br />
- &#8211; - &#8211; -  &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; -<br />
455356631&nbsp; PRUEBADB&nbsp; PRUEBADB </p>
<p align="justify" class = "parrafo">Listo!, por ultimo creamos un nuevo archivo de password y verificamos los procesos oracle:</p>
<p class = "shell">[oracle@SERVER dbs]$ orapwd file=/u01/app/oracle/db/dbs/orapwPRUEBADB password=password entries=10;<br />
[oracle@SERVER dbs]$ ps -fea |grep ora_<br />
oracle&nbsp;&nbsp;&nbsp; 1208&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; 0 23:25 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00:00:00 ora_pmon_PRUEBADB<br />
oracle&nbsp;&nbsp;&nbsp; 1210&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; 0 23:25 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00:00:00 ora_psp0_PRUEBADB<br />
oracle&nbsp;&nbsp;&nbsp; 1212&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; 0 23:25 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00:00:00 ora_mman_PRUEBADB<br />
oracle&nbsp;&nbsp;&nbsp; 1214&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; 0 23:25 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00:00:00 ora_dbw0_PRUEBADB<br />
oracle&nbsp;&nbsp;&nbsp; 1216&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; 0 23:25 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00:00:00 ora_lgwr_PRUEBADB<br />
oracle&nbsp;&nbsp;&nbsp; 1218&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; 0 23:25 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00:00:00 ora_ckpt_PRUEBADB<br />
oracle&nbsp;&nbsp;&nbsp; 1220&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; 0 23:25 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00:00:00 ora_smon_PRUEBADB<br />
oracle&nbsp;&nbsp;&nbsp; 1222&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; 0 23:25 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00:00:00 ora_reco_PRUEBADB<br />
oracle&nbsp;&nbsp;&nbsp; 1224&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; 0 23:25 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00:00:00 ora_cjq0_PRUEBADB<br />
oracle&nbsp;&nbsp;&nbsp; 1226&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; 0 23:25 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00:00:00 ora_mmon_PRUEBADB<br />
oracle&nbsp;&nbsp;&nbsp; 1228&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; 0 23:25 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00:00:00 ora_mmnl_PRUEBADB<br />
oracle&nbsp;&nbsp;&nbsp; 1234&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; 0 23:25 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00:00:01 ora_j000_PRUEBADB </p>
<p class = "subtitulo">Consideraciones</p>
<p align="justify" class = "parrafo">Al cambiar el nombre y el DBID de la base de datos, todos los backup v&iacute;a RMAM y los archivelogs que existan no servir&aacute; m&aacute;s ya que despu&eacute;s de cambiar el DBID se debe abrir la base de datos con la opci&oacute;n RESETLOGS lo que resetea la secuencia de los redologs a 1. Luego, inmediatamente despu&eacute;s de realizar el cambio de DBID se debe realizar un backup full de la base de datos.</p>
<p align="justify" class = "parrafo">Si de desea cambiar el DBID de una base de datos recientemente restaurada (sin abrir aun), es necesario crear un tablespace temporal, si un tablespace temporal no existe el DBID fallar&aacute; y no se podr&aacute; revertir el cambio, luego la base de datos quedar&aacute; inservible y la documentaci&oacute;n al respecto dice que es necesario entre muchos pasos recrear el controlfile (BUG 5861994). Del problema descrito conozco casos de &eacute;xito donde se ha logrado salvar la base de datos, pero el proceso es muy engorroso y lo mejor es evitar esos casos.</p>
<p class = "subtitulo">Referencias Metalink:</p>
<p align="justify" class = "parrafo"><strong>DOC ID 552053.1: NID Fails if Tempfiles Do Not Exist</strong><br />
<strong>DOC ID 224266.1: How to Change the DBID and the DBNAME by using NID</strong></p>
<p align="justify" class = "parrafo"><strong>Saludos!</strong><br /><strong>Jimy Godoy Maureira</strong></p>
<h4 class='related-posts-header'>Artículos relacionados</h4><ul class="related-posts-list"></ul>]]></content:encoded>
			<wfw:commentRss>http://www.xgodoy.com/wordpress/2009/11/18/cambiar-nombre-de-base-de-datos-oracle/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

