1 工作要求
将本地目录数据文件: /u01/app/oracle/oradata,
迁移至共享存储目录: /data/oracle/oradata/,迁移数据总量780G。
本地目录数据文件: 780G,50个数据文件,包括system系统表空间。
共享存储目录: 620G,42个数据文件。
2 运行环境
操作系统: RedHat 6.5
数据库版本:单结点11.2.0.4
存储类型:文件系统
数据总量: 1.4T
3 原数据文件
'/u01/app/oracle/oradata/orcl/system01.dbf',
'/u01/app/oracle/oradata/orcl/sysaux01.dbf',
'/u01/app/oracle/oradata/orcl/undotbs01.dbf',
'/u01/app/oracle/oradata/orcl/users01.dbf',
'/u01/app/oracle/oradata/orcl/example01.dbf',
'/u01/app/oracle/oradata/orcl/ TBS_YC_TAB5.dbf ',
'/u01/app/oracle/oradata/orcl/datacenter.dbf',
'/u01/app/oracle/oradata/orcl/TBS_YX_TAB5.dbf',
'/u01/app/oracle/oradata/orcl/ TBS_YX_TAB5.dbf ',
'/u01/app/oracle/oradata/orcl/TBS_YX_TAB6.dbf ',
'/u01/app/oracle/oradata/orcl/UNDOTBS2.dbf',
'/u01/app/oracle/oradata/orcl/ TBS_OTHER_TAB.dbf',
'/data/oracle/oradata/orcl/users01.dbf ',
'/data/oracle/oradata/orcl/TBS_YX_TAB8.dbf',
'/data/oracle/oradata/orcl/TBS_YX_TAB9.dbf',
'/u01/app/oracle/oradata/orcl/ TBS_TEMPO_TAB.dbf ',
4 原迁移计划
通过重建控制文件的方法,
Alter database backup controlfile to trace
Shutdown immediate
cd /u01/app/oracle/oradata/
cp *.dbf /data/oracle/oradata/
重建控制文件
Alter database open;
5 存在问题
检查时发现,还有同名文件存在,如
'/data/oracle/oradata/orcl/users01.dbf ',
'/u01/app/oracle/oradata/orcl/users01.dbf', --相同文件名不同目录
'/u01/app/oracle/oradata/orcl/TBS_YX_TAB5.dbf',
'/u01/app/oracle/oradata/orcl/ TBS_YX_TAB5.dbf ',--相同文件名用空格区分
6 迁移方案
创建新的目录
mkdir -p /u01/app/oracle/oradata2/
cd /u01/app/oracle/oradata/
cp *.dbf /data/oracle/oradata2/,
然后通过重建控制文件问题解决了。
7 安全警示
如果未做检查操作,把原有文件覆盖,后果不堪设想,总结以下安全警示经验供大家参考,
1、备份重于一切,做好物理级备份,最重要没有之一,
2、做好备份集有效性验证,有效的备份是留给“DBA”和公司的最后一道安全防线。
3、批量文件cp/mv到目标端,目标端最好是空文件,避免相同文件覆盖。
4、类似rm、mv、cp操作请仔细检查后,谨慎操作。
5、命令操作优先级:cp-->mv-->rm,能使用cp尽量别使用mv,能使用mv的尽量别使用rm,rm操作又分为rm –f 文件名-->rm –f *-->rm –rf *,尽量别使用rm –rf *。
6、所有操作前请仔细检查,切记“想当然”,不是所有环境都是标准的,所有低级“坑”都可能存在,通过检查和测试避免错误,通过有效备份做保障。
7、和安全相比,优化等都是浮云,“安全”永远第一位。
心有余悸,赶快回家,拜读盖国强老师的“Oracle DBA手记 4,数据安全警示录”。