oracle 8i 数据库文件迁移
oracle 8i 数据库文件迁移
前两天去客户那,因为客户使用到的盘柜存储通过检测发现可能有问题,为了防止数据文件丢失
需要迁移到好的存储硬盘上 客户版本是oracle8i+IBM aix 平台
需要迁移的有控制文件,数据文件,重做日志文件
首先关闭数据库
1.控制文件迁移
1.1 修改初始化参数 vi init.ora 使控制文件参数对应上新迁移的目录
1.2 拷贝控制文件到新目录下
cp /oradata/oradata1/control01.ctl /oradata4/ora8idata/ .
cp /oradata/oradata2/control02.ctl /oradata4/ora8idata/.
cp /oradata/oradata3/control03.ctl /oradata4/ora8idata/ .
2.迁移数据文件
cp /oradata/oradata1/oracle/system01.dbf /oradata4/ora8idata/ system01.dbf
总共有50多个数据文件需要迁移
其他数据文件照上面步骤拷贝对新目录下
3.启动数据库到mount状态下
sqlplus internal
startup mount;
alter database rename file '/oradata/oradata1/oracle/system01.dbf' to '/oradata4/ora8idata/system01.dbf';
其他数据文件也照上面操作,这步的意思,修改控制文件,使其能认到新目录下的数据文件
一定要细心,不要搞错路径和文件名等,否则会修改不成功,导致数据库打不开
为了防止出错,最好写脚本来运行,这样就避免手工带来的误操作
迁移完后,打开数据库
alter database open;
4.迁移重做日志文件到新路径
alter database add logfile '/oradata4/ora8idata/redo01_new.log' size 100m;
alter database add logfile '/oradata4/ora8idata/redo02_new.log' size 100m;
alter database add logfile '/oradata4/ora8idata/redo03_new.log' size 100m;
alter database add logfile '/oradata4/ora8idata/redo04_new.log' size 100m;
alter system switch logfile;
alter database drop logfile group 1;
alter system switch logfile;
alter database drop logfile group 2;
alter system switch logfile;
alter database drop logfile group 3;
SQL> select MEMBER from v$logfile;
/oradata4/ora8idata/redo01_new.log
/oradata4/ora8idata/redo02_new.log
/oradata4/ora8idata/redo03_new.log
/oradata4/ora8idata/redo04_new.log
5.再次验证关闭和启动数据库,看能否正常打开
shutdown immediate;
startup;
启动正常,迁移成功