Oracle10g数据库迁移方案

作者分享多次试验后成功的Oracle数据库迁移经验。强调两个数据库版本要一致,否则无法迁移。还介绍了迁移步骤,包括获取原数据库信息、移动应用数据文件、修改数据库文件位置、修改pfile文件等,同时提及迁移后temp表空间重建问题尚未研究。

试验了很多次Oracle数据库迁移才成功,贴出来给大家参考一下,我看到有的地方写迁移之后还需要重新建立temp表空间,这个还没有研究。另外说一点的是两个数据库的版本一定要一致,之前失败过一次,就是因为两个数据库的版本不一致,无法迁移,查询版本:

show parameter compatible

1. 获取原数据库相关信息
首先要查看一下数据库的文件内容

SQL> select name from v$datafile;


 NAME                                                   
 --------------------------------------------------------
 G:\ORACLE\ORADATA\orcl\SYSTEM01.DBF                 
 G:\ORACLE\ORADATA\orcl\UNDOTBS01.DBF                
 G:\ORACLE\ORADATA\orcl\SYSAUX01.DBF                 
 G:\ORACLE\ORADATA\orcl\USERS01.DBF                  
 G:\ORACLE\ORADATA\orcl\EXAMPLE01.DBF                
 G:\ORACLE\ORADATA\orcl\HOTELFILE                    
 G:\ORACLE\ORADATA\orcl\MEMBERFILE                   
 E:\ELITEDATA\ELITE                                     
 G:\ORACLE\ORADATA\orcl\ELITE_BAK                    
 G:\ORACLE\ORADATA\orcl\HOTEL0826FILE                
 G:\ORACLE\ORADATA\orcl\ELITEOB                        

SQL> select name from v$controlfile;


 NAME                                       
 --------------------------------------------
 G:\ORACLE\ORADATA\orcl\CONTROL01.CTL    
 G:\ORACLE\ORADATA\orcl\CONTROL02.CTL    
 G:\ORACLE\ORADATA\orcl\CONTROL03.CTL    

SQL> select member from v$logfile;


 MEMBER                                
 ---------------------------------------
 G:\ORACLE\ORADATA\orcl\REDO01.LOG  
 G:\ORACLE\ORADATA\orcl\REDO03.LOG  
 G:\ORACLE\ORADATA\orcl\REDO02.LOG 
 
2. 移动应用数据文件
 

shutdown immediate

关闭数据库,拷贝以上文件到另外一个目录下,一定要保证数据库完全停掉

3. 修改数据库文件的位置
启动MOUNT模式,将现有数据库SYSTEM01.DBF文件指向拷贝过的SYSTEM01.DBF文件

startup mount;
alter database rename file 'E:\oracle\product\10.2.0\oradata\orcl\SYSTEM01.DBF'
to 'E:\orcl\SYSTEM01.DBF';

4. 修改pfile文件
备份spfile文件到pfile文件,注:不要直接修改pfile文件,两者可能存在差异

create pfile='D:\oracle\product\10.2.0\admin\orcl\pfile\init.ora' from spfile;

修改init.ora文件中的内容:

*.control_files='E:\orcl\control01.ctl','E:\orcl\control02.ctl','E:\orcl\control03.ctl'

5. 从pfile重启数据库

shutdown immediate
startup  pfile='D:\oracle\product\10.2.0\admin\orcl\pfile\init.ora'


报错6. rname数据库文件路径

alter database rename file 'G:\ORACLE\ORADATA\orcl\SYSTEM01.DBF'
to 'E:\orcl\SYSTEM01.DBF';
alter database rename file 'G:\ORACLE\ORADATA\orcl\UNDOTBS01.DBF'
to 'E:\orcl\UNDOTBS01.DBF';
alter database rename file 'G:\ORACLE\ORADATA\orcl\SYSAUX01.DBF'
to 'E:\orcl\SYSAUX01.DBF';
alter database rename file 'G:\ORACLE\ORADATA\orcl\USERS01.DBF'
to 'E:\orcl\USERS01.DBF';
alter database rename file 'G:\ORACLE\ORADATA\orcl\EXAMPLE01.DBF'
to 'E:\orcl\EXAMPLE01.DBF';    
alter database rename file 'G:\ORACLE\ORADATA\orcl\HOTELFILE'
to 'E:\orcl\HOTELFILE';
alter database rename file 'G:\ORACLE\ORADATA\orcl\MEMBERFILE'
to 'E:\orcl\MEMBERFILE';
alter database rename file 'E:\ELITEDATA\ELITE'
to 'E:\orcl\ELITE';
alter database rename file 'G:\ORACLE\ORADATA\orcl\ELITE_BAK'
to 'E:\orcl\ELITE_BAK';
alter database rename file 'G:\ORACLE\ORADATA\orcl\HOTEL0826FILE'
to 'E:\orcl\HOTEL0826FILE';
alter database rename file 'G:\ORACLE\ORADATA\orcl\ELITEOB'
to 'E:\orcl\ELITEOB';

alter database rename file 'G:\ORACLE\ORADATA\orcl\REDO01.LOG'
to 'E:\orcl\REDO01.LOG';
alter database rename file 'G:\ORACLE\ORADATA\orcl\REDO03.LOG'
to 'E:\orcl\REDO03.LOG';
alter database rename file 'G:\ORACLE\ORADATA\orcl\REDO02.LOG'
to 'E:\orcl\REDO02.LOG';

7. 从pfile重启数据库,并重建spfile

shutdown immediate
startup pfile='D:\oracle\product\10.2.0\admin\orcl\pfile\init.ora'
create spfile from pfile='D:\oracle\product\10.2.0\admin\orcl\pfile\init.ora';

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值