Rename db_name for Oracle
DBNEWID Utility
Prior to the introduction of the DBNEWID utility alteration of the internal DBID of an instance was impossible and alteration of the DBNAME required the creation of a new controlfile. The DBNEWID utility allows the DBID to be altered for the first time and makes changing the DBNAME simpler. Changing the DBID is necessary when you want to use an RMAN catalog to backup a cloned instance. RMAN identifies instances using the DBID, preventing the original and cloned instance being managed by the same catalog. Alteration of the BID in the cloned instance removes this restriction.
[@more@]DBID And DBNAME
- Backup the database.
- Mount the database after a clean shutdown:
SHUTDOWN IMMEDIATE STARTUP MOUNT
- Invoke the DBNEWID utility (nid) specifying the new DBNAME from the command line using a user with SYSDBA privilege:
Assuming the validation is successful the utility prompts for confirmation before performing the actions. Typical output may look something like:nid TARGET=sys/password@TSH1 DBNAME=TSH2
C:oracle920bin>nid TARGET=sys/password@TSH1 DBNAME=TSH2 DBNEWID: Release 9.2.0.3.0 - Production Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved. Connected to database TSH1 (DBID=1024166118) Control Files in database: C:ORACLEORADATATSH1CONTROL01.CTL C:ORACLEORADATATSH1CONTROL02.CTL C:ORACLEORADATATSH1CONTROL03.CTL Change database ID and database name TSH1 to TSH2? (Y/[N]) => Y Proceeding with operation Changing database ID from 1024166118 to 1317278975 Changing database name from TSH1 to TSH2 Control File C:ORACLEORADATATSH1CONTROL01.CTL - modified Control File C:ORACLEORADATATSH1CONTROL02.CTL - modified Control File C:ORACLEORADATATSH1CONTROL03.CTL - modified Datafile C:ORACLEORADATATSH1SYSTEM01.DBF - dbid changed, wrote new name Datafile C:ORACLEORADATATSH1UNDOTBS01.DBF - dbid changed, wrote new name Datafile C:ORACLEORADATATSH1CWMLITE01.DBF - dbid changed, wrote new name Datafile C:ORACLEORADATATSH1DRSYS01.DBF - dbid changed, wrote new name Datafile C:ORACLEORADATATSH1EXAMPLE01.DBF - dbid changed, wrote new name Datafile C:ORACLEORADATATSH1INDX01.DBF - dbid changed, wrote new name Datafile C:ORACLEORADATATSH1ODM01.DBF - dbid changed, wrote new name Datafile C:ORACLEORADATATSH1TOOLS01.DBF - dbid changed, wrote new name Datafile C:ORACLEORADATATSH1USERS01.DBF - dbid changed, wrote new name Datafile C:ORACLEORADATATSH1XDB01.DBF - dbid changed, wrote new name Datafile C:ORACLEORADATATSH1TEMP01.DBF - dbid changed, wrote new name Control File C:ORACLEORADATATSH1CONTROL01.CTL - dbid changed, wrote new name Control File C:ORACLEORADATATSH1CONTROL02.CTL - dbid changed, wrote new name Control File C:ORACLEORADATATSH1CONTROL03.CTL - dbid changed, wrote new name Database name changed to TSH2. Modify parameter file and generate a new password file before restarting. Database ID for database TSH2 changed to 1317278975. All previous backups and archived redo logs for this database are unusable. Shut down database and open with RESETLOGS option. Succesfully changed database name and ID. DBNEWID - Completed succesfully.
- Shutdown the database:
SHUTDOWN IMMEDIATE
- Modify the DB_NAME parameter in the initialization parameter file. The startup will result in an error but proceed anyway.
- Create a new password file:
orapwd file=c:oracle920databasepwdTSH2.ora password=password entries=10
- Rename the SPFILE to match the new DBNAME.
- If you are using Windows you must recreate the service so the correct name and parameter file are used:
If you are using UNIX/Linux simply reset the ORACLE_SID environment variable:oradim -delete -sid TSH1 oradim -new -sid TSH2 -intpwd password -startmode a -pfile c:oracle920databasespfileTSH2.ora
ORACLE_SID=TSH2; export ORACLE_SID
- Alter the listener.ora and tnsnames.ora setting to match the new database name and restart the listener:
lsnrctl reload
- Open the database with RESETLOGS:
STARTUP MOUNT ALTER DATABASE OPEN RESETLOGS;
- Backup the database.
STARTUP MOUNT ALTER SYSTEM SET DB_NAME=TSH2 SCOPE=SPFILE; SHUTDOWN IMMEDIATE
DBNAME Only
Repeat the process as before except use the following command to start the DBNEWID utility:The SETNAME parameter tells the DBNEWID utility to only alter the database name.nid TARGET=sys/password@TSH2 DBNAME=TSH3 SETNAME=YES
When opening the database the RESETLOGS option is not needed so the database can be started using the
STARTUP
command.DBID Only
- Backup the database.
- Mount the database after a clean shutdown:
SHUTDOWN IMMEDIATE STARTUP MOUNT
- Invoke the DBNEWID utility (nid) from the command line using a user with SYSDBA privilege. Do not specify a new DBNAME:
nid TARGET=sys/password@TSH3
- Shutdown and open the database with RESETLOGS:
SHUTDOWN IMMEDIATE STARTUP MOUNT ALTER DATABASE OPEN RESETLOGS;
- Backup the database.
轉自:
參考:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/789833/viewspace-1043757/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- How to Rename Database/Change DB_NAME or ORACLE_SID/Instance Name-15390.1DatabaseOracle
- Move_or_Rename_the_Tempfile_in_OracleOracle
- How to rename an Oracle stored procedureOracle
- oracle 線上rename資料檔案Oracle
- oracle rename 的連帶問題Oracle
- Rename Tablespace in Oracle database 10gOracleDatabase
- How to Rename Tablespace In Oracle10gOracle
- instance_name、db_name、ORACLE_SID、db_name等的區別Oracle
- Oracle 重建表(rename)注意事項總結Oracle
- Oracle 重建表(rename)注意事項小結Oracle
- 【Oracle】How to Rename or Move Datafiles and Logfiles 之二Oracle
- 【Oracle】How to Rename or Move Datafiles and Logfiles 之一Oracle
- oracle817開始支援rename column nameOracle
- 關於ORACLE_SID和DB_NAME的理解Oracle
- ORACLE_SID,INSTANCE_NAME和DB_NAMEOracle
- ORACLE資料庫修改資料庫名db_nameOracle資料庫
- rename函式功能函式
- shell script to rename directory
- Oracle 11gR2 使用者重新命名(rename user)Oracle
- oracle 10g中的幾個概念(sid/db_name/....)Oracle 10g
- DB_NAME Initialization Parameter (87)
- php-rename()函式PHP函式
- How does one rename a database?Database
- 修改oracle例項名(sid)和資料庫名(db_name)Oracle資料庫
- oracle sid,instance_name,db_name,oracle_sid之間的關係Oracle
- Oracle修改instance_name、db_name、db_unique_name、service_namesOracle
- Oracle修改(db_name,db_unique_name, servie_names,db_domain)方法OracleAI
- 在oracle 10g for solaris 5.10上修改db_name|db_idOracle 10g
- oracle rename table 相關index view constraint synonym等的變化OracleIndexViewAI
- MySQL rename table方法大全MySql
- How to Rename a Server That Is Not a Data Store ServerServer
- MySQL 的Rename Table語句MySql
- MSSQL Server Rename Server_nameSQLServer
- Can one rename a database user (schema)?Database
- [轉]ORACLE中的DB_NAME,SERVICE_NAME,INSTANCE_NAME,ORACLE_SID,GLOBAL_DBNAMEOracle
- ORACLE中的DB_NAME,SERVICE_NAME,INSTANCE_NAME,ORACLE_SID,GLOBAL_DBNAME介紹Oracle
- rename備庫資料檔案
- rman copy asm datafile(rename asm datafile)ASM