**Rman可以用来进行数据库复制:**目的是可以进行测试或开发; **方式:**一种是手工复制,一种是使用Rman duplicate;其中,手工复制,先将数据库关闭,然后将相关文件打包后复制到另一台服务器上,使用startup启动即可;另外一种是使用Rman duplicate命令,但有限制必须要求是同一平台; **RMAN:**Recovery Manager的缩写; **可连接的数据库类型:**Target database(需要进行备份或恢复的数据库,需要有SYSDBA权限)、Recovery Catalog Database(可选的,在备份过程中的信息存放在这个数据库中,默认情况下,RMAN运行在非catalog模式下,因此备份过程产生的信息存放在控制文件中)、Auxiliary database;从实践上考虑,这三个数据库应部署在不同的节点上; **非Catalog模式:**1. 全备份 2、0级增量备份 3、1级增量备份;此外还有二级、三级增量; **使用RMAN备份的条件:**数据库运行在ArchiveLog模式,将rman路径添加到PATH环境变种中; **使用方式(在非catalog模式下):**在命令行输入rman进入命令行提示符;先连接到目标数据库(connect target /);查看有无备份(list backupset);备份命令(backup database),是全量备份,在备份过程中会产生备份集,里面有多个备份片,这些备份片对于恢复时是必不可少的,同一个备份集中的备份片的tag是一样的; **零级增量备份:**backup incremental level 0 database,其含义是与全备份相差不大,区别是零级增量备份后可以进行一级增量备份,但是全备份之后不能进行一级增量备份; **备份内容:**数据库文件、参数文件、控制文件、口令文件(可选)、归档日志文件(无法备份)、归档日志文件(backup database plus archivelog delete input );也可以单独备份表空间或控制文件; **备份方式:**1.备份集: 2.镜像备份: **备份命令方式:**1. 单命令,以分号结尾;2. 批命令,run{},通常使用的参数包括format、channe(RMAN与目标数据库之间的一个连接)等; **自动备份:**定时任务+脚本;定时任务可以基于crontab制定周期任务,在任务中执行类似命令:rman target / logfile=... cmdfile=...其中cmdfile可以是批处理命令; **口令文件丢失:**不属于RMAN备份与恢复的内容,可以使用命令orapwd来重新生成; SPFILE丢失恢复: 在RMAN命令行中:1. startup nomount 2. set dbid 3. restore spfile from autobackup 4. shutdown immediate 5. startup **控制文件丢失恢复:**在RMAN命令行中:1. startup nomount 2. restore controlfile from autobackup 3. alter database mount 4. recover database 5 .alter database open resetlogs; **redolog file丢失:**1. shutdown immediate 2. startup mount 3. restore database until cancel 4. alter database open resetlogs; 注意要在sqlplus中执行 数据文件丢失恢复: 在RMAN命令行中:1. sql "alter database datafile XX offline" 2. restore datafile XX; 3. recover datafile XX 4. sql "alter database datafile XX online"; **表空间恢复:**在RMAN命令行中:1. sql "alter tablespace XX offline" 2. restore tablespace XX; 3. recover tablespace XX 4. sql "alter tablespace XX online"; 基于时间点的恢复基于SCN的恢复基于日志序列的恢复; **Catalog模式的备份与恢复:**使用与非catalog基本一样,只是需要提前创建一些内容而已