一、实验环境
运行环境:
[root@localhost ~]# lsb_release -a
LSB Version: :core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarch
Distributor ID: RedHatEnterpriseServer
Description: Red Hat Enterprise Linux Server release 5.4 (Tikanga)
Release: 5.4
Codename: Tikanga
数据库版本:
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for Linux: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production
归档状态:
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
二、实验思想:
由于归档日志都是连续的,所以若归档日志丢失,则从丢失的归档日志之后的所有归档日志将无效,且无法恢复除非有备份,所以在此再次强调下备份的重要性。
三、步骤:
1、使用watch命令监视归档目录下的变化
2、由于空库没有任何负载,所以手都切换日志组让产生的日志归档
3 、不能手动直接在系统上将归档日志直接删除,因为在控制文件中依然记录着,若直接删除会出现错误。
所以要通过RMAN 命令进行备份删除,这样既从系统上删除了归档文件,有从控制文件中将记录移除。
四、具体操作:
1、之前已经把归档目录下的归档日志全部备份删除所以本机的归档目录下是空的
用:watch ls命令监视归档目录下的变化(工作目录已经切换到归档目录下)
2、现在切换日志组让其产生归档文件;
SQL> alter system switch logfile;
System altered.
(执行若干次)
这时候注意归档目录下已经产生了归档文件;
3、现在是用RAMN命令执行备份删除(同时注意alert日志和归档目录下文件的变化)
[oracle@localhost ~]$ rman target sys/oracle/lzcdb
Recovery Manager: Release 10.2.0.1.0 - Production on Thu Jun 14 13:33:00 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
connected to target database: LZCDB (DBID=404353836)
RMAN> backup archivelog all delete input;
执行完毕之后你会发现你的归档目录下的归档日志文件已经没有了。
现在查看下备份
List of Archived Logs in backup set 12
Thrd Seq Low SCN Low Time Next SCN Next Time
---- ------- ---------- --------- ---------- ---------
1 41 730922 14-JUN-12 737376 14-JUN-12
1 42 737376 14-JUN-12 737659 14-JUN-12
会发现备份的归档日志文件中多了一些,这正是你刚才备份删除的那些归档日志。
五、实验小结:
小小的碎碎念一下,在这次试验中如果你细心观察alert文件的话你会发现每当你数据库进行自动备份的时候,在最后都会对控制文件进行备份。这让我想起一句话,当你的数据库结构发生变化是,不要忘了对控制文件进行备份。备份是很必要的哦!
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26723566/viewspace-732847/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/26723566/viewspace-732847/