RMAN除了单纯的备份恢复功能 已经被赋予了越来越多的责任 比如创建Standby数据库 比如跨平台传输表空间中的表空间转换 Oracle g的RMAN倒是没有太多飞跃性的更新
自定义archivelog删除策略
我们知道在 g之前 只有backupset的删除策略可以定义 比如保留多长时间的备份或者保留多少份有效备份 而删除归档日志只有在delete命令中定义删除全部备份完毕的或者删除从哪一个时间点到哪一个时间点的 而在 g中我们已经可以通过configure命令来定义归档日志的删除策略的 比如增加了下面的语法 只有在磁带上备份了 次的归档日志才会被delete命令删除
CONFIGURE ARCHIVELOG DELETION POLICY TO BACKED UP TIMES TO DEVICE TYPE t
当然 仅仅是增加语法那就只能称为比较无聊的新功能了 除了configure语法之外 现在在 g中通过APPLIED ON STANDBY关键字可以定义只有对于所有的standby站点都已经applied的归档日志才会被删除 或者定义所有被成功传送到standby站点的归档日志就可以被删除 而以前这些都需要DBA自己撰写脚本从数据字典中查询到相关信息然后再通过脚本删除
直接通过网络复制数据库
在 g之前如果要使用duplicate命令来复制一份数据库 那么则需要源数据库 需要在目标机器上的一份有效备份 需要目标数据库 在 g中这一切被大大简化 通过FROM ACTIVE DATABASE关键字 我们只需要有一个源数据库 就可以简单地通过网络在另外一台机器上复制一个相同的数据库了 Oracle会通过一系列 Memory Script在内存中recover并且open目标数据库
另外 在 g之前 duplicate数据库是不会自动复制spfile的 而现在 我们通过下面的语句 就可以让Oracle在复制过程中自动生成一份spfile 并且其中的初始化参数允许额外定义
DUPLICATE TARGET DATABASETO aux_dbFROM ACTIVE DATABASESPFILE PARAMETER_VALUE_CONVERT /u /u SET SGA_MAX_SIZE = M SET SGA_TARGET = M SET LOG_FILE_NAME_CONVERT = /u /u DB_FILE_NAME_CONVERT /u /u ;
在 g中使用duplicate复制一个数据库的准备步骤只需要目标数据库(AUXILIARY实例)
a 通过一个最简单的pfile把实例启动到nomount状态 这个pfile中只需要包含DB_NAME和REMOTE_LOGIN_PASSWORFILE参数即可
b password文件必须事先建好 而且SYS密码需要跟source数据库中相同 这个通过orapwd可以轻松完成
c 目录结构需要事先创建好并且具有正确的权限
并行备份大文件
现在Oracle数据库中单个数据文件可以最大到 T 而在以前的版本中RMAN的最小备份单位就是datafile 那么对于以后可能出现的这种超大数据文件 RMAN备份就几乎无法 *** 作了 在 g中 通过backup命令中的SECTION SIZE关键字 我们可以对数据文件指定section了 每个section都作为一个独立单位来处理 每个数据文件可以最多指定 个 section
Section的好处在于 一可以并行备份多个section 提高备份速度 二可以分多个时间分别备份一个大文件的多个section 时间上化整为零 更具有 *** 作性
RMAN Catalog管理性增强
IMPORT CATALOG命令允许我们将一个catalog库中的信息转储到另外一个catalog库 这在以前完全需要手工 *** 作
lishixinzhi/Article/program/Oracle/201311/17666
课程综述
本课程为管理工业界最先进的信息系统的数据库管理员开发能力,学员将学会备份和恢复Oracle数据库,动手实验将会给你带来真实技术环境中的体验,开发基本的网络管理技巧,使用Oracle恢复管理器简化职责。本课程将为Oracle数据库管理员关于Oracle网络管理和备份、恢复 *** 作带来坚实的基础。
学员将学会在数据库间传输数据和使用实用程序执行管理活动。学员将学习网络概念和配置参数,以排除一些常见的网络问题。在动手实验中,学员将学会配置网络参数使得数据库客户端和工具可以和Oracle数据库服务器通讯。
本课程也满足提供备份和恢复技术,和检查各种备份,失败,还原和恢复场景,学员将学会在关键任务企业中的基于各种商业需求的备份方法,使用多种策略和Oracle恢复管理器执行备份、还原和恢复 *** 作。
l内容纲要
网络概述
基本的Oracle网络架构
基本的Oracle网络服务器端配置
基本的Oracle网络客户器端配置
Oracle共享服务器的使用和配置
备份和恢复概述
实例和媒体恢复结构
数据库存档模式的配置
Oracle恢复管理器(RMAN)概述和配置
用户管理备份
RMAN备份
用户管理的完全恢复
RMAN完全恢复
用户管理非完全恢复
RMAN非完全恢复
RMAN知识库维护
RMAN目录的创建和维护
数据库间传输数据
使用SQLLoader来加载数据
案例研究
l学员受益
从事Oracle数据库服务器的网络 *** 作和数据备份恢复管理,尤其是备份 *** 作。
l目标学员
数据库管理人员、开发人员、测试人员、数据库最终用户。
l学员条件
参加过“Oracle9i/10g数据库管理基础I”课程的学习。
个人感觉你的脚本应该是没有问题的,这里有两点需要了解下
1、全库备份是否是将备份好的dump文件又进行了压缩呢,或者是导出时使用了压缩参数,
2、全库备份是否使用了rman备份,因为rman备份会跳过数据库高水位线以上的部分,从而减少了需要备份的存储,或者你的服务器上存在坏块现象,rman会跳过这些坏块,这些在数据泵中都无法避免,且rman参数中也有压缩备份文件的设置,
希望我的回答能够对你有所帮助
摘 要为了保证数据库的安全性和稳定性,通过对Oracle的备份以及恢复策略进行了分析和探讨,明确了数据库备份以及恢复技术在实际工程项目当中的应用,通过分析数据库备份的实际需求,同时选择了合理的数据备份策略以及数据恢复策略,采取了有效的数据库的管理和维护策略,有效保证了数据库中的相关数据以及整个系统的安全性和稳定性,为类似数据库的备份以及恢复策略提供了可供参考的经验。
关键字Oracle数据库;备份;数据;恢复;策略
对于企业而言,数据库中的数据是重要的数据资源,也是企业得以持续总结和发展的重要的要素,由此保证相应数据库的安全性和稳定性有着十分重要的影响。 随着数据库内数据量的逐渐增加,并且数据库发展以及运行所面临的环境也日益复杂,数据库中数据的安全性以及相关系统运行的稳定性对企业的发展尤为重要。数据库中的数据难以避免地受到了外界的侵袭,例如网络、硬件以及系统等方面的故障,甚至自然灾害也将导致则整个系统的崩溃,数据丢失,数据库中存储过程中的失误将给企业的发展带来严重的影响甚至巨大的损失,为了有效避开或者减少这些无法预测损失的到来,建立一系列安全稳定可靠的数据备份系统尤为重要。
1 建立备份策略
11 数据备份需求
(1)良好的可扩展能力
随着企业的发展和项目管理以及建设的持续发展和升级,企业数据库中的数据量将日益增长,所使用的数据库也应具有数据的扩展和升级的空间和可能。
(2)备份数据的可恢复性
为保证企业内部数据库的规范统一以及集中安全的数据恢复和备份的管理,相应的数据备份以及恢复策略应保证所备份的数据的可靠性以及可恢复性,为系统数据的恢复奠定了良好的基础。
(3)保持业务流程的连贯性
数据备份和恢复系统要以维持企业基本的业务流程和体系为基础,在保证了系统业务连续性的前提下开展数据库的数据备份,避免了数据存储设备时间较长对企业系统的使用和相关项目的运行造成影响。
12 备份设备的选型
在对PCEDM数据库备份需求分析的基础上,使用IBM的TSM作为备份数据备份的支持。TSM软件管理软件系统,是为企业级别的数据以及系统安全设计,以解决企业级数据和系统的安全性,为数据的备份提供解决方案,为石油、金融、电信管理和其他许多大型企业解决了数据的备份和管理问题。 TSM的管理结构,其高度的可扩展性和广泛的平台支持,集中式,自动化的存储管理等方面的优势,提供高效,自动,可扩展的备份管理系统。TSM专有的二进制格式,每个数据备份和恢复加密的数据传输格式,TSM自动CRC数据校验,从而保证了数据备份和恢复过程的完整性和安全。
2 制定备份策略
通过详细分析Oracle数据库的存储结构、数据库的运行模式、数据存储文件、数据增长的速度和数据增长密度等实际状况,结合几个备份Oracle数据库的优点和缺点分析,数据的备份策略表示如下:
21 使用RMAN与冷备份、逻辑备份相结合。使用Oracle数据库本身的RMAN和冷备份以及逻辑备份的方式结合起来,其中,Oracle数据库所提供的备份方式是主要的备份方式,而冷备份,逻辑备份作为辅助备份。
22 RMAN 备份包括全备份和增量备份 2 种方式。使用备份数据量小,低差异增量备份。在进行了一次级别为n的Differential增量的备份过程中,RMAN备份仅仅将那些最近一次等级等于或小于增量备份n相比,产生变化的数据块进行备份。差异增量备份策略RMAN的方法,设定在每个星期天,星期三0级备份数据库和日志文件的备份,周一,周二,周四,周五,周六为第一级增量备份和日志文件的备份。
23 备份触发方式,在Unix预定时间以及计划内启动。构建系统的CRON任务,根据备份策略编辑命令,在确定的时间内起动文件以及备份计划。
3 数据备份方案的具体实施
备份存储设备使用的磁盘阵列和磁带库的组合方式。TSM备份存储池,并最终利用RMAN备份的数据进行备份的IBM Ultrium3584磁带库EMC CX700磁盘阵列空间分割出的一部分作为备份的存储区域。数据库服务器放置在本地磁盘系统进行数据库冷备份以及逻辑备份过程中所产生的备份文件。
31 冷备份
在数据库以TRANSACTIONAL,IMMEDIATE 或 NORMAL 方式关闭后进行的数据备份称为冷备份或脱机备份,所以得到的是一个备份的一致性。在数据库关闭, *** 作系统的所有订单数据文件,控制文件和联机日志文件,初始化参数文件等进行备份,冷备份副本。一旦数据库发生故障,可以将这些文件拷贝覆盖原始文件的位置。这个备份数据库,它可以返回到之前的状态。 由于PCEDM数据库需要,以确保7天24小时运作,冷备份必须在封闭的数据库进行。冷备份在正常的服务维修期间进行每一年两次的备份。使用冷备份具有一致性的优势,可以保证系统恢复的迅速。
32 逻辑备份
逻辑备份使用Oracle导出工具将数据库中的对象模型得出的二进制文件,有一个需要重用Oracle导入工具将模型的二进制文件导入到对象数据库。基于整个数据库备份的逻辑模式,用户模式或表模型可以将数据输出,更灵活。对于一些重要的数据可以作为辅助备份方式。通过使用不同 *** 作系统平台,以及不同的数据库版本之间进行了数据库中数据的迁移,这成为了数据库物理备份的补充形式。
33 RMAN 备份
RMAN是Oracle提供的外部工具,专门用于数据库备份和恢复 *** 作。通过在RMAN备份系统中启动Oracle服务进程完成备份的任务。创建RMAN的备份的具体步骤如下:
(1)在数据库服务器上安装TSM客户端,选择相关文件进行编辑,设置DSMI_ORC_CONFIG,TDPO_ PSWDPATH参数,建立RMAN备份和TSM备份管理软件系统的连接。
(2)创建RMAN目录数据库备份恢复,以保存备份的索引信息。
(3)RMAN恢复管理器,同时开始在目标数据库的连接。
(4)目标数据库的注册。
(5)修改RMAN默认的配置参数。 CONFIGURE命令可以用来改变默认的RMAN设置,如配置自动通道,在指定的备份保留策略,激活或屏蔽备份优化功能。
(6)创建备份脚本。
4 Oracle 数据库恢复
41 RMAN 的完全恢复
在使用RMAN的完全恢复,在线和归档重做日志文件中的所有记录将被用于恢复数据库,从备份中恢复已损坏的文件,然后应用日志文件,将数据文件恢复到当前的时间。
42 RMAN的不完全恢复
通过RMAN中的不完全恢复数据库,将数据库恢复到指定的时刻或状态,通过将指定的SCN或者应用指定日期顺序归档重做日志之后的状态,也就是从时间、SCN或日志这三种方式中选择一种方式作为恢复终止的标记。
5 结语
实践证明,这种设计的备份策略,实现真正意义上的数据备份自动化管理,使系统的管理从传统的繁琐的手工备份中解放出来,提高工作效率和工作质量;有效避免了人为错误,提高数据备份的安全性和可靠性;减少了数据库的I / O *** 作,提高了数据备份恢复的速度以及数据备份的有效性。与此同时,也使备份系统具有良好的可扩展性,能够满足当前和今后几年的业务发展的实际需求。
参考文献:
[1]张自辉 ORACLE数据库的备份方法和策略[J] 吉首大学学报(自然科学版), 2009,(01)
[2]安亚强 Oracle备份与恢复及故障研究[J] 内蒙古煤炭经济, 2009,(04)
[3]王立新 Oracle数据库备份与恢复策略浅析[J] 才智, 2009,(28)
[4]杨志彬 Oracle数据库备份策略[J] 电脑知识与技术, 2009,(17)
3 恢复目录
31恢复目录的概念
恢复目录是由RMAN使用、维护的用来放置备份信息的仓库。RMAN利用恢复目录记载的信息去判断如何执行需要的备份恢复 *** 作。
恢复目录可以存在于ORACLE数据库的计划中。
虽然恢复目录可以用来备份多个数据库,建议为恢复目录数据库创建一个单独的数据库。
恢复目录数据库不能使用恢复目录备份自身。
32建立恢复目录
第一步,在目录数据库中创建恢复目录所用表空间:
SQL> create tablespace rman_ts datafile 'd:\oracle\oradata\rman\rman_tsdbf' size 20M;
表空间已创建。
第二步,在目录数据库中创建RMAN 用户并授权:
SQL> create user rman identified by rman default tablespace rman_ts temporary tablespace temp quota unlimited on rman_ts;
用户已创建。
SQL> grant recovery_catalog_owner to rman ;
授权成功。
SQL> grant connect, resource to rman ;
授权成功。
第三步,在目录数据库中创建恢复目录
C:\>rman catalog rman/rman
恢复管理器:版本81600 - Production
RMAN-06008:连接到恢复目录数据库
RMAN-06428:未安装恢复目录
RMAN>create catalog tablespace rman_ts;
RMAN-06431:恢复目录已创建
注意:虽然使用RMAN不一定必需恢复目录,但是推荐使用。因为恢复目录记载的信息大部分可以通过控制文件来记载,RMAN在恢复数据库时使用这些信息。不使用恢复目录将会对备份恢复 *** 作有限制。
33使用恢复目录的优势
可以存储脚本;
记载较长时间的备份恢复 *** 作;
4 启动RMAN
RMAN为交互式命令行处理界面,也可以从企业管理器中运行。
为了使用下面的实例,先检查环境符合:
the target database is called "his" and has the same TNS alias
user rman has been granted "recovery_catalog_owner "privileges
目标数据库的连接用户为internal帐号,或者以其他SYSDBA类型帐号连接
the recovery catalog database is called "rman" and has the same TNS alias
the schema containing the recovery catalog is "rman" (same password)
在使用RMAN前,设置NLS_DATE_FORMAT 和NLS_LANG环境变量,很多RMAN LIST命令的输出结果是与日期时间相关的,这点在用户希望执行以时间为基准的恢复工作也很重要。
下例是环境变量的示范:
NLS_LANG= SIMPLIFIED CHINESE_CHINAZHS16GBK
NLS_DATE_FORMAT=DD-MON-YYYY HH24:MI:SS
为了保证RMAN使用时能连接恢复目录,恢复目录数据库必须打开,目标数据库至少要STARTED(unmount),否则RMAN会返回一个错误,目标数据库必须置于归档模式下。
41使用不带恢复目录的RMAN
设置目标数据库的 ORACLE_SID ,执行:
% rman nocatalog
RMAN> connect target
RMAN> connect target internal/<password>@his
42使用带恢复目录的RMAN
% rman rman_ts rman/rman@rman
RMAN> connect target
% rman rman_ts rman/rman@rman target internal/<password>@his
43使用RMAN
一旦连接到目标数据库,可以通过交互界面或者事先存储的脚本执行指定RMAN命令, 下面是一个使用RMAN交互界面的实例:
RMAN> resync catalog;
RMAN-03022:正在编译命令:resync
RMAN-03023:正在执行命令:resync
RMAN-08002:正在启动全部恢复目录的 resync
RMAN-08004:完成全部 resync
使用脚本的实例:
RMAN> execute script alloc_1_disk;
创建或者替代存储的脚本:
RMAN> replace script alloc_1_disk {
2> allocate channel d1 type disk;
3> }
5注册或者注销目标数据库
51注册目标数据库
数据库状态:
恢复目录状态:打开
目标数据库:加载或者打开
目标数据库在第一次使用RMAN之前必须在恢复目录中注册:
第一步,启动恢复管理器,并且连接目标数据库:
C:\>rman target internal/oracle@his catalog rman/rman@rman
恢复管理器:版本81600 - Production
RMAN-06005:连接到目标数据库:HIS (DBID=3021445076)
RMAN-06008:连接到恢复目录数据库
第二步,注册数据库:
RMAN> register database;
RMAN-03022:正在编译命令:register
RMAN-03023:正在执行命令:register
RMAN-08006:注册在恢复目录中的数据库
RMAN-03023:正在执行命令:full resync
RMAN-08002:正在启动全部恢复目录的resync
RMAN-08004:完成全部resync
52注销目标数据库
RMAN提供了一个注销工具,叫DBMS_RCVCAT工具包,请注意一旦注销了该目标数据库,就不可以使用恢复目录中含有的备份集来恢复数据库了。
为了能注销数据库,需要获得数据库的标识码(DB_ID)和数据库键值(DB_KEY)。其中连接目标数据库时将会获得DB_ID。
C:\>rman target internal/oracle@his catalog rman/rman@rman
恢复管理器:版本81600 - Production
RMAN-06005:连接到目标数据库:HIS (DBID=3021445076)
RMAN-06008:连接到恢复目录数据库
其中DBID=3021445076,利用DBID=3021445076查询数据库键值码:
连接到目标数据库,查询db表:
SQL> select from db;
DB_KEY DB_ID CURR_DBINC_KEY
---------- ---------- --------------
1 3021445076 2
获得DB_KEY=1,这样,该目标数据库DB_KEY=1,DBID=3021445076,利用两个值使用DBMS_RCVCAT工具包就可以注销数据库:
SQL> execute dbms_rcvcatunregisterdatabase(1,3021445076);
PL/SQL 过程已成功完成。
至此,注销数据库 *** 作完成。
备份脚本应该对Log重定向并保存 以便在出错的查找有用信息
与RMAN备份有关的优化
备份 *** 作主要是完成以下三个步骤
从磁盘上读取数据
在内存中处理数据块
写入数据到磁盘或磁带
以上的读写 *** 作可以同步或异步的完成 在同步I/O *** 作中 一个时间只允许有一个IO *** 作 但是在异步I/O *** 作中 一个时间允许有多个IO *** 作 因此 备份与恢复的调优主要集中在以下几个方面
提高同步或异步I/O *** 作能力
在支持异步 *** 作的 *** 作系统上 可以通过设置TAPE_AYSNCH_IO DISK_ASYNCH_IO和BACKUP_TYPE_IO_SLAVES来支持异步 *** 作 提高写的能力
提高磁盘读能力
可以在backup命令后通过设置DISKRATIO来保证从多个磁盘上读取数据 保证连续的数据流
正确设置缓冲区与参数值
设置LARGE_POOL_SIZE 使备份可以使用连续的缓冲池 通过设置DB_FIL_DIRECT_IO_COUNT可以提高缓冲区的利用 如果使用磁带备份 还可以设置BACKUP_TYPE_IO_SLAVES来提高磁带的写能力
采用并行备份
开辟多个通道 可以实现并行备份与恢复
备份RMAN数据库
RMAN自己的数据库也需要备份 但是本身很小 而且不是经常发生变化 所以在每次RMAN备份完成后 都可以用如下脚本对RMAN数据库备份
EXP pafile =exprman sql
exprman sql为
USERID=RMAN/RMAN
BUFFER=
OWNER=RMAN
FILE=RMAN DMP
ROWS=Y
GRANTS=Y
PRESS=Y
CONSISTENT=Y
使自动备份数据库
自动备份数据库不外乎以下三种方式
WINDOWS下的任务计划(At命令)
UNIX下的Crontab
第三方工具如Viritas
在以上三种方式中Viritas属于第三方工具 很多人可能都没有接触 主要说一下windows的任务计划与unix的cron
生成脚本文件 如backup rcv
假定文件内容如下
$NewsContent$gt;cat backup rcv
connect target sys/password rcvcat rman/rman@localname;
run{
allocate channel c type disk;
allocate channel c type disk;
allocate channel c type disk;
backup fileaperset format /u /oradata/backup/arch%u_%s_%p
archivelog all delete input;
release channel c ;
release channel c ;
release channel c ;
}
生成执行文件
在windows上生成backup_archive bat 内容包括
rman cmdfile = backup rcv
在unix下生成 backup_archive sh 内容包括
/oracle/ramn/rman cmdfile = backup rcv
加入调度
在windows中用任务计划向导即可 或使用at命令
在unix中 在目标机器上编写一个文件 用以启动自动备份进程 假定文件名为ORACLE 文件将放在/var/spool/cron/crontabs目录下
$NewsContent$gt;cat oracle
backup_archive sh
#表示星期天 点对数据库备份
backup_archive sh
#表示每天 点 点备份
Crontab文件的每一行由六个域(minutes hours day of month month day of week mand)组成 域之间用空格或Tab分隔开来
五 常见误区
使用EXP/IMP备份
EXP/IMP不是一个良好的备份工具 在以后的发展之中 ORACLE对EXP/IMP用于备份的支持会越来越低 ORACLE只是把EXP/IMP当作一个好的工具而不是备份工具 在对于大型数据库 如TB级数据库或数据仓库 EXP/IMP肯定会力不从心
在应用程序中备份数据库
在论坛上 有很多这样的要求 我怎么在程序中备份与恢复数据库 首先说 这个并不是不可以实现 但是实现的过程会很复杂而且意外会很多 就我的感觉 提出这样问题的人 首先一点就是对ORACLE或DBA的不了解 如果ORACLE可以这么轻松的实现备份与恢复 那么我可以说 就不需要DBA了
冷备份比热备份更容易 效果会更好
有人认为 冷备份是关闭数据库进行的一致性备份 肯定比热备份要好 使用也容易 其实不尽然 在热备份中 一样可以实现数据库的全备份 而且不会影响到数据库的运行 建议所有的生产机 都运行在归档方式下 采用热备份方式
六 常见问题
我导出的数据为什么不能导入 提示不支持的字符集转换
答 参考上面的字符集原则 导出数据时客户端与数据库字符集一致 导入时修改为与目标数据库字符集一致
我的归档日志越来越多 我什么时候可以删除归档日志
答 在每一次全备份(如OS全冷备份或全热备份)或基于全备份的增量备份(如RMAN基于 级备份上的增量备份)后都可以删除该备份点之前的归档日志 建议在磁带上保留一年
全备份时一定需要备份所有数据文件吗
答 不需要 起码有两类数据文件可以不备份 一类就是临时数据文件 如果丢失 可以删除后重建;一类是只读表空间数据文件 如果上次备份以来 没有修改过表空间的只读属性 就可以不需要备份
联机日志需要备份吗
答 如果是归档方式热备份 就没有必要备份联机日志 但是对于冷备份 可以备份联机日志 特别是不归档状态 备份过联机日志后的冷备份 因为数据库是一致的 可以恢复到该备份点
七 小结
什么是数据库备份 数据库备份就是把数据库复制到转储设备的过程
数据库的运行方式 可以分为归档方式和非归档方式 建议运行在归档方式下运行热备份
了解了数据库的备份方式 逻辑备份 冷备份 热备份
了解数据库的备份工具 EXP/IMP执行逻辑备份 OS脚本可以执行冷备份或热备份 RMAN也可以执行冷备份或热备份
了解ORACLE的备份策略 并怎样选择最佳的备份策略
lishixinzhi/Article/program/Oracle/201311/18107
3 恢复目录
31恢复目录的概念
恢复目录是由RMAN使用、维护的用来放置备份信息的仓库。RMAN利用恢复目录记载的信息去判断如何执行需要的备份恢复 *** 作。
恢复目录可以存在于ORACLE数据库的计划中。
虽然恢复目录可以用来备份多个数据库,建议为恢复目录数据库创建一个单独的数据库。
恢复目录数据库不能使用恢复目录备份自身。
32建立恢复目录
第一步,在目录数据库中创建恢复目录所用表空间:
SQL> create tablespace rman_ts datafile 'd:\oracle\oradata\rman\rman_tsdbf' size 20M;
表空间已创建。
第二步,在目录数据库中创建RMAN 用户并授权:
SQL> create user rman identified by rman default tablespace rman_ts temporary tablespace temp quota unlimited on rman_ts;
用户已创建。
SQL> grant recovery_catalog_owner to rman ;
授权成功。
SQL> grant connect, resource to rman ;
授权成功。
第三步,在目录数据库中创建恢复目录
C:\>rman catalog rman/rman
恢复管理器:版本81600 - Production
RMAN-06008:连接到恢复目录数据库
RMAN-06428:未安装恢复目录
RMAN>create catalog tablespace rman_ts;
RMAN-06431:恢复目录已创建
注意:虽然使用RMAN不一定必需恢复目录,但是推荐使用。因为恢复目录记载的信息大部分可以通过控制文件来记载,RMAN在恢复数据库时使用这些信息。不使用恢复目录将会对备份恢复 *** 作有限制。
33使用恢复目录的优势
可以存储脚本;
记载较长时间的备份恢复 *** 作;
4 启动RMAN
RMAN为交互式命令行处理界面,也可以从企业管理器中运行。
为了使用下面的实例,先检查环境符合:
the target database is called "his" and has the same TNS alias
user rman has been granted "recovery_catalog_owner "privileges
目标数据库的连接用户为internal帐号,或者以其他SYSDBA类型帐号连接
the recovery catalog database is called "rman" and has the same TNS alias
the schema containing the recovery catalog is "rman" (same password)
在使用RMAN前,设置NLS_DATE_FORMAT 和NLS_LANG环境变量,很多RMAN LIST命令的输出结果是与日期时间相关的,这点在用户希望执行以时间为基准的恢复工作也很重要。
下例是环境变量的示范:
NLS_LANG= SIMPLIFIED CHINESE_CHINAZHS16GBK
NLS_DATE_FORMAT=DD-MON-YYYY HH24:MI:SS
为了保证RMAN使用时能连接恢复目录,恢复目录数据库必须打开,目标数据库至少要STARTED(unmount),否则RMAN会返回一个错误,目标数据库必须置于归档模式下。
41使用不带恢复目录的RMAN
设置目标数据库的 ORACLE_SID ,执行:
% rman nocatalog
RMAN> connect target
RMAN> connect target internal/<password>@his
42使用带恢复目录的RMAN
% rman rman_ts rman/rman@rman
RMAN> connect target
% rman rman_ts rman/rman@rman target internal/<password>@his
43使用RMAN
一旦连接到目标数据库,可以通过交互界面或者事先存储的脚本执行指定RMAN命令, 下面是一个使用RMAN交互界面的实例:
RMAN> resync catalog;
RMAN-03022:正在编译命令:resync
RMAN-03023:正在执行命令:resync
RMAN-08002:正在启动全部恢复目录的 resync
RMAN-08004:完成全部 resync
使用脚本的实例:
RMAN> execute script alloc_1_disk;
创建或者替代存储的脚本:
RMAN> replace script alloc_1_disk {
2> allocate channel d1 type disk;
3> }
5注册或者注销目标数据库
51注册目标数据库
数据库状态:
恢复目录状态:打开
目标数据库:加载或者打开
目标数据库在第一次使用RMAN之前必须在恢复目录中注册:
第一步,启动恢复管理器,并且连接目标数据库:
C:\>rman target internal/oracle@his catalog rman/rman@rman
恢复管理器:版本81600 - Production
RMAN-06005:连接到目标数据库:HIS (DBID=3021445076)
RMAN-06008:连接到恢复目录数据库
第二步,注册数据库:
RMAN> register database;
RMAN-03022:正在编译命令:register
RMAN-03023:正在执行命令:register
RMAN-08006:注册在恢复目录中的数据库
RMAN-03023:正在执行命令:full resync
RMAN-08002:正在启动全部恢复目录的resync
RMAN-08004:完成全部resync
52注销目标数据库
RMAN提供了一个注销工具,叫DBMS_RCVCAT工具包,请注意一旦注销了该目标数据库,就不可以使用恢复目录中含有的备份集来恢复数据库了。
为了能注销数据库,需要获得数据库的标识码(DB_ID)和数据库键值(DB_KEY)。其中连接目标数据库时将会获得DB_ID。
C:\>rman target internal/oracle@his catalog rman/rman@rman
恢复管理器:版本81600 - Production
RMAN-06005:连接到目标数据库:HIS (DBID=3021445076)
RMAN-06008:连接到恢复目录数据库
其中DBID=3021445076,利用DBID=3021445076查询数据库键值码:
连接到目标数据库,查询db表:
SQL> select from db;
DB_KEY DB_ID CURR_DBINC_KEY
---------- ---------- --------------
1 3021445076 2
获得DB_KEY=1,这样,该目标数据库DB_KEY=1,DBID=3021445076,利用两个值使用DBMS_RCVCAT工具包就可以注销数据库:
SQL> execute dbms_rcvcatunregisterdatabase(1,3021445076);
PL/SQL 过程已成功完成。
至此,注销数据库 *** 作完成。
请采纳。
Rman *** 作简单分析 rman 备份恢复的一个特定例子 (参考:)rman 对dbms_backup restore 的一些特定调用完梢酝üebug 分析出来 通过设置debug 模式 我们可以跟踪到大量的Log 从而为分析提供一定的说明 假定我们提交如下的命令:rman target / debug trace=d:/rman_trace log通过查看日志我们得之 rman 首先确定数据库状态 DBGSQL: EXEC SQL AT TARGET select decode(status OPEN ) into :b from v$instance DBGSQL: sqlcode= DBGSQL: :b = 判断数据库是否是在open 状态下 然后 要去获取数据库的patible参数值 接下来调用dbms_backup_restore确定rman 可用的版本信息 对应的一些参数如下 protocol_version_number_min NUMBER := ;protocol_release_number_min NUMBER := ;protocol_update_number_min NUMBER := ;protocol_version_number_max NUMBER := ;protocol_release_number_max NUMBER := ;protocol_update_number_max NUMBER := ; 这个范围内可用 是不是很熟悉下面调用dbms_rcvman的getPackageVersion 函数($ORACLE_HOME/rdbms/admin/recover bsq创建dbms_rcvman 并可以获得相关注释)获取package 的版本可用信息 到 接下来rman 会查询V$database 从中获取name resetlogs_time resetlogs_change# dbid 等信息 下面这个比较重要 x$kcccp( Kernel Cache Checkpoint Progress)中获取检查点记录 类似如下的SQL:select nvl(max(cpmid) ) from x$kcccp where cpsta= 这些 *** 作完成后 rman 从v$option 中获取相关信息 包括 Parallel backup and recovery Incremental backup and recovery Duplexed backups Block Media Recovery Point in time tablespace recovery 通过这些来判断数据库是否具有这些功能 然后Log中显示连接到目标数据库 分析过程并不复杂 不过在涉及到深入的命令的时候会产生大量的Log 要有一定的耐心才能继续下去 在rman 出现故障的时候 设置Debug模式进行分析是一种非常有效的办法 如果可能得话 以后的文章中我会举几个例子来说明 lishixinzhi/Article/program/Oracle/201311/18446
以上就是关于Oracle11g新特性点评之RMAN全部的内容,包括:Oracle11g新特性点评之RMAN、oracle数据库管理培训(sql数据库培训课程)、oracle数据库备份问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)