hc_orc10.dat->hc_oracl10.dat
lkORCL->lkORACLE10
orapworcl->orapworacle10
snapcf_orcl.f->snapcf_oracle10.f
spfileorcl.ora->spfileoracle10.ora
@H_404_0@mv hc_orc10.dat hc_oracl10.dat @H_404_0@mv lkORCL lkORACLE10 @H_404_0@mv orapworcl orapworacle10 @H_404_0@mv snapcf_orcl.f snapcf_oracle10.f @H_404_0@mv spfileorcl.ora spfileoracle10.ora @H_404_0@[oracle@oracle dbs]$orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=oracle entries=5force=y @H_404_0@[oracle@oracle dbs]$ ls -lrt orapw* @H_404_0@-rw-r----- 1 oracle oinstall 2048 Sep 8 11:36 orapworacle10 @H_404_0@[oracle@oracle ora10]$ cp$ORACLE_BASE/admin/ora10/pfile/init.ora.852017173323 /u01/app/oracle/product/10.2.0/db_1/dbs/initoracle10.ora @H_404_0@[oracle@oracle dbs]$ sqlplus / as sysdba @H_404_0@sql*Plus: Release 10.2.0.1.0 - Production on Fri Sep 8 11:44:592017 @H_404_0@Copyright (c) 1982,Oracle. All rights reserved. @H_404_0@Connected to an idle instance. @H_404_0@sql> startup @H_404_0@ORACLE instance started. @H_404_0@Total System Global Area 4966055936 bytes @H_404_0@Fixed Size2027544 bytes @H_404_0@Variable Size889196520 bytes @H_404_0@Database Buffers4060086272 bytes @H_404_0@Redo Buffers14745600 bytes @H_404_0@Database mounted. @H_404_0@Database opened. @H_404_0@sql> @H_404_0@检查数据库实例名 @H_404_0@1. 通过如下语句检查数据库实例名,发现实例名已经由orcl变成oracle10 idle> select instance from v$thread; |
Connected.
sql> show parameter name @H_404_0@NAME TYPE VALUE @H_404_0@------------------------------------ ----------------------------------------- @H_404_0@db_file_name_convertstring @H_404_0@db_name string ora10 @H_404_0@db_unique_name string ora10 @H_404_0@global_names boolean FALSE @H_404_0@instance_name string oracle10 @H_404_0@lock_name_space string @H_404_0@log_file_name_convert string @H_404_0@service_names string ora10 @H_404_0@可以通过如下步骤修改数据库名(dbname) @H_404_0@1. 首先切换一下在线日志,使数据库做checkpoint
sys@ORCL> alter system archive log current; |
sys@ORCL> alter database backup controlfile to trace resetlogs; |
sys@ORCL> shutdown immediate sql> exit Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production With the Partitioning,OLAP and Data Mining options |
[oracle@oracle udump]$ cp oracle10_ora_2768.trc ccf.sql |
查找所有以--开始的行,把这些行删除
查找所有的orcl修改为cnhtm,所有的ORCL修改为CNHTM
找到CREATE CONTROLFILEREUSE DATABASE...语句,将其中的REUSE修改为SET
找到RECOVER DATABASE USINGBACKUP CONTROLFILE语句,将其用双横线(--)注释掉 @H_404_0@6.修改实例名称和目录 @H_404_0@[oracle@oracle ~]$ sed -i 's/ora10/oracle10/g'/u01/app/oracle/admin/ora10/udump/ccf.sql @H_404_0@[oracle@oracle ~]$ sed -i 's/ORA10/ORACLE10/g'/u01/app/oracle/admin/ora10/udump/ccf.sql @H_404_0@[oracle@oracle ~]$ mv /u01/app/oracle/oradata/ora10/u01/app/oracle/oradata/oracle10 @H_404_0@[oracle@oracle ~]$ vi/u01/app/oracle/admin/oracle10/udump/ccf.sql @H_404_0@STARTUP NOMOUNT @H_404_0@CREATE CONTROLFILE SET DATABASE "ORACLE10"RESETLOGS ARCHIVELOG @H_404_0@ MAXLOGFILES 16 @H_404_0@ MAXLOGMEMBERS 3 @H_404_0@ MAXDATAFILES 100 @H_404_0@ MAXINSTANCES 8 @H_404_0@ MAXLOGHISTORY 292 @H_404_0@LOGFILE @H_404_0@ GROUP 1'/u01/app/oracle/oradata/oracle10/redo01.log' SIZE 50M, @H_404_0@ GROUP 2'/u01/app/oracle/oradata/oracle10/redo02.log' SIZE 50M, @H_404_0@ GROUP 3'/u01/app/oracle/oradata/oracle10/redo03.log' SIZE 50M @H_404_0@DATAFILE @H_404_0@ '/u01/app/oracle/oradata/oracle10/system01.dbf', @H_404_0@'/u01/app/oracle/oradata/oracle10/undotbs01.dbf', @H_404_0@'/u01/app/oracle/oradata/oracle10/sysaux01.dbf', @H_404_0@'/u01/app/oracle/oradata/oracle10/users01.dbf', @H_404_0@'/u01/app/oracle/oradata/oracle10/example01.dbf' @H_404_0@CHARACTER SET ZHS16GBK @H_404_0@; @H_404_0@--RECOVER DATABASE USINGBACKUP CONTROLFILE @H_404_0@ALTER DATABASE OPEN RESETLOGS; @H_404_0@ALTER TABLESPACE TEMP ADD TEMPFILE '/u01/app/oracle/oradata/oracle10/temp01.dbf' @H_404_0@ SIZE 20971520 REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M; @H_404_0@7.如果归档日志目录名中包含sid,那么修改归档目录名 @H_404_0@归档目录使用的是flash_recovery_area,所以需要将这个目录中的ORCL目录重命名为ORACLE10 @H_404_0@[oracle@oracle ~]$ mv /u01/app/oracle/admin/ora10/u01/app/oracle/admin/oracle10 @H_404_0@mv /u01/app/oracle/flash_recovery_area/ORA10 /u01/app/oracle/flash_recovery_area/ORACLE10 @H_404_0@[oracle@oracle dbs]$ sed -i 's/ora10/oracle10/g'/u01/app/oracle/product/10.2.0/db_1/dbs/initoracle10.ora @H_404_0@8.删除之前的控制文件 @H_404_0@rm -rf /u01/app/oracle/oradata/oracle10/control* @H_404_0@9. 加载修改好的ccf.sql
isql> @/u01/app/oracle/admin/oracle10/udump/ccf.sql ORACLE instance started.
Total System Global Area 4966055936 bytes Fixed Size 2027544 bytes Variable Size 889196520 bytes Database Buffers 4060086272 bytes Redo Buffers 14745600 bytes
Control file created.
Database altered.
Tablespace altered. |
sql> conn / as sysdba Connected. sql> select open_mode from v$database;
OPEN_MODE ---------- READ WRITE
sql> show parameter name
NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ db_file_name_convert string db_name string oracle10 db_unique_name string oracle10 global_names boolean FALSE instance_name string oracle10 lock_name_space string log_file_name_convert string service_names string oracle10 |