当前位置: 首页 > 编程日记 > 正文

RMAN_学习笔记1_RMAN Structure概述和体系结构

2014-12-23 Created By BaoXinjian

一、摘要


是一种用于集备份(backup)、还原(restore)和恢复(recover)数据库于一体的Oracle 工具,支持命令行及图形界面操作

能够备份整个数据库、表空间、数据文件、控制文件、归档文件以及Spfile参数文件。

支持增量数据块级别的备份和块级别的介质恢复

可以保存频繁执行的备份恢复脚本

可以实现数据库的克隆、使用RMAN建立备用数据库

支持镜像备份与备份集,可以备份到磁盘与磁带

管理备份与恢复任务

可增加备份并发度或限制I/O减少备份给数据库带来的影响

在备份期间检查损坏的数据块

支持在备份期间使用压缩特性来减少磁盘空间的占用

 

二、RMAN组件


1. RMAN可执行程序

在Windows操作系统中为rman.exe,在Unix系统中为rman程序所在位置:$ORACLE_HOME/bin

a.进程与内存要求

更多的进程的需要大池的分配

b.基本环境变量需求

ORACLE_SID,ORACLE_HOME,PATH,NLS_LANG,对基于时间的备份与恢复,需要另外设置NLS_DATE_FORMAT

c.权限要求

需要sysdba系统权限

如果是本地,也可以采用OS认证,远程需要采用密码文件认证

d.版本要求

RMAN工具版本与目标数据库必须是同一个版本。如使用恢复目录还需要注意

创建rman恢复目录的脚本版本必须大于或等于恢复目录所在数据库的版本

创建rman恢复目录的脚本版本必须大于或等于目标数据库版本

2. 目标数据库

目标数据库即指想要备份、还原与恢复的数据库。RMAN可执行程序一次只能连接一个数据库

目标数据库的控制文件存储了RMAN所需的信息(存储仓库使用控制文件时),RMAN通过读取控制文件来确定目标数据库的物理结构,

要备份的数据文件的位置,归档信息等,在使用RMAN时会对控制文件进行更新。

3. 服务器进程与通道

RMAN可从从远程或本地通过普通的服务器会话与调用PL/SQL连接到实例,RMAN启动后会产生一个普通的服务器进程

一旦备份与还原操作启动,则RMAN会根据配置启用一个或多个通道

通道简言之即是完成文件复制工作的的服务器进程,多通道则实现了并行执行操作

通道分为备份或还原到磁盘的磁盘通道(disk channel)、备份还原到磁带的磁带通道(SBT),可以自动或手动分配通道

4.存储仓库

存储了与目标数据库及其备份相关的元数据

包含目标数据库物理结构的详细信息、数据文件的位置

已完成的所有备份的细节

RMAN的永久配置信息

存储仓库始终被存储在目标数据库的控制文件内,或存储在恢复目录内(一个单独的Oracle数据库)

参数control_file_record_keep_time决定了控制文件里可重复使用的记录所能保存的最小天数

当一条新的记录需要添加到可重用记录的空间时,并且最老的记录在可重用记录空间中还没有老化,即实际保留的天数未超过

这个参数规定的天数,则控制文件中可重用记录部分的空间将被自动扩展,此时控制文件尺寸将会变大。

5.恢复目录

可以将目标数据库的备份恢复,元数据等相关信息写入到一个单独的数据库,这个单独的数据库即为恢复目录

恢复目录可以存储RMAN脚本,而非恢复目录情况下,则备份恢复脚本存储为操作系统文件

恢复目录的内容通常包括,数据文件、归档日志备份集,备份片,镜像副本、RMAN存储脚本,永久久的配置信息等

建议将恢复目录放置到与目标数据库不同的主机之上

6.支持介质管理库

介质管理库用于RMAN从磁带进行备份与还原

RMAN支持主流的磁带库设备与软件(IBM,Hewlett Packard)

7.辅助数据库(Standby Database $ duplicate database)

(1). Standby Database:是目标数据库的一个副本,使用目标数据库(主数据库)archived log将其更新,不具有唯一的DBID

RMAN可以创建或备份Standby Database,可用于主数据库的故障转移

(2). Duplicate Database:是目标数据库的一个副本或子集,且拥有唯一的DBID,从而独立于主数据库

能够在相同的恢复目录内作为一个主数据库注册,通常用于测试目的

(3). TSPITR(tablespace point-in-time recovery):表空间时点恢复,将一个或多个表空间恢复到非当前状态,而其它表空间保留当前状态

8.备份目的地

默认的备份目的地为闪回区,$ORACLE_BASE/flash_recovery_area/

可以设置参数DB_RECOVERY_FILE_DEST参数和DB_RECOVERY_FILE_SIZE进行调整

9.通道与通道分配

 

三、RMAN连接数据库


1.RMAN使用时需要考虑的问题

资源:共享内存,更多的进程

权限:授予用户sysdba权限,OS访问设备的权限

远程操作

设置密码文件

确保密码文件被备份

全球化环境变量设置

在RMAN命令行格式化时间参数

2.连接类型

目标数据库

恢复目录数据库,缺省情况下RMAN运行在非恢复目录数据库

辅助数据库:Standby database / Duplicate database / TSPITR instance

3.连接目标数据库或恢复目录

(1).不连接数据库仅启动rman

[oracle@oradb ~]$ rman

(2).使用操作系统认证连接到目标数据库

Unix: $ ORACLE_SID = orcl; export ORACLE_SID

        $ rman target /

Win:   C:/> set oracle_sid = orcl

         C:/> rman target /

(3).从命令行连接到目标数据库和恢复目录

% rman target / catalog rman/cat@catdb  --使用OS认证,第二个rman为恢复目录的schema

% rman target sys/oracle@trgt catalog rman/cat@catdb  --使用Oracle Net 认证

(4).从rman提示符连接到目标数据库和恢复目录

% rman

RMAN> connect target /                   --使用OS认证

RMAN> connect catalog rman/cat@catdb

% rman

RMAN> connect target sys/oracle@trgt     --使用Oracle Net 认证

RMAN> connect catalog rman/cat@catdb

(5).命令行连接到辅助数据库

% rman auxiliary sys/aux@auxdb

% rman target sys/oracle@trgt auxiliary sys/aux@auxdb catalog rman/cat@catdb

(6).从rman提示符连接辅助数据库

% rman

RMAN> connect auxiliary sys/aux@auxdb

% rman

RMAN> connect target sys/oracle@trgt

RMAN> connect catalog rman/cat@catdb

RMAN> connect auxiliary sys/aux@auxdb

(7).其它

远程连接

rman target sys/oracle@trgt

rman target / nocatalog   等同于rman target /

(8).rman命令行参数

输出到日志文件

$ rman target sys/oracle

log = $ORALCE_HOME/oradata/log/rman.log append

执行命名文件

$ rman target sys/oracle

cmdfile = $ORACLE_HOME/scirpts/my_rman_script.rcv

$rman target sys/oracle@prod @'$ORACLE_HOME/scirpts/my_rman_script.rcv'

 

四、RMAN命令


RMAN 命令分类

1. 单命令

仅仅在RMAN提示符下执行单独被执行

不能够作为RUN的子命令: 如backup database

下列命令不能用作批命令来使用

CONNECT
CONFIGURE
CREATE CATALOG, DROP CATALOG, UPGRADE CATALOG
CREATE SCRIPT, DELETE SCRIPT, REPLACE SCRIPT
LIST
REPORT

2. 批命令

在RUN命令中用括号括起来使用,常用的批命令为allocate channel,set newname for datafile,release channel,switch,set等

作为一个组被执行, 如:

RMAN> RUN {backup incremental level 0format '/u01/app/oracle/bak/%d_%s_%p'fileperset 5(database include current controlfile);sql 'alter databaes archive log current ';}

 

Thanks and Regards

转载: 乐沙弥大神 - http://blog.csdn.net/leshami/article/details/6032525

ERP技术讨论群: 288307890
技术交流,技术讨论,欢迎加入
Technology Blog Created By Oracle ERP - 鲍新建

相关文章:

全球缺芯大潮中,以软代硬能否另辟蹊径?

在5G和人工智能的技术浪潮如约而至以后,业内人士无不对IoT产业的未来报以极大的期待。以人工智能和家居设备为基础,再加上算力与网络支持,有理由相信未来IoT相关产业必将迎来爆发。然而今年,席卷全球的芯片产能不足问题影响到了各…

Xtrabackup实现数据的备份与恢复

Xtrabackup介绍Xtrabackup是由percona开源的免费数据库热备份软件,它能对InnoDB数据库和XtraDB存储引擎的数据库非阻塞地备份(对于MyISAM的备份同样需要加表锁);mysqldump备份方式是采用的逻辑备份,其最大的缺陷是备份…

最简单的CI框架入门示例--数据库取数据

这个写给初学者看,这是最简单可以调通的例子,网上很多例子其实初学者本地跑不通,缺这少那。 1.下载CI框架(自己找)2.配置 database.php配置: 为数据库服务器设置 connection 参数: $db[defau…

ST-GCN 实现人体姿态行为分类

作者 | 李秋键 出品 | AI科技大本营(ID:rgznai100) 引用 人体行为识别是计算机视觉及机器学习方面的热门研究领域。它在对视频中的人类行为进行运动分析、行为识别乃至延伸至人机交互领域都有着非常广泛的应用。研究初期,人体行为识别主要是以…

【原创】Kakfa utils源代码分析(三)

Kafka utils包最后一篇~~~ 十五、ShutdownableThread.scala可关闭的线程抽象类! 继承自Thread同时还接收一个boolean变量isInterruptible表明是否允许中断。既然是可关闭的,因此一定不是守护线程,而是一个用户线程(不会阻塞JVM关闭)。提供的方…

Oracle的分页查询

为什么80%的码农都做不了架构师?>>> 因为Oracle不像MySQL一样有limit函数来实现分页查找,oracle要实现分页查询可使用关键字rownum来处理。使用rownum有以下几点需要注意: 1、ROWNUM存在使用规则,在单个子查询中&…

微软成功抵御峰值高达 2.4Tbps 的 DDoS 攻击

整理 | 祝涛 出品 | CSDN(ID:CSDNnews)微软表示,他们成功抵御了一场发生于8月份的2.4Tbps分布式拒绝服务(DDoS)攻击,这次攻击超过了去年针对亚马逊Web服务的2.3Tbps最大攻击。这场攻击持续…

百度吴甜:首席AI架构师培养计划持续为行业输送高端复合型AI人才

CSDN 导语: 随着 AI 技术的发展,关注 AI 的开发者与日俱增:据 CSDN 发布的《中国 AI 应用开发者报告》显示,在 CSDN 的注册开发者中,689 万开发者有阅读、撰写和研究 AI 技术行为,其中精准聚焦 AI 学习和应…

Htaccess文件是什么以及Windows下自由创建.htaccess文件的N种方法

.htaccess是什么 概述来说,htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。 通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访…

Linux grep,egrep及相应的正则表达式用法详解

linux在进行文本处理过程中的文本搜索工具称为正则表达式。文本搜索工具有grep、egrep、fgrep,egrep为正则表达式的扩展正则表达式,fgrep用于搜索文本字符串,与 grep 和 egrep 命令不同,因为它搜索字符串而不是搜索匹配表达式的模式。grep的含…

Java GC 日志解析

JVM 在Java应用程序优化中是不可缺少的一大重项,如何合理配置Java参数,如果验证配置参数的有效性,从GC日志中可以获得很重要的提示,以下是笔者对GC垃圾收集器默认开启的组合日志的部分的解析,希望能帮到想学习的同学O(…

MySQL 备份和恢复策略

在数据库表丢失或损坏的情况下,备份你的数据库是很重要的。如果发生系统崩溃,你肯定想能够将你的表尽可能丢失最少的数据恢复到崩溃发生时的状态。本文主要对MyISAM表做备份恢复。 备份策略一:直接拷贝数据库文件(不推荐&#xff…

zookeeper学习记录

2019独角兽企业重金招聘Python工程师标准>>> 背景 前段时间看了S4流计算引擎,里面使用到了zookeeper进行集群管理,所以也就花了点时间研究了下zookeeper,不求看懂所有源码,但求了解其实现机制和原理,清楚其…

Ubuntu的apt-get使用国内的源

1、复制原文件备份 sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak 2、打开清华大学TUNA官网发布的Ubuntu 镜像使用帮助。 3、复制下面框中的内容,打开自己的Ubuntu系统。 4、 将框中的内容替换掉原来的所有内容 sudo gedit /etc/apt/sources.list 5、 进…

51单片机实现对24C02进行页写、顺序读取并显示验证

源:51单片机实现对24C02进行页写、顺序读取并显示验证 //************************************************************************************* //**程序名称:51单片机实现对24C02进行页写、顺序读取并显示验证 //**编写人:**** //**修…

配置MySQL主从复制

MySQL支持单向、异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器。主服务器将更新写入二进制日志文件,并维护日志文件的一个索引以跟踪日志循环。当一个从服务器连接到主服务器时,它通知主服务器从…

PHP 单元测试

本文首发于 https://jaychen.cc/article/34作者 Jaychen朋友,你听说过安。。。不是,写过单元测试吗。 单元测试是开发过程中必不可少的一环,一个项目有良好的单元测试代码,重构的勇气都大很多。这次写一篇小文来介绍一下 PHP 的单…

CI框架如何删除地址栏的 index.php

默认 CI 框架显示地址是 http://localhost/ci/index.php/test/ 去掉index.php这样会更好些。1.修改Http.conf的 LoadModule rewrite_module modules/mod_rewrite.so 去掉注释2.ci根目录增加.htaccess文件 <IfModule mod_rewrite.c>RewriteEngine OnRewriteBase /ci#Remov…

网站安全配置(Nginx)防止网站被攻击(包括使用了CDN加速之后的配置)

2019独角兽企业重金招聘Python工程师标准>>> 网站被攻击是一个永恒不变的话题&#xff0c;网站攻击的方式也是一个永恒不变的老套路。找几百个电脑&#xff08;肉鸡&#xff09;&#xff0c;控制这些电脑同时访问你的网站&#xff0c;超过你网站的最大承载能力&…

除了 AI,这些技术为 IIoT 插上飞向“4.0”的翅膀

“中国制造2025、德国工业4.0、美国先进制造”——在21世纪的工业领域&#xff0c;“制造强国”开启新一轮角逐。尽管实现路径各有侧重&#xff0c;但题中之义均是通过互联网和智能技术实现企业生产和管理的降本增效。正因此&#xff0c;IIoT被视为助推智能制造转型升级的“催化…

[20171225]查看并行执行计划注意的问题.txt

[20171225]查看并行执行计划注意的问题.txt--//如果使用dbms_xplan.display_cursor查看并行执行计划注意一些问题,通过例子说明:1.环境:SCOTTbook> &r/ver1PORT_STRING VERSION BANNER------------------------------ -------------- ------…

expires与etag控制页面缓存的优先级

expires指令控制HTTP应答中的“Expires”和“Cache-Control”Header头部信息&#xff0c;启动控制页面缓存的作用time:可以使用正数或负数。“Expires”头标的值将通过当前系统时间加上设定time值来设定。time值还控制"Cache-Control"的值&#xff1a;负数表示no-cac…

API 大赛决赛名单出炉,速来围观!

创新云转型&#xff0c;智慧云服务2021年移动云API应用创新开发大赛正在火热进行中各个赛道激烈PK优秀开发者同台切磋彰显实力&#xff01;10月14日&#xff0c;2021年移动云API应用创新开发大赛复赛在中移软件园双创路演大厅圆满举办。本次复赛分为移动赛道和企业赛道分别进行…

将日期yyyy-MM-dd转为数字大写的形式

/*** 将日期转大写* 例如&#xff1a;2013-05-13转为 二0一三年五月十三日* param date* return */public static String getDxDate(String date){String dateArr[] date.split("-");String year dateArr[0];String month dateArr[1];String day dateArr[2];Str…

DevExpress v17.2新版亮点—WPF篇(四)

2019独角兽企业重金招聘Python工程师标准>>> DevExpress年终击穿底价&#xff0c;单套授权低至67折&#xff01;仅剩最后6天&#xff01;查看详情>>> 用户界面套包DevExpress v17.2终于正式发布&#xff0c;本站将以连载的形式为大家介绍各版本新增内容。本…

CI框架验证码CAPTCHA 辅助函数的使用

使用CAPTCHA 辅助函数很方便生成验证码&#xff0c;但是图片是存储在文件夹下&#xff0c;不是输出流&#xff0c;感觉不够完美&#xff0c;可以拿来用用。 说明&#xff1a;产生4位的随机数&#xff0c;CI根目录下建立captcha文件夹。 <?php $this->load->helper(ca…

GitLab 上市,市值高达 149 亿美元!GitHub 的头号劲敌来了

整理 | 祝涛 出品 | CSDN当地时间周四&#xff0c;知名代码和资源托管服务平台 GitLab&#xff08;股票代码GTLB&#xff09;完成了IPO&#xff08;首次公开募股&#xff09;&#xff0c;在纳斯达克成功上市。GitLab在本次 IPO 中筹集了约 6.5 亿美元。GitLab此前曾计划I…

将ubuntu系统设置静态ip及ssh

2019独角兽企业重金招聘Python工程师标准>>> sudo vim /etc/network/interfaces 输入以下&#xff1a;auto lo iface lo inet loopback auto eno1 iface eno1 inet static address 192.168.1.197 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameserver 192.168…

ECMAScript 5 —— 单体内置对象之Math对象

ECMAScript 还为保存数学公式和信息提供了一个公共位置&#xff0c;即 Math 对象。与我们在 JavaScript 直接编写的计算功能相比&#xff0c;Math 对象提供的计算功能执行起来要快得多。Math 对象中还提供了辅助完成这些计算的属性和方法。 一. Math 对象的属性 Math 对象包含的…

织梦内容管理系统修改

1.如何去掉互动中心 修改根目录下templates——default——index.htm文件&#xff0c;删除以下内容 <div id"rightAD1" style:margin:10px auto"></div> <div class"usercenter">.....到</div> <!-- /usercenter --&…