13:00
backup database
 
backup db :3h
3h: 产生了10 archive log file
 
16:00 finish
restore database;
13:00 : datafile不一致(因为没有备份archive log,controlfile)
 
job调用方式
vi /tmp/1.rcv
CONFIGURE CONTROLFILE AUTOBACKUP ON;
 
方式一  :   rman target / @'/tmp/1.rcv'
 
方式二 :rman target / cmdfile=/tmp/1.rcv log=/tmp/rman.log
 
方式三  : sh script
内容如下
#!/bin/sh
rman target  log=/tmp/rman.log append <<EOF
CONFIGURE CONTROLFILE AUTOBACKUP ON;
EOF; 
 
---------------------------------------------------------------------------------------
备份策略
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
一般的我们这样设置
configure retention policy to recovery window of 30 days;
 
最简单的可恢复的备份
run{
     backup database including archivelog format '/backup/db_%d_%s_%p_%T.bkp';
     backup current controlfile format '/backup/cf_%d_%s_%p_%T.bkp';
}
 
标准备份
online 
run{
     allocate channel c1 type disk maxpiecesize=20G;
     allocate channel c2 type disk maxpiecesize=20G;
     sql 'alter system archive log current';     
     backup database format '/backup/db_%d_%s_%p_%T.bkp' tag 'db_backup_full';
     backup archivelog all delete input format '/backup/log_%d_%s_%p_%T.bkp' tag 'log_backup_full';  
     backup current controlfile format '/backup/cf_%d_%s_%p_%T.bkp' tag 'cf_backup_full';
     backup spfile format '/backup/pr_%d_%s_%p_%T.bkp' tag 'pr_backup_full';
}
备份顺序不能返(1.database->2.archivelog->3.controlfile->4.spfile)
 
 
offline
run{
     allocate channel c1 type disk maxpiecesize=20G;
     allocate channel c2 type disk maxpiecesize=20G;
     sql 'alter system archive log current';     
     backup database format '/backup/db_%d_%s_%p_%T.bkp' tag 'db_backup_full'; 
     backup current controlfile format '/backup/cf_%d_%s_%p_%T.bkp' tag 'cf_backup_full';
     backup spfile format '/backup/pr_%d_%s_%p_%T.bkp' tag 'pr_backup_full';
}
少了archivelog的备份
 
 
备份完后查看备份情况
list backup;
 
offline的恢复(冷备)
startup force nomount;
restore controlfile;
alter database mount;
restore database;
recover database noredo;
alter database open resetlogs;
 
------------------------------------------------------------------
report schema;列出当前数据库的文件分布
 
 
数据文件丢失恢复:
数据库mount模式下:
restore datafile 5;
recovery datafile 5;
alter database open;
 
控制文件丢失恢复:
shutdown abort;
startup mount;
show parameter control
cp file1 file2
 
ls -ltr
restore controlfile from autobackup;
或者 restore controlfile from '/back/....';
alter database mount;
recover database;
alter database open resetlogs;
 
1.good : backup database
2.file 5: restore recover
3.good
4.controlfile error
5.restore controlfile
 
--------------------------------------------------------------
删除备份
run{
     delete force noprompt backup;
     delete force noprompt copy;
     delete force noprompt archivelog all;
}
 
delete backupset 13(BS Key);
delete obsolete;

 
 
模拟数据库全库删掉整库恢复
查看数据库是否状态正常
select open_mode from v$database;
 
 
report schema;
rm -r /orcl/datafile
 
restore database;
恢复过程中查看IO
iostat 1
asm的好处数据库使用盘读写很均匀 普通文件系统没办法做到
recover database;通过归档日志做前滚
alter database open resetlogs;
 
数据库server 重启
srvctl stop database -d orcl
srvctl start database -d orcl
 
 

数据库恢复至少需要的文件
  1. controlfile * 1
  2. system *1
          sysaux * 1
  1. redolog * 2
          undo * 1
 
将临时文件temp datafile删掉。 数据库能正常起来
这些场景会用到temp表空间order by , distinct , union, group by , join (PGA不够时会用到temp表空间)
 
alter tablespace temp add tempfile '***/' size **M autoextend on next 10M maxsize 8192M;
恢复temp(建temp2并切换,再建temp再切换回temp)
1.create temporary tablespace temp2 tempfile '***/' size **M autoextend on next 10M maxsize 8192M;
2.alter database default temporary tablespace temp2;
3.drop tablespace temp including contents and datafiles;
4.create temporary tablespace temp tempfile '***/' size **M autoextend on next 10M maxsize 8192M;
5.alter database default temporary tablespace temp;
6.drop tablespace temp2 including contents and datafiles;

DBA之RMAN备份的更多相关文章

  1. 记录一则RMAN备份策略修正案例

    背景:在给某客户处理问题时,发现客户数据库的备份空间即将用尽,进一步查看发现是用户数据库的当前RMAN备份策略存在潜在问题,需要修改备份策略. 环境:SunOS 5.10 + Oracle 11.2. ...

  2. RMAN备份脚本一列分享

    在ORACLE数据库中,RMAN备份的脚本非常多,下面介绍一例shell脚本如何通过RMAN备份,以及FTP上传RMAN备份文件以及归档日志文件的脚本. fullback.sh 里面调用RMAN命令做 ...

  3. RMAN备份演练进阶篇

    前篇介绍了通过rman进行各种备份,进阶篇则主要是rman的一些功能扩展和增加功能,利用前篇你已经完全可以完成数据库的备份,而通过本篇你可以更好更方便的完成数据库的备份. 一.建立增量备份 如果数据库 ...

  4. RAC 之 RMAN 备份

    这篇主要介绍的是RAC 环境下的RMAN 备份. 关于Oracle 备份与恢复的一些理论知识参考我的Blog:       Oracle 备份 与 恢复 概述 http://blog.csdn.net ...

  5. RAC RMAN备份

    这篇主要介绍的是RAC 环境下的RMAN 备份. 关于Oracle 备份与恢复的一些理论知识参考我的Blog:       Oracle 备份 与 恢复 概述 http://blog.csdn.net ...

  6. 12C RMAN 备份参考v1

    windows bat 1,C:\dba\utility\rman\rman.bat del C:\dba\utility\rman\full_db_* /qset TNSNAME=ceipuatrm ...

  7. RMAN 备份异机恢复 并创建新DBID

    测试平台信息: Oracle:11gR2 操作系统:Redhat 5.5 Target DB:dave   几点说明: (1)RMAN 异机恢复的时候,db_name必须相同. 如果说要想改成其他的实 ...

  8. RMAN备份-未使用catalog-控制文件丢失

    情况描述 客户报告数据库故障,新来的系统管理员误操作.删掉了一些文件.具体情况是:删掉了所有重要数据文件.所有控制文件.数据库原来是归档模式,用rman备份数据,而rman 使用控制文件. 幸运的是, ...

  9. RMAN优缺点及RMAN备份及恢复步骤

    RMAN优缺点及RMAN备份及恢复步骤--以下部分来自网络转摘,仅供参考和OS命令备份方式相比,使用RMAN的优点1 备份执行期间不需要人工干预,因此减少了误操作的机会:2 可以有效的将备份和恢复结合 ...

随机推荐

  1. 标准C程序设计七---14

    Linux应用             编程深入            语言编程 标准C程序设计七---经典C11程序设计    以下内容为阅读:    <标准C程序设计>(第7版) 作者 ...

  2. Python入门--5--列表

    python没有数组 蛋是有列表 列表里面可以有:整数,浮点数,字符串,对象 没有数组,没有数组,没有数组,不重要的也说三遍!! 一.创建列表 x = ['abc','sas','www']     ...

  3. PHP的Trait机制

    PHP的Trait机制 Trait介绍: 1.自PHP5.4起,PHP实现了一种代码复用的方法,称为trait.2.Trait是为类似PHP的单继承语言二准备的一种代码复用机制.3.Trait为了减少 ...

  4. css,世界上没有绝对简单的事情

    引文 自从学了前端的基础,自认为是没什么css是能难倒我的,可是事实是,世界上没有绝对简单的事情,实际上还有好多的东西等待我们去发掘. 详解 1.有些浏览器不完全支持css3,现在可以用 modern ...

  5. [BOI2007] Mokia

    题目描述 摩尔瓦多的移动电话公司摩基亚(Mokia)设计出了一种新的用户定位系统.和其他的定位系统一样,它能够迅速回答任何形如“用户C的位置在哪?”的问题,精确到毫米.但其真正高科技之处在于,它能够回 ...

  6. 【Android开发—智能家居系列】(一):智能家居原理

    来到JCZB公司的第二天,就接到了开发类似于小米智能家庭APP的任务.组长让我在手机上安装上此款APP,给了我个小米智能插座,就让我开始了解需求.这便开启了我的智能家居旅程.说实话,我也真是out的无 ...

  7. 如何用Python批量发现互联网“开放”摄像头

    现在无论家用还是公司使用摄像头越来越多,但是安全性又如何呐?今天我来说说几款比较常用的摄像头,并且使用python如何批量检查弱口令. 第一个“海康威视”: 前段时间爆出海康威视的摄像头存在默认弱口令 ...

  8. Service具体解释(一):什么是Service

    < Service具体解释(一):什么是Service> < Service具体解释(二):Service生命周期> <Service具体解释(三):Service的使用 ...

  9. c++引用和const 用法 数组 指针

    非const引用,只能用object为其赋值: <c++primer>P52 而const引用则可以用临时变量为其赋值: 如: const int &r = 32://可以 int ...

  10. C# 通过比对哈希码判断两个文件内容是否相同

    1.使用System.security.Cryptography.HashAlgorithm类为每个文件生成一个哈希码,然后比较两个哈希码是否一致. 2. 在比较文件内容的时候可以采用好几种方法.例如 ...