一. 修改instance name
1. Windows环境
1).用oradim新建一个instance,比如:TEST
oradim –NEW –SID TEST –STARTMODE m
oradim –EDIT –SID TEST –STARTMODE a
2).建立相关目录
A) 在%ORACLE_BASE%\admin下新建TEST目录
B) 在TEST下建bdump,cdump,udump,pfile,create等目录
3).修改或新建初始化参数文件,并设定如下参数:
instance_name=TEST
core_dump_dest=’d:\ oracle \admin\test\cdump’
user_dump_dest=’d:\ oracle \admin\test\udump’
4).将修改过的参数文件命名为:
spfileTEST.ORA(SPFILE)
initTEST.ORA(PFILE)
5).设置环境变量,指定新的SID
set ORACLEL_SID=TEST
6).Startup
2. Unix&Linux环境
整个过程跟windows下差不多,差别在于:
1).Unix&Linux下不需要执行windows环境下的第一步
2).设置环境变量时用如下命令:
export ORACLE_SID=TEST
二. 修改db name
1. 修改初始化参数文件中的db name
db_name=TEST
2. 在原有系统上执行(在mount或open状态下执行):
alter database backup controlfile to trace;
3. 找到trace文件,选取如下部分:
CREATE CONTROLFILE REUSE DATABASE “TEST” RESETLOGS ARCHIVELOG
MAXLOGFILES 5
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 1
MAXLOGHISTORY 226
LOGFILE
GROUP 1 ‘D:\ oracle \ORADATA\BRIGHT\REDO01.LOG’ SIZE 10M,
GROUP 2 ‘D:\ oracle \ORADATA\BRIGHT\REDO02.LOG’ SIZE 10M,
GROUP 3 ‘D:\ oracle \ORADATA\BRIGHT\REDO03.LOG’ SIZE 10M
DATAFILE
‘D:\ oracle \ORADATA\BRIGHT\SYSTEM01.DBF’,
‘D:\ oracle \ORADATA\BRIGHT\UNDOTBS01.DBF’,
‘D:\ oracle \ORADATA\BRIGHT\DRSYS01.DBF’,
‘D:\ oracle \ORADATA\BRIGHT\INDX01.DBF’,
‘D:\ oracle \ORADATA\BRIGHT\TOOLS01.DBF’,
‘D:\ oracle \ORADATA\BRIGHT\USERS01.DBF’,
‘D:\ oracle \ORADATA\BRIGHT\XDB01.DBF’
CHARACTER SET ZHT16MSWIN950
;
4. 将脚本中的REUSE改称SET,正确脚本如下:
CREATE CONTROLFILE SET DATABASE “TEST” RESETLOGS ARCHIVELOG
MAXLOGFILES 5
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 1
MAXLOGHISTORY 226
LOGFILE
GROUP 1 ‘D:\ oracle \ORADATA\BRIGHT\REDO01.LOG’ SIZE 10M,
GROUP 2 ‘D:\ oracle \ORADATA\BRIGHT\REDO02.LOG’ SIZE 10M,
GROUP 3 ‘D:\ oracle \ORADATA\BRIGHT\REDO03.LOG’ SIZE 10M
DATAFILE
‘D:\ oracle \ORADATA\BRIGHT\SYSTEM01.DBF’,
‘D:\ oracle \ORADATA\BRIGHT\UNDOTBS01.DBF’,
‘D:\ oracle \ORADATA\BRIGHT\DRSYS01.DBF’,
‘D:\ oracle \ORADATA\BRIGHT\INDX01.DBF’,
‘D:\ oracle \ORADATA\BRIGHT\TOOLS01.DBF’,
‘D:\ oracle \ORADATA\BRIGHT\USERS01.DBF’,
‘D:\ oracle \ORADATA\BRIGHT\XDB01.DBF’
CHARACTER SET ZHT16MSWIN950
;
5. SHUTDOWN系统,并启动到NOMOUNT状态,执行该脚本
6. ALTER DATABASE OPEN RESETLOGS;
附:metalink中关于修改db name的一篇文章
· fact: oracle Server - Enterprise Edition 7
· fact: oracle Server - Enterprise Edition 8
· symptom: Unable to change database name
· symptom: ORA-01503: CREATE CONTROLFILE failed
· symptom: ORA-01161: database name <name> in file header does not match given name of <name>
· cause: Keyword “SET” was not used in “CREATE CONTROLFILE&
· quot; command. If this keyword is not used it is not possible to rename a database.
fix:
Use “SET” keyword in “CREATE CONTROLFILE” command.
For example,
CREATE CONTROLFILE SET DATABASE “newdbname” RESETLOGS NOARCHIVELOG
MAXLOGFILES 32
MAXLOGMEMBERS 2
MAXDATAFILES 32
MAXINSTANCES 16
MAXLOGHISTORY 1600
LOGFILE
GROUP 1 ‘/d00/oradata/8.1.7/redo01.log’ SIZE 500K,
GROUP 2 ‘/d00/oradata/8.1.7/redo02.log’ SIZE 500K
DATAFILE
‘/d00/oradata/8.1.7/system01.dbf’ SIZE 100M
;
No Comments
Be the first to comment on this entry.
Leave a comment
Fields in bold are required. Email addresses are never published or distributed.
Some HTML code is allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>URLs must be fully qualified (eg: http://www.dbifan.com),and all tags must be properly closed.
Line breaks and paragraphs are automatically converted.
Please keep comments relevant. Off-topic, offensive or inappropriate comments may be edited or removed.