oracle 问题,在用oracle rman备份原理过程中 新增加的数据会不会备份?

oracle RMAN备份步骤 -
- ITeye博客
1、 要使用RMAN备份前提是必须启动ORACLE归档日志功能;
2、 首先检查数据库归档日志模式,以DBA用户模式登陆系统,执行
SELECT log_mode from v$--查看数据库归档方式
3、 如果结果为NOARCHIVELOG则需要将数据库模式设置为归档模式,否则跳过此步
A、 关闭数据库
SQL&
B、 挂起模式启动数据库
SQL&
C、 将数据库设置成归档模式
SQL& alter
D、 启动数据库
SQL&
E、 重新做第二步的检查,如果为ARCHIVELOG表明数据库归档模式启动成功;
4、 利用RMAN做批处理备份脚本,为了简单这里只做两层的备份,0级备份和1级备份,0级备份代表全库备份,1级为增量备份:
A、 批处理脚本,可以根据实际情况做稍许调整,这边不做详细介绍了,经我测试在win7下执行是无问题的
set oracle_sid=orcl
set y=%date:~0,4%
set m=%date:~5,2%
set d=%date:~8,2%
set h=%time:~0,2%
set mi=%time:~3,2%
set s=%time:~6,2%
rman target / log f:\backup\logs\%y%%m%%d%_%h%%mi%%s%.log cmdfile=F:\backup\backupscript\database_backup_orcl_level0.rman
B、 RMAN脚本
================FILENAME: database_backup_orcl_level0.rman==============
================我是分割线====0级备份===============================
configure retention policy to redundancy 2;
#CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO "f:/backup/%F%T.control_bak";
ALLOCATE CHANNEL CH1 DEVICE TYPE DISK FORMAT "f:/backup/%U%T%t.bak";
BACKUP AS COMPRESSED BACKUPSET INCREMENTAL LEVEL=0 DATABASE SKIP INACCESSIBLE FILESPERSET 10
PLUS ARCHIVELOG FILESPERSET 20
DELETE ALL INPUT;
RELEASE CHANNEL CH1;
ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE DISK;
CROSSCHECK BACKUPSET;
DELETE NOPROMPT OBSOLETE;
===============分割线==============================================
================FILENAME: database_backup_orcl_level1.rman==============
================我是分割线====1级备份===============================
configure retention policy to redundancy 2;
#CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO "f:/backup/%F%T.control_bak";
ALLOCATE CHANNEL CH1 DEVICE TYPE DISK FORMAT "f:/backup/%U%T%t.bak";
BACKUP AS COMPRESSED BACKUPSET INCREMENTAL LEVEL=1 DATABASE SKIP INACCESSIBLE FILESPERSET 10
PLUS ARCHIVELOG FILESPERSET 20
DELETE ALL INPUT;
RELEASE CHANNEL CH1;
ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE DISK;
CROSSCHECK BACKUPSET;
DELETE NOPROMPT OBSOLETE;
===============分割线==============================================
小常识:这里我用的增量备份模式为默认模式,RMAN默认是DIFFERENTIAL (差异),模式,另外还有一种 CUMULATIVE (累积)方式,需要显示指定,如下:
RMAN& BACKUP INCREMENTAL LEVEL=1 CUMULATIVE DATABASE;
两者的区别这里就不做详细介绍了
5、 接下来只要设定好执行两个级别批处理备份的计划任务执行时间就行了,需要注意的是任务执行时间上要有时间差,不要两级备份的时间同时发生,这点要特别注意。
浏览 14175
按照你的方法执行到:SQL&& 就报错啦。。。。隔了好久都没看了,两年前的东西了,startup mount 是启动数据库至挂起状态,这一般情况不会报错,要看看报错的信息?
浏览: 49960 次
来自: 广州
谢谢,这个帖子很有用,帮我解决了远程不能调试的问题,收藏一下 ...
&div class=&quote_title ...
按照你的方法执行到:SQL& startup m ...
lxneliu 写道知道H2数据库在哪里修改密码吗,谢谢啦这个 ...
知道H2数据库在哪里修改密码吗,谢谢啦用户名:candon123
文章数:281
评论数:506
访问量:1612346
注册日期:
阅读量:1297
阅读量:3317
阅读量:450479
阅读量:1135035
51CTO推荐博文
1、删除参数文件,数据文件以及控制文件:
这里采用的是asm实例,再删除之前一定要关闭数据库,否则在asm中删除时会报错的.删除完成后只留下rman备份的东西。
2、启动数据库到nomount状态,恢复spfile:
在这之前还得要知道dbid,这个在恢复spfile时要设置的.数据库处于mount状态时可以使用以下sql语句查看:
非mount状态时,可以查看rman会话日志.
然后查看asm,就可以看到spfile了:
3、恢复控制文件:
首先重启下数据库至nomount状态,然后执行恢复:
恢复完成后,将数据库切换至mount状态:
查看控制文件是否恢复成功:
4、恢复所有数据文件:
数据文件恢复完成后,以resetlogs方式打开数据库:
完了后,查看恢复的文件:
至此,整个恢复过程完成。本文出自 “” 博客,谢绝转载!
了这篇文章
类别:┆阅读(0)┆评论(0)查看: 10459|回复: 15
RMAN备份片大小及备份集问题
认证徽章论坛徽章:71
Linux AS 5.3 ,& &Oracle 10.2.0.4& &
RMAN备份中,控制文件和数据文件不能放在同一个备份集里,因为数据文件所在的备份集以Oracel 数据块为最小单位,
而控制文件所在备份集是以操作系统块作为最小单位。同样的,归档日志文件所在的备份集也是以操作系统块为最小单位,
所以归档日志文件备份集和数据文件备份集不能在同一个备份集里面。
如何知道下面备份的文件(备份片) ,哪些是数据文件备份集, 哪些是归档日志文件备份集 ?&&默认情况下备份片的大小是
多少 ?& &为什么下面的备份文件大小是 1015M , 3.3G,&&19M,&&453k&&?&&
RMAN& backup device type disk format&&'/data/backup/%U'&&datab& &
[root@franklindb backup]# ls -alhrt
total 4.3G
drwxr-xr-x 7 oracle dba&&4.0K Sep&&6 00:47 ..
-rw-r----- 1 oracle dba 1015M Sep 24 04:30 0iloluep_1_1
-rw-r----- 1 oracle dba&&3.3G Sep 24 04:47 0jloluft_1_1
-rw-r----- 1 oracle dba& &19M Sep 24 04:47 0klolvf0_1_1
-rw-r----- 1 oracle dba&&453K Sep 24 04:47 0llolvf3_1_1
drwxr-xr-x 2 oracle dba&&4.0K Sep 24 04:47 .
[root@franklindb backup]#
论坛徽章:1
可以通过list命令查看备份集的信息
RMAN&list back
论坛徽章:27
lz 你在备份的时候可以在备份format指定
ARC -- 归档日志 FULL---全备&&
DATA ---数据文件备份&&CTL---控制文件备份。
利用楼上的方法也不错的。。。
论坛徽章:47
在RMAN中直接list backup,备份集的大小内容都有列出的;如果要在操作系统命令看,那只能在命名时标注了。
你那个3。3G大小的文件一般应该是数据文件了。你这个数据库不是很大么:)
论坛徽章:7
-rw-r----- 1 oracle dba 1015M Sep 24 04:30 0iloluep_1_1
-rw-r----- 1 oracle dba&&3.3G Sep 24 04:47 0jloluft_1_1
-rw-r----- 1 oracle dba& &19M Sep 24 04:47 0klolvf0_1_1
-rw-r----- 1 oracle dba&&453K Sep 24 04:47 0llolvf3_1_1
1015M 是你备份数据库开始以前的所有archivelog的备份
3.3G 是你的数据库备份
19M 是你的控制文件和spfile备份,这个是自动的
453K 是你备份过程中产生的archivelog备份
认证徽章论坛徽章:71
原帖由 sean_1984 于
10:08 发表
-rw-r----- 1 oracle dba 1015M Sep 24 04:30 0iloluep_1_1
-rw-r----- 1 oracle dba&&3.3G Sep 24 04:47 0jloluft_1_1
-rw-r----- 1 oracle dba& &19M Sep 24 04:47 0klolvf0_1_1
-rw-r----- 1 oracle dba&&453K Sep 24 04:47 0llolvf3_1_1
1015M 是你备份数据库开始以前的所有archivelog的备份
3.3G 是你的数据库备份
19M 是你的控制文件和spfile备份,这个是自动的
453K 是你备份过程中产生的archivelog备份
是的,从Oracle10g 库的RMAN备份log 可以看到相关信息。他们生成的文件名称貌似只是一个随机序列号,从中看不出是DB中那种
文件的备份片 ?& &
还有,在11g中做测试发现, datafile , controlfile 及 spfile 的备份是放在一个备份集中的, 这和Oracle10g 中的不一样 。&&
这是否和下面写法不一致 ?&&
RMAN备份中,控制文件和数据文件不能放在同一个备份集里,因为数据文件所在的备份集以Oracel 数据块为最小单位,
而控制文件所在备份集是以操作系统块作为最小单位。同样的,归档日志文件所在的备份集也是以操作系统块为最小单位,
所以归档日志文件备份集和数据文件备份集不能在同一个备份集里面。
dbtest&*test*/home/oracle&$rman target /
Recovery Manager: Release 11.2.0.1.0 - Production on Mon Sep 27 15:29:37 2010
Copyright (c) , Oracle and/or its affiliates.&&All rights reserved.
connected to target database: TEST (DBID=)
RMAN& BACKUP DEVICE TYPE DISK FORMAT '/data/backup/%U' DATABASE PLUS ARCHIVELOG;&&
Starting backup at 27-SEP-10
current log archived
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=23 device type=DISK
channel ORA_DISK_1: starting archived log backup set
channel ORA_DISK_1: specifying archived log(s) in backup set
input archived log thread=1 sequence=57 RECID=1 STAMP=
input archived log thread=1 sequence=58 RECID=2 STAMP=
input archived log thread=1 sequence=59 RECID=3 STAMP=
input archived log thread=1 sequence=60 RECID=4 STAMP=
input archived log thread=1 sequence=61 RECID=5 STAMP=
input archived log thread=1 sequence=62 RECID=6 STAMP=
channel ORA_DISK_1: starting piece 1 at 27-SEP-10
channel ORA_DISK_1: finished piece 1 at 27-SEP-10
piece handle=/data/backup/01lov27c_1_1 tag=TAG948 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:15
Finished backup at 27-SEP-10
Starting backup at 27-SEP-10
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
including current SPFILE in backup set
including current control file in backup set
input datafile file number=00001 name=/data/test/system01.dbf
input datafile file number=00002 name=/data/test/sysaux01.dbf
input datafile file number=00003 name=/data/test/undotbs01.dbf
input datafile file number=00004 name=/data/test/users01.dbf
channel ORA_DISK_1: starting piece 1 at 27-SEP-10
channel ORA_DISK_1: finished piece 1 at 27-SEP-10
piece handle=/data/backup/02lov27r_1_1 tag=TAG003 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:01:52
Finished backup at 27-SEP-10
Starting backup at 27-SEP-10
current log archived
using channel ORA_DISK_1
channel ORA_DISK_1: starting archived log backup set
channel ORA_DISK_1: specifying archived log(s) in backup set
input archived log thread=1 sequence=63 RECID=7 STAMP=
channel ORA_DISK_1: starting piece 1 at 27-SEP-10
channel ORA_DISK_1: finished piece 1 at 27-SEP-10
piece handle=/data/backup/03lov2bf_1_1 tag=TAG159 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 27-SEP-10
生成的备份集 :
dbtest&*test*/data/backup&$ls -alhrt
total 1.2G
drwxr-xr-x 9 oracle dba 4.0K Sep 27 09:18 ..
-rw-r----- 1 oracle dba&&85M Sep 27 15:29 01lov27c_1_1
-rw-r----- 1 oracle dba 1.2G Sep 27 15:31 02lov27r_1_1
-rw-r----- 1 oracle dba 417K Sep 27 15:31 03lov2bf_1_1
论坛徽章:10
RMAN&list back
论坛徽章:10
再说, 你管他在哪个文件里面干什么。
认证徽章论坛徽章:71
原帖由 wxhoracle 于
15:54 发表
再说, 你管他在哪个文件里面干什么。
是的,从操作上来说,知道它是备份集就可以了。 只是对下面的一句话及备份集的数据格式有一些不解 。
RMAN备份中,控制文件和数据文件不能放在同一个备份集里,因为数据文件所在的备份集以Oracel 数据块为最小单位,
而控制文件所在备份集是以操作系统块作为最小单位
但是11g 中控制文件和数据文件的备份集却是放在一起的 。
认证徽章论坛徽章:71
eygle 的文章中提到& & (他的文章好像是针对9i的库)
数据文件,控制文件能保存在同样的备份集上,但是不能与归档日志保存在同样的备份集上
itpub.net All Right Reserved. 北京皓辰网域网络信息技术有限公司版权所有    
 北京市公安局海淀分局网监中心备案编号: 广播电视节目制作经营许可证:编号(京)字第1149号oracle的RMAN备份基础知识普及
第一篇&&进入RMAN
通过RMAN的方式不论要备份还是要恢复,都必须先启动实例并加载数据库。
一、&连接本地数据库
rman&target&/&&(或者先rman&&& 再 connect &target&/)
二、&连接远程数据库
如果要连接的目标数据库是一个远程数据库,那么必须在建立连接时指定一个有效的网络服务名,同时你本地的文件中也必须已经建立了该网络服务名的正确配置。示例如下:C:\Documents&and&Settings\Administrator&rman&target&sys/change_on_install @test db
三、&退出RMAN
C:\Documents&and&Settings\Administrator&rman&target&/& log&d:\logs\rman_log.txt
rman 会将执行的结果直接输出到指定的d:\logs\rman_log.txt文件,一旦脚本放入后台执行出现问题,我们可以根据rman_log文件来辅助分析。
第二篇&&RMAN命令知多少
一、启动、关闭数据库
rman&target&/
shutdown&immediate(关闭)
startup(开启)
二、执行操作系统命令
Microsoft&Windows&[版本&5.2.3790]
(C)&版权所有&&Microsoft&Corp.
C:\Documents&and&Settings\Administrator&cd&\
主机命令完成
三、&&&执行SQL语句
在RMAN的命令提示符后输入SQL命令,然后在一对单引号(双引号亦可)中输入要执行的SQL语句,例如:
RMAN&&SQL&¨ALTER&SYSTEM&ARCHIVE&LOG&ALL¨ ;
rman 中的sql环境不能执行SELECT语句
四、&&&定义RMAN配置
五、&&&显示RMAN默认配置
其后跟上不同的类型的配置参数,即可以显示不同类型的配置,如:
SHOW&CHANNEL;
SHOW&DEVICE&TYPE;
SHOW&DEFAULT&DEVICE&TYPE;
六、&&&列出备份信息
LIST 命令用来查看通过RMAN生成的备份信息
列出数据库中所有文件的备份信息:
RMAN& LIST&BACKUP&OF&DATABASE;
列出指定表空间的备份信息:
RMAN&LIST&COPY&OF&TABLESPACE&¨SYSTEM¨;
列出指定数据文件的备份信息:
RMAN&LIST&BACKUP&OF&DATAFILE&¨F:\ORAHOME1\ORADATA\JSSWEB\JWEB.ORA¨;
七、删除备份
1 、删除陈旧备份
当使用RMAN执行备份操作时,RMAN会根据备份冗余策略确定陈旧备份。&&&&&&
RMAN& & delete&
2 、删除EXPIRED备份
执行crosscheck命令核对备份集,那么会将该备份集标记为EXPIRED状态。为了删除相应的备份记录,可以执行delete&expired&backup命令。&&&&&&
RMAN& & delete&expired&
3 、删除EXPIRED副本
RMAN& & delete&expired&
4 、删除特定备份集
RMAN& & delete&backupset&19 ;
5 、删除特定备份片
RMAN& & delete&backuppiece&¨d:\backup\DEMO_19.bak¨ ;
6 、删除所有备份集
RMAN& & delete&
7 、删除特定映像副本
RMAN& & delete&datafilecopy&¨d:\backup\DEMO_19.bak¨ ;
8 、删除所有映像副本
RMAN& & delete&
9 、在备份后删除输入对象
RMAN& & delete&archivelog&all&delete&
RMAN&&delete&backupset&22&format&=&¨¨d:\backup\%u.bak¨¨&delete&&&
七、&&&批处理命令RUN
第三篇RMAN备份演练初级篇
一、RMAN备份形式
 1、镜像复制(Image&Copies)
  镜像复制实际上就是数据文件、控制文件或归档文件的复制,与用户通过操作系统命令建立的文件复制实质一样,只不过RMAN是利用目标数据库中的 服务进程来完成文件复制,而用户则是用操作系统命令。大家了解一下即可
  2、备份集(Backup&Sets)
 备份集是通过RMAN创建的逻辑备份对象。一个备份集中可以包含多个数据文件、控制文件或归档文件。备份集在物理上是由多个备份片段组成,每个备份片段是一个操作系统文件。
二、RMAN命令执行方式
1、单个执行(没啥说的,之前的示例都是这种方式)
RMAN& backup&
批处理方式实质是将原来单个执行的命令组合到一起,并放在run{}之间,这种方式最大的好处是所有在run中的命令被视为一个作业,如果作业中任何一条命令执行失败,则整个命令停止执行
3、运行脚本(又能细分为几种方式如下:)
C:\ & rman&TARGET&/&@backup_db.rman
RMAN&&@backup_db.rman
RMAN&&RUN&{&@backup_db.rman&}
  运行存储在恢复目录中的脚本(需要首先为rman创建恢复目录)
RMAN&&RUN&{&EXECUTE&SCRIPT&backup_whole_db&};
4、操作系统脚本
C:\ & rman&cmdfile=backup_db.rman
  明眼人看的出来,后两种其实是前面两种加上操作系统命令的综合应用。
三、对数据库进行全备
&  1、使用backup&database命令执行备份
RMAN&&BACKUP&DATABASE;
  执行上述命令后将对目标数据库中的所有数据文件进行备份,由于没有显式指定FORMAT参数,rman会自动为每个备份片段命名,并保存在ORACLE_HOME/database目录下。
  当然,也可以通过显式指定format参数来自定义备份片段的命令规则,比如:
RMAN&&BACKUP&DATABASE&FORMAT&¨D:\BACKUP\%U¨;
 2 、通过list命令查看刚刚创建的备份信息:
RMAN&&list&backup&of&
四、备份表空间
& 只要实例启动并处于加载状态,不论数据库是否打开,都可以在rman中对表空间进行备份,而且不需要像手动备份那样先¨ALTER&TABLESPACE&...&BEGIN&BACKUP¨。例如:
RMAN&&backup&tablespace&
同样,我们在使用backup&tablespace也可以通过显式指定format参数自定义备份片段名称。
我们再通过LIST&BACKUP&查看一下备份:
RMAN&&LIST&BACKUP&OF&TABLESPACE&JWEB ;
五、备份指定数据文件
&&& 首先可以先通过数据字典DBA_DATA_FILES查询出表空间对应的数据文件及其序号,例如:
  select &file_name,file_id,tablespace_name& from&dba_data_files
  然后再通过BACKUP&DATAFILE 备份指定序号的数据文件,例如:
RMAN&& BACKUP&DATAFILE&n;
  如果要查看指定数据文件的备份,可以用:
RMAN&& LIST&BACKUP&OF&DATAFILE&n;
  注:n=指定的的数据文件序号,如果需要备份的数据文件有多个,n=多个序号,中间以逗号分隔即可。
六、备份控制文件
1. 最简单的方式,通过CONFIGURE命令将CONTROLFILE&AUTOBACKUP置为ON。
RMAN&& CONFIGURE&CONTROLFILE&AUTOBACKUP&ON;
  然后你再通过rman做任何备份操作的同时,都会自动对控制文件做备份。
  2. 在自动备份打开的情况下,备份任意表空间操作时,RMAN均会自动对控制文件做备份。
  3. 手动执行备份命令。
RMAN&& BACKUP&CURRENT&CONTROLFILE;
  4. 执行BACKUP时指定INCLUDE&CURRENT&CONTROLFILE参数,例如:
RMAN&&BACKUP&DATABASE&INCLUDE&CURRENT&CONTROLFILE;
  如果要查看备份的控制文件,可以通过:
RMAN&& LIST&BACKUP&OF&CONTROLFILE;
七、备份归档日志文件
&1 、利用BACKUP&ARCHIVELOG命令备份
RMAN&& BACKUP&ARCHIVELOG&ALL;
  2 、在BACKUP过程中利用PLUS&ARCHIVELOG参数备份,例如:
RMAN&&BACKUP&DATABASE&PLUS&ARCHIVELOG;
则在备份数据库的同时自动对所有归档文件进行备份。这种方式与上种有什么区别呢,区别太明显了,BACKUP.....PLUS&ARCHIVELOG命令在备份过程中会依次执行下列步骤:
1&. 运行ALTER&SYSTEM&ARCHIVE&LOG&CURRENT语句对当前redolog进行归档。
2&. 执行BACKUP&ARCHIVELOG&ALL命令备份所有已归档日志。
3&. 执行BACKUP命令对指定项进行备份。
4&. 再次运行ALTER&SYSTEM&ARCHIVE&LOG&CURRENT对当前redolog归档。
5&. 对新生成的尚未备份的归档文件进行备份。
  在完成归档日志文件备份后,我们通过需要删除已备份过的归档文件(归档文件记录下了数据库进行过的所有操作,如果您的数据库操作频繁 而且量大,那归档文件大小也是相当恐怖,备份后删除释放存储空间是相当有必要地)。RMAN提供了DELETE&ALL&INPUT参数,加在 BACKUP命令后,则会在完成备份后自动删除归档目录中已备份的归档日志。
  完成备份之后,可以通过下列命令查看已备份的归档日志片段:
RMAN&& LIST&BACKUP&OF&ARCHIVELOG&ALL;
第四篇&&RMAN备份演练进阶篇
一、建立增量备份
如果数据库运行于不归档模式下,只能在完全关闭数据库的情况下才能进行一致性的增量备份。
如果数据库运行于归档模式下,既可以在数据库关闭,也可以在数据库打开状态下进行备份。
建立增量备份也是相当简单,实质就是一个参数INCREMENTAL&LEVEL=n,在执行BACKUP命令时加上即可,例如,建立一个增量级别0的全库备份:
RMAN&&BACKUP&INCREMENTAL&LEVEL=0&DATABASE;
再例如,建立一个增量级别1的users01.dbf数据文件备份
RMAN&&BACKUP&INCREMENTAL&LEVEL=1&TABLESPACE&SYSTEM&DATAFILE&¨F:\ORAHOME1\ORADATA\JSSWEB\ USERS01 . DBF¨;
  注:Rman默认创建的增量备份是Differential方式,如果要建立Cumulative方式的增量备份,在执行BACKUP命令时显式指定即可,例如:
RMAN&&BACKUP&INCREMENTAL&LEVEL=2&CUMULATIVE&DATABASE;
二、建立镜像复制
&Rman中的镜像复制实质与通过系统copy命令备份相同,只是操作系统copy命令复制文件时,只是文件copy。而rman的copy能够复制的同时,验证数据的有效性。
三、建立冗余备份&
&&&& RMAN 中提供了三种方式实现Duplexed方式备份:
1 、在RMAN中执行BACKUP命令时显式指定COPIES参数。例如:
RMAN&& BACKUP&COPIES&3&DATABASE;
  上述命令将会在全库备份的同时,自动生成当前备份集的2份拷贝到默认备份目录。
  2 、在RUN{}命令块中利用SET&BACKUP&COPIES命令为该命令块中所有的BACKUP命令设置Duplexed方式,例如:
RMAN&& RUN{
2&SET&BACKUP&COPIES&2;
3&BACKUP&DEVICE&TYPE&DISK&FORMAT&¨D:\BACKUP1\%U¨,¨D:\BACKUP2\%U¨&
4&TABLESPACE&USERS,SALES;
  上述命令将生成两份备份集,分别存储到d:\backup1和d:\backup2目录。
3 、通过CONFIGURE&.....&BACKUP&COPIES命令设置预定义的备份Duplexed方式。
  CONFIGURE&...&BACKUP&COPIES 命令可以为指定的设备类型设置默认的备份拷贝数量。这个配置仅适用于数据文件与归档重做日志文件和备份,并且,只有在使用自动分配的通道时才能够使用 CONFIGURE&...&BACKUP&COPIES命令设置的配置。例如:
RMAN&&CONFIGURE&DEFAULT&DEVICE&TYPE&TO&DISK;
RMAN&&CONFIGURE&DATAFILE&BACKUP&COPIES&FOR&DEVICE&TYPE&disk&TO&2;
RMAN&&CONFIGURE&ARCHIVELOG&BACKUP&COPIES&FOR&DEVICE&TYPE&disk&TO&2;
  上述命令将disk设置上数据文件与归档文件的拷备数量设置为2,当再执行BACKUP&DATABASE备份时,即会自动生成2份数据文件的备份集。
四、设置RMAN备份的保存策略
RMAN 中提供了两种备份保留策略: 基于时间 和 基于冗余数量&
RMAN会自动判断哪些备份集或镜像复制文件不必再保留。这些备份文件将会被标记为“废弃(Obsolete)”,可以通过REPORT&OBSOLETE命令查看当前处于废弃状态的备份文件,或者通过DELETE&OBSOLETE命令删除这些废弃的备份。例如:
RMAN&&report&
RMAN&&delete&
在执行删除命令时有两点需要了解:
如果被判断为废弃的备份是一个单独数据文件的镜像复制,那么在执行DELETE命令时将直接删除这个镜像复制文件。 如果被判断为废弃的备份是一个备份集中的一部分,则必须等到整个备份集中所有其它文件都被废弃之后,才能删除这个备份集。
1 、基于时间的备份保留策略。
设置基于时间的备份保留策略可以通过CONFIGURE命令,例如:
RMAN&&CONFIGURE&RETENTION&POLICY&TO&RECOVERY&WINDOW&OF&n&DAYS;
注:n=大于0的正整数
执行该命令后,RMAN将始终保留那些将数据库恢复到n天前的状态时需要用到的备份,比如,恢复时间段被设置为7天,那么各个数据文件的备份必须满足如下条件:
SYSDATE-(SELECT&CHECKPOINT_TIME&FROM&V$DATAFILE)&=7
任何不满足上述条件的备份都将被RMAN废弃并可通过DELETE&OBSOLETE命令删除。
2 、基于冗余数量的备份保留策略
基于冗余数量实质即某个数据文件以各种形式(包括备份集和镜像复制)存在的备份的数量。如果某个数据文件的冗余备份数量超出了指定数量,RMAN将废弃最旧的备份。
同样,基于数量的备份保留策略也是通过CONFIGURE命令设置,例如:
RMAN& &CONFIGURE&RETENTION&POLICY&TO&REDUNDANCY&
同上:n=大于0的正整数
你也可以通过下列命令设置成不采用任何备份保留策略:
RMAN&&CONFIGURE&RETENTION&POLICY&TO&NONE;
五、备份优化
  RMAN 中的备份优化(Backup&Optimization)是指在备份过程中,如果满足特定条件,RMAN将自动跳过某些文件而不将它们包含在备份集中以节 省时间和空间。说的直白些就是能不备的它就不备了
  通常必须满足如下几个条件的情况下,才能够启用备份优化的功能:
CONFIGURE&BACKUP&OPTIMIZATION 参数置为on; 执行的BACKUP&DATABASE或BACKUP&ARCHIVELOG命令中带有ALL或LIKE参数。 分配的通道仅使用了一种设备类型,也就是没有同时分配使用sbt与disk的多个通道。
  打开备份优化设置通过如下命令:
那么在进行备份优化时,RMAN是如何判断要备份的文件是否需要被优化呢,这个算法就相当复杂了,而且可能影响优化算法的因素也非常多,假如某库在上午9点被执行过一次全库备份,等下午3点再次执行全库备份时,备份的文件没有变动而且也已经被备份过时,才会跳过这部分文件。所以理论上备份优化仅对于只读表空间或offline表空间起作用。当然对于已经备份过的archivelog文件,它也会跳过
第五篇&&RMAN基础知识补充 一
&&&& 一、FORMAT字符串替代变量
使用FORMAT参数时可使用的各种替换变量,如下:
%c :备份片的拷贝数(从1开始编号);
%d :数据库名称;
%D :位于该月中的天数&(DD);
%M :位于该年中的月份&(MM);
%F :一个基于DBID&唯一的名称,这个格式的形式为c-IIIIIIIIII-YYYYMMDD-QQ,其中IIIIIIIIII&为该数据库的DBID,YYYYMMDD&为日期,QQ&是一个1-256&的序列;
%n :数据库名称,并且会在右侧用x字符进行填充,使其保持长度为8;
%u :是一个由备份集编号和建立时间压缩后组成的8字符名称。利用%u可以为每个备份集生成一个唯一的名称;
%p :表示备份集中备份片段的编号,从1&开始编号;
%U :是%u_%p_%c的简写形式,利用它可以为每一个备份片段(即磁盘文件)生成一个唯一名称,这是最常用的命名方式;
%s :备份集的号;
%t :备份集时间戳;
%T :年月日格式(YYYYMMDD);s
注:如果在BACKUP命令中没有指定FORMAT选项,则RMAN默认使用%U为备份片段命名。
二、CONFIGURE配置项介绍
  首先,我们先来查看一下当前配置,通过SHOW ALL命令:
&&&&&& RMAN&
RMAN&&CONFIGURE&RETENTION&POLICY&CLEAR ;
旧的&RMAN&配置参数:
CONFIGURE&RETENTION&POLICY&TO&RECOVERY&WINDOW&OF&3&DAYS;
RMAN& 配置参数已成功重置为默认值
1 、 CONFIGURE&RETENTION&POLICY 配置备份保留策略
第4章节我们详细讲过关于备份保留策略,也知道了它有两种保留策略:
基于时间:
CONFIGURE&RETENTION&POLICY&TO&RECOVERY&WINDOW&OF&n &DAYS;
基于冗余数量:
CONFIGURE&RETENTION&POLICY&TO&REDUNDANCY&
也可以取消备份保留策略:
CONFIGURE&RETENTION&POLICY&TO&NONE;
2 、 CONFIGURE&BACKUP&OPTIMIZATION 配置备份优化
也是第4章节提到的内容,备份优化,包括OFF和ON两个状态
打开备份优化:
CONFIGURE&BACKUP&OPTIMIZATION&ON;
关闭备份优化:
CONFIGURE&BACKUP&OPTIMIZATION&O FF ;
3 、 CONFIGURE&DEFAULT&DEVICE&TYPE& 配置IO设备类型
RMAN 支持的IO设备类型有两种:磁盘(DISK)和磁带(SBT),默认情况下为磁盘。
使用磁盘设备:
CONFIGURE&DEFAULT&DEVICE&TYPE&TO&DISK;
使用磁带设置:
CONFIGURE&DEFAULT&DEVICE&TYPE&TO&SBT;
在这里需要注意的一点是:如果IO设备发生变化,相关配置项也需要修改。例如:
RMAN&&CONFIGURE&DEVICE&TYPE& DISK&PARALLELISM&2;
4 、 CONFIGURE&CONTROLFILE&AUTOBACKUP 配置控制文件自动备份
是否自动备份,包含两个状态:OFF和ON
打开自动备份
CONFIGURE&CONTROLFILE&AUTOBACKUP &ON
禁止自动备份
CONFIGURE&CONTROLFILE&AUTOBACKUP &OFF
同时可以通过如下配置指定备份的控制格式,路径。例如:
CONFIGURE&CONTROLFILE&AUTOBACKUP&FORMAT&FOR&DEVICE&TYPE&&&DISK&TO&¨d:/backup/%F¨;
在备份期间,将产生一个控制文件的快照,用于控制文件的读一致性,这个快照可以通过如下配置:
CONFIGURE&SNAPSHOT&CONTROLFILE&NAME&TO&¨D:/BACKUP/ SNCFJSSWEB.ORA¨;
5 、 CONFIGURE&DEVICE&TYPE& 设置并行备份
RMAN 支持并行备份与恢复,也可以在配置中指定默认的并行程度。例如:
CONFIGURE&DEVICE&TYPE&DISK&PARALLELISM&2;
指定在以后的备份与恢复中,将采用并行度为2,同时开启2个通道进行备份与恢复,当然也可以在run中指定通道来决定备份与恢复的并行程度。
并行的数目决定了开启通道的个数。如果指定了通道配置,将采用指定的通道,如果没有指定通道,将采用默认通道配置。有点儿绕是吧,我来给你白话一把。
默认情况下,自动分配通道的并行度为1,如果你通过设置PARALLELISM设置了并行通道为2,那么在run块中,如果你没有单独通过ALLOCATE&CHANNEL命令指定通道,它会默认使用2条并行通道,如果你在run命令块中指定了数个ALLOCATE&CHANNEL,那么 rman在执行备份命令时会以你设置的channel为准,而不管configure中配置了多少个并行通道。需要注意的一点是,在backup命令中有一个FILESPERSET参数,该参数是指rman建立的每个备份集中所能包含的备份片段(即磁盘文件)的最大数,该参数默认值为64,如果在执行
backup命令时没有指定该参数值,那么rman会仅使用第一个通道来执行备份,其它通道将处于空闲状态。关于通道数与FILESPERSET值之间也 有一个大小关系,逻辑稍显复杂这些就不多废话了,总之一条,filesperset值不要小于你设定的通道数。
6 、 CONFIGURE&DATAFILE&BACKUP&COPIES& 设置备份文件冗余度
4 章也讲过,应该也还有印象吧,不记的了就赶紧回去翻翻。
7 、 CONFIGURE&MAXSETSIZE& 配置备份集的最大尺寸
该配置限制通道上备份集的最大尺寸。单位支持bytes,K,M,G。默认值是unlimited。相信应该也不会有什么人改它吧,我花了整整20秒时间思考,然后确认,我应该用不着它,OK,跳过。
三、RMAN备份相关的动态性能表
V$ARCHIVED_LOG :本视图包含了所有归档重做日志文件的创建情况,备份情况以及其他信息。 V$BACKUP_CORRUPTION :这个视图显示了RMAN在哪些备份集中发现了损坏的数据坏。在你使用BACKUP&VALIDATE命令对备份集进行检查时如果发现了损坏的数据块,RMAN将在这个视图中写入记录。
V$COPY_CORRUPTIO :本视图显示了哪些镜像复制备份文件已经被损坏。 V$BACKUP_DATAFILE :本视图通常用来获取每个数据文件中非空白数据块的数量,从而帮助你创建出大小基本相等的备份集。另外,在视图中也包含了数据文件中损坏的数据块的信息。
V$BACKUP_REDOLOG :本视图显示了在现有的备份集中饮食有哪些归档重做日志文件。 V$BACKUP_SET :本视图显示了已经创建的备份集的信息。 V$BACKUP_PIECE :本视图显示了已经创建的备份片段的信息。
可以通过如下SQL语句获得正在进行的镜像复制操作的状态信息:
Select &sid,
&&&&&&&serial#,
&&&&&& context ,
&&&&&&&sofar,
&&&&&&&totalwork,
&&&&&&&round(sofar&/&totalwork&*&100 ,& 2 )&&%&Complete&
&& From &v$session_longops
& where &opname& like & ¨RMAN:%¨
&&& and &opname& not & like &¨RMAN:aggregate%¨
通过如下SQL获得rman用来完成备份操作的服务进程的SID与SPID信息:
Select &sid,&spid,&client_info
&& from &v$process&p,&v$session&s
& where &p.addr&=&s.paddr
&&& and &client_info& like & ¨%id=rman%¨
第七篇 RMAN基础知识补充 二
一、RMAN通道
&&&& RMAN通道实质是一个到存储设备的数据流。
1 、手工分配通道
在执行BACKUP、RESTORE、DELETE等需要进行磁盘I/O操作的命令时,可以将它们与ALLOCATE&CHANNEL命令放在一个RUN的命令块中,利用ALLOCATE&CHANNEL为它们分配通道。例如:
ALLOCATE&CHANNEL&CH1&DEVICE&TYPE&DISK&FORMAT&¨d:/backup/%U¨;
BACKUP&DATAFILE&¨F:\ORAHOME1\ORADATA\JSSWEB\JWEB.ORA¨;
需要注意的是,RMAN中执行的每一条BACKUP、DELETE等命令都至少要求使用一个通道,通道数决定了这些操作执行的并行度。
2 、自动分配通道
如果没有使用手工分配通道,那么RMAN在执行BACKUP等操作I/O的命令时将会使用预定义配置(configure,记起来了吧)中的设置来自动分配通道。
下列预定义配置命令均可以分配通道:
CONFIGURE&DEVICE&TYPE&...&PARALLELISM CONFIGURE&DEFAULT&DEVICE&TYPE CONFIGURE&CHANNEL&DEVICE&TYPE CONFIGURE&CHANNEL&n&DEVICE&TYPE
二、RMAN备份类型
利用RMAN进行备份时,可以通过三种方式来对RMAN的备份做分类
完全备份(Full&Backup)与增量备份(Incremental&Backup)
全备与增备是针对数据文件而言,控制文件和归档日志文件不能进行增量备份。当然,后两者可以做备份优化。
打开备份(Open&Backup)或关闭备份(Closed&Backup)
数据库打开状态下进行备份即是打开备份,数据库关闭状态下(加载状态)进行的备份即关闭备份。
一致备份(Consistent&Backup)与不一致备份(Inconsistent&Backup)
数据库打开状态或不干净关闭状态(shutdown&abort)进行的备份是不一致备份,利用不一致的备份修复数据库后还需要做数据库的恢复。在数据库干净关闭状态进行的备份是一致备份,利用一致备份修复数据库后不需要做数据库的恢复。
三、增量备份的工作机制
1 、差异备份Differential
backup命令在不显式指定的情况下,默认会选择Differential
比自己级别高或者同级的开始增加。
2 、累积增量备份Cumulative
只认比自己级别高的。
四、备份集概述
&备份集由RMAN创建的具有特定格式的逻辑备份对象,一个备份集中可能包含多个数据库文件(包括数据文件,控制文件和归档日志文件)。RMAN中通过BACKUP命令建立备份集。
  一个备份集是由多个备份片段组成,每个备份片段即是一个物理文件。
五、RMAN恢复目录(CATALOG)
第六篇 实战RMAN备份
&& 在写脚本之前,我们先明确一下我们的目标:
1 、每天夜间1点执行;
2 、数据库全备,同时备份控制文件及归档日志文件,备份文件保存至:D:\backup\目录下,并在完成归档日志文件备份后,自动删除已备份的归档日志;
3 、备份保留7天,过期则自动删除;
4 、保留操作日志备查;
1 、编写rman批处理文件
保存至: E:\oracleScript\backup\database_backup_orcl.rman
&CONFIGURE&RETENTION&POLICY&TO&RECOVERY&WINDOW&OF&7& DAYS;
&CONFIGURE&CONTROLFILE&AUTOBACKUP&ON;
&CONFIGURE&CONTROLFILE&AUTOBACKUP&FORMAT&FOR&DEVICE&TYPE&DISK&TO&“d:/backup/%F”;
&ALLOCATE&CHANNEL&CH1&DEVICE&TYPE&DISK&FORMAT&“d:/backup/%U”;
&BACKUP & DATABASE&SKIP&INACCESSIBLE&FILESPERSET&10
& &&PLUS&ARCHIVELOG&FILESPERSET&20
& && DELETE&ALL&INPUT;
&RELEASE&CHANNEL&CH1;
&ALLOCATE&CHANNEL&FOR&MAINTENANCE&DEVICE&TYPE&DISK;
&CROSSCHECK&BACKUPSET;
&DELETE NOPROMPT OBSOLETE;
SKIP&INACCESSIBLE :表示跳过不可读的文件。
2 、编写dos批处理
保存至:E:\oracleScript\backup\database_backup_orcl.bat
设定要备份的数据库sid为orcl,将日志按照日期输出到E:\oracleScript\backup\logs\ 目录。
set&oracle_sid=orcl
rman&target&/&msglog&E:\oracleScript\backup\logs\%date:~0,10%.log&cmdfile=E:\oracleScript\backup\database_backup_orcl.rman
3 、设定执行计划
控制面板-&任务计划中添加计划,运行E:\oracleScript\backup\database_backup_jssweb.bat,设定日程安排中的时间。
看过本文的人也看了:
我要留言技术领域:
取消收藏确定要取消收藏吗?
删除图谱提示你保存在该图谱下的知识内容也会被删除,建议你先将内容移到其他图谱中。你确定要删除知识图谱及其内容吗?
删除节点提示无法删除该知识节点,因该节点下仍保存有相关知识内容!
删除节点提示你确定要删除该知识节点吗?

我要回帖

更多关于 oracle rman 备份脚本 的文章

 

随机推荐