Win2008 oracle 10g 修改实例名
【步骤说明】
先创建控制文件的trace文件
先修改数据库名 dbname
再修改 db_name
创建orapwd文件
再修改instance_name,并生成initSID.ora
使用oradim删除现有server(sid)
使用oradim创建一个新的(server)sid
修改initSID.ora中的内容 【比如 mpcorcl==>orcl】【包括database的目录中mpcorcl-->orcl】
startup pfile='..\database\initorcl.ora' nomount;
使用trace文件修改控制文件的创建语句
在noumount状态重新创建控制文件
alter database open resetlogs;
创建新的spfile【前提是创建了pfile并修改了】
根据情况创建temp表空间
【步骤】
create spfile from pfile='c:\initmpcorcl.ora';
1 修改dbname
数据库启动到mount阶段
C:\Users\Administrator>nid target=sys/oracle@mpcorcl dbname=orcl
DBNEWID: Release 11.1.0.7.0 - Production on 星期二 11月 15 12:46:43 2011
Copyright (c) 1982, 2007, Oracle. All rights reserved.
NID-00106: 因以下 Oracle 错误, 登录目标数据库失败:
ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
在验证时更改数据库名失败 - 数据库保持原样。
DBNEWID - 已完成, 但出现验证错误。
sqlplus / as sysdba
alter user sys identified by oracle;
shutdown immediate;
数据库启动到mount阶段
startup mount;
C:\Users\Administrator>nid target=sys/oracle@mpcorcl dbname=orcl setname=yes
DBNEWID: Release 11.1.0.7.0 - Production on 星期二 11月 15 12:48:11 2011
Copyright (c) 1982, 2007, Oracle. All rights reserved.
已连接数据库 MPCORCL (DBID=2396121591)
已连接服务器版本 11.1.0
数据库中的控制文件数:
C:\APP\ADMINISTRATOR\ORADATA\MPCORCL\CONTROL01.CTL
C:\APP\ADMINISTRATOR\ORADATA\MPCORCL\CONTROL02.CTL
C:\APP\ADMINISTRATOR\ORADATA\MPCORCL\CONTROL03.CTL
是否将数据库 MPCORCL 的数据库名更改为 ORCL? (Y/[N]) => y
操作继续进行
将数据库名从 MPCORCL 更改为 ORCL
控制文件 C:\APP\ADMINISTRATOR\ORADATA\MPCORCL\CONTROL01.CTL - 已修改
控制文件 C:\APP\ADMINISTRATOR\ORADATA\MPCORCL\CONTROL02.CTL - 已修改
控制文件 C:\APP\ADMINISTRATOR\ORADATA\MPCORCL\CONTROL03.CTL - 已修改
数据文件 C:\APP\ADMINISTRATOR\ORADATA\MPCORCL\SYSTEM01.DB - 已写入新名称
数据文件 C:\APP\ADMINISTRATOR\ORADATA\MPCORCL\SYSAUX01.DB - 已写入新名称
数据文件 C:\APP\ADMINISTRATOR\ORADATA\MPCORCL\UNDOTBS01.DB - 已写入新名称
数据文件 C:\APP\ADMINISTRATOR\ORADATA\MPCORCL\USERS01.DB - 已写入新名称
数据文件 C:\MPCDB\CDWEB.DA - 已写入新名称
数据文件 C:\MPCDB\CTRAIN.DA - 已写入新名称
数据文件 C:\APP\ADMINISTRATOR\PRODUCT\11.1.0\DB_1\DATABASE\REPOSITORY_TABLESPACE.DB - 已写入新名称
数据文件 C:\MPCDB\MODELMANAGER.DA - 已写入新名称
数据文件 C:\MPCDB\DESIGNER_TABLESPACE.DB - 已写入新名称
数据文件 C:\MPCDB\DCPC_MPC_XS_03.DA - 已写入新名称
数据文件 C:\MPCDB\DCPC_MPC_SC.DA - 已写入新名称
数据文件 C:\MPCDB\DCPC_MPC_ZB.DA - 已写入新名称
数据文件 C:\APP\ADMINISTRATOR\ORADATA\MPCORCL\TEMP01.DB - 已写入新名称
控制文件 C:\APP\ADMINISTRATOR\ORADATA\MPCORCL\CONTROL01.CTL - 已写入新名称
控制文件 C:\APP\ADMINISTRATOR\ORADATA\MPCORCL\CONTROL02.CTL - 已写入新名称
控制文件 C:\APP\ADMINISTRATOR\ORADATA\MPCORCL\CONTROL03.CTL - 已写入新名称
实例关闭
数据库名已更改为 ORCL。
修改参数文件并在重新启动前生成新的口令文件。
已成功更改数据库名。
DBNEWID - 已成功完成。
生成新的口令文件
cd c:\app\administrator\product\11.1.0\db_1\database\
orapwd file=pwdorcl.ora password=66SYSpass
3 修改 db_name
停库再到mount状态下改db_name:
sql>shutdown immediate;
sql>startup mount
sql>alter system set db_name=orcl scope=spfile;
sql>shutdown immediate;
C:\Users\Administrator>sqlplus / as sysdba
SQL*Plus: Release 11.1.0.7.0 - Production on 星期二 11月 15 12:50:27 2011
Copyright (c) 1982, 2008, Oracle. All rights reserved.
已连接到空闲例程。
SQL> startup mount;
ORACLE 例程已经启动。
Total System Global Area 1121570816 bytes
Fixed Size 1348648 bytes
Variable Size 687868888 bytes
Database Buffers 427819008 bytes
Redo Buffers 4534272 bytes
ORA-01103: ?????????? ''ORCL'' ?? ''MPCORCL''
SQL> alter system set db_name=orcl scope=spfile;
系统已更改。
SQL> create pfile='c:\initorcl.ora' from spfile;
文件已创建。
SQL> commit;
提交完成。
SQL> shutdown immediate;
ORA-01507: ??????
ORACLE 例程已经关闭。
4创建orapwd文件
C:\Users\Administrator>cd C:\app\Administrator\product\11.1.0\db_1\database
C:\app\Administrator\product\11.1.0\db_1\database>orapwd file=pwdorcl.ora password=oracle
5 开启数据库
C:\app\Administrator\product\11.1.0\db_1\database>sqlplus / as sysdba
SQL*Plus: Release 11.1.0.7.0 - Production on 星期二 11月 15 12:55:22 2011
Copyright (c) 1982, 2008, Oracle. All rights reserved.
已连接到空闲例程。
SQL> startup mount;
ORACLE 例程已经启动。
Total System Global Area 1121570816 bytes
Fixed Size 1348648 bytes
Variable Size 687868888 bytes
Database Buffers 427819008 bytes
Redo Buffers 4534272 bytes
数据库装载完毕。
SQL> alter database open resetlogs;
alter database open resetlogs
*
第 1 行出现错误:
ORA-01139: RESETLOGS 选项仅在不完全数据库恢复后有效
SQL>
SQL> alter database open;
数据库已更改。
SQL> select dbid,name from v$database;
DBID NAME
---------- ---------
2396121591 ORCL
6修改instance_name
如果是windows系统,要先把所有的oracle服务先关闭,否则会出错。
先将原来的service_name删除:
在操作系统中,进入cmd,
oradim -delete -sid mpcorcl
oradim -new -sid orcl
7 将c:\initorcl.ora 复制到 database目录下
注意将initorcl.ora中的所有的mpcorcl替换成 orcl 然后复制到database下
创建admin下的orcl文件
修改oradata下的mpcorcl文件夹为orcl文件夹
8
修改tnsname.ora
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = SKY-20111025JUH)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
9 进入oracle并创建spfile
sqlplus / as sysdba
startup pfile='c:\initorcl.ora' nomount;
create spfile from pfile='c:\initorcl.ora';
10 重现创建控制文件:
startup nomount;
CREATE CONTROLFILE REUSE DATABASE "ORCL" RESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 2336
LOGFILE
GROUP 1 'C:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO01.LOG' SIZE 50M,
GROUP 2 'C:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO02.LOG' SIZE 50M,
GROUP 3 'C:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO03.LOG' SIZE 50M
-- STANDBY LOGFILE
DATAFILE
'C:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF',
'C:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF',
'C:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF',
'C:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF',
'C:\MPCDB\CDWEB.DAT',
'C:\MPCDB\CTRAIN.DAT',
'C:\MPCDB\MODELMANAGER.DAT',
'C:\APP\ADMINISTRATOR\PRODUCT\11.1.0\DB_1\DATABASE\DESIGNER_TABLESPACE.DBF',
'C:\APP\ADMINISTRATOR\PRODUCT\11.1.0\DB_1\DATABASE\INFORPLANNING_REPTBS.DBF',
'C:\MPCDB\DCPC_MPC_XS_03.DAT',
'C:\MPCDB\DCPC_MPC_SC.DAT',
'C:\MPCDB\DCPC_MPC_ZB.DAT'
CHARACTER SET ZHS16GBK
;
10 alter database open resetlogs;
11 全备
12 添加临时表空间文件
SQL> alter tablespace temp add tempfile 'C:\app\Administrator\oradata\orcl\TEMP01.DBF' size 400m;
----------------------