数据归档模式

1.归档模式与非归档模式介绍
1)归档模式:归档会在日志切换时,备份历史日志对于oltp系统都应该考虑归档模式,以便数据库支持热备,并提供数据库完全恢复和不完全恢复(基于时间点)。
2)非归档模式:非归档适用于莫衷静态库,测试库,或者可有远程提供数据恢复的数据库,非归档值能冷备,且仅能还原最后一次全备,归档可以恢复到最后一次commit。
注意:归档会启用ARCn的后台进程,也会占用磁盘空间。
2.数据库归档模式
1)查看数据库归档模式

命令 :archive log list
SQL> archive log list
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     4
Next log sequence to archive   6
Current log sequence           6

2)如何开启归档模式
1.正常关闭数据库 shutdownimmediate
2.数据库启动到mount状态 startup mount
3.打开归档模式 alter database archivelog
4.打开数据库 alter database open
5.查看后台进程 archive log list
3)仅仅切换当前实例日志,适用归档和非归档模式
alter system switch logfile
4)如果在集群环境中切换所有实例日志,仅适用于归档模式
alter systen archive log current
3.归档日志命名格式
log_archive_format是定义命名格式,一般考虑使用下面三个内置符号
%t thread# 日志线程号
%s sequence 日志序列号
%r resetlog 代表数据库的周期
设置归档文件命名格式(静态参数,scope=spfile ,重启后生效)

SQL>alter system set log_archive_format=‘oradb_%t_%s_%r.arc’ scope=spfile;

5.归档路径
归档日志默认存放路径:¥ORACLE_HOME/dbs
oracle配置归档路径有以下几个参数:
方法一:通过log_archive_dest 参数指定归档文件存放的路径,该路径只能是本地磁盘
方法二:通过log_archive_dest_n 参数oracle最多支持吧日志归档到10个地方,n从1到10.归档地址可以为本地或者网络设备。
方法三:db_recover_file_dest 参数指定的位置快速恢复区,并将归档日志保存至闪回区。
6.更改路径
1.通过修改log_archive_dest_1参数
1)创建专门存放归档日志的目录
[oracle@vm01 ~ ]$ cd O R A C L E B A S E / o r a d a t a [ o r a c l e @ v m 01 o r a d a t a ] ORACLE_BASE/oradata [oracle@vm01 oradata] ORACLEBASE/oradata[oracle@vm01oradata] mkdir arch
[oracle@vm01 oradata]$ cd arch/
[oracle@vm01 arch]$ pwd
/u01/app/oracle/oradata/arch
2)在数据库中修改归档日志存放的路径
SQL> alter system set log_chive_dest_1=‘location=/u01/app/oracle/oradata/arch’;
3)手动切换日志
SQL> alter system switch logfile
4)去操作系统上查看arch目录中是否生成归档日志
cd $ORACLE_HOME/data/arch
2.配置闪回保存归档日志
闪回:提供了将整个数据库退回到过去某个时刻的能力。
涉及一下两个参数
db_recovery_file_dest_size : 设置闪回区的大小
db_recovery_file_dest : 设置闪回区位置

alter system set db_recovery_file_dest_size=14g;   大小
alter system set db_recovery_file_dest=‘/u01/app/oracle/arch';位置

archive log list 查看归档情况及信息
配置让归档路径使用闪回区
alter system set log_archive_dest_size = ‘location=USE _DB_RECOVERY_FILE_DEST’;

再次查看归档及信息

 SQL> archive log list
    Database log mode Archive Mode 
    Automatic archival Enabled 
    Archive destination USE_DB_RECOVERY_FILE_DEST 
    Oldest online log sequence 14 
    Next log sequence to archive 18 
    Current log sequence 18

7.删除归档日志
注意!!!!!
删除归档日志时不建议在操作系统上删除,建议使用rman工具。
1.使用rman登录数据库
RMAN> delete archivelog until sequence 7;
删除sequence 7之前的归档文件
2.detele noprompt archivelog all completed before ‘sysdate-1’;
删除当天之前的一天的所有数据。

你可能感兴趣的:(数据归档模式)