在HotCopy中增加了一个"-M"参数, 用来方便地进行数据文件移动操作:
HotCopy for Oracle, version 2.0.0
(C) Copyright Lou Fangxin 2006, all rights reserved.
Usage:
hotcopy [-a] -G -T tablespace -F file_id -D destfile
Notes:
-A Add a date tag as the copied data file name
-G Copy all database files
-T The tablespace name to be copied
-N File name pattern, '%' any string, '_' any char
-F A valid file number, FILE# column in V$DATAFILE
-M Move datafile in (NONE,PRINT,STANDBY, PRIMARY) mode
-D Destination file or directory name
在MOUNT方式下将数据文件4拷贝到C:\TEMP\DATA目录下, 指定了"-M STANDBY"表示只需要做RENAME操作.
C:\TEMP>hotcopy -F 4 -D C:\TEMP\DATA -M STANDBY
HotCopy for Oracle, version 2.0.0
(C) Copyright Lou Fangxin 2006, all rights reserved.
From: C:\ORACLE\PRODUCT\ORADATA\USERS01.DBF
To : C:\TEMP\DATA\USERS01.DBF
RUN: ALTER DATABASE RENAME
RUN: FILE 'C:\ORACLE\PRODUCT\ORADATA\USERS01.DBF'
RUN: TO 'C:\TEMP\DATA\USERS01.DBF';
Copy Succeed.
打开数据库, 在OPEN状态下将文件4, 拷贝回去到原来的目录, 指定了"-M PRIMARY"表示要运行在线移文件的4个SQL操作.
C:\TEMP>hotcopy -F 4 -D C:\ORACLE\PRODUCT\ORADATA -M PRIMARY
HotCopy for Oracle, version 2.0.0
(C) Copyright Lou Fangxin 2006, all rights reserved.
From: C:\TEMP\DATA\USERS01.DBF
To : C:\ORACLE\PRODUCT\ORADATA\USERS01.DBF
RUN: ALTER DATABASE DATAFILE 'C:\ORACLE\PRODUCT\ORADATA\USERS01.DBF' OFFLINE;
RUN: ALTER DATABASE RENAME
RUN: FILE 'C:\TEMP\DATA\USERS01.DBF'
RUN: TO 'C:\ORACLE\PRODUCT\ORADATA\USERS01.DBF';
RUN: ALTER DATABASE RECOVER DATAFILE 'C:\ORACLE\PRODUCT\ORADATA\USERS01.DBF';
RUN: ALTER DATABASE DATAFILE 'C:\ORACLE\PRODUCT\ORADATA\USERS01.DBF' ONLINE;
Copy Succeed.
在OPEN的状态下使用"-M"选项有一定的危险性, 如果将回滚段的表空间文件OFFLINE掉, 会引起数据库的意外停止.