1,使用全备份之后的还原不需要建立表空间。
2,归档日志备份之后,使用delete all input,在backup database plus achivelog之后,会在完成备份之后自动删除归档目录中已备份的归档日志。
归档之后,查看已备份归档日志片段
4,问何涛我们的list backup of database
5,问何涛oracle的备份保留策略 report obsolete
2014-11-14 9:06
大动作:删除n年积累的归档日志
以下参考
http://blog.csdn.net/linlzk/article/details/5269186
使用list archivelog all 查询,不知道为什么只有939-994 56个归档
2014-11-18 14:38
查看归档日志占用总空间百分比;
select * from V$FLASH_RECOVERY_AREA_USAGE;
归档的默认路径被修改,这样可以不用担心归档日志占满
参考:http://www.cnblogs.com/sumsen/archive/2013/01/13/2858914.html
SYS@ncbeta>alter system set log_archive_dest_1='location=D:xsJSCEarlog'; --目录,不用加scope,改了之后立即生效
修改之后归档日志就产生在上述log_archive_dest_1='location=D:xsJSCEarlog,db_recovery_file_dest 就不再产生。
SYS@ncbeta>alter system set log_archive_format='JSCE_%s_%t_%r.ARC' scope=spfile; --格式,10g里面需要增加scope=spfile
%s: 日志序列号,%S: 日志序列号(带有前导0),%t: 重做线程编号,%T: 重做线程编号(带有前导0),%a: 活动ID号,%d: 数据库ID号,%r RESETLOGS的ID值.
看看archiv log所在位置
SQL> show parameter log_archive_dest;
一般VALUE为空时,可以用archive log list;检查一下归档目录和log sequence
参考:http://blog.chinaunix.net/uid-17240229-id-306718.html
之后(以下来自上面的参考)
转移或清除对应的归档日志, 删除一些不用的日期目录的文件,注意保留最后几个文件(比如360以后的)
注意:
在删除归档日志后,必须用RMAN维护控制文件,否则空间显示仍然不释放。
9. 检查一些无用的archivelog
RMAN> crosscheck archivelog all;
10. 删除过期的归档
RMAN> delete expired archivelog all;
delete archivelog until time 'sysdate-1' ; 删除截止到前一天的所有archivelog
扩展:
两个概念
delete expired删除的是那些本来RMAN以为存在但是实际上在磁盘或者磁带上已经被删除了的信息,删除的只是RMAN资料库中的记录;
delete obsolete则删除旧于备份保留策略定义的备份数据同时也更新RMAN资料库以及控制文件。
那么再形象一点儿解释的话,就是“在不在”和“要不要”的区别。expired是不在了,obsolete是不要了。
RETENTION POLICY TO REDUNDANCY 3 对归档日志文件的备份集是有效的。过程如下:
1> 进行备份策略设置:
CONFIGURE RETENTION POLICY TO REDUNDANCY 3;
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/wyd/backup/%F';
2> 进行备份操作(总共备份5次,即重复执行以下命令5次,根据先前设置的3次,所以report obsolete会提示前2次是可以被废弃删除的):
backup database format '/wyd/backup/fulbak_%d_%T_%U' plus archivelog delete all input format '/wyd/backup/arcbak_%d_%T_%U';
目前正式环境的rman配置
每个参数的说明:http://blog.chinaunix.net/uid-7509213-id-2050766.html
1.configure retention policy to redundancy 1: 是用来决定那些备份不再需要了,它一共有三种可选项,分别是 CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS; CONFIGURE RETENTION POLICY TO REDUNDANCY 5; CONFIGURE RETENTION POLICY TO NONE; 第一种recover window是保持所有足够的备份,可以将数据库系统恢复到最近七天内的任意时刻。任何超过最近七天的数据库备份将被标记为obsolete。 第二种redundancy 是为了保持可以恢复的最新的5份数据库备份,任何超过最新5份的备份都将被标记为redundancy。它的默认值是1份。 第三种不需要保持策略,clear将恢复回默认的保持策略。 一般最安全的方法是采用第二种保持策略。 2.CONFIGURE BACKUP OPTIMIZATION OFF 默认值为关闭,如果打开,rman将对备份的数据文件及归档等文件进行一种优化的算法。 3.Configure default device type to disk: 是指定所有I/O操作的设备类型是硬盘或者磁带,默认值是硬盘 磁带的设置是CONFIGURE DEFAULT DEVICE TYPE TO SBT; 4.CONFIGURE CONTROLFILE AUTOBACKUP OFF 强制数据库在备份文件或者执行改变数据库结构的命令之后将控制文件自动备份,默认值为关闭。这样可以避免控制文件和catalog丢失后,控制文件仍然可以恢复。 5.CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F' 是配置控制文件的备份路径和备份格式 6.CONFIGURE DEVICE TYPE DISK PARALLELISM 1; 是配置数据库设备类型的并行度。 7.CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; 是配置数据库的每次备份的copy数量,oracle的每一次备份都可以有多份完全相同的拷贝。 8.CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1 是设置数据库的归档日志的存放设备类型 9.CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'C:ORACLE… SNCFTEST.ORA' 是配置控制文件的快照文件的存放路径和文件名,这个快照文件是在备份期间产生的,用于控制文件的读一致性。 10.CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT 'C:...%d_DB_%u_%s_%p'; 是配置备份文件的备份路径和备份格式 CONFIGURE CHANNEL DISK CLEAR; 用于清除上面的信道配置 CONFIGURE EXCLUDE FOR TABLESPACE <tablespace> [CLEAR]; 此命令用于将指定的表空间不备份到备份集中, 此命令对只读表空间是非常有用的。 -------------- 1.将备份文件存储到指定路径,如 e:ackupb configure channel device type disk format 'e:ackupb\%d_db_%u'; 后面的%d_db_%u是存储格式 2.我们也可以单独指定control file 存储在另一个路径:如 e:ackupcontrol configure controlfile autobackup format for device type disk to 'e:ackupcontrol\%F'; 后面的%F是存储格式 ================ RMAN中常用configure命令2007-06-21 15:37 1 显示当前的配置信息 =========================== 1.01 RMAN> show all; 1.02 查询RMAN设置中非默认值: SQL> select name,value from v$rman_configure; 2. 常用的configure选项 =========================== 2.01 保存策略 (retention policy) configure retention policy to recovery window of 3 days; configure retention policy to redundancy 3; configure retention policy clear; 2.02 备份优化 backup optimization configure backup optimization on; configure backup optimization off; configure backup optimization clear; 2.03 默认设备 default device type configure default device type to disk; configure default device type to stb; configure default device type clear; 2.04 控制文件 controlfile configure controlfile autobackup on; configure controlfile autobackup format for device type disk to '/cfs01/backup/conf/conf_%F'; configure controlfile autobackup clear; configrue controlfile autobackup format for device type disk clear; configrue snapshot controlfile name to '/cfs01/backup/snapcf/scontrofile.snp'; configrue snapshot controlfile name clear; 2.05 并行数(通道数) device type disk|stb pallelism n; configure device type disk|stb parallelism 2; configure device type disk|stb clear; configure channel device type disk format 'e/:rmanback_%U'; configure channel device type disk maxpiecesize 100m configure channel device type disk rate 1200K configure channel 1 device type disk format 'e/:rmanback_%U'; configure channel 2 device type disk format 'e/:rmanback_%U'; configure channel 1 device type disk maxpiecesize 100m 2.06 生成备份副本 datafile|archivelog backup copies configure datafile backup copies for device type disk|stb to 3; configure archivelog backup copies for device type disk|stb to 3; configure datafile|archivelog backup copies for device type disk|stb clear BACKUP DEVICE TYPE DISK DATABASE FORMAT '/disk1/backup/%U', '/disk2/backup/%U', '/disk3/backup/%U'; 2.07 排除选项 exclude configure exclude for tablespace 'users'; configrue exclude clear; 2.08 备份集大小 maxsetsize configure maxsetsize to 1G|1000M|1000000K|unlimited; configure maxsetsize clear; 2.09 其它选项 auxiliary CONFIGURE AUXNAME FOR DATAFILE 1 TO '/oracle/auxfiles/aux_1.f'; CONFIGURE AUXNAME FOR DATAFILE 2 TO '/oracle/auxfiles/aux_2.f'; CONFIGURE AUXNAME FOR DATAFILE 3 TO '/oracle/auxfiles/aux_3.f'; CONFIGURE AUXNAME FOR DATAFILE 4 TO '/oracle/auxfiles/aux_4.f'; - CONFIGURE AUXNAME FOR DATAFILE 1 CLEAR; CONFIGURE AUXNAME FOR DATAFILE 2 CLEAR; CONFIGURE AUXNAME FOR DATAFILE 3 CLEAR; CONFIGURE AUXNAME FOR DATAFILE 4 CLEAR; --------------------------- Rman的format格式中的% %c 备份片的拷贝数 %d 数据库名称 %D 位于该月中的第几天 (DD) %M 位于该年中的第几月 (MM) %F 一个基于DBID唯一的名称,这个格式的形式为c-IIIIIIIIII-YYYYMMDD-QQ,其中IIIIIIIIII为该数据库的DBID,YYYYMMDD为 日期,QQ是一个1-256的序列 %n 数据库名称,向右填补到最大八个字符 %u 一个八个字符的名称代表备份集与创建时间 %p 该备份集中的备份片号,从1开始到创建的文件数 %U 一个唯一的文件名,代表%u_%p_%c %s 备份集的号 %t 备份集时间戳 %T 年月日格式(YYYYMMDD)
18:12 更新
测试账套测试
1,更改归档模式
2,更改归档日志文件存放目录
SYS@nctest>alter system set log_archive_dest_1='location=D:oratestd';
和格式
SYS@nctest>alter system set log_archive_format='nctest_%s_%t_%r.ARC' scope=spfile;
2014-11-19 10:48 更新
执行SYS@nctest>alter system archive log current;
手工切换归档,最后一条
不明白为什么昨天晚上十点多的0001文件怎么搞的
》更改rman的控制文件自动更新
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP on;
新的 RMAN 配置参数:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
已成功存储新的 RMAN 配置参数
更改备份的保留策略
【第二种redundancy 是为了保持可以恢复的最新的2份数据库备份,任何超过最新2份的备份都将被标记为redundancy。它的默认值是1份。】
RMAN> CONFIGURE RETENTION POLICY TO REDUNDANCY 2;
新的 RMAN 配置参数:
CONFIGURE RETENTION POLICY TO REDUNDANCY 2;
已成功存储新的 RMAN 配置参数
更改备份路径
说明:这个参数不是在show all中,需要手工填写
RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT 'D:oratestd mand\%D%U%T';
新的 RMAN 配置参数:
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT 'D:oratestd
mand\%D%U%T';
已成功存储新的 RMAN 配置参数
更改控制文件的存储路径(直接抄写show all的)
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'D:oratestd manc\%F';
新的 RMAN 配置参数:
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'D:oratestd
manc\%F';
已成功存储新的 RMAN 配置参数
更改之后
下面重点对rman备份数据库时并同时归档日志的操作
RMAN> backup database plus archivelog delete all input;
当你使用delete all input参数之后,就会删除备份的归档日志。
好神奇的东西,在rman备份的时候我看归档日志目录,归档已经删除
已经成功
为了测试保留策略(冗余2)继续做 backup database plus archivelog delete all input;
第二次完成
再做一次
插入:这个时候问digoes,他让我设置策略
做第三次rman全备完成
备份文件
可以看到最早的一个备份文件过期,其余是最早的4个数据文件过期(11:35之前产生)
就是 手动输入yes & no
--删除7天前归档 RMAN> delete noprompt archivelog all completed before 'sysdate-7'; 或 RMAN> delete noprompt archivelog until time 'sysdate-7';
RMAN> crosscheck archivelog all; RMAN> delete noprompt expired archivelog all;
思考了一下,认为有必要记录一下为什么要备份归档日志:
其实rman备份开始之前的归档是没有用的,可以删除,但是不能在rman备份之前就删除,因为rman有可能备份失败,可以在rman备份成功之后删除之。
rman备份是一种物理的备份,它直接去读取数据块,因此rman是块级别的备份。从备份的那个时间点开始rman将锁定此刻的数据文件信息,也就是说只是备份数据文件到此刻的信息为之。
但是rman并不锁定数据文件的使用,也就是说rman的备份,不是数据库一致性状态的备份,由于rman备份是块级别的,它只备份控制文件中已经存在的数据块,同时数据库还在运行之中,那么就有可能会出现某些已经提交的操作,但是dbwn还没有写入数据文件,或者已经被rman备份过的数据块,又重新被修改,等等,
这些信息rman备份都不会记录,也是rman无法记录的。但是记录这些信息的是redo file,所以在rman完毕建议马上执行日志切换,然后备份归档日志,因为在rman恢复过程中,rman本身备份的数据是不一直的,要靠这些已经归档的redo file信息恢复和保持数据库的一直状态。
当然备份的归档日志中,可能包含有rman开始之前的归档,这些是没用的,
其实这些归档文件中真正有用的是从rman备份开始到rman备份结束时刻系统产生的归档日志。
同时rman在恢复的时候,restore database完毕后,会依次利用归档日志和联机日志进行完全恢复。此时利用的这些归档就是从rman备份开始到rman备份结束产生的归档日志。
因此备份归档日志是很必要的,当然联机日志也是必须的,这些日志保证了rman能够完全的恢复数据库。
是不是就不存在全备之后做归档的备份了?
然后
alter system archive log current;
官方描述: Backing Up Logs with BACKUP ... PLUS ARCHIVELOG You can add archived redo logs to a backup of other files by using the BACKUP ... PLUS ARCHIVELOG clause. Adding BACKUP ... PLUS ARCHIVELOG causes RMAN to do the following: 1. Runs the ALTER SYSTEM ARCHIVE LOG CURRENT command. 2. Runs BACKUP ARCHIVELOG ALL. Note that if backup optimization is enabled, then RMAN skips logs that it has already backed up to the specified device. 3. Backs up the rest of the files specified in BACKUP command. 4. Runs the ALTER SYSTEM ARCHIVE LOG CURRENT command. 5. Backs up any remaining archived logs generated during the backup.This guarantees that datafile backups taken during the command are recoverable to a consistent state.To back up archived redo logs with BACKUP ... PLUS ARCHIVELOG: After starting RMAN, run the BACKUP ... PLUS ARCHIVELOG command at the RMAN prompt . This example backs up the database and all archived logs: RMAN> BACKUP DEVICE TYPE sbt DATABASE PLUS ARCHIVELOG;
RMAN> backup archivelog all delete input;
SYS@nctest>SELECT USERENV ('language') FROM DUAL;
USERENV('LANGUAGE')
----------------------------------------------------
SIMPLIFIED CHINESE_CHINA.ZHS16GBK