rman备份/恢复
全备脚本
cat rman_full.sh #!/bin/bash
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2./db_1
export ORACLE_SID=orcl
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export PATH=$ORACLE_HOME/bin:$PATH
rman target / log /opt/oracle/backup/rman_full.log append<<EOF
run
{allocate channel c1 type disk;
allocate channel c2 type disk;
backup database filesperset format '/opt/oracle/backup/full_%d_%T_%s_%p';
sql 'alter system archive log current';
backup archivelog all format '/opt/oracle/backup/arch_%d_%T_%s_%p' delete input;
backup current controlfile format '/opt/oracle/backup/ctl_%d_%T_%s_%p';
crosscheck backup;
crosscheck archivelog all;
delete noprompt obsolete;
delete noprompt expired backup;
delete noprompt expired archivelog all;
}
EOF
增备脚本
[root@centos74 /opt/sh ::&&]#cat rman_arch.sh
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2./db_1
export ORACLE_SID=orcl
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export PATH=$ORACLE_HOME/bin:$PATH
rman target / log /opt/oracle/backup/rman_arch.log append<<EOF
run
{allocate channel c1 type disk;
allocate channel c2 type disk;
sql 'alter system archive log current';
backup archivelog all format '/opt/oracle/backup/arch_%d_%T_%s_%p' delete input;
backup current controlfile format '/opt/oracle/backup/ctl_%d_%T_%s_%p';
crosscheck backup;
crosscheck archivelog all;
delete noprompt expired backup;
delete noprompt expired archivelog all;
}
EOF
恢复脚本
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2./db_1
export ORACLE_SID=orcl
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export PATH=$ORACLE_HOME/bin:$PATH
rman target / log /opt/oracle/backup/rman_arch.log append<<EOF
shutdown immediate;
startup mount;
run{
allocate channel c1 type disk;
allocate channel c2 type disk;
sql 'alter session set nls_date_format="yyyy-mm-dd hh24:mi:ss"';
set until time = '2011-10-19 22:21:38';
restore database;
recover database;
alter database open resetlogs;
}
EOF
rman备份/恢复步聚
rman备份步聚
准备工作
.control_file_record_keep_time初始化参数
rman元数据在控制文件中保留的最小有效天数,默认为7天(即备份数据不能超过7天不然,数据会丢失)
$ sqlplus / as sysdba
SQL> alter system set control_file_record_keep_time=;
SQL> show parameter control; .启动归档模式
$ mkdir -p /opt/oracle/archdata #创建归档日志存放目录
$ sqlplus / as sysdba
SQL> archive log list; #查看归档日志状态
Database log mode No Archive Mode
Automatic archival Disabled #关闭
Archive destination /opt/oracle/archdata
Oldest online log sequence
Current log sequence SQL> alter system set log_archive_dest_1='location=/opt/oracle/archdata' scope=both; #更改归档日志存放目录
SQL> select dest_name,destination,status,error from v$archive_dest where dest_name='LOG_ARCHIVE_DEST_1'; #查看归档日志存放目录 重启数据库mount状态,开启归档(凡是alter database操作都是修改“控制文件”内容)
SQL> shutdown immediate; #关闭数据库
SQL> startup mount; #启动数据库到mount模式
SQL> alter database archivelog; #开启归档模式
SQL> alter database open; #启动数据库 SQL> alter system switch logfile; # 刚刚开启归档还没有生成日志,我们手工切换一下
SQL> select sequence#,name,archived,applied from v$archived_log; # 数据库层查看归档日志文件 rman备份注意事项
1备份顺序
备份数据--》备份归档数据--》份控制文件 .备份要有日志信息
rman target / log /tmp/rman_full.log #登陆rman,把输出日志重定向到/tmp/rman_full.log RMAN环境变量设置
rman target /
show all; #查看所有配置
#默认配置保留策略是一个备份
CONFIGURE RETENTION POLICY TO REDUNDANCY ; # default
#配置恢复期窗口是90天,意思就是能够恢复到这90天中的任意一天,那么要求就是最少保留一个90天之前的备份
并且有自那之后产生的所有归档日志
CONFIGURE RETENTION POLICY TO recovery window of days;
CONFIGURE RETENTION POLICY clear;
#备份的设备类型默认是disk,磁盘类型,
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
#这个是备份为磁带类型
CONFIGURE DEFAULT DEVICE TYPE TO stb;
#自动备份控制文件
CONFIGURE CONTROLFILE AUTOBACKUP ON; 备份
请查看全量备份脚本
rman恢复控制文件
sqlplus / as sysdba;
SQL> shutdown immediate;
SQL> startup mount;
rman target /
RMAN> list backupset;
RMAN> restore controlfile from 'xxxxx'; #xxxx是控制文件路径
rman恢复数据到指定时间点
原文地址: https://blog.csdn.net/u011364306/article/details/50013607 .修改数据库时间格式
SQL> alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
.查看数据库时间
SQL> select sysdate from dual;
3.关闭数据库并启动到mount模式
SQL> shutdown immediate;
SQL>startup mount;
4.恢复数据库
请看恢复脚本
rman备份/恢复的更多相关文章
- rman备份恢复命令之switch
rman备份恢复命令之switch 一 switch 命令 1 switch命令用途 更新数据文件名为rman下镜像拷贝时指定的数据文件名 更新数据文件名为 set newname 命令指定的名字. ...
- Oracle RMAN备份恢复指导书
目 录 1 目的与范围... 1 2 术语和定义... 1 3 角色和职责... 2 4 使用RMAN备份数据库... 2 4.1.1 检查数据库模式... 2 4.1.2 连接到target数据库. ...
- Oracle之RMAN备份恢复1-基础篇
1,rman的作用与体系架构 1.1 什么是rman rman(recovery manager)是oracle8i以后dba的一重要工具一般位于$oracle_home/bin目录下,主要用来备份, ...
- 非系统数据文件损坏,rman备份恢复
实验前提:已经做好备份. SQL> col file_name for a50select file_id,file_name from dba_data_files; FILE_ID FILE ...
- Oracle Rman备份恢复和管理
参考资料: Oracle之Rman入门指南 一步一步学Rman Rman简介 Rman-Recover manager恢复管理工具. Oracle集成了很多环境的一个数据库备份和恢复的工具. Rman ...
- oracle直通车6关于rman备份恢复数据文件,以及创建分区表的实验
1.创建一张表,在表上创建一个索引,分别查询表,索引各自分配了多少个extents,多少个数据块以及总共占用空间的大小(bytes). 答:创建一张表t,为字段object_id创建索引t_objec ...
- ORACLE 11G没有备份文件參数文件在异机通过rman备份恢复找回被误删的数据
背景: 同事误删除线上数据.所以须要从备份中找回数据恢复. 真实屋漏偏逢连夜雨.船迟又遇打头风.前两天备份的磁盘坏块,如今仅仅有rman全备的.bak文件,没有控制文件和參数文件,所 ...
- ORACLE11g 没有控制文件如何通过rman备份恢复数据的详细实战过程
1.副总裁需要裸恢复的严峻现实 集团总部的信息部负责人给我打电话说为了找一年前的记录,所以需要对一年前2015年5月1日的数据进行恢复.而2016年初因为进行迁移,所以有些文件可能丢失,手上只有rma ...
- RMAN 备份恢复 删除表空间后控制文件丢失
先备份一个控制文件 RMAN> backup current controlfile tag='bak_ctlfile' format='/home/oracle/backup/bak_ctl_ ...
随机推荐
- Kubernetes组件及网络基础
在前面的部分了解了Pod的创建删除 ,查看信息等.那么我们怎么去管理Pod呢?我们可以通过 ReplicationController 去管理维护 Pod. Replication Controlle ...
- 使用eclipse创建mavenWeb项目,中途遇到的问题及解决方案!
创建MavenWeb项目的步骤,如下: 1).new--->Maven --->maven project,如图: 之后, next,最后finish,项目创建完成,项目的目录如下: 将w ...
- 拦截器Interceptor和过滤器Filter的区别
(1)过滤器(Filter):当你有一堆东西的时候,你只希望选择符合你要求的某一些东西.定义这些要求的工具,就是过滤器.(理解:就是一堆字母中取一个B) (2)拦截器(Interceptor):在一个 ...
- P5016龙虎斗
这道题是2018年普及组的第二题,是一个模拟题. 首先计算出双方各自的势力,然后将增援的队伍势力加上,比较此时双方势力,并且作差,最后枚举将公平兵加在哪一个兵营.看似简单的题被我20分钟就写完了,但是 ...
- [BZOJ 2154]Crash的数字表格(莫比乌斯反演+数论分块)
[BZOJ 2154]Crash的数字表格(莫比乌斯反演+数论分块) 题面 求 \[\sum_{i=1}^{n} \sum_{j=1}^{m} \mathrm{lcm}(i,j)\] 分析 \[\su ...
- 给定一个英文字符串,请编写一个PHP函数找出这个字符串中首先出现三次的那个英文字符(需要区分大小写),并返回
给定一个英文字符串,请编写一个PHP函数找出这个字符串中首先出现三次的那个英文字符(需要区分大小写),并返回 //统计字符串中出现的字符的出现次数 public function strNum(){ ...
- 03: django进阶篇
1.1 cookie 1.cookie简介 1. cookie实质就是客户端硬盘中存放的键值对,利用这个特性可以用来做用户验证 2. 比如:{“username”: “dachengzi”} #再次访 ...
- python中输入三个整数x,y,z,请把这三个数由小到大输出。
输入三个整数x,y,z,请把这三个数由小到大排序,再把数组由大到小排序,再输出最大值和最小值! #定义一个空数组 numbers = [] #循环遍历,下面的4是控制循环次数 for i in ran ...
- mongoose 数据库操作2
mongoose的内置的主要功能解说 除了定义文档结构和你要存储的数据类型外.模式(Schema)还用于下面定义: · Validators (异步和同步) · Defa ...
- oracle数据库启动报错,不能启动ASM实例
数据库rac启动时报错,日志例如以下,后来使用 Sat Jun 7 06:02:11 2014 GATHER_STATS_JOB encountered errors. Check the tra ...