ITPub博客

首页 > 数据库 > Oracle > rman学习笔记

rman学习笔记

原创 Oracle 作者:tangrac 时间:2009-09-25 11:56:33 0 删除 编辑

===================
rman 备份
===================
-- 备份集database 备份
run{
configure channel device type disk maxpiecesize 2G;
backup device type disk format 'F:appback_2009ss%d_%s_%p.dbf' database;
sql 'alter system archive log current';
}

-- 基于不完全恢复后的数据库全备.
run{
configure channel device type disk maxpiecesize 2G;
delete noprompt backup;
delete noprompt copy;
backup device type disk format 'F:appback_2009ss%d_%s_%p.dbf' database;
sql 'alter system archive log current';
}

run {
configure exclure for tablespace user03; --设置不需要的备份的表空间
backup database format='f:appback_2009ss%d_s%.dbf';
'sql 'alter system archive log current';
}

run{backup tablespace tablespace_name format='f:appback_2009d%_%s.dbf';}

run{backup datafile datafile_name format='f:appback_2009d%_%s.dbf';}

--备份controlfile
run{
backup current controlfile format='f:appback_2009d%_%s.dbf'
include current controlfile;
}

--备份spfile
run {backup spfile format='f:appback_2009d%_%s.par}

-- 备份archivelog
run{backup format='f:appback_2009d%_%s.arc' archivelog from time='sysdate-1' until time='sysdate'}


run {
configure device type disk parallelism 2;--设置并行度
backup database format='f:appback_2009d%_%s.dbf';
configure device type disk clear;
}

==========================
ramn 恢复
==========================
--database恢复
run {
restore database;
recover database;
sql 'alter database open';
}


--database恢复,并指定数据文件的新目录
run {
startup force mount;
set newname for datafile 'F:APPHOSTUSER_TORADATAORCLSYSTEM01.DBF' to 'E:DATA_appHOSTUSER_TORADATAORCLSYSTEM01.DBF';
set newname for datafile 'F:APPHOSTUSER_TORADATAORCLSYSAUX01.DBF' to
'E:DATA_appHOSTUSER_TORADATAORCLSYSAUX01.DBF';
set newname for datafile 'F:APPHOSTUSER_TORADATAORCLUNDOTBS01.DBF' to
'E:DATA_appHOSTUSER_TORADATAORCLUNDOTBS01.DBF'
set newname for datafile 'F:APPHOSTUSER_TORADATAORCLUSERS01.DBF' to
'E:DATA_appHOSTUSER_TORADATAORCLUSERS01.DBF';
set newname for datafile 'F:APPHOSTUSER_TORADATAORCLEXAMPLE01.DBF' to
'E:DATA_appHOSTUSER_TORADATAORCLEXAMPLE01.DBF';
set newname for datafile 'F:APPHOSTUSER_TORADATAORCLUSERS02.DBF' to
'E:DATA_appHOSTUSER_TORADATAORCLUSERS02.DBF';
set newname for datafile 'F:APPHOSTUSER_TORADATAORCLUSER2009.DBF' to
'E:DATA_appHOSTUSER_TORADATAORCLUSER2009.DBF';
restore database;
switch datafile all;
recover database;
sql 'alter database open';
}

--数据文件恢复
rman target sys/aa@orcl nocatalog
run
{restore datafile 1;
recover datafile 1;
sql 'alter database open';
}
--数据文件恢复,并指定数据文件的新目录
run{
set newname for datafile 1 to 'E:DATA_appsystem01.dbf';
restor datafile 1;
switch datafile 1;
recover datafile 1;
sql 'alter database open;'
}

--shudown 下的数据文件恢复
run {
sql 'alter database datafile 4 offline';
sql 'alter database datafile 6 offline';
sql 'alter database open';
restore datafile 4;
recover datafile 4;
restore datafile 6;
recover datafile 6;
sql 'alter database datafile 4 online';
sql 'alter database datafile 6 online';
}


run {
startup force mount;
sql 'alter database datafile 4 offline';
sql 'alter database open';
set newname for datafile 4 to '/tmp/oracle/users01.dbf';
restore datafile 4;
switch datafile 4;
recover datafile 4;
sql 'alter database datafile 4 online';
}

-- 在没有备份的情况下,但是archivelog存在,进行数据文件恢复;
run {sql 'alter database datafile 8 offline';
sql 'alter database open';
restore datafile 8; --10G后数据文件不再,会自动创建该数据文件;
recover datafile 8;
sql 'alter database datafile 8 online';
}

run {
sql 'alter tablespace users offline for recover';
restore tablespace users;
recover tablespace users;
sql 'alter tablespace users online';
}
-- 恢复数据文件块
run {blockrecover device type disk datafile 5 block 21,48,128;}


====================
不完全恢复
====================
C:Documents and Settingshostuser_t>set nls_date_format=yyyy/mm/dd hh24:mi:ss
--startup force mount;
run {
set until time='2009/09/01 14:58:04';
restore database;
recover database;
sql 'alter database open resetlogs';
};

-- 基于上面的恢复不成功的时候.
run {set until sequence=6;
restore database;
recover database;
sql 'alter database open resetlogs';
}

--基于controfile恢复
C:SET nls_date_format=yyyy/mmdd hh24:mi:ss
c:rman target sys/aa@orcl nocatalog
run{startup force nomount
set dbid=1219551748;
restore controlfile from autobackup maxseq 6;
alter database mount;
set until time='2009/09/01 14:58:04'; --到alert_sid.log查找误操作时间
restore database;
recover database;
sql 'alter database open resetlogs';
}
==============================
rman 维护命令
==============================

report 命令用于详细分析rman资源库信息.
1.报告目标数据库的物理结构
report schema;

2.报告需要备份的数据文件
report need backup
可选incremental/days/redundancy/recovery window
显示恢复数据文件需要转侟的增量备份的个数超过3次胡数据文件.
report need backup incremental 3;
显示特定天数未备份的数据文件
report need backup days 3 tablespace users;
显示低于特定备份次数的数据文件
report need backup redundancy 2 database;
显示在恢复时间窗口内未备份的数据文件
report need backup recovery window of 6 days;

3.报告陈旧备份
report obsolete redundancy 2;
4.报告noarchivelog mode 下不可恢复的数据文件.
report unrecoverable;
5.列出数据文件备份集
list backup of database
list backup of tablespace tablespace_name
list backup of datafile datafile_name
list backup of controfile
list backup of archivelog all;
list backup of spfile;
list copy of datafile 5;
list copy of archivelog;
list copy of controlfile;
list copy of database;

==================
crsosscheck 命令
===================
1.crsosscheck 该命令用于核对disk/tba上的backup file,以确保rman资料库与文件保持同步,
该命令核对了备份文件后,
backup file 有三种状态:
available/unavailable/expired
备份文件处于expired状态,说明备份文件已经被手工删除或损坏,应该使用DELETE删除该备份文件;

2.核对所有备份集
RMAN>crosscheck backup;
3.列出备份集文件的信息
list backupset 15;
4.核对所有数据文件的备份集
crosscheck backup of database;
5.核对所有映像文件的备份集
crosscheck copy;


====================
DELETE
====================

1.删除陈旧备份(根据备份冗余策略的冗余度来判断陈旧备份)
delete obsolete
delete noprompt obsolete --禁止显示提示信息
delete expired backup -- 删除执行crsosscheck backup 命令后的备份数据文件状态为EXPIRED的备份集
delete noprompt expired backup;
删除expired副本
delete noprompt expired copy;
删除特定备份集
delete noprompt backupset 19;
删除特定备份片
delete noprompt backuppiece 'd:backupdemo_18.dbk';
删除所有备份集和备份片
delete noprompt backup;
delete noprompt backupset;
删除所有映像副本.
delete noprompt copy;
删除特定映像副本
delete noprompt datafilecopy 'd:backupdemo_31.dbk';

================================
CHANGE 命令
================================
该命令用于改变备份记录的状态

1.改变备份集状态
change backupset 22 unavailable;
查看更改备份集状态记录
list of backup sets;

2.改变映像副本状态
change datafilecopy 'd:backupdemp_37.bak' unavailable;
查看更改映像副本状态记录
list datafilecopy 'd:backupdemp_37.bak';

3.建立长期备份(loog-term backup) (长期备份是指被长期保留的备份文件)

--备份集156永远保留
change backupset 156 keep orever logs;
--备份集198保留60天
change backupset 198 keep until time 'sysdate+60' logs;
--免除备份集156的保留期限
change backupset 156 nokeep;

========================================
catalog 命名
========================================
该命令用于追加备份记录到rman资料库

[@more@]

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22596359/viewspace-1027346/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: PL/SQL代码记事
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2009-09-25

  • 博文量
    2
  • 访问量
    1318