有些时候需要将Oracle的多个数据文件以及日志文件重定位或者迁移到新的分区或新的位置,比如磁盘空间不足,或因为特殊需求。对于这种情形可以采取批量迁移的方式将多个数据文件或者日志文件实现一次性迁移。当然备份恢复也是其中的方式之一。本文主要描述如何使用批量方式来迁移数据文件,日志文件。如需要也可以将整个数据库迁移到新的位置以及重命名数据库。
1、环境及需求
robin@SZDB:~> cat /etc/issue Welcome to SUSE Linux Enterprise Server 10 SP3 (x86_64) - Kernel \r (\l). robin@SZDB:~> sqlplus -v SQL*Plus: Release 10.2.0.3.0 - Production |
下面的迁移主要是将数据库/u02/database/SYBO2SZ下的所有文件迁移到一个新的目录/u02/database/SY5221BK下面。
源路径:数据库SYBO2SZ所有的数据文件,日志文件,控制文件全部位于SYBO2SZ下的相应子目录。
新路径:数据库SYBO2SZ所有的数据文件,日志文件,控制文件全部移动到SY5221BK相应的子目录下。
2、当前数据库文件位置(来源于数据字典)
sys@SYBO2SZ> @dba_files_all_2.sql Tablespace Name / File Class Filename File Size Auto 41 rows selected. |
3、创建相应的目录
oracle@SZDB:/u02/database/SYBO2SZ> more mkdir_SY5221BK.sh mkdir -p /u02/database/SY5221BK/flash_recovery_area oracle@SZDB:/u02/database/SYBO2SZ> ./mkdir_SY5221BK.sh |