Oracle Rman
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基本一样,只是需要提前创建一些内容而已