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_ ...
随机推荐
- [Web 前端] 024 js 的定时器及函数
1. Javascript 定时器 1.1 计时事件 设定一个间隔,时间到了后准时执行代码,此为"计时事件" 1.2 作用 1.制作动画 2.异步操作 1.3 定时器的类型及语法 ...
- [Git] 019 merge 命令的补充
回顾:[Git] 017 加一条分支,享双倍快乐 的 "2.3" 1. "Fast-forward" "Git" 在合并分支时会尽可能地使用 ...
- CentOS7搭建NTP服务器及客户端同步时间
一.服务器配置 1.查看服务器.客户端操作系统版本 [root@hadoop101 ~]# cat /etc/redhat-release CentOS Linux release (Core) 2. ...
- JavaScript ES6 class指南
前言 EcmaScript 2015 (又称ES6)通过一些新的关键字,使类成为了JS中一个新的一等公民.但是目前为止,这些关于类的新关键字仅仅是建立在旧的原型系统上的语法糖,所以它们并没有带来任何的 ...
- 《剑指offer》面试题22 栈的压入、弹出序列 Java版
(输入两个整数序列,第一个序列是一串数字的压入顺序,判断第二个序列是否是该栈数字的弹出顺序.) 我的方法:压入序列是给定的,每一次弹出操作形成一个弹出序列的值,我们从前往后遍历弹出序列,每一次访问弹出 ...
- cqoj921E整数匹配
这是一个贪心题,把我坑的好惨,忘还原得70.上午被卡得,, 首先给出长度为n的一组数,可以两两配对相乘也可以进行相加,问怎样才可以使总和最大?那么可以显然看出来,当这个数为0或1时,我们要相加.其余进 ...
- 02:django model数据库操作
Django其他篇 目录: 1.1 Django中使用MySQL 1.2 创建表 1.3 Django一对多表结构操作 1.4 Django多对多表结构操作 1.5 一大波Model操作 1.6 Mo ...
- Python字符串中添加、插入特定字符
分析 我们将添加.插入.删除定义为: 添加: 在字符串的后面或者前面添加字符或者字符串 插入: 在字符串之间插入特定字符 在Python中,字符串是不可变的.所以无法直接删除.插入字符串之间的特定字符 ...
- P2P技术
1.什么是P2P技术 点对点技术又称对等互联网络技术,是一种网络新技术,依赖网络中参与者的计算能力和带宽,而不是把依赖都聚集在较少的几台服务器上.P2P网络通常用于通过Ad Hoc连接来连接节点. P ...
- 04-Django-templates
# 模板系统 - 模板:一组相同或者相似的页面,在需要个性化的地方进行留白,需要的时候只是用数据填充就可以使用 - 步骤: 1. 在settings中进行设置:TEMPLATES 2. 在tmeplt ...