日期:2014-05-16  浏览次数:20589 次

oracle10.2.0.1.0快速从linux迁移至Windows

今天打算搭建DG实验,由于时间不是很富裕,先做个简单的迁移

实验目的将oracle10.2.0.1.0从linux迁移到Windows10.2.0.1.0,由于同版本,操作比较简单,我的数据量也比较小,就没有利用备份,而是直接传数据文件的方法。

我的Windows电脑上已经安装过oracle服务端,所以需要创建需要的目录,adump、bdump、cdump、udump,建立存放数据文件的目录,本人比较懒,所有文件都存放在同一目录下了,E:\oracle\product\10.2.0\oradata\dg1,在E:\oracle\product\10.2.0\flash_recovery_area目录下建立DG1目录,关闭源数据库,通过ftp工具将源数据库的数据文件等传到E:\oracle\product\10.2.0\oradata\dg1,参数文件、密码文件放到E:\oracle\product\10.2.0\db_1\database目录下,传参数文件之前先create pfile from spfile;修改参数文件,将dump和控制文件的路径修改成Windows的路径,通过oradim -new -sid DG1命令增加oracleService服务,set ORACLE_SID=DG1,sqlplus / as sysdba连接到数据库,startup nomount,重建控制文件,(如果不会重建控制文件,可以将源数据库的控制文件dump出来参考,可以通过alter database backup controlfile to trace;命令将控制文件备份成文本形式到udump目录下,找到如下信息并更改,

CREATE CONTROLFILE REUSE DATABASE "DG1" NORESETLOGS? ARCHIVELOG
??? MAXLOGFILES 16
??? MAXLOGMEMBERS 3
??? MAXDATAFILES 100
??? MAXINSTANCES 8
??? MAXLOGHISTORY 292
LOGFILE
? GROUP 1 '/u01/app/oradata/dg1/redo01.log'? SIZE 50M,
? GROUP 2 '/u01/app/oradata/dg1/redo02.log'? SIZE 50M,
? GROUP 3 '/u01/app/oradata/dg1/redo03.log'? SIZE 50M
-- STANDBY LOGFILE
DATAFILE
? '/u01/app/oradata/dg1/system01.dbf',
? '/u01/app/oradata/dg1/undotbs01.dbf',
? '/u01/app/oradata/dg1/sysaux01.dbf',
? '/u01/app/oradata/dg1/users01.dbf'
CHARACTER SET ZHS16GBK
;

将以上的路径改成正确的在Windows上的路径,重建完控制文件,数据库自动启动到mount状态,alter database open,将数据库启动到open状态,查看数据,源数据库的数据存在,此时,数据库迁移基本完成,接下来需要给临时表空间添加临时文件,alter tablespace temp add tempfile 'E:\oracle\product\10.2.0\oradata\DG1\temp01.bdf' size 50m reuser;

?

1 楼 streamsong 2011-05-10  
专家和网上的资料说,只有11g以上版本才能跨平台搭建DG,而且是linux+Windows,其他平台几乎不怎么支持,我晕啊