Rman 备份命令 切换服务器归档模式如果已经是归档模式可跳过此步 %sqlplus /nolog (启动sqlplus) SQL> conn / as sysdba (以DBA身份连接数据库) SQL> shutdown immediate; (立即关闭数据库) SQL> startup mount (启动实例并加载数据库但不打开) SQL> alter database archivelog; (更改数据库为归档模式) SQL> alter database open; (打开数据库) SQL> alter system archive log start; (启用自动归档) SQL> exit (退出) 恢复数据库必须在mount状态下 连接 %rmantarget=rman/rman@mydb(启动恢复管理器) 基本设置 RMAN> configure default device type to disk; (设置默认的备份设备为磁盘) RMAN> configure device type disk parallelism ; (设置备份的并行级别通道数) RMAN> configure channel device type disk format /backup/backup_%U; (设置通道备份的文件格式只适用于磁盘设备) RMAN> configure channel device type disk format /backup/backup_%U; (设置通道备份的文件格式只适用于磁盘设备) RMAN> configure controlfile autobackup on; (打开控制文件与服务器参数文件的自动备份) RMAN> configure controlfile autobackup format for device type disk to /backup/ctl_%F; (设置控制文件与服务器参数文件自动备份的文件格式) 查看所有设置 RMAN> show all; 查看数据库方案报表 RMAN> report schema; 备份全库 RMAN> backup database plus archivelog delete input; (备份全库及控制文件服务器参数文件与所有归档的重做日志并删除旧的归档日志) 备份表空间 RMAN> backup tablespace system plus archivelog delete input; (备份指定表空间及归档的重做日志并删除旧的归档日志) 备份归档日志 RMAN> backup archivelog all delete input; 复制数据文件 RMAN> copy datafile to /oracle/dbs/py; (使用report schema可以查看该命令报告数据库所有能备份的数据文件对象) RMAN> copy datafile /export/home/oracle/oradata/support/usersdbf to $ORACLE_HOME/py; (标准用法) RMAN> list copy of datafile /oracle/dbs/py; (查看相对应的文件copy) RMAN> delete copy of datafile /oracle/dbs/py; (删除相对应的文件copy) 查看备份和文件复本 RMAN> list backup; 验证备份 RMAN> validate backupset ; 从自动备份中恢复服务器参数文件 RMAN> shutdown immediate; (立即关闭数据库) RMAN> startup nomount; (启动实例) RMAN> restore spfile to pfile /backup/mydbora from autobackup; (从自动备份中恢复服务器参数文件) 从自动备份中恢复控制文件 RMAN> shutdown immediate; (立即关闭数据库) RMAN> startup nomount; (启动实例) RMAN> restore controlfile to /backup/controlfilectl from autobackup; (从自动备份中恢复控制文件) 恢复和复原全数据库 RMAN> shutdown immediate; (立即关闭数据库) RMAN> exit (退出) %mv /oracle/dbs/tbs_f /oracle/dbs/tbs_bak (将数据文件重命名) %mv /oracle/dbs/tbs_f /oracle/dbs/tbs_bak (将数据文件重命名) %mv /oracle/dbs/tbs_f /oracle/dbs/tbs_bak (将数据文件重命名) %mv /oracle/dbs/tbs_f /oracle/dbs/tbs_bak (将数据文件重命名) %rmantarget=rman/rman@mydb(启动恢复管理器) RMAN> startup pfile=/oracle/admin/mydb/pfile/initmydbora (指定初始化参数文件启动数据库) RMAN> restore database; (还原数据库) RMAN> recover database; (恢复数据库) RMAN> alter database open; (打开数据库) 恢复和复原表空间 RMAN> sql alter tablespace users offline immediate; (将表空间脱机) RMAN> exit (退出恢复管理器) %mv /oracle/dbs/usersdbf /oracle/dbs/usersbak (将表空间重命名) %rmantarget=rman/rman@mydb(启动恢复管理器) RMAN> restore tablespace users; (还原表空间) RMAN> recover tablespace users; (恢复表空间) RMAN> sql alter tablespace users online; (将表空间联机) 增量备份与恢复 第一天的增量基本备份 RMAN> backup incremental level= database plus archivelog delete input; 第二天的增量差异备份 RMAN> backup incremental level= database plus archivelog delete input; 第三天的增量差异备份 RMAN> backup incremental level= database plus archivelog delete input; 第四天的增量差异备份 RMAN> backup incremental level= database plus archivelog delete input; 第五天的增量差异备份 RMAN> backup incremental level= database plus archivelog delete input; 第六天的增量差异备份 RMAN> backup incremental level= database plus archivelog delete input; 第七天的增量差异备份 RMAN> backup incremental level= database plus archivelog delete input; backup incremental level= CUMULATIVE database plus archivelog delete input; 增量恢复 RMAN> shutdown immediate; RMAN> exit %mv /oracle/dbs/tbs_f /oracle/dbs/tbs_bak %mv /oracle/dbs/tbs_f /oracle/dbs/tbs_bak %mv /oracle/dbs/tbs_f /oracle/dbs/tbs_bak %mv /oracle/dbs/tbs_f /oracle/dbs/tbs_bak %rmantarget=rman/rman@mydb RMAN> startup pfile=/oracle/admin/mydb/pfile/initmydbora RMAN> restore database; RMAN> recover database; RMAN> alter database open; 基于时间点的恢复 export ORACLE_SID=order rman target / nocatalog set DBID= startup nomount; restore controlfile from autobackup; alter database mount; restore database until time TO_DATE(// ::MM/DD/YY HH:MI:SS); recover database until time TO_DATE(// ::MM/DD/YY HH:MI:SS); alter database open resetlogs; |