【五】归档日志
5.1 归档和非归档的区别
1)归档会在日志切换时,备份历史日志,对于OLTP系统都应考虑归档模式,以便数据库能支持热备,并提供数据库完全恢复和不完全恢复(基于时间点)。
2)归档会启用ARCn的后台进程、也会占用磁盘空间。
3)非归档适用某种静态库、测试库、或者可由远程提供数据恢复的数据库,非归档只能冷备,且仅能还原最后一次全备。
5.2 设置归档模式
1)SQL> shutdown immediate 一定要干净的关闭数据库
2)SQL> startup mount 启动到mount下
3)SQL> alter database archivelog; 设置归档方式
4)SQL> archive log list; 查看归档状态
5)SQL> alter database open; 打开数据库5.3 路径及命名方法
1)Oracle判断归档目的地时按如下顺序优先择取
①log_archive_dest_n 值 或 log_archive_dest 值
②db_recover_file_dest 参数指定的位置
③$ORACLE_HOME/dbs 位置2)路径可以通过archive log list命令显示
Archive destination(存档终点)有两种情形
①缺省是USE_DB_RECOVERY_FILE_DEST,其含义是采用参数db_recovery_file_dest参数的定义,即闪回恢复区;
②采用参数log_archive_dest_n或log_archive_dest指定的路径:
SQL> show parameter archive
NAME TYPE VALUE
------------------------------------ ----------- --------------------------------------
archive_lag_target integer 0
log_archive_config string
log_archive_dest string
log_archive_dest_1 string location=/u01/arch
log_archive_dest_10 string
log_archive_dest_2 string
log_archive_dest_3
...
log_archive_duplex_dest string
log_archive_format string arch_%t_%r_%s.logSQL> show parameter db_recovery;3)首先来看这两个参数:
log_archive_dest_n
log_archive_formatlog_archive_dest_n(n:1-10) 表示可以有10个目标路径存放归档日志(镜像关系),即可以多路复用10个归档日志的备份。
如上显示我只使用了log_archive_dest_1,也就是说只有一套归档日志,没有做镜像。
参数设定的格式如下:
SQL> alter system set log_archive_dest_1='location=/u01/arch';把历史日志归档到本机目录下 (location 代表本机)
SQL> alter system set log_archive_dest_2='service=standby';远程备份,把历史日志备份到网络连接符为standby的数据库上。(service 代表远程),配置DG时有用。
log_archive_format 是定义命名格式的,一般考虑使用下面三个内置符号(模板)
%t thread# 日志线程号
%s sequence 日志序列号
%r resetlog 代表数据库的周期参数设定的格式如下:
SQL> alter system set log_archive_format ='arch_%t_%r_%s.log' scope=spfile;4)再来看看这两个参数:
log_archive_dest
log_archive_duplex_dest这两个参数已经弃用了,它们能完成两路复用(镜像)但只能指定本机location,无法指定远程。
一旦使用log_archive_dest_n,log_archive_dest参数就失效了。
5.4 归档进程和手动切换
1)归档进程
$ ps -ef |grep ora_arc
oracle 1215 2435 0 13:26 pts/2 00:00:00 grep ora_arc
oracle 31796 1 0 13:00 ? 00:00:00 ora_arc0_
oracle 31798 1 0 13:00 ? 00:00:00 ora_arc1_ARCn就是归档进程,n最多可达30个,由log_archive_max_processes参数指定。
2)手动切换日志:
第一种:SQL> alter system switch logfile; 仅切换当前实例,适用归档和非归档。
第二种:SQL> alter system archive log current; 在RAC下切换所有实例,仅适用于归档模式。the end !!!
@jackman 共筑美好!
| 留言与评论(共有 0 条评论) “” |