rman 详解
- 格式:doc
- 大小:36.50 KB
- 文档页数:7
RMAN基本配置及使用RMAN(Recovery Manager)是Oracle数据库中用于备份和恢复数据的工具。
下面将介绍RMAN的基本配置和使用。
RMAN的基本配置主要包括以下几个方面:2.目标数据库:在配置RMAN之前,需要确定要备份和恢复的目标数据库。
可以使用RMAN备份和恢复本地数据库,也可以备份和恢复远程数据库。
3. RMAN库:为了存储备份和恢复相关的信息,需要创建RMAN库。
RMAN库是一个Oracle数据库,可以使用RMAN自带的脚本创建。
4.用户和权限:在使用RMAN之前,需要创建一个具有备份和恢复权限的用户,并为该用户授予适当的权限。
RMAN的基本使用主要包括以下几个方面:1.备份数据库:使用RMAN可以对整个数据库或者指定的表空间、数据文件、归档日志等进行备份。
备份可以是完全备份或者增量备份。
-完全备份:备份整个数据库,包括数据文件、归档日志等。
-增量备份:备份自上次备份以来发生变化的数据文件和归档日志。
2.恢复数据库:-完全恢复:通过恢复完整备份和归档日志来恢复整个数据库。
-部分恢复:恢复指定的表空间、数据文件等。
在进行数据库恢复之前,需要先关闭数据库,并将数据库设置为归档模式,以确保可以使用归档日志进行恢复操作。
3.数据库验证:使用RMAN可以对备份文件进行验证,以确保备份文件的完整性和可用性。
4.数据库迁移:使用RMAN可以将数据库从一个主机迁移到另一个主机,包括数据文件、归档日志等。
除了以上基本使用方式外,RMAN还支持许多其他功能,如增量备份合并、备份集管理、备份同步等。
这些功能可以根据具体需求进行配置和使用。
总结来说,RMAN是Oracle数据库中用于备份和恢复数据的重要工具,配置和使用RMAN需要注意设置RMAN配置文件、确定目标数据库、创建RMAN库、创建用户和权限等。
基本使用包括备份数据库、恢复数据库、数据库验证和数据库迁移等操作。
使用RMAN可以为Oracle数据库提供强大的数据备份和恢复功能。
OracleRMAN快速进门指南前言1.什么是RMANRMAN能够用来备份和复原数据库文件、回档日志和操纵文件。
它也能够用来执行完全或不完全的数据库恢复。
注重:RMAN不能用于备份初始化参数文件和口令文件。
RMAN启动数据库上的Oracle效劳器进程来进行备份或复原。
备份、复原、恢复是由这些进程驱动的。
本文重点讨论由OEM的BackupmanagerGUI来操纵RMAN,也能够采纳纯足本的方式来操纵RMAN,但在本文章里不作讨论。
2.名词解释2.1.目标数据库:需要备份的数据2.2.恢复名目数据库:用于存放目标数据库备份信息的数据库2.3.恢复名目:恢复名目是由RMAN使用、维护的一些表格,RMAN利用恢复名目记载的信息往判定如何执行需要的备份恢复操作。
恢复名目数据库不能使用恢复名目备份自身。
3.流程操作方法4.1用户授权在控件面板治理工具本地平安策略本地策略用户权利指派作为批处理作业登录选项中增加〞administrator〞用户能够利用Oracle的ConfigurationnAssistant工具创立一个喊RMAN的数据作业恢复名目的数据库。
4.2建立恢复名目表空间和用户第一步,在名目数据库中创立恢复名目所用表空间:SQL>createtablespacerman_tsdatafile'd:\oracle\oradata\rman\rman_t s.dbf'size20Mreuseautoextendonnext20Mmaxsize60M;表空间已创立。
第二步,在名目数据库中创立RMAN用户并授权:SQL>createuserrmanidentifiedbyrmandefaulttablespacerman_tstemp orarytablespacetempquotaunlimitedonrman_ts;用户已创立。
SQL>grantrecovery_catalog_owner,connect,resourcetorman;授权成功。
RMAN介绍及使用•可以备份库、表空间、数据文件、控制文件及日志文件 exp不能备份控制文件/数据文件和日志文件•压缩备份可以之备份变化的内容•集成第三方磁带媒介软件•可以在oracle数据库的目录中存放备份信息,及用数据库管理备份信息RMAN常用概念•目标库•客户端•闪回区(Flash Recovery Aera):存放备份和恢复相关信息的磁盘区域•介质管理 (System Backup to)•恢复目录(Recovery Catalog):一个独立的数据库,用于存放目标数据库的备份,可以存放多个数据库。
恢复目录一般创建在异地设备中。
•创建恢复目录–创建恢复目录数据库并创建用户–给恢复目录用户赋角色和权限–创建恢复目录create tablespace rmtablesapce datafile 'e:\app\admin\oradata\orcl\ rmtablespace.DBF'size 100m autoextend on next 10m maxsize 500m permanent extent mana gement local;create user rm identified by "123456" default tablespace rmtablespa ce temporary tablespace temp quota unlimited on rmtablespace profile default account unlock;grant dba to rm;grant connect to rm;grant resource to rm;grant recovery_catalog_owner to rm;rman --进入恢复目录管理器connect catalog rm/123456 --通过创建好的恢复目录用户连接到恢复目录数据库。
RMAN详细教程(⼀):基本命令代码⼀、target——连接数据库1、本地:[oracle@oracle ~]$ rman target /2、远程:[oracle@oracle ~]$ rman target sys/oracle@orcl⼆、show——查看配置RMAN> show all //总配置参数,具体看configure模块CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # defaultCONFIGURE BACKUP OPTIMIZATION OFF; # defaultCONFIGURE DEFAULT DEVICE TYPE TO DISK; # defaultCONFIGURE CONTROLFILE AUTOBACKUP OFF; # defaultCONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; #defaultCONFIGURE DEVICE TYPE DISK PARALLELISM 1; # defaultCONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # defaultCONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # defaultCONFIGURE MAXSETSIZE TO UNLIMITED; # defaultCONFIGURE SNAPSHOT CONTROLFILE NAME TO‘C:ORACLE..SNCFTEST.ORA’; #defaultRMAN> show channel; // 通道分配RMAN> show device type; // IO 设备类型RMAN> show retention policy; // 保存策略RMAN> show datafile backup copies; // 多个备份的拷贝数⽬RMAN> show maxsetsize; // 备份集⼤⼩的最⼤值RMAN> show exclude; // 不必备份的表空间RMAN> show backup optimization; // 备份的优化三、configure——调整配置1、configure retention policy to redundancy 1;舍弃备份原则,共三种,分别是:(1)CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;保持所有⾜够的备份,可以将数据库系统恢复到最近七天内的任意时刻。
RMAN备份1、创建映像文件备份2、创建整体数据库备份3、创建完全数据库备份4、启用快速增量备份5、创建双向备份集6、备份备份集7、创建RMAN多部分备份8、创建归档备份以用于长期保留9、报告和维护备份1:创建映像文件备份即在backup的时候指定as copy即可。
2、备份整体数据库。
即将所有数据文件及归档文件,还有控制文件跟参数文件备份了去:如下:所有,看到上面,可以发现归档,数据,参数,控制4种文件都备份。
3:增量备份。
(1):完全备份:即将包含所有使用的数据文件块备份。
(即不包括高水位以上的和以下未使用的块)。
这样,就是完全备份。
将users表空间的使用的数据块全部备份了(2)0级增量备份:等同于标记为0级的完全备份(即跟完全备份不同的是0级增量备份能增量备份,完全备份不能。
)即可以在这个备份上做增量备份。
(3)1级累积增量备份:只包含自上次0级增量备份以来修改过的块。
(4)1级差异增量备份:只包含自上次增量备份以来修改过的块。
与1级累积增量备份不同的是,1即累积增量备份是自上次0级增量备份以来修改过的块,而差异增量备份是上次增量备份以来修改过的块,下面来个图比较:4、快速增量备份:通过块更改跟踪实现,它可以:维护自上次备份以来发生更改的块的记录。
生成重做时,将此记录写入文件。
执行备份时自动访问,使备份更快的执行。
快速增量备份,即启用块更改跟踪。
块更改跟踪会将有更改的每个块得物理地址写入到一个文件中。
需要执行增量备份时,RMAN可查看块更改跟踪文件,并只备份该文件所引用的块,无需通过扫描每个块来确定该块自上次备份以来是否发生过更改。
这会加快增量备份的速度。
跟踪文件的维护是完全自动进行的,不需用户干预。
如下:启用了块更改跟踪。
因为是0级增量备,所以会记录全部的扫描的129个,我们给他加个表,再1级增量备份试试;从上面图中发现,不是1级增量备份明显比0级得扫描的块少,只要扫描和更改改变的块就行了。
Rman基础入门1R m a n基础知识Rman可以连接本地数据库,也可以连接远程数据库。
连接远程数据库时需要数据库启动,并保证监听配置正常。
1.1连接本地数据库1.1.1在不使用c a t a l o g时:rman target / #登录进入rman或RmanRMAN>connect target /若是本地有多个数据库实例启动,需要设置oracle_sidSet oracle_sid=oracleSID #Windows平台Export oracle_sid=oracleSID#Linux平台1.1.2在使用c a t a l o g时connect catalog rman/rman@rmandb; #catalog库名视现状而定1.2连接远程数据库C:\Documents and Settings\ytao007>rman target sys/oracle@ycydb或rmanRMAN> connect target sys/oracle@ycydb1.3记录r m a n日志在启动rman时可以指定日志输出,将rman所有的执行情况记录在日志文件中,而不显示在屏幕上:C:\Documents and Settings\ytao007>rman target sys/oracle@ycydb log d:\rman_log.txtrman会将执行的结果直接输出到指定的d:\rman_log.txt文件。
有两点需要注意:Ø此时指定目录需要绝对路径,如果路径指定错误或不存在,rman不会给出提示,也不会自动建立目录。
Ø如果连接的是远程数据库,日志会记录在本地而不是远程数据库服务器。
1.4启动、关闭数据库在RMAN中执行关闭和启动数据库的命令与SQL环境下一样。
简单列举如下:RMAN> startup nomount#启动数据库到nomount状态RMAN> alter database mount #将数据库启动到mount状态RMAN> alter database open #打开数据库RMAN> alter database open resetlogs#以resetlogs方式打开数据库,一般用在恢复控制文件以后。
Oracle9i恢复管理器(RMAN)什么是RM AN恢复管理器(Recovery Manager,RM AN)是一个与操作系统无关的数据库备份工具,可以跨越不同的操作系统进行数据库备份。
RMAN必须运行在一个数据库上。
与常用的数据库备份、逻辑数据库备份不同,RMAN使用数据库对数据库进行备份的原理。
在RMAN屮,可以使用COPY命令将数据库文件复制到磁盘或磁带上,也可以用BACKUP命令对整个数据库、一个指定的表空间、控制文件、LI志文件迹行备份。
什么是恢复H录恢复H录(Recovery Catalog)是建立在RMAN数据库上的一种存储对象,由RMAN 自动维护。
通过恢复目录,RMAN可以从目录数据库控制文件屮自动获得信息。
创建恢复目录:1、创建恢复目录数据库(详见手动创建数据库)系统表空间SYSTEM: 300MRBS表空间:10M临时表空间:10M口志文件设置:3个日志文件组,每组两个口志成员,大小10MCatalog表空间:表空间名为cattbs,大小为50M2、创建RMAN用户SQL>Create user rman identifiey by rman default tablespace cattbs temporary tablespace temp;SQL>Grant connect,resource to rman;SQL>Grant recovery_catalog_owner to rman;3、创建恢复目录$rman catalog rman/rman@「manRMAN>create catalog;连接到H标数据库1、连接到目录数据库无恢复目录Srman no catalog RMAN>connect target sys/passwd @网络连接串有恢复目录$rman catalog rman/rman @ rman RMAN>connect target sys/passwd@ 网络连接串2、注册与注销数据库注册数据库RMAN>register database;注销数据库Ssqlplus nnan/rman@imanSQL>select * from db; #杳看已注册数据库的db_key,db_idSQL>exec dbms_rcvcat.un「egiste「database(db_key,db_id);3、将目标数据库与恢复目录同步RMAN>resync catalog;除手工同步外可以在参数文件屮增加参数CONTROL_FILE_RECORD_KEEP_TIME设置同步时问,该参数默认为7天。
RMAN的备份与恢复步骤详解RMAN(Recovery Manager)是Oracle数据库备份和恢复技术的核心工具,提供了一种集中管理和自动化备份和恢复操作的方式。
下面将详细介绍RMAN的备份与恢复步骤。
备份步骤:1.配置RMAN环境:确定RMAN备份目标、备份库、目标库的连接信息,并设置环境变量。
2.创建RMAN备份目标:使用CREATECATALOG命令创建RMAN备份目标,以存储备份信息和恢复目标的元数据。
3.创建备份策略:确定备份类型(完全备份、增量备份、增量备份级别等),备份周期(每日、每周)、备份级别(全局备份、局部备份)以及备份介质(磁盘、磁带)等。
4.执行备份命令:使用BACKUP命令执行备份操作。
根据备份策略选择相应的备份类型,并指定备份集的存储位置。
可以使用全量备份、增量备份或归档日志备份等方式进行备份。
5.备份验证和测试:使用RESTORE命令验证备份集是否可恢复。
可以恢复到测试库中,检查数据的完整性以及备份恢复的过程和时间。
恢复步骤:1.准备恢复环境:确定系统状态,关闭数据库、归档日志模式,备份控制文件,以备份增量恢复,恢复目标数据库的连接信息,并设置环境变量。
2.恢复控制文件:将备份的控制文件还原到指定位置,以获取数据库的结构信息。
3.恢复数据库文件:使用RESTORE命令恢复需要的数据文件。
可以选择完全恢复(使用全量备份和归档日志进行恢复)、增量恢复(使用增量备份和归档日志进行恢复)或点恢复(使用时间点或SCN号进行恢复)的方式。
4.打开数据库:使用OPENRESETLOGS命令打开数据库,恢复数据库文件到最新的状态。
5.检查恢复结果:验证恢复后数据库的完整性和一致性。
使用相应的SQL语句检查数据的正确性、索引的可用性和对象的有效性。
常见问题处理:1.恢复失败的处理:RMAN提供了很多失败后的处理命令,比如RECOVER命令来恢复损坏的数据文件,CROSSCHECK命令来检查备份文件的完整性等。
一步一步学rman进入rmanrman命令知多少rman备份演练初级篇rman备份演练进阶篇rman外传-基础资料篇1实战rman备份rman外传-基础资料篇2演练rman恢复实战rman恢复(1)丢失控制文件的恢复实战rman恢复(2)恢复到异机rman笔记之综述一、连接本地数据库通过rman连接本地数据库非常简单,以windows平台为例,进入到命令提示符界面:C:\Documents and Settings\Administrator>set oracle_sid=jsswebC:\Documents and Settings\Administrator>rman target /恢复管理器: 版本9.2.0.1.0 - ProductionCopyright (c) 1995, 2002, Oracle Corporation. All rights reserved.连接到目标数据库: JSSWEB (DBID=3391142503)RMAN>注:如果本地库只有一个实例,则不需要指定oracle_sid。
Rman会自动连接到默认实例。
当然,你也可以先启动rman,然后再通过connect来连接目标数据库,如下:C:\Documents and Settings\Administrator>set oracle_sid=jsswebC:\Documents and Settings\Administrator>rman恢复管理器: 版本9.2.0.1.0 - ProductionCopyright (c) 1995, 2002, Oracle Corporation. All rights reserved.RMAN> connect target /连接到目标数据库: JSSWEB (DBID=3391142503)RMAN>二、连接远程数据库如果要连接的目标数据库是一个远程数据库,那么必须在建立连接时指定一个有效的网络服务名,同时你本地的tnsname.ora文件中也必须已经建立了该网络服务名的正确配置。
rman常用命令摘要:一、RMAN 简介二、RMAN 常用命令分类1.备份命令2.还原命令3.恢复命令4.镜像命令5.管理命令三、RMAN 命令使用案例1.备份案例2.还原案例3.恢复案例4.镜像案例5.管理案例正文:RMAN(Recovery Manager)是Oracle 数据库中一款强大的数据备份和恢复工具。
它能够提供全面的数据保护,确保数据的安全性和完整性。
在实际应用中,掌握RMAN 的常用命令是进行数据库管理工作的基本要求。
本文将详细介绍RMAN 的常用命令,并通过实际案例演示如何应用这些命令。
一、RMAN 简介RMAN 是Oracle 数据库自带的一款备份和恢复工具,相较于传统的备份工具,如cp、tar 等,RMAN 具有更强大的功能,能够实现数据库的在线备份、自动备份、数据恢复等多种操作。
二、RMAN 常用命令分类下面我们将详细介绍RMAN 的常用命令,并根据功能将其分类。
1.备份命令RMAN 提供了一系列备份命令,用于对数据库、表空间、数据文件等进行备份。
常用的备份命令有:- backup database plus archivelog- backup database plus archivelog all- backup database plus archivelog incremental- backup database plus archivelog differential2.还原命令RMAN 的还原命令用于将备份的数据恢复到数据库中。
常用的还原命令有:- recover database- recover database until point- recover database plus archivelog- recover database plus archivelog until point3.恢复命令恢复命令用于将数据库恢复到某一特定时刻的状态。
常用的恢复命令有:- reset database- reset database plus archivelog- mount database- open database4.镜像命令RMAN 的镜像命令用于创建数据库的镜像副本。
oracle中rman解读-回复什么是Oracle中的RMAN?Oracle Recovery Manager(RMAN)是Oracle数据库管理系统的备份和恢复工具。
它是一个命令行接口工具,用于创建、备份和恢复数据库。
RMAN提供了许多功能,使数据库管理员能够轻松地管理数据库的备份和恢复操作。
RMAN的主要功能包括:1. 数据库备份:RMAN可以创建全备份、增量备份和归档日志备份。
全备份是对整个数据库的备份,增量备份是对数据库发生变化的部分进行备份,并且归档日志备份用于保存数据库发生的所有事务。
2. 数据库恢复:RMAN可以使用备份文件来恢复数据库的状态。
无论是数据库崩溃、数据文件损坏还是误删除数据,RMAN都能通过备份文件将数据库恢复到先前的状态。
3. 数据库克隆:RMAN可以创建数据库的克隆,即使用备份文件创建一个与源数据库相同的副本。
这对于创建测试环境或实现高可用性方案(如数据保护和灾难恢复)非常有用。
4. 数据库转储和还原:RMAN可以将整个数据库或部分数据库导出到外部设备(如磁盘或磁带)上,然后可以使用导出文件将数据库还原到其他数据库中。
5. 定时备份:RMAN可以根据预定的计划定期创建数据库备份。
这样可以确保备份的频率足够高,以便在发生故障时尽快恢复数据库。
6. 数据库压缩:RMAN可以在备份过程中压缩数据库备份文件,以减少存储空间的使用。
这在备份大型数据库时尤为重要。
下面是如何使用RMAN执行常见任务的步骤:1. 连接到RMAN:使用操作系统命令行或RMAN命令行以管理员权限登录到数据库服务器。
2. 创建备份:使用RMAN命令创建数据库备份。
你可以选择全备份、增量备份或归档日志备份。
例如,创建全备份可以使用以下命令:RMAN> BACKUP DATABASE;3. 恢复数据库:如果数据库发生故障,可以使用RMAN命令从备份集中恢复数据库。
例如,如果要将数据库恢复到最新的全备份点,可以使用以下命令:RMAN> RECOVER DATABASE;4. 克隆数据库:如果要创建数据库的副本,可以使用RMAN命令创建数据库克隆。
rman 参数RMAN(Recovery Manager)是Oracle数据库管理系统中的备份和恢复工具,它提供了广泛的参数选项,用于控制备份、还原和恢复操作的行为。
以下是RMAN的一些重要参数及其详细说明:1.TARGET●用法:TARGET {connect_string | /}●描述:指定要备份或恢复的目标数据库的连接字符串。
可以是用户名/密码@数据库实例或者使用连接描述符。
2.CATALOG●用法:CATALOG connect_string●描述:指定RMAN备份信息的目录数据库的连接字符串。
用于存储和管理备份集信息的中央目录数据库。
3.NOCATALOG●用法:NOCATALOG●描述:指示RMAN不使用目录数据库,而是在本地存储备份信息。
备份信息将存储在控制文件或备份集中。
4.AUXILIARY●用法:AUXILIARY connect_string●描述:指定辅助实例的连接字符串,用于执行复制、转换或迁移操作。
5.BACKUP●用法:BACKUP {backup_type} [backup_parameters]●描述:指定备份操作的类型和相关参数。
备份类型可以是整个数据库、表空间、数据文件、控制文件等。
6.RESTORE●用法:RESTORE {restore_type} [restore_parameters]●描述:指定还原操作的类型和相关参数。
还原类型可以是整个数据库、表空间、数据文件等。
7.RECOVER●用法:RECOVER {recover_type} [recover_parameters]●描述:指定恢复操作的类型和相关参数。
恢复类型可以是完全恢复、不完全恢复或取消更改等。
8.FORMAT●用法:FORMAT 'format_string'●描述:指定备份集或备份文件的命名格式。
可以使用变量和日期格式化选项来生成动态的命名格式。
9.TAG●用法:TAG 'tag_name'●描述:为备份集或备份文件指定标签。
RMAN地备份与恢复步骤详解RMAN(Recovery Manager)是Oracle数据库中用于备份和恢复数据的工具。
RMAN提供了一种灵活、高效的备份和恢复机制,可以帮助数据库管理员有效地管理数据库的备份和恢复工作。
在本文中,我们将详细介绍RMAN备份与恢复的步骤和操作方法。
备份步骤:1.配置RMAN环境:在开始进行RMAN备份之前,首先需要配置RMAN环境。
这包括设置RMAN的环境变量、创建RMAN的配置文件以及配置RMAN的连接信息等操作。
您可以使用RMAN命令行或者RMAN配置助手来完成这些操作。
2.创建备份任务:在配置好RMAN环境之后,可以通过RMAN命令行或者RMAN配置助手来创建备份任务。
您可以选择全量备份、增量备份或者归档日志备份等不同类型的备份任务。
3. 执行备份任务:一旦创建了备份任务,就可以使用RMAN命令来执行备份任务。
您可以使用“backup database”命令来执行全量备份任务,使用“backup incremental”命令来执行增量备份任务,使用“backup archivelog”命令来执行归档日志备份任务等。
4. 监控备份过程:在执行备份任务的过程中,可以使用RMAN命令来监控备份的进度和状态。
您可以使用“show”命令来查看备份任务的进度、使用“list”命令来列出备份文件的信息等。
5. 完成备份任务:一旦备份任务执行完毕,可以使用RMAN命令来验证备份文件的完整性和一致性。
您可以使用“crosscheck”命令来验证备份文件的状态,使用“delete”命令来删除过期的备份文件等。
恢复步骤:1.配置RMAN环境:在开始进行RMAN恢复之前,需要先配置好RMAN的环境。
确保RMAN的环境变量、配置文件和连接信息都已经设置好。
2. 恢复数据库:如果数据库遇到了故障或者数据丢失的情况,可以使用RMAN命令来恢复数据库。
您可以使用“restore database”命令来还原数据库的备份文件,使用“recover database”命令来恢复数据库的数据文件。
rman原理RMAN即Recovery Manager,它是Oracle提供的用于备份和恢复数据库的工具。
下面我们来详细了解一下RMAN的原理。
一、备份RMAN的备份分为在线备份和离线备份两种。
在线备份是在数据库运行的同时备份数据库,而离线备份需要关闭数据库才能备份。
1. 在线备份原理在进行在线备份时,RMAN会先把被备份的数据文件标记为“备份使能”,然后创建一个备份集,将备份集的信息存储到控制文件中。
接着,RMAN会将需要备份的数据块读入内存,并生成一个输入流,将输入流和备份集的信息一起写入备份设备中。
最后,RMAN会将备份设备中的备份集的信息更新到控制文件中。
2. 离线备份原理离线备份需要先将数据库关闭,然后再备份数据库。
RMAN在备份时,会先读取控制文件中的信息,然后将所有数据文件读入内存,并生成一个输入流,将输入流写入备份设备中。
备份完成后,RMAN会将备份设备中的备份集的信息更新到控制文件中。
二、恢复恢复分为完全恢复和不完全恢复两种。
完全恢复是将数据库恢复到最后一次备份的状态,而不完全恢复则是将数据库恢复到指定的时间点或者将一些表空间或数据文件进行恢复。
1. 完全恢复原理完全恢复的原理是要满足两个条件:备份和日志。
首先,需要用备份来恢复到某一个时间点。
然后,将数据库日志应用到这个时间点之后,直至“恢复完成”为止。
在执行完备份后,通过RMAN恢复数据库到某一个时间点,RMAN 首先需要使用备份生成一个控制文件副本。
然后,使用REDOS文件将数据库恢复到指定的时间点。
继而,将REDO日志应用到指定时间点之后,最后检查数据库的一致性。
2. 不完全恢复原理不完全恢复的原理相对于完全恢复来说要简单一些。
即可以通过备份恢复,也可以通过RMAN将某一表空间或者数据文件进行恢复。
在进行不完全恢复时,需要先确认恢复的是表空间还是数据文件,并选择方式进行恢复。
如果是表空间的话,需要确定恢复的表空间中存在的数据文件和控制文件是否可以找到。
RMAN基本概念RMAN基本概念【官⽅⽂档】Backup and Recovery Reference ---> Backup and Recovery User's Guide1 RMAN介绍1.1 RMAN功能Recovery Manager,是备份和恢复数据库的管理⼯具由server process进⾏备份和恢复rman备份的⽂件种类 datafile(database、tablespace、datafile) controlfile、spfile(智能备份spfile,不可备份pfile) archivelog在归档模式下⽀持⾮⼀致性备份(热备)⾮归档⽅式的RMAN只能冷备,并在mount下做⾮归档⽅式的RMAN恢复只能还原最后⼀次备份1.2 RMAN特点不备份数据⽂件中未分配的块以及未使⽤的块,节省时间空间不备份临时表空间可以实现增量备份⽀持多通道并⾏⼯作可以备份ASM⽂件1.3 RMAN架构1)可连接三类数据库:target database(备份的⽬标库),duplicate database(复制数据库),catalogdatabase(⽬录数据库)2)存储设备:disk、tape(sbt磁带机)存放备份⽂件的设备3)channel:⽬标库和存储设备之间备份恢复通道(服务进程)默认最少启动⼀个channel,可同时启动多个channel并发操作4)server process:⽤于备份和恢复的进程5)rman的元数据:记录备份的信息(放在⽬标库的controlfile⾥)6)catalog database:集中管理、存放多个库的备份的元数据metadata,还可以存储备份脚本7)MML:media manage layer介质管理层:⽤于管理磁带机的库⽂件或驱动2 环境准备2.1 数据库归档模式2.2 设置快速恢复区fast recovery areamkdir /u01/flash_recovery_areaalter system set db_recovery_file_dest_size=4G;alter system set db_recovery_file_dest='/u01/flash_recovery_area';show parameter db_recovery_file_dest3 连接⽅法3.1 本地连接RMAN⼯具和target database在同⼀台服务器rman target /3.2 远程连接RMAN客户端通过ORACLE_NET连接target database,需在target database启动监听,在client配置tnsnames.ora rman target sys/oracle@orclrman target sys/oracle@192.168.9.10:1521/orcl4 RMAN的命令格式4.1 交互式(也叫stand alone⽅式)⼀条⼀条命令执⾏并等待其反馈: RMAN> shutdown immediate; RMAN> startup force mount; RMAN> alter database open; RMAN> sql 'alter system switch logfile'; RMAN> sql 'alter database datafile 4 offline'; RMAN> sql 'select * from scott.emp'; select 不显⽰结果4.2 批处理⽅式(也叫job⽅式)将⼀批命令放在run{}中执⾏: RMAN> run { shutdown immediate; startup mount; allocate channel c1 type disk; 分配通道必须写在run{}中,c1为⾃定义的通道名称,不能单独执⾏命令 allocate channel c2 type disk; backup database format '/u01/backup/rman/db_%d_%T_%U.bak'; alter database open; release channel c1; 释放通道必须写在run{}中,不能单独执⾏命令 release channel c2; }5 配置RMAN的环境查看RMAN所有的全局环境配置show all;5.1 【保留策略】retention policy第⼀⾏:CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default保留策略:⽤来决定哪些备份是有效的,⽽哪些备份是淘汰的保留策略决定了备份是否为obsoleteobsolete有“淘汰、过时”的意思,RMAN还原备份时不会选择obsolete的备份1)冗余度策略redundancy,给定⾄少需要保留最近的N份备份,更早的备份会被obsolete例如,如果有3个备份,⽽冗余数是2,那么最早的那个备份(即第1个备份)将被废弃2)恢复窗⼝策略recovery window,指定⼀个时间窗⼝,此策略将保证必须能恢复此时间段内任⼀个时刻的数据obsolete和expired的区别: obsolete过时的,根据保留策略,restore时不使⽤,可以删除,但依然有效 expired过期的,⽆效的5.1.1 recovery window恢复窗⼝⾄少有⼀个备份能恢复到sysdate-7的时间点上,之前的备份将标记为obsoleteCONFIGURE RETENTION POLICY TO recovery window of7 days;5.1.2 reduadancy冗余度CONFIGURE RETENTION POLICY TO redundancy 2;5.1.3 不使⽤保留策略CONFIGURE RETENTION POLICY TO none;不会将备份标记为obsolete状态5.1.4 清除、恢复默认配置CONFIGURE RETENTION POLICY clear;5.1.5 保留策略实验:redundancy 1设置备份保留策略为:冗余度 1,连续备份2次同⼀个数据⽂件,查看是否有obsolete的备份创建存放 rman 备份⽬录mkdir /u01/backup/rmanls -ld /u01/backup/rman列出构成数据库的数据⽂件report schema;备份users01.dbf数据⽂件backup datafile 7 format '/u01/backup/rman/users_%d_%T_%U.bak';列出obsolete备份report obsolete;再次备份users表空间backup tablespace users format '/u01/backup/rman/users_%d_%T_%U.bak';列出obsolete备份report obsolete;删除过时备份delete obsolete;再次列出obsolete备份report obsolete;查看备份列表list backup;也可以删除未obsolete的指定备份集list backup;delete backupset 3;list backup;5.2 【备份优化】backup optimization第⼆⾏:CONFIGURE BACKUP OPTIMIZATION OFF; # default如果优化设置打开,针对归档⽇志,只读或脱机表空间的数据⽂件,因为这些⽂件是不会变化的,备份集运⾏⼀个优化算法,全库备份时跳过重复的备份⽂件备份优化选项依赖于RETENTION POLICY策略,如果启⽤优化,在已有⾜够相同⽂件副本的情况下(r+1),RMAN将不创建额外的⽂件副本5.2.1 开启备份优化选项CONFIGURE BACKUP OPTIMIZATION on;5.2.2 将users表空间设置为只读alter tablespace users read only;select tablespace_name,status from dba_tablespaces;5.2.3 做三次全库备份注意第3次全备时,users表空间不备份,redundancy为1,保留2份backup database format '/u01/backup/rman/db_%d_%T_%U.bak';backup database format '/u01/backup/rman/db_%d_%T_%U.bak';backup database format '/u01/backup/rman/db_%d_%T_%U.bak';list backup;5.2.4 将users表空间恢复为可读写alter tablespace users read write;5.3 默认设备第三⾏:CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default设备类型有两种,可以是磁盘(DISK),或者磁带(STB),默认为磁盘5.4 【控制⽂件⾃动备份】第四⾏:CONFIGURE CONTROLFILE AUTOBACKUP ON; # default设置控制⽂件⾃动备份off:默认情况下,在备份system表空间时,会备份controlfile和spfileon:①在做任何⽂件的备份时,都会⾃动备份controlfile和spfile ②数据库的物理结构发⽣变化时,也⾃动备份controlfile(延迟创建)默认off时,备份users表空间时不备份controlfile和spfile5.5 控制⽂件⾃动备份路径、名称第五⾏:CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; #default 给出控制⽂件⾃动备份的路径和命名⽅式,缺省是‘%F’,控制⽂件⾃动备份将放⼊db_recovery_file_dest⽬录下,也可以指定到其他地⽅,如:CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/u01/backup/rman/%F';关于%:%告诉RMAN要使⽤的格式模板,以便备份⽂件的命名引⽤预定的格式 %d 数据库名称 %u ⼀个⼋个字符的名称代表备份集与创建时间 %p 该备份集中的备份⽚号,从1开始到创建的⽂件数 %c 备份⽚的拷贝数 %U 系统获取的⼀个唯⼀的⽂件名 %T 年⽉⽇格式(YYYYMMDD) 第四⾏和第五⾏的环境变量是有关系。
RMAN命令详解1 列出对应物RMAN>list incarnation;2 列出备份2.1概述可用的备份RMAN>list backup summary;B 表示backupF 表示FULLA 表示archive log0 1 表示incremental backupS 说明备份状态(A A V AILABLE X EXPIRED )2.2按备份类型列出备份RMAN>list backup by file;按照数据文件备份,归档日志备份,控制文件备份,服务器参数文件备份列出2.3列出详细备份RMAN>list backup;2.4列出过期备份RMAN>list expired backup;2.5列出表空间和数据文件备份list backup of tablespace 和list backup of datafile 输出和list backup 相似如:list backup of tablespace user_tbs;list backup of datafile 3;2.6列出归档日志备份RMAN>list archivelog all;简要信息RMAN>list backup of archivelog all;详细信息2.7列出控制文件和服务器参数文件RMAN>list backup of controlfile;RMAN>list backup of spfile;==========================================================================================================RMAN的report命令1. 报告最近没有被备份的数据文件RMAN>report need backup days=3;2. 报告备份冗余或恢复窗口RMAN>report need backup redundancy=2;RMAN>report need backup recovery window of 2 days;3. 报告数据文件的不可恢复操作RMAN>report unrecoverable;4. 报告数据库模式RMAN>report schema;5. 报告丢弃的备份如果使用了保存策略,备份会标记为丢弃状态RMAN>report obsolete;删除丢弃状态备份RMAN>delete obsolete;==========================================================================================================RMAN的crosscheck 命令1 备份集有两种状态A(Available,RMAN认为该项存在于备份介质上)X(Expired,备份存在于控制文件或恢复目录中,但是并没有物理存在于备份介质上)2 crosscheck 的目的是检查RMAN的目录以及物理文件,如果物理文件不存在于介质上,将标记为Expired。
如果物理文件存在,将维持Available。
如果原先标记为Expired 的备份集再次存在于备份介质上(如恢复了损坏的磁盘驱动器后),crosscheck将把状态重新从Expired标记回Available。
3 crosscheck 输出分两部分。
第一部分列出确定存在于备份介质上的所有备份集片,第二部分列出不存在于备份介质上的备份集片,并将其标记为Expired。
当设置备份保存策略后,一个备份过期,crosscheck之后标记为丢弃的备份状态依旧为availabel,要删除丢弃备份delete obsolete。
4 示例:crosscheck backupcrosscheck backup of datafile 1;crosscheck backup of tablespace users;crosscheck backup of controfile;crosscheck backup of controlfile;crosscheck backup tag='SAT_BACKUP';crosscheck backup completed after 'sysdate - 2'crosscheck backup completed between 'sysdate - 5' and 'sysdate -2 'crosscheck backup device type sbt;crosscheck archivelog all;crosscheck archivelog like '%ARC00012.001'crosscheck archivelog from sequence 12;crosscheck archivelog until sequence 522;=====================================================使用delete expired archivelog all 命令删除所有过期归档日志=====================================================RMAN的validate 命令1 validate 命令验证备份集片是否能够被还原2 list backup summary; 得到了备份集得主键ID如40,然后validate backupset 40; ==========================================================================================================RMAN的备份保存策略以及change ,delete命令0.带delete参数的change 命令删除备份集,从备份介质,并且从控制文件和恢复目录中删除。
change backupset 117,118 delete;change backuppiece 1304 delete;change archivelog until logseq =544 delete;1.两类策略:恢复窗口备份保存策略(recovery windows backup retension policy)基于时间备份冗余备份保存策略(backup redundancy backup retension policy) 基于备份的数量两类策略互相排斥2.即使使用了备份保存策略,备份到期并不删除,只是在RMAN目录中标记为丢弃,看到的状态依旧为available;要查看标记为丢弃的备份report obsolete,只有使用delete obsolete才真正物理删除。
3.configure retension policy to recovery window of 7 days;configure retension policy to redundancy 3;显示结果show all;4.查看到期丢弃的备份时,可能需要手工保存一些备份,可以使用change 命令带keep 参数,使用这个命令后,那些被修改的备份将被认为是个long-term backup,不在受保存策略影响也就是说delete obsolete 也不删除。
5.要使备份时候不受保存策略影响,使用带keep参数的backup 命令backup database keep forever;backup database keep 5 days;6.change 命令功能可以修改备份为永久保存并将以及该备份的相关的日志保存下来,保证总能将备份恢复到当前时间点change backupset 31 keep forever logs;可以设置备份丢弃的新日期,将备份在多保存7 天,7 天后将删除change backupset 32 keep until time 'sysdata + 7' logs;7.change 可以将备份集设置为unavailablechange backupset 33 unavailable;标记为unavailable状态的备份集并不参与crosscheck;==========================================================================================================恢复目录的记录删除1. $ORACLE_HOME/rdbms/admin/prgrmanc.sql 脚本定期删除恢复目录中具有DELETED状态的记录2. 要删除旧的对应物记录incarnation.必须从DBINC 表中删除这些对应物,使用RC_DATABASE_INCARNATION 视图来确定要删除的对应物。
记录要删除的每个对应物的DBINC_KEY随后启动SQL*Plus,执行delete from dbinc where dbinc_key=2;==========================================================================================================手工同步恢复目录resync catalog;Oracle同步恢复目录的时候,首先创建快照控制文件,然后比较这个文件和恢复目录,完成后,Oracle 更新恢复目录,使恢复目录和控制文件同步==========================================================================================================在RMAN中存储脚本1,连接到目标数据库和恢复目录rman target / catalog rman/rman@rman9i2,创建脚本RMAN>create script my_bk_script2>{backup database plus archivelog;}create script my_bk_script3,打印脚本RMAN>print script my_bk_script;printing stored scipt:my_bk_script{backup database plus archivelog;}4,运行这个脚本,备份目标数据库RMAN>run {execute scipt my_bk_script;}5 删除脚本RMAN>delete script my_bk_script;========================================================================================================== archivelog模式下的完全恢复step1:set oracle_sid=recoverrman target rman_backup/passwordconfigure controlfile autobackup on;step2:backup database plus archivelog delete input;step3:shutdown immediate;step4:重命名所有的数据文件和控制文件,不重命名联机重做日志。