rman的三种模式
Target database
Recovery catalog databse
Auxiliary database
Target database
Recovery catalog databse
Auxiliary database
查看数据库模式
SQL>archive log list
Databse log mode Archive Mode
Automatic Archival Enable
SQL>archive log list
Databse log mode Archive Mode
Automatic Archival Enable
非catalog模式有三种
全备份
增量0级备份
增量1级备份
全备份
增量0级备份
增量1级备份
进入rman
$rman nocatalog
RMAN>connect target / 连接到target模式,查看备份
RMAN>list backupset; 查看备份集
RMAN>backup database; 全库备份
$rman nocatalog
RMAN>connect target / 连接到target模式,查看备份
RMAN>list backupset; 查看备份集
RMAN>backup database; 全库备份
no catalog备份方式备份信息放到控制文件里面
控制文件是二进制文件,查看控制文件用$strings命令
控制文件是二进制文件,查看控制文件用$strings命令
0级增量备份
RMAN>backup incremental level 0 databse;
RMAN>backup incremental level 0 databse;
备份的差量增量备份和累计增量备份
incremental 增量 备份同级或级别低的
cumulitive 累计 备份比自己低的
增量 level1 备份上次1或0以来的变化,level2 备份上次2或1或0以来的变化
累计 level1 备份上次0以来的变化,level2 备份上次1或0以来的变化
incremental 增量 备份同级或级别低的
cumulitive 累计 备份比自己低的
增量 level1 备份上次1或0以来的变化,level2 备份上次2或1或0以来的变化
累计 level1 备份上次0以来的变化,level2 备份上次1或0以来的变化
全备份和0级增量备份的区别:0级增量备份可以做为1级增量备份的基础,而全备份不能做为1级增量备份的基础,0级增量备份备份数据量和全备份差不多
是不是一个备份集看TAG标示
备份归档日志
RMAN>backup database plus archivelog delete input;
RMAN>backup database plus archivelog delete input;
备份表空间
RMAN>report schema; 查看方案名
RMAN>backup tablespace 表空间名;
RMAN>report schema; 查看方案名
RMAN>backup tablespace 表空间名;
备份控制文件
RMAN>backup current controlfile; 备份当前的控制文件
RMAN>backup database include current controlfile; 备份数据库时备份控制文件
RMAN>backup current controlfile; 备份当前的控制文件
RMAN>backup database include current controlfile; 备份数据库时备份控制文件
备份集 backupset
镜像备份 image copies
RMAN>copy datafile 5 to '/目录/文件名'; 5是schema方案编号
RMAN>list copy; 查看拷贝集
RMAN>copy datafile 5 to '/目录/文件名'; 5是schema方案编号
RMAN>list copy; 查看拷贝集
rman的批命令
RMAN>run{
RMAN>若干命令
RMAN>}
RMAN>run{
RMAN>若干命令
RMAN>}
RMAN的参数 format格式和channel通道
根据备份策略删除冗余备份
RMAN> delete obsolete;
RMAN> delete obsolete;
rman执行脚本
rman target / msglog=bak.log cmdfile=bak
rman target / msglog=bak.log cmdfile=bak
编辑特定用户的计划任务
crontab -e -oracle
crontab -e -oracle
控制文件设置备份,防止用no catalog模式备份时,丢失控制文件里面的rman备份信息
RMAN>configure controlfile autobackup on;
RMAN>configure controlfile autobackup on;
删除备份
RMAN>delete backupset BS编号;
RMAN>delete backupset BS编号;
----------------------------恢复
恢复密码文件
$orapwd file=orapwSID password=密码 entries=5 #entries最大的允许特权用户的数量
$orapwd file=orapwSID password=密码 entries=5 #entries最大的允许特权用户的数量
恢复spfile
RMAN>startup nomount;
RMAN>set dbid dbid号码;
RMAN>restore spfile from autobackup;
RMAN>restore spfile from '路径';
RMAN>shutdown immediate;
RMAN>startup;
RMAN>startup nomount;
RMAN>set dbid dbid号码;
RMAN>restore spfile from autobackup;
RMAN>restore spfile from '路径';
RMAN>shutdown immediate;
RMAN>startup;
恢复控制文件
RMAN>startup nomount;
RMAN>restore controlfile from autobackup;
RMAN>alter database mount;
RMAN>recover databse;
RMAN>alter database open resetlogs;
RMAN>startup nomount;
RMAN>restore controlfile from autobackup;
RMAN>alter database mount;
RMAN>recover databse;
RMAN>alter database open resetlogs;
恢复redolog文件
SQL>shutdown immediate;
SQL>startup mount;
SQL>recover database until cancel;
SQL>alter database open resetlogs;
SQL>shutdown immediate;
SQL>startup mount;
SQL>recover database until cancel;
SQL>alter database open resetlogs;
数据文件丢失恢复
RMAN>sql "alter databse datafile 数据文件编号 offline"; #rman里面执行sql
RMAN>restore datafile 数据文件编号;
RMAN>recover datafile 数据文件编号;
RMAN>sql "alter database datafile 数据文件编号 online";
RMAN>sql "alter databse datafile 数据文件编号 offline"; #rman里面执行sql
RMAN>restore datafile 数据文件编号;
RMAN>recover datafile 数据文件编号;
RMAN>sql "alter database datafile 数据文件编号 online";
表空间丢失恢复
RMAN>sql "alter tablespace 表空间名 offline immediate";
RMAN>restore datafile 表空间名;
RMAN>recover datafile 表空间名;
RMAN>sql "alter tablespace 表空间名 online";
RMAN>sql "alter tablespace 表空间名 offline immediate";
RMAN>restore datafile 表空间名;
RMAN>recover datafile 表空间名;
RMAN>sql "alter tablespace 表空间名 online";
完全恢复
SQL>shutdown abort;
RMAN>startup nomount;
RMAN>restore controlfile from autobackup;
RMAN>alter database mount;
RMAN>restore database;
RMAN>recover database;
但一般无法做recover,因为没有redo日志做recover,无法做resetlogs处理
SQL>create pfile from spfile;
编辑initSID最后加上
*._allow_resetlogs_corruption='TURE'
SQL>shutdown immediate;
SQL>startup pfile=initSID.ora mount;
SQL>alter database open resetlogs;
SQL>shutdown abort;
RMAN>startup nomount;
RMAN>restore controlfile from autobackup;
RMAN>alter database mount;
RMAN>restore database;
RMAN>recover database;
但一般无法做recover,因为没有redo日志做recover,无法做resetlogs处理
SQL>create pfile from spfile;
编辑initSID最后加上
*._allow_resetlogs_corruption='TURE'
SQL>shutdown immediate;
SQL>startup pfile=initSID.ora mount;
SQL>alter database open resetlogs;
基于时间的恢复,其实做resetlogs的恢复都是不完全恢复,做完后要做个全备
RMAN>set until time "to_date('07/01/02 15:00:00','mm/dd/yy hh24:mi:ss')";
RMAN>restore database;
RMAN>recover database;
RMAN>alter database pen resetlogs;
RMAN>set until time "to_date('07/01/02 15:00:00','mm/dd/yy hh24:mi:ss')";
RMAN>restore database;
RMAN>recover database;
RMAN>alter database pen resetlogs;
基于SCN的恢复
RMAN>shutdown immediate;
RMAN>startup mount;
RMAN>restore database until scn scn号;
RMAN>recover databse until scn scn号;
RMAN>alter databse open resetlogs;
RMAN>shutdown immediate;
RMAN>startup mount;
RMAN>restore database until scn scn号;
RMAN>recover databse until scn scn号;
RMAN>alter databse open resetlogs;
基于日志序列
RMAN>shutdown immediate;
RMAN>startup mount;
RMAN>restore database until sequence 号 thread 1;
RMAN>recover databse until sequence 号 thread 1;
RMAN>alter databse open resetlogs;
RMAN>shutdown immediate;
RMAN>startup mount;
RMAN>restore database until sequence 号 thread 1;
RMAN>recover databse until sequence 号 thread 1;
RMAN>alter databse open resetlogs;
命令总结
report schema
list backup
crosscheck backup
delete backset
report schema
list backup
crosscheck backup
delete backset
catalog模式
SQL>create tablespace rman_ts datafile '表空间文件 ' size 20M; #创建表空间
SQL>create user rman identified by rman default tablespace rman_ts quota unlimited on rman_ts; #创建用户
SQL>grant recovery_catalog_owner to rman; #授权
SQL>grant connect to rman;
SQL>create tablespace rman_ts datafile '表空间文件 ' size 20M; #创建表空间
SQL>create user rman identified by rman default tablespace rman_ts quota unlimited on rman_ts; #创建用户
SQL>grant recovery_catalog_owner to rman; #授权
SQL>grant connect to rman;
$rman catalog rman/rman
RMAN>create catalog tablespace rman_ts;
RMAN>register database;
RMAN>connect target /;
RMAN>create catalog tablespace rman_ts;
RMAN>register database;
RMAN>connect target /;
$rman target / catalog rman/rman
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7908142/viewspace-680328/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/7908142/viewspace-680328/