Oracle数据库的转移与升级

公司最近要上 shop floor 系统 , 需将数据库从东莞转移过来 , 以下就是转移的经过 …

东莞系统环境 :

OS:Windows 2000 Advanced Server+SP4

Oracle 9i standard Edition Version: 9.0.1.1.1

吴江系统环境 :

HP ML570 CPU:Intel Xeon MP CPU 3.0G RAM:2GB

OS:Windows 2000 Advanced Server+SP4

Oracle 9i Standard Editon Version: 9.2.0.1.0.

步骤 :

1. 安装 Oracle 9i, 选择只安装 Software, 不创建数据库 , 安装过程略 .

2. 创建相关目录 :d:\oracle\admin\wjsfms\bdump

d:\oracle\admin\wjsfms\cdump

d:\oracle\admin\wjsfms\udump

d:\oracle\admin\wjsfms\create

d:\oracle\admin\wjsfms\pfile

3. Copy 数据文件到 E:\Oradata\WJSFMS 目录下 , 临时文件可不 COPY, 文件清单如下 :

SYSTEM01.DBF NDOTBS01.DBF CWMLITE01.DBF DRSYS01.DBF EXAMPLE01.DBF INDX01.DBF TOOLS01.DBF
USERS01.DBF CSFIS01.ORA SFIS01.ORA RSFIS02.ORA HSFIS01.ORACINDX01.ORA RINDX01.ORA
RINDX02.ORA HINDX01.ORA UNDOTBS2.ORA

4. COPY 控制文件 G:\ControlFile\WJSFMS,H:\ControlFile\WJSFMS,I:\ControlFile\WJSFMS

5. COPY Redo 文件到 G:\RedoLog\WJSFMS,H:\ RedoLog \WJSFMS,I:\ RedoLog \WJSFMS

6. 新建实例 , 此 SID 必须跟原来的 SID 一样 …

C:\Oradim –NEW –SID WJSFMS –STARTMODE m

7. 创建密码文件

C:\orapwd file=d:\oracle\ora92\database\pwdwjsfms.ora password=password entries=5

8. 修改初始参数文件 INITwjsfms.ora, 如没有参数文件 , 则可用 oracle 自带的参数文件进行修改 , 红色部分为修改部分 :

…….

control_files=("G:\ControlFile\WJSFMS\CONTROL01.CTL", "H:\ControlFile\WJSFMS\CONTROL02.CTL", "I:\ControlFile\WJSFMS\CONTROL03.CTL")

……………………..

background_dump_dest=d:\oracle\admin\WJSFMS\bdump

core_dump_dest=d:\oracle\admin\WJSFMS\cdump

timed_statistics=TRUE

user_dump_dest=d:\oracle\admin\WJSFMS\udump

……………………….

log_archive_dest=f:\oracle\wjsfms\archivelog

如果是根据 oracle 自带的参数文件进行修改的 , 则还需修改 db_name,instance_name

9. 激活 oracle

c:\sqlplus /nolog

sql>conn / as sysdba

sql>startup pfile=d:\oracle\ora92\database\initwjsfms.ora

此时提示如下信息 ( 由于升级时没有将相关信息 spool 出来 , 故只能将 alert 文件中的信息 show 出来作为参考 ):

ORA-00218: block size 4096 of controlfile does not match DB_BLOCK_SIZE (8192)

ORA-00202: controlfile: 'G:\ControlFile\WJSFMS\CONTROL01.CTL'

出现此错误的原因是原来的 database 的 db_block_size 跟现在的初始化参数设的不一样 , 将初始化参数中的 db_block_size=8192 改成 4096 即可

sql>shutdown immediate

sql> startup pfile=d:\oracle\ora92\database\initwjsfms.ora

ORA-01157: cannot identify/lock data file 1 - see DBWR trace file

ORA-01110: data file 1: 'D:\ORACLE\ORADATA\WJSFMS\SYSTEM01.DBF'

ORA-27041: unable to open file

Sql> select a.name from v$datafile a,v$recover_file b where a.file#=b.file#;

NAME

--------------------------------------------------------------------------------

D:\ORACLE\ORADATA\WJSFMS\SYSTEM01.DBF

D:\ORACLE\ORADATA\WJSFMS\UNDOTBS01.DBF

D:\ORACLE\ORADATA\WJSFMS\CWMLITE01.DBF

D:\ORACLE\ORADATA\WJSFMS\DRSYS01.DBF

D:\ORACLE\ORADATA\WJSFMS\EXAMPLE01.DBF

D:\ORACLE\ORADATA\WJSFMS\INDX01.DBF

D:\ORACLE\ORADATA\WJSFMS\TOOLS01.DBF

D:\ORACLE\ORADATA\WJSFMS\USERS01.DBF

D:\ORACLE\ORADATA\WJSFMS\CSFIS01.ORA

D:\ORACLE\ORADATA\WJSFMS\RSFIS01.ORA

D:\ORACLE\ORADATA\WJSFMS\RSFIS02.ORA

D:\ORACLE\ORADATA\WJSFMS\HSFIS01.ORA

D:\ORACLE\ORADATA\WJSFMS\CINDX01.ORA

D:\ORACLE\ORADATA\WJSFMS\RINDX01.ORA

D:\ORACLE\ORADATA\WJSFMS\RINDX02.ORA

D:\ORACLE\ORADATA\WJSFMS\HINDX01.ORA

D:\ORACLE\ORADATA\WJSFMS\UNDOTBS2.ORA

执行 alter database rename file

Sql> alter database rename file 'D:\ORACLE\ORADATA\WJSFMS\SYSTEM01.DBF' to 'E:\Oradata\WJSFMS\SYSTEM01.DBF';

alter database rename file 'D:\ORACLE\ORADATA\WJSFMS\UNDOTBS01.DBF' to 'E:\Oradata\WJSFMS\UNDOTBS01.DBF';

alter database rename file 'D:\ORACLE\ORADATA\WJSFMS\CWMLITE01.DBF' to 'E:\Oradata\WJSFMS\CWMLITE01.DBF';

alter database rename file 'D:\ORACLE\ORADATA\WJSFMS\DRSYS01.DBF' to 'E:\Oradata\WJSFMS\DRSYS01.DBF';

alter database rename file 'D:\ORACLE\ORADATA\WJSFMS\EXAMPLE01.DBF' to 'E:\Oradata\WJSFMS\EXAMPLE01.DBF';

alter database rename file 'D:\ORACLE\ORADATA\WJSFMS\INDX01.DBF' to 'E:\Oradata\WJSFMS\INDX01.DBF';

alter database rename file 'D:\ORACLE\ORADATA\WJSFMS\TOOLS01.DBF' to 'E:\Oradata\WJSFMS\TOOLS01.DBF';

alter database rename file 'D:\ORACLE\ORADATA\WJSFMS\USERS01.DBF' to 'E:\Oradata\WJSFMS\USERS01.DBF';

alter database rename file 'D:\ORACLE\ORADATA\WJSFMS\CSFIS01.ORA' to 'E:\Oradata\WJSFMS\CSFIS01.ORA';

alter database rename file 'D:\ORACLE\ORADATA\WJSFMS\RSFIS01.ORA' to 'E:\Oradata\WJSFMS\RSFIS01.ORA';

alter database rename file 'D:\ORACLE\ORADATA\WJSFMS\RSFIS02.ORA' to 'E:\Oradata\WJSFMS\RSFIS02.ORA';

alter database rename file 'D:\ORACLE\ORADATA\WJSFMS\HSFIS01.ORA' to 'E:\Oradata\WJSFMS\HSFIS01.ORA';

alter database rename file 'D:\ORACLE\ORADATA\WJSFMS\CINDX01.ORA' to 'E:\Oradata\WJSFMS\CINDX01.ORA';

alter database rename file 'D:\ORACLE\ORADATA\WJSFMS\RINDX01.ORA' to 'E:\Oradata\WJSFMS\RINDX01.ORA';

alter database rename file 'D:\ORACLE\ORADATA\WJSFMS\RINDX02.ORA' to 'E:\Oradata\WJSFMS\RINDX02.ORA';

alter database rename file 'D:\ORACLE\ORADATA\WJSFMS\HINDX01.ORA' to 'E:\Oradata\WJSFMS\HINDX01.ORA';

alter database rename file 'D:\ORACLE\ORADATA\WJSFMS\UNDOTBS2.ORA' to 'E:\Oradata\WJSFMS\UNDOTBS2.ORA';

sql>alter database open;

alter database open

ERROR at line 1:

ORA-00313: open failed for members of log group 1 of thread 1

<P class=MsoNormal style="TEX

Published At
Categories with 数据库类
comments powered by Disqus