Vous êtes sur la page 1sur 16

HOW TO CHANGE DBID DBNAME INSTANCE NAME | LINUX

CHANGING THE (DBID) USING NID UTILITY WHAT IS DBID AND WHY WE NEED TO CHANGE IT ? DBID stands for DATABASE IDENTIFIER. If the database is open , we can directly querying with the v$database and find the DBID. The DBID is an internal, unique identifier for a database. Because Recovery Manager (RMAN) distinguishes databases by DBID. When we clone the database, the DBID remains same as the source database, We need to change to the DBID, This is very much useful as in the case of working with RMAN.

SQL> startup mount; ORACLE instance started. ... Database mounted.

WE CAN FIND DBID AT MOUNT STAGE TOO

SQL> select dbid , name from v$database; DBID 1028461173 NAME CLONE

Exploring the Oracle DBA Technology by Gunasekaran ,Thiyagu

HOW TO CHANGE DBID DBNAME INSTANCE NAME | LINUX

LETS START TO CHANGE DBID OF THE CLONE DATABASE IDENTIFY THE DBID OF THE DATABASE SQL> alter database open; Database altered. SQL> select dbid , name from v$database; DBID 1028461173 NAME CLONE

SHUTDOWN THE CLONE DATABASE SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. START THE CLONE DATABASE AT MOUNT STAGE SQL> startup mount; ORACLE instance started. Total System Global Area 608174080 bytes .. .. [ Trimmed ] Database mounted.

Exploring the Oracle DBA Technology by Gunasekaran ,Thiyagu

HOW TO CHANGE DBID DBNAME INSTANCE NAME | LINUX

SQL> exit Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production With the Partitioning, OLAP, Data Mining and Real Application Testing options

Exploring the Oracle DBA Technology by Gunasekaran ,Thiyagu

HOW TO CHANGE DBID DBNAME INSTANCE NAME | LINUX

BOUNCE BACK THE DATABASE TO MOUNT STAGE $ sqlplus / as sysdba SQL*Plus:Release 10.2.0.4.0 -Production on Thu Oct 24 13:34:28 2013 Copyright (c) 1982, 2007, Oracle. All Rights Reserved. Connected to an idle instance. SQL> startup mount; ORACLE instance started. Total System Global Area 608174080 bytes Fixed Size Variable Size Database Buffers Redo Buffers Database mounted. SQL> alter database open resetlogs; Database altered. 1268920 bytes 188744520 bytes 415236096 bytes 2924544 bytes

SQL> select dbid , name from v$database; DBID NAME

1028484554 CLONE
************** *******

Exploring the Oracle DBA Technology by Gunasekaran ,Thiyagu

HOW TO CHANGE DBID DBNAME INSTANCE NAME | LINUX CHANGING THE DATABASE NAME USING NID UTILITY First , make a whole database backup. The SETNAME parameter tells the DBNEWID utility to only alter the database name. When opening the database the RESETLOGS option is not needed. Database can be started STARTUP command. LOGIN AS 'SYS' USER SQL> show user; USER is "SYS" SQL> select name from v$database; NAME CLONE SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. SQL> startup mount ORACLE instance started. .... [ Trimmed ] Database mounted. Exploring the Oracle DBA Technology by Gunasekaran ,Thiyagu

HOW TO CHANGE DBID DBNAME INSTANCE NAME | LINUX

SQL> exit Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production With the Partitioning, OLAP, Data Mining and Real Application Testing options

Exploring the Oracle DBA Technology by Gunasekaran ,Thiyagu

HOW TO CHANGE DBID DBNAME INSTANCE NAME | LINUX

POINTS TO NOTE If validation is not successful, then DBNEWID terminates and leaves the target database intact, You can open the database, fix the error, and then either resume the DBNEWID operation or continue using the database without changing its DBID. EDIT THE PFILE (db_name) $ cd $ORACLE_BASE/admin/clone/pfile/ $ vi initclone.ora change the db_name parameter in the pfile to the new database name Change this parameter db_name=clonedb

Exploring the Oracle DBA Technology by Gunasekaran ,Thiyagu

HOW TO CHANGE DBID DBNAME INSTANCE NAME | LINUX

CREATE A NEW PASSWORD FILE USING THE ORAPWD UTILITY $ ORAPWD FILE=filename PASSWORD=password ENTRIES=n $ ORAPWD FILE=orapwclonedb PASSWORD=secret ENTRIES=06 START THE DATABASE USING PFILE SQL>startup pfile='/u01/app/oracle/admin/clone/pfile/initclone.ora'; ORACLE instance started. Total System Global Area 608174080 bytes .. ... [ Trimmed ] Database mounted. Database opened. SQL> select name from v$database; NAME CLONEDB SQL> create spfile from pfile; File created. SQL> startup force; ORACLE instance started. .. Exploring the Oracle DBA Technology by Gunasekaran ,Thiyagu

HOW TO CHANGE DBID DBNAME INSTANCE NAME | LINUX

CHANGING BOTH DBNAME & DBID WITH THE DBNEWID My preference is to change both DBNAME and DBID at the same time as a best practice during creation of test environments. CHECK DBID AND DBNAME SQL> SELECT NAME , DBID FROM V$DATABASE; NAME CLONEDB DBID 916366170

$ORACLE_SID parameter should be same with the INSTANCE_NAME

parameter. Then, shut the instance and startup with mount option.

Exploring the Oracle DBA Technology by Gunasekaran ,Thiyagu

HOW TO CHANGE DBID DBNAME INSTANCE NAME | LINUX

SHUT THE DATABASE AND STARTUP WITH MOUNT PHASE

SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. SQL> startup mount ORACLE instance started. .... [ Trimmed ] Database mounted. SQL> exit Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production With the Partitioning, OLAP, Data Mining and Real Application Testing options LETS START .. $ nid target=/ dbname=CLONE logfile=/tmp/file1.log $ cat /tmp/file1.log
http://www.scribd.com/doc/187554898/NID-Log-for-Changing-Dbid-Dbname

Change the db_name to CLONE then Startup instance with nomount option and now the instance activate with new db_name. At last, open database with resetlogs option. Exploring the Oracle DBA Technology by Gunasekaran ,Thiyagu

HOW TO CHANGE DBID DBNAME INSTANCE NAME | LINUX Changing db_name=clone $ vi /u01/app/oracle/admin/clone/pfile/initclone.ora

Exploring the Oracle DBA Technology by Gunasekaran ,Thiyagu

HOW TO CHANGE DBID DBNAME INSTANCE NAME | LINUX

DATABASE IS OPENED WITH RESETLOGS

CHECK DBID AND DBNAME SQL> SELECT NAME , DBID FROM V$DATABASE; NAME CLONE DBID 1028515186

SQL> Create spfile from pfile= 'path of the pfile '; SQL> startup force; ORACLE instance started. .. [ Trimmed ] Database mounted. Database opened. Exploring the Oracle DBA Technology by Gunasekaran ,Thiyagu

HOW TO CHANGE DBID DBNAME INSTANCE NAME | LINUX

POINTS TO REMEMBER DBNEWID is a database utility that can change the internal database identifier (DBID) and the database name (DBNAME) for an operational database. The DBNEWID utility solves following things. Only the DBID of a database Only the DBNAME of a database Both the DBNAME and DBID of a database. We can not register CLONE database to recovery catalog due to duplication of DBID since RMAN recovery catalog uses DBID to distinguish one database from another. HOW TO CHANGE INSTANCE NAME We know by default , $ORACLE_SID will be instance_name. So i am going to change Instance_name and $ORACLE_SID. $ echo $ORACLE_SID clonedb SQL> select instance_name from v$instance; INSTANCE_NAME clonedb SQL> alter system reset instance_name scope=spfile sid='*'; System altered.

Exploring the Oracle DBA Technology by Gunasekaran ,Thiyagu

HOW TO CHANGE DBID DBNAME INSTANCE NAME | LINUX

SQL> shutdown; Database closed. Database dismounted. ORACLE instance shut down. Lets check parameter file .. $ vi /u01/app/oracle/admin/clone/pfile/initclone.ora

Exploring the Oracle DBA Technology by Gunasekaran ,Thiyagu

HOW TO CHANGE DBID DBNAME INSTANCE NAME | LINUX

I remove 'spinitclone.ora' from $ORACLE_HOME/dbs location and going to add new value to instance_name parameter in the pfile.

$ cd $ORACLE_HOME/dbs $ pwd /u01/app/oracle/product/10.2.0/db_1/dbs $ ls -l spfile* -rw-r----- 1 oracle oinstall 3584 Oct 26 01:23 spfileclonedb.ora -rw-r----- 1 oracle oinstall 2560 Oct 24 07:47 spfiletestdb.ora $ rm -rf spfileclonedb.ora $ ls -l spfile* -rw-r----- 1 oracle oinstall 2560 Oct 24 07:47 spfiletestdb.ora

Exploring the Oracle DBA Technology by Gunasekaran ,Thiyagu

HOW TO CHANGE DBID DBNAME INSTANCE NAME | LINUX

Lets small check

FIANL STEP ** Create spfile from pfile ** Now , Instance_name successfully changed ..

Exploring the Oracle DBA Technology by Gunasekaran ,Thiyagu