下面列出关于RMAN的一些高级操作。
1 convert
rman的convert命令,用于跨平台迁移数据库或表空间时,对数据文件进行格式转换,使得文件在目标操作系统中可读。
1.1 源库上convert tablespace
如将表空间从windows迁移到linux,可以在源平台上通过convert tablespace将表空间包含的数据文件转换成linux平台下的格式。
RMAN> CONVERT TABLESPACE finance,hr
TO PLATFORM ' Linux IA (32-bit)'
FORMAT='/tmp/transport_linux/%U';
1.2 目标库上convert datafile
如将表空间从windows迁移到linux,可以在目标平台上通过convert datafile将表空间包含的数据文件转换成linux平台下的格式。
Rman> convert datafile '/tmp/ts5.dbf' to platform 'Linux IA (32-bit)' from platform 'Linux IA (32-bit)'
1.3 源主机上convert database
如将数据库从windows迁移到linux,可以在源平台上通过convert database进行转换
RMAN> CONVERT DATABASE NEW DATABASE 'newdb'
1.4 目标主机上convert database
如将数据库从windows迁移到linux,可以在目标平台上通过convert database进行转换rman> CONVERT DATABASE ON TARGET PLATFORM
2 delete
2.1 Expired
如果通过操作系统命令删除了rman备份,可以通过crosscheck找出这类备份文件,并通过delete expired删除。
从而使rman repository一致。
Rman> crosscheck backset
Rman> delete expired backupset;
删除不一致的备份集。
2.2 obsolete
根据rman备份保留策略,选择性删除过期的备份。
Rman> report obsolete;
Rman> delete obsolete;
通过rman做恢复时,可以通过switch命令,将数据文件恢复到新的位置,或者修改数据文件的名称。
3.1 switch database
将数据库切换到copy备份上。
Rman> switch database to copy;
3.2 switch datafile
1、将表空间恢复到不同路径下
RUN
{
}
3.3 switch tempfile
RUN
{
}
4 drop
如果使用recovery catalog,可以通过rman删除数据库。
4.1 drop database
% sqlplus SYS/oracle@test1 AS SYSDBA;
SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;
SQL> QUIT;
% rman TARGET SYS/oracle@test1 CATALOG test1/test1@catdb
RMAN> DROP DATABASE INCLUDING BACKUPS NOPROMPT;