oracle rman备份时间,Oracle使用RMAN进行备份详述
备份理论和基本语法
备份概念
执行备份或还原的数据库称为目标。在一些环境下,有许多数据库,因此有许多RMAN目标。应一次连接每个数据库。目标的每个备份都有一些属性:
打开或关闭
完整或部分
完整或增量
到磁盘还是磁带上
副本或备份集
这些属性可以随意组合,但根据环境和配置,可能只能使用这些属性的一个子集。在所有情况下,备份由Oracle服务器进程完成,启动该进程是为了响应RMAN可执行程序用户进程中发出的命令。
1.RMAN体系结构
RMAN可执行程序是一个用户进程,与其他用户进程一样。它在本地使用进程间通信(IPC),或者远程使用TCP和数据库侦听器,登录到一个Oracle数据库上。连接后,用户就可以发出命令,执行备份和还原操作。这些操作由根据需要启动的其他Oracle服务器进程(称为通道)来完成。通道是一个服务器进程,与其他服务器进程一样,但其基本功能仅限于复制文件。
RMAN的一个主要功能是使用库。RMAN库由与备份相关的元数据组成。这包括已备份的内容、备份文件和位置、存在哪些归档日志文件、已有的永久配置设置,以及RMAN理解数据库和备份,以完全自动执行还原和恢复操作所需的所有细节。该库存在于一个或两个位置。库的一个副本总是存储在目标数据库的控制文件中。仅依赖它可能会带来连个问题。第一,信息仅存储有限的时间。具体而言,就是CONTROL_FILE_RECORD_KEEP_TIME实例参数指定的天数,默认为7天。如果仅适用基于控制文件的库,就可能希望调整它,让RMAN把信息保留更长的时间。命令如下:
SYS@ prod>sho parameter keep_time
NAME TYPE VALUE------------------------------------ ----------- ------------------------------
control_file_record_keep_time integer 7SYS@ prod>alter system set control_file_record_keep_time=30;
System altered.
SYS@ prod>
RMAN还可以用Oracle数据库的形式给库使用第二个存储位置。这需要在数据中创建一个模式,称为RMAN目录。该目录应在数据库中创建,仅用于这个目的。该目录可以记录许多目标的元数据,用作所有备份信息的中心库。使用目录时,备份信息可以存储的时间段是没有限制的。使用目录还可以启用一些更高级的RMAN功能。
RMAN可以创建两类备份:映像副本和备份集。映像副本备份会生成一个输出文件,其中的每个字节都与输入文件相同。备份集是一种比较智能的结构。它可以把几个输入文件合并到一个输出文件中,不包含从来没有使用的输入文件块,可以压缩和加密,可以分解为多个块。这些块是构成备份集的物理文件。
2.在一个页面中备份
打开备份(也称为热备份或不一致备份)在数据库使用过程中进行。只有数据库在归档日志模式下,才能进行打开备份。这是因为可打开文件的任何备份都是不一致的。读取文件和写入副本要花相当长的时间,在这个过程中,文件可能已更新。因此,副本吧听不是文件的一个稳定版本。在归档日志模式下,这就不是什么问题,因为重做日志流会以变更矢量的形式记录应用于文件的所有变更,在备份的过程中,这些变更会应用于Oracle 块。如果需要从备份中还原文件,就可以应用这些变更,使用重做流中的信息,是不一致的备份可用。如果数据库没有处于归档日志模式,进行备份时执行的重做就不可用。
关闭备份(也称为冷备份或抑制备份)在数据库处于装载模式时进行。控制文件必须装载,RMAN才能访问其库。关闭备份是一致的;数据文件是稳定的,关闭备份时数据库处于非归档日志模式下时唯一可用的备份类型。
完整备份时备份所有数据文件和控制文件。局部备份是备份数据库的一个子集。完整备份是非归档日志模式下唯一可用的备份类型。这是由于要打开数据库,因此所有的数据文件必须有相同的系统变更号(SCN)。如果备份包含几个局部备份,每个局部备份就有不同的SCN。之后还原时,就需要重做数据,使所有的备份具有相同的SCN。这些重做数据不能在非归档日志模式下使用。
完整备份包含每个文件中每个使用过的块。增量备份只有自上一次备份以前改变的块。增量备份策略必须从一个完整备份开始,之后可以有随意多次增量备份,但还原总是需要先还原完整备份(称为0级备份),再应用增量备份,使文件保持最新。只有进行了新的0级备份,才能丢弃以前的备份。
RMAN基本语法
RMAN可执行程序在操作系统提示行上的命令:
rman target /rman target sys/oracle
rman target sys/oracle@orclz
所有3个命令都以具备SYSDBA权限的用户身份登录到目标数据库上。在第一个命令中,目标是一个运行在同一台机器上的本地数据库实例,该机器用ORACLE_SID环境变量标识,用户用其操作系统账户进行身份验证。第二个例子也连接一个本地数据库实例,但使用数据库密码文件来验证身份。第三个例子使用tnsnames服务名,通过网络连接一个远程数据库,它也使用密码文件来验证身份。
1.在非归档日志模式下备份
使用RMAN进行关闭的完整备份
[oracle@linuxidc ~]$ rman target /Recovery Manager: Release11.2.0.1.0 - Production on 鏄熸湡涓€ 4鏈?8 20:26:52 2019Copyright (c)1982, 2009, Oracle and/or its affiliates. Allrights reserved.
connectedto target database: PROD (DBID=292420020)
RMAN> shutdownimmediate;
using targetdatabase control file instead ofrecovery catalogdatabasecloseddatabasedismounted
Oracle instance shut down
RMAN>startup mount
connectedto target database (notstarted)
Oracle instance starteddatabasemounted
Total System Global Area523108352bytes
Fixed Size1337632bytes
Variable Size394266336bytesDatabase Buffers 121634816bytes
Redo Buffers5869568bytes
RMAN> backup database;
Startingbackup at 2019-04-08 20:28:01allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=18 device type=DISKchannel ORA_DISK_1: startingfull datafile backup setchannel ORA_DISK_1: specifying datafile(s)in backup setinput datafilefile number=00001 name=/u01/oradata/prod/system01.dbf
input datafilefile number=00002 name=/u01/oradata/prod/sysaux01.dbf
input datafilefile number=00003 name=/u01/oradata/prod/undotbs01.dbf
input datafilefile number=00005 name=/u01/oradata/prod/example01.dbf
input datafilefile number=00004 name=/u01/oradata/prod/users01.dbf
channel ORA_DISK_1: starting piece1 at 2019-04-08 20:28:03channel ORA_DISK_1: finished piece1 at 2019-04-08 20:29:08piece handle=/u01/flash_recovery_area/PROD/backupset/2019_04_08/o1_mf_nnndf_TAG20190408T202802_gbphlm1z_.bkp tag=TAG20190408T202802 comment=NONE
channel ORA_DISK_1:backup set complete, elapsed time: 00:01:05channel ORA_DISK_1: startingfull datafile backup setchannel ORA_DISK_1: specifying datafile(s)in backup setincludingcurrent control file in backup setincludingcurrent SPFILE in backup setchannel ORA_DISK_1: starting piece1 at 2019-04-08 20:29:09channel ORA_DISK_1: finished piece1 at 2019-04-08 20:29:10piece handle=/u01/flash_recovery_area/PROD/backupset/2019_04_08/o1_mf_ncsnf_TAG20190408T202802_gbphnor0_.bkp tag=TAG20190408T202802 comment=NONE
channel ORA_DISK_1:backup set complete, elapsed time: 00:00:01Finishedbackup at 2019-04-08 20:29:10RMAN> alter database open;databaseopened
RMAN> exitRecovery Manager complete.[oracle@linuxidc ~]$
2.归档日志模式下的备份可能性
下面是一些简单的备份命令:
BACKUP DATAFILE 1,2;
BACKUP TABLESPACE USERS,EXAMPLE;
BACKUP CURRENT CONTROLFILE;
BACKUP DATABASE;
BACKUP ARCHIVELOG ALL;
通常,单行命令是不够的。要把几个命令链接起来,必须把它们组合到一个块中。块用RUN作为前缀,并括在{}中。一个打开的完成备份,包括归档日志文件的备份呵呵删除,示例:
RMAN> run {allocate channel d1 type disk;2> allocate channel d2 type disk;3> backup as compressed backupset database format '/home/oracle/db_%U.bset';4> backup as compressed backupset archivelog all format '/home/oracle/arch_%U.bset' delete allinput;}
allocated channel: d1
channel d1: SID=35 device type=DISKallocated channel: d2
channel d2: SID=1 device type=DISKStartingbackup at 2019-04-08 20:46:57channel d1: starting compressedfull datafile backup setchannel d1: specifying datafile(s)in backup setinput datafilefile number=00001 name=/u01/oradata/prod/system01.dbf
input datafilefile number=00005 name=/u01/oradata/prod/example01.dbf
channel d1: starting piece1 at 2019-04-08 20:46:58channel d2: starting compressedfull datafile backup setchannel d2: specifying datafile(s)in backup setinput datafilefile number=00002 name=/u01/oradata/prod/sysaux01.dbf
input datafilefile number=00003 name=/u01/oradata/prod/undotbs01.dbf
input datafilefile number=00004 name=/u01/oradata/prod/users01.dbf
channel d2: starting piece1 at 2019-04-08 20:46:58.
.
.
.
.
在run块中,前两个命令ALLOCATE CHANNEL,分配一个通道,会启动一个服务器进程。每个通道都需要名称(只是一个随意的字符串,本例是d1和d2),必须指定是使用磁带还是磁盘作为备份目标。启动多个通道,会启用备份的并行性。RMAN会把工作负载分布到通道上。第三行指定完整的数据库备份,使用FORMAT指定输出块的名称。第四行指定所有的归档日志文件都应备份和删除。FORMAT规范包含%U。这是一个变量,会扩展为一个名称,该名称包含8字符的任意字符串,以确保块运行多次时,总是生成不同的块名。备份的类型是COMPRESSED BACKUPSET。压缩通常不仅会减少备份块的大小,还会提高操作的速度。
默认的备份类型是备份集。另一个类型是映像副本。要撞见副本,可以使用如下命令:
BACKUP AS COPY DATAFILE '/u01/oradata/orcl/system1.dbf'FORMAT'/U02/backup/orcl/system01.dbf';
BACKUP AS COPY DATABASE;
第一个命令把一个数据文件复制到指定的目标。第二个命令把整个数据库复制到默认的目标,即快速恢复区。
永久RMAN设置
1.设置和清理默认值
使用SHOW ALL命令查看默认值
RMAN> show all;
RMAN configuration parametersfor database withdb_unique_name PROD are:
CONFIGURE RETENTION POLICYTO REDUNDANCY 1; # defaultCONFIGUREBACKUP OPTIMIZATION OFF; # defaultCONFIGUREDEFAULT DEVICE TYPE TO DISK; # defaultCONFIGURE CONTROLFILE AUTOBACKUPOFF; # defaultCONFIGURE CONTROLFILE AUTOBACKUP FORMATFOR DEVICE TYPE DISK TO '%F'; # defaultCONFIGURE DEVICE TYPEDISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # defaultCONFIGURE DATAFILEBACKUP COPIES FOR DEVICE TYPE DISK TO 1; # defaultCONFIGURE ARCHIVELOGBACKUP COPIES FOR DEVICE TYPE DISK TO 1; # defaultCONFIGURE MAXSETSIZETO UNLIMITED; # defaultCONFIGURE ENCRYPTIONFOR DATABASE OFF; # defaultCONFIGURE ENCRYPTION ALGORITHM'AES128'; # defaultCONFIGURE COMPRESSION ALGORITHM'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # defaultCONFIGURE ARCHIVELOG DELETION POLICYTO NONE; # defaultCONFIGURE SNAPSHOT CONTROLFILE NAMETO '/u01/oracle/dbs/snapcf_prod.f'; # defaultRMAN>
RETENTION POLICY 指定RMAN应创建什么备份,合适可以删除它们。默认值是每个文件的一个副本。
OPTIMIZATION 确定,即使已有足够的备份,RMAN是否仍要根据请求备份文件。默认值是总是备份它们。
DEFAULT DEVICE TYPE TO DISK 表示除非明确指出,否则RMAN就仅启动磁盘通道,不写入磁带。
CONTROLFILE AUTOBACKUP OFF 禁止RMAN自动备份控制文件,作为其他备份操作的一部分。
AUTOBACKUP FORMAT 为控制文件的自动备份生成名称和位置。
DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET 表示,在默认情况下,备份到磁盘时,只启动一个通道,该备份是一个未压缩的备份集。
BACKUP COPIES 指定在备份数据文件和归档日志文件时,应生成备份集的多少副本。
MAXSETSIZE 可以限制每个备份集的大小。如果达到了这个数字,就关闭该备份集块,继续备份到一个新的备份集中。
ENCRYPTION 默认禁用备份集的加密。
COMPRESSION 如果请求压缩,就使用BASIC算法,它是免费的。
ARCHIVELOG DELETION POLICY 允许RMAN根据各种条件,自动删除不再需要的归档日志。
SNAPSHOT CONTROLFILE 为控制文件的临时副本指定名称和位置,这些临时副本创建为控制文件备份机制的一部分。
需求示例:总是可以把数据库还原到前两周的任意时刻;创建达到该目标所需的备份,备份写入磁盘,使用4个通道的并行程度;控制文件必须总是包含在任何备份中;备份是压缩过的备份集,存储在c:\db_backups目录中;备份集块根据库名、备份日期和唯一字符串来命名;归档日志在备份到磁盘上两次后删除。要配置这个需求,应运行如下命令:
configure retention policy to recovery window of 14days;
configurebackup optimization on;
configure controlfile autobackupon;
configure device typedisk parallelism 4 backup type tocompressed backupset;
configure channel device typedisk format 'c:\db_backups\%d_%T_%u';
configure archivelog deletion policyto backup 2 times to disk;
在使用命令就能满足上述需求:
backup database;backup archivelog all delete input;
永久配置设置是为每个目标数据库配置的,存储在RMAN库中,要返回默认值,可以连接目标,执行CLEAR命令:
configure retention policy clear;
configurebackupoptimization clear;
configure controlfile autobackup clear;
configure device typediskclear;
configure channel device typediskclear;
configure archivelog deletion policy clear;
2.使用保留策略
使用恢复窗口或冗余,就可以自动保留和管理备份。使用恢复窗口,RMAN会分局需要保留许多备份,知道数据库返回恢复窗口的任意时间点位置。例如,在7天的恢复窗口中,RMAN会维护足够多的映像副本、增量备份和归档重做日志,确保数据库可以还原和恢复前7天内的任意时间点。如果使用快速恢复区,且新备份需要磁盘空间,则不需要支持这个恢复窗口的任何备份都标记为OBSOLETE,并由RMAN自动删除。
相反,冗余策略告诉RMAN保留特定数量的备份。超过冗余策略中的指定的数字的任何额外副本或备份都标记为OBSOLETE。与恢复窗口一样,如果需要磁盘空间,使用了快速恢复区,则过时的备份会自动删除。否则,可以使用DELETE OBSOLETE命令手工删除备份文件,更新目录。
如果保留策略设置为NONE,任何备份或副本就都不会过时,DBA必须手工删除目录和磁盘中不需要的备份。默认情况下,保留策略是一个副本(保留策略设置为1)。使用下面的RMAN命令,可以把保留策略设置为两个副本:
configure retention policy to redundancy 2;
下面的命令把保留策略设置为4天的恢复窗口:
configure retention policy to recovery window of 4 days;
Oracle最佳实践建议,使用恢复窗口,在发现错误之前执行时间点恢复。
当RMAN外部的备份系统把磁盘备份存储到磁带中,并删除了它们时,禁用保留策略是有用的。
configure retention policy to none;
3.格式指定符
为了生成名称,需要配置永久格式指定符,使用字面量(如目录名)和变量组合。变量如下:
%d 数据库名
%e 归档日志序列号
%f 绝对文件号
%F 组合数据库标识符(DBID)、日期、月份、年份和序列号,用短横线隔开
%c 双重备份中多个副本的副本号
%I DBID
%N 表空间名,占8个字符
%t 备份集时间戳
%p 备份集中的块号
%s 备份集号
%u 实际上,是8个随机字符,派生与备份集号和时间
%U 系统生成的唯一文件名(默认)。对于备份集,它等价于%u_%p_%c;对于数据文件影响副本,它是data-D-%d_id-%I_TS-%N_FNO-%f_%u;对于归档日志映像副本,它是arch-D-%d_id-%I_S-%e_T-%h_A-%a_%u;对于控制文件映像副本,它是cf-D_%d-id-%I_%u
oracle rman备份时间,Oracle使用RMAN进行备份详述相关推荐
- oracle rman备份时间,Oracle RMAN备份还原方案
1.修改rman配置,能够恢复到7天内的任一时间点 su - oracle rman target / configure retention policy to recovery window of ...
- oracle精确匹配时间,Oracle时间精确到时、分、秒处理方法
Oracle时间精确到时.分.秒处理方法 一般数据库中时间的格式为DATE类型,而我们从页面中获取的时间往往为String类型,这个就需要类型的转换.一般我们会通过调用 Java.text.Simpl ...
- oracle大于字符串时间,Oracle
字符串类型的数据可依 编码方式 分成 数据库字符集 (CHAR/VARCHAR2/CLOB/LONG)和 国际字符集(以 N 开头) (NCHAR/NVARCHAR2/NCLOB)两种. 数据库中的字 ...
- oracle认证大师时间,oracle认证考试时间在什么时候
Oracle认证考试主要分为三个级别的认证 ,其中包括了OCA认证专员.OCP认证专家和OCM认证大师,那么考试的具体时间是什么时候呢?我们一起来了解一下. Oracle考试时间 OCP考试没有时间限 ...
- oracle转换当前时间,oracle数据库中时间转化方法分享
摘要: 下文讲述oracle数据库中时间转化方法分享,如下所示: 一.toChar 1.取得当前日期是本月的第几周 select to_char(sysdate,'W') from dual; sel ...
- oracle当前毫秒时间,oracle获得当前时间,精确到毫秒并指定精确位数
oracle获得当前时间的,精确到毫秒 可以指定精确豪秒的位数 select to_char(systimestamp, 'yyyymmdd hh24:mi:ss.ff ') from dual; ...
- oracle中插曲时间,Oracle 11G 数据库迁移【expdp/impdp】
0x01 环境 A 机器,操作系统 CentOS7.3,Oracle版本:11G,IP地址:192.168.1.11 B 机器,操作系统 CentOS7.3,Oracle版本:11G,IP地址:192 ...
- oracle密码锁屏时间,Oracle Linux OEL7 如何关闭屏保和锁屏功能
Oracle Linux OEL7 如何关闭屏保和锁屏功能 为每一个单独用户设置屏保和锁屏时间: $ gsettings set org.gnome.desktop.session idle-dela ...
- oracle存储格式化时间,ORACLE日期时间的格式化参数大全
经常遇到有朋友问询关于日期时间格式化的问题(或可以通过格式化轻易解决),经过参考Oracle SQL Reference官方文档,并附上详细的应用示例综合成文,希望能够对大家学习和使用有所帮助.本篇可 ...
最新文章
- attribute 'groups' of type 'int' is not usable in a script method
- python 向量_关于Python中的向量相加和numpy中的向量相加效率对比
- SharePoint 2013 开启訪问请求
- .Net5发布在即,当心技术断层!
- mysql 检查点_my05_mysql检查点简述
- 2017.12.20-21
- 微信收款音响s3服务器断开,微信收款音响s2和s3有什么区别
- python列表转换成数字_Python中列表元素转为数字的方法分析
- 计算机上课创意互动游戏初中,16个课前热身小游戏:让每一堂课都充满新鲜感...
- dataframe 众数的方法_pandas 第11篇:DataFrame-数据处理(分组、聚合、窗口、相关、统计)...
- 数据挖掘10大算法(1)——PageRank
- eve-ng 添加dynamips镜像文件
- 【Qt学习之路】我的Qt历程
- DialogBox不显示对话框的原因分析
- 计算机合成图像的过程码,专转本计算机习题
- 基于matlab各滤波器源代码,基于matlab各滤波器源代码
- 关于Altium AD20出现的Net NetU2_26 contains floating input pins (Pin U2-26)Net NetU2_26 has only one pin
- 电源篇 -- 非隔离开关电源
- 盐城北大青鸟“致最爱的你”感恩母亲节特别活动
- AD转换器的参数介绍