仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 960|回复: 7
打印 上一主题 下一主题

[学习教程] MYSQL教程之RMAN 初学者指南

[复制链接]
金色的骷髅 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:52:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
如果你在一个遵循GPL的自由(开源)项目中使用MySQL,那么你可以遵循GPL协议使用MySQL。然而,如果你的项目不是在GPL协议下的话,你必须为使用MySQL来支付许可费用,或者你可能因为这个因素而将你的项目改为遵循GPL。初学RMAN初学者指南

转自聚贤庄  gototop
============================================
这篇文章是客岁写的了,最后宣布在chinaunix.net的oracle论坛里,收录在旧版文会合,大概良多没有看到,总有人写信要,明天乘改版之际就把它独自拿出来了。(gototop2003.6.24注)

RMAN(RecoveryManager)是DBA的一个主要工具,用于备份、复原和恢复oracle数据库,前一段工夫有网友找我要,惋惜没工夫,趁这两天出差在外没甚么事,就写了一下,供初学的伴侣参考。本文将先容RMAN的基础操纵,更多的信息请参考《Oracle8iBackup&RecoveryGuide》及RMAN手册,大概是OCPStudentGuideM09096《BackupandRecoveryWorkshop》Volume2,也能够经由过程gototop@ncn.cn和我接洽。Oracle自带的例子参考$ORACLE_HOME/rdbms/demo目次下的*.rcv剧本。

1、RMAN简介

RMAN能够用来备份和恢单数据库文件、回档日记和把持文件,也能够用来实行完整或不完整的数据库恢复。RMAN有三种分歧的用户接口:COMMANDLINE体例、GUI体例(集成在OEM中的备份办理器)、API体例(用于集成到第三方的备份软件中)。具有以下特性:
1)功效相似物理备份,但比物理备份壮大N倍,从上面的特性能够看到;
2)能够紧缩空块;
3)能够在块程度上完成增量;
4)能够把备份的输入打包成备份集,也能够按流动巨细支解备份集;
5)备份与恢复的历程能够主动办理;
6)可使用剧本(存在Recoverycatalog中)
7)能够做坏块监测

2、相干术语注释
1)Backupsets备份集
备份集望文生义就是一次备份的汇合,它包括本次备份的一切备份片,以oracle专有的格局保留。一个备份集依据备份的范例分歧,大概组成一个完整备份或增量备份。
2)Backuppieces备份片
一个备份集由多少个备份片构成。每一个备份片是一个独自的输入文件。一个备份片的巨细是无限制的;假如没有巨细的限定,备份集就只由一个备份片组成。备份片的巨细不克不及年夜于你的文件体系所撑持的文件长度的最年夜值。
3)Imagecopies映像备份
映像备份不紧缩、不打包、间接COPY自力文件(数据文件、回档日记、把持文件),相似操纵体系级的文件备份。并且只能COPY到磁盘,不克不及到磁带。能够作为增量备份的0级,一样平常用来备份把持文件。
4)Fullbackup全备份
全备份是指对数据文件中利用过的数据块举行备份,没有利用过的数据块是不做备份的,也就是说,RMAN举行备份是举行紧缩的。
5)Incrementalbackup增量备份
增量备份是指备份数据文件中自从上一次统一级其余或更初级其余备份以来被修正过的数据块。与完整备份不异,增量备份也举行紧缩。增量备份固然观点很好,备份也很复杂,但恢复起来倒是别的一回事,不但贫苦并且简单堕落,以是实践中愈来愈少利用,到了Oracle9i已倡议不再利用,今后版本会渐渐作废对增量备份的撑持。
6)Recoverycatalog恢复目次
恢复目次用于纪录RMAN利用过程当中的把持信息,恢复目次应当常常被同步(这在前面会讲到)。只管我们可使用nocatalog体例来利用RMAN,此时把持信息纪录在方针数据库的把持文件中,但如许究竟不平安,由于一旦方针数据库的把持文件破坏就意味着一切的RMAN备份生效。一样的事理恢复目次应当创建在别的一个数据库中,鄙人面的例子中我们称作“目次数据库”。

3、创立恢复目次
1、在目次数据库中创立恢复目次所用表空间
SQL>createtablespacermantsdatafilec:oracleoradataccmants.orasize20M;
表空间已创立。
2、在目次数据库中创立RMAN用户并受权
SQL>createuserrmanidentifiedbyrmandefaulttablespacermantstemporarytablespacetempquota
unlimitedonrmants;
用户已创立
SQL>grantrecovery_catalog_ownertorman;
受权乐成。
3、在目次数据库中创立恢复目次
C:>rmancatalogrman/rman
恢复办理器:版本8.1.7.0.0-Production
RMAN-06008:毗连到恢复目次数据库
RMAN-06428:未安装恢复目次
RMAN>createcatalogtablespacermants;
RMAN-06431:恢复目次已创立
4、注册方针数据库到恢复目次
注重哦,这里我的方针数据库利用的服务称号是rman,意义为要利用RMAN举行备份的数据库,而目次
数据库利用的服务称号是CC。
C:>rmantargetsys/sys@rman
恢复办理器:版本8.1.7.0.0-Production
RMAN-06005:毗连到方针数据库:RMAN(DBID=1303772234)
RMAN>connectcatalogrman/rman@cc
RMAN-06008:毗连到恢复目次数据库
RMAN>registerdatabase;
RMAN-03022:正在编译命令:register
RMAN-03023:正在实行命令:register
RMAN-08006:注册在恢复目次中的数据库
RMAN-03023:正在实行命令:fullresync
RMAN-08002:正在启动全体恢复目次的resync
RMAN-08004:完玉成部resync
好了,到此为止后面的筹办事情都做好了,上面就能够利用RMAN来举行备份和恢复了。

4、利用RMAN
上面经由过程详细的例子来讲明RMAN的利用,这里会触及到除恢复之外的一切RMAN操纵,关于利用RMAN举行恢复的内容请参考我之前写的别的一篇文章:RMAN恢复理论。
1、备份全部数据库
RMAN>run{
2>allocatechannelc1typedisk;
3>backupdatabaseformate:dbbackup2db.dmp;
4>}
2、复制数据文件
RMAN>run{
2>allocatechannelc1typedisk;
3>copydatafilec:oracleoradatamanusers01.dbftoe:dbbackupu.dbftag
=u1215;
4>}
3、检察备份及复制的信息
RMAN>listbackup;
RMAN-03022:正在编译命令:list
备份集列表
关头字Recid标志LV汇合标志汇合计数完成工夫
-----------------------------------------------------------------------
21614173470130417346992126-12月-00
备份段列表
关头字Pc#Cp#形态完成工夫段名
----------------------------------------------------------------------
21711AVAILABLE26-12月-00E:DBBACKUP2DB.DMP
数据文件包含列表
文件称号LV范例反省点SCN反省点工夫
----------------------------------------------------------------------
1C:ORACLEORADATARMANYSTEM01.DBF0Full3322426-12月-00
2C:ORACLEORADATARMANRBS01.DBF0Full3322426-12月-00
3C:ORACLEORADATARMANUSERS01.DBF0Full3322426-12月-00
4C:ORACLEORADATARMANTEMP01.DBF0Full3322426-12月-00
5C:ORACLEORADATARMANTOOLS01.DBF0Full3322426-12月-00
6C:ORACLEORADATARMANINDX01.DBF0Full3322426-12月-00
RMAN>listcopyofdatafilec:oracleoradatamanusers01.dbf;
RMAN-03022:正在编译命令:list
数据文件备份列表
关头字文件形态完成工夫反省点SCN反省点工夫称号
----------------------------------------------------------
2263A26-12月-003322626-12月-00E:DBBACKUPU.DBF
4、在备份是设置相干参数
format--文件输入格局,
%d--databasename,
%s--backupsetssequencenumber,
%p--backuppiecessequencenumber
filesperset--每一个备份会合所包含的文件数
更多参数请参考本文入手下手时列出的书。
RMAN>run{
2>allocatechannelc1typedisk;
3>setlimitchannelc1kbytes8000;
4>backup
5>formate:dbbackupdb_%d_%s_%p.bck
6>(databasefilesperset=2);
7>}
RMAN-03022:正在编译命令:allocate
RMAN-03023:正在实行命令:allocate
RMAN-08030:分派的通道:c1
RMAN-08500:通道c1:sid=9devtype=DISK
RMAN-03022:正在编译命令:setlimit
RMAN-03023:正在实行命令:setlimit
RMAN-03022:正在编译命令:backup
RMAN-03023:正在实行命令:backup
RMAN-08008:通道c1:正在启动full数据文件备份集
RMAN-08502:set_count=6set_stamp=417351064creation_time=26-12月-00
RMAN-08010:通道c1:正在指定备份会合的数据文件
RMAN-08522:输出数据文件fno=00003name=C:ORACLEORADATARMANUSERS01.DBF
RMAN-08522:输出数据文件fno=00005name=C:ORACLEORADATARMANTOOLS01.DBF
RMAN-08013:通道c1:已创立1段
RMAN-08503:段handle=E:DBBACKUPDB_RMAN_6_1.BCKcomment=NONE
RMAN-08525:备份集完成,经由工夫:00:00:03
RMAN-08008:通道c1:正在启动full数据文件备份集
RMAN-08502:set_count=7set_stamp=417351067creation_time=26-12月-00
RMAN-08010:通道c1:正在指定备份会合的数据文件
RMAN-08522:输出数据文件fno=00002name=C:ORACLEORADATARMANRBS01.DBF
RMAN-08522:输出数据文件fno=00006name=C:ORACLEORADATARMANINDX01.DBF
RMAN-08013:通道c1:已创立1段
RMAN-08503:段handle=E:DBBACKUPDB_RMAN_7_1.BCKcomment=NONE
RMAN-08525:备份集完成,经由工夫:00:00:04
RMAN-08008:通道c1:正在启动full数据文件备份集
RMAN-08502:set_count=8set_stamp=417351071creation_time=26-12月-00
RMAN-08010:通道c1:正在指定备份会合的数据文件
RMAN-08522:输出数据文件fno=00001name=C:ORACLEORADATARMANYSTEM01.DBF
RMAN-08011:备份会合包含以后把持文件
RMAN-08013:通道c1:已创立1段
RMAN-08503:段handle=E:DBBACKUPDB_RMAN_8_1.BCKcomment=NONE
RMAN-08013:通道c1:已创立2段
RMAN-08503:段handle=E:DBBACKUPDB_RMAN_8_2.BCKcomment=NONE
RMAN-08013:通道c1:已创立3段
RMAN-08503:段handle=E:DBBACKUPDB_RMAN_8_3.BCKcomment=NONE
RMAN-08013:通道c1:已创立4段
RMAN-08503:段handle=E:DBBACKUPDB_RMAN_8_4.BCKcomment=NONE
RMAN-08013:通道c1:已创立5段
RMAN-08503:段handle=E:DBBACKUPDB_RMAN_8_5.BCKcomment=NONE
RMAN-08013:通道c1:已创立6段
RMAN-08503:段handle=E:DBBACKUPDB_RMAN_8_6.BCKcomment=NONE
RMAN-08013:通道c1:已创立7段
RMAN-08503:段handle=E:DBBACKUPDB_RMAN_8_7.BCKcomment=NONE
RMAN-08525:备份集完成,经由工夫:00:00:19
........
RMAN-08008:通道c1:正在启动full数据文件备份集
RMAN-08502:set_count=9set_stamp=417351090creation_time=26-12月-00
RMAN-08010:通道c1:正在指定备份会合的数据文件
RMAN-08522:输出数据文件fno=00004name=C:ORACLEORADATARMANTEMP01.DBF
RMAN-08013:通道c1:已创立1段
RMAN-08503:段handle=E:DBBACKUPDB_RMAN_9_1.BCKcomment=NONE
RMAN-08525:备份集完成,经由工夫:00:00:07
RMAN-03023:正在实行命令:partialresync
RMAN-08003:启动部分恢复目次的resync
RMAN-08005:完成部分resync
RMAN-08031:开释的通道:c1
5、利用剧本功效
利用剧本的目标在于便利我们操纵中的便利,操纵上和存储历程类似。
RMAN>createscriptl0dbbackup{
2>allocatechannelc1typedisk;
3>backup
4>formate:dbbackupdb_%d_%s_%p.bck
5>(databasefilesperset=2);
6>}
RMAN-03022:正在编译命令:createscript
RMAN-03023:正在实行命令:createscript
RMAN-08085:已创立剧本l0dbbackup
RMAN>run{executescriptl0dbbackup;}
 
采用DBaaS解决方案,他们也可以使用同大企业一样的技术。在大型组织中,DBaaS可以提供部门级解决MySQL学习教程,而无需IT部门和采购部门的介入,提供更快和更容易的方法来实现小型解决方案。
再现理想 该用户已被删除
沙发
发表于 2015-1-20 05:43:15 | 只看该作者
对递归类的树遍历很有帮助。个人感觉这个真是太棒了!阅读清晰,非常有时代感。
愤怒的大鸟 该用户已被删除
板凳
发表于 2015-1-25 23:31:11 | 只看该作者
Mirror可以算是SQLServer的Dataguard了。但是能不能被大伙用起来就不知道了。
莫相离 该用户已被删除
地板
发表于 2015-2-4 13:02:20 | 只看该作者
如果你是从“学习某一种数据库应用软件,从而获得应聘的资本和工作机会”的角度来问的话。
透明 该用户已被删除
5#
发表于 2015-2-9 22:50:56 | 只看该作者
其实可以做一下类比,Oracle等数据库产品老早就支持了java编程,而且提供了java池参数作为用户配置接口。但是现在有哪些系统大批使用了java存储过程?!连Oracle自己的应用都不用为什么?!
再见西城 该用户已被删除
6#
发表于 2015-2-28 03:28:25 | 只看该作者
是否碎片会引发效率问题?这都是需要进一步探讨的东西。varbinary(max)代替image也让SQLServer的字段类型更加简洁统一。
只想知道 该用户已被删除
7#
发表于 2015-3-9 20:19:24 | 只看该作者
两个月啃那本sqlserver2005技术内部-存储引擎,花了几个月啃四本书
金色的骷髅 该用户已被删除
8#
 楼主| 发表于 2015-3-23 10:25:04 | 只看该作者
对于数据库来说,查询是数据库的灵魂,那么SQL查询效率究竟效率如何呢?下文将带对SQL查询的相关问题进行讨论,供您参考。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-15 03:30

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表