oracle10G修改实例名
##1、查询原库实例名
SQL> show parameter name; NAME TYPEVALUE ------------------------------------ ----------- ------------------------------ db_file_name_convert string db_name string HBDB1 db_unique_name string HBDB1 global_names boolean FALSE instance_namestring hbdb1 lock_name_space string log_file_name_convertstring service_namesstring HBDB1
复制
##2、备份控制文件
SQL> alter database backup controlfile to trace; Database altered ---查看trace文件路径 SQL> show parameter dump; NAME TYPEVALUE ------------------------------------ ----------- ------------------------------ background_core_dump string partial background_dump_dest string E:\ORACLE\PRODUCT\10.2.0\ADMIN\HBDB1\BDUMP core_dump_dest string E:\ORACLE\PRODUCT\10.2.0\ADMIN\HBDB1\CDUMP max_dump_file_size string UNLIMITED shadow_core_dump string partial user_dump_dest string E:\ORACLE\PRODUCT\10.2.0\ADMIN\HBDB1\UDUMP
复制
路径为:E:\ORACLE\PRODUCT\10.2.0\ADMIN\HBDB\UDUMP\hbdb1_ora_5240.trc
------复制出控制文件创建语句如下:
STARTUP NOMOUNT CREATE CONTROLFILE REUSE DATABASE "HBDB1" NORESETLOGS NOARCHIVELOG MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 100 MAXINSTANCES 8 MAXLOGHISTORY 2921 LOGFILE GROUP 1 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\HBDB1\REDO01.LOG' SIZE 50M, GROUP 2 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\HBDB1\REDO02.LOG' SIZE 50M, GROUP 3 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\HBDB1\REDO03.LOG' SIZE 50M -- STANDBY LOGFILE DATAFILE 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\HBDB1\SYSTEM01.DBF', 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\HBDB1\UNDOTBS01.DBF', 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\HBDB1\SYSAUX01.DBF', 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\HBDB1\USERS01.DBF', 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\HBDB1\ZF01.DBF', 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\HBDB1\ZF02.DBF' CHARACTER SET ZHS16GBK ;
复制
##3、修改dbname
###1)关闭数据库
SQL> shutdown immediate; 数据库已经关闭。 已经卸载数据库。 ORACLE 例程已经关闭。
复制
###2)启动数据库至mount状态
SQL> startup mount;
ORACLE 例程已经启动。
Total System Global Area 1258291200 bytes Fixed Size 1374076 bytes Variable Size 313133188 bytes Database Buffers 939524096 bytes Redo Buffers4259840 bytes 数据库装载完毕。
复制
###3)修改dbname
C:\Users\Administrator>nid target=sys/system@HBDB1 dbname=orcl setname=yes
DBNEWID: Release 10.2.0.3.0 - Production on 星期日 12月 15 00:30:53 2019 Copyright (c) 1982, 2005, Oracle. All rights reserved. 已连接数据库 HBDB1 (DBID=1416746943) 已连接服务器版本 10.2.0 数据库中的控制文件数: E:\ORACLE\PRODUCT\10.2.0\ORADATA\HBDB1\CONTROL01.CTL E:\ORACLE\PRODUCT\10.2.0\ORADATA\HBDB1\CONTROL02.CTL E:\ORACLE\PRODUCT\10.2.0\ORADATA\HBDB1\CONTROL03.CTL 是否将数据库 HBDB1 的数据库名更改为 ORCL? (Y/[N]) => y 操作继续进行 将数据库名从 HBDB1 更改为 ORCL 控制文件 E:\ORACLE\PRODUCT\10.2.0\ORADATA\HBDB1\CONTROL01.CTL - 已修改 控制文件 E:\ORACLE\PRODUCT\10.2.0\ORADATA\HBDB1\CONTROL02.CTL - 已修改 控制文件 E:\ORACLE\PRODUCT\10.2.0\ORADATA\HBDB1\CONTROL03.CTL - 已修改 数据文件 E:\ORACLE\PRODUCT\10.2.0\ORADATA\HBDB1\SYSTEM01.DBF - 已写入新名称 数据文件 E:\ORACLE\PRODUCT\10.2.0\ORADATA\HBDB1\UNDOTBS01.DBF - 已写入新名称 数据文件 E:\ORACLE\PRODUCT\10.2.0\ORADATA\HBDB1\SYSAUX01.DBF - 已写入新名称 数据文件 E:\ORACLE\PRODUCT\10.2.0\ORADATA\HBDB1\USERS01.DBF - 已写入新名称 数据文件 E:\ORACLE\PRODUCT\10.2.0\ORADATA\HBDB1\ZF01.DBF - 已写入新名称 数据文件 E:\ORACLE\PRODUCT\10.2.0\ORADATA\HBDB1\ZF02.DBF - 已写入新名称 控制文件 E:\ORACLE\PRODUCT\10.2.0\ORADATA\HBDB1\CONTROL01.CTL - 已写入新名称 控制文件 E:\ORACLE\PRODUCT\10.2.0\ORADATA\HBDB1\CONTROL02.CTL - 已写入新名称 控制文件 E:\ORACLE\PRODUCT\10.2.0\ORADATA\HBDB1\CONTROL03.CTL - 已写入新名称 实例关闭 数据库名已更改为 ORCL。 修改参数文件并在重新启动前生成新的口令文件。 已成功更改数据库名。 DBNEWID - 已成功完成。
复制
##4、修改db_name
###1)启动数据库至mount状态
SQL> startup mount;
ORACLE 例程已经启动。
Total System Global Area 1258291200 bytes Fixed Size 1374076 bytes Variable Size 313133188 bytes Database Buffers 939524096 bytes Redo Buffers4259840 bytes ORA-01103: ?????????? ''ORCL'' ?? ''HBDB1''
复制
###2)修改db_name
SQL> alter system set db_name=orcl scope=spfile;
系统已更改。
复制
###3)从当前spfile生成pfile
SQL> create pfile='e:\initorcl.ora' from spfile; 文件已创建。
复制
###4)关闭数据库
SQL> shutdown immediate;
ORA-01507: ???
ORACLE 例程已经关闭。
###5)修改生成的pfile文件,将所有hbdb1替换成orcl,保存修改后,复制到E:\oracle\product\10.2.0\db_1\database
###6)在E:\oracle\product\10.2.0\admin目录下新建orcl目录,并在下面新建bdump和udump;将E:\oracle\product\10.2.0\oradata下的hbdb1文件夹修改为orcl
##5、创建密码文件
C:\Users\Administrator>orapwd file=E:\oracle\product\10.2.0\db_1\dbs\pwdorcl.ora password=system
##6、开启数据库至mount状态,查看数据库名
##7、删除 旧的实例名,创建新的实例名
C:\Users\Administrator>oradim -delete -sid hbdb1
实例已删除。
C:\Users\Administrator>oradim -new -sid orcl 实例已创建。
复制
##8、修改tnsname.ora和listener.ora
##9、修改注册表的ORACLE_SID,搜索ORALCE_SID改为orcl
##10、使用修改后pfile启动数据库,并生成spfile
SQL> startup pfile='e:\initorcl.ora' nomount; ORACLE 例程已经启动。 Total System Global Area 1258291200 bytes Fixed Size 1374076 bytes Variable Size 313133188 bytes Database Buffers 939524096 bytes Redo Buffers4259840 bytes ----生成spfile SQL> create spfile from pfile ='e:\initorcl.ora'; 文件已创建。
复制
##11、重建控制文件,重建前修改原控制文件名称
-----HBDB1改成orcl, REUSE改成set , NORESETLOGS改成resetlogs
CREATE CONTROLFILE SET DATABASE "ORCL" RESETLOGS NOARCHIVELOG MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 100 MAXINSTANCES 8 MAXLOGHISTORY 2921 LOGFILE GROUP 1 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG' SIZE 50M, GROUP 2 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG' SIZE 50M, GROUP 3 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG' SIZE 50M -- STANDBY LOGFILE DATAFILE 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF', 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF', 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF', 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF', 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ZF01.DBF', 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ZF02.DBF' CHARACTER SET ZHS16GBK ;
复制
##12、启动数据库并查看当前实例名
SQL> alter database open resetlogs;
数据库已更改。 SQL> SHOW PARAMETER NAME; NAME TYPEVALUE ------------------------------------ ----------- ----------------------------- db_file_name_convert string db_name string ORCL db_unique_name string ORCL global_names boolean FALSE instance_namestring orcl lock_name_space string log_file_name_convertstring service_namesstring ORCL
复制