实例恢复中备份可恢复性和归档模式浅析

检查点进程(CKPT):
使用检查点信息更新数据文件标题
使用检查点信息更新控制文件
在完全检查点向DBWn发出信号


重做日志文件:
记录对数据库进行的更改
应用多路复用避免丢失

日志写进程的写入时间:
提交时
三分之一已满时
每隔3秒
在DBWn写入之前

实例恢复的阶段:
1.数据文件不同步
2.前滚(重做)该阶段称为缓存恢复或者前滚,即将online redo log里的变化全部重新应用到数据文件上,该阶段结束后,数据文件中同时存在已提交和未提交的数据。
3.文件中的提交和未提交数据
4.打开数据库
5.回退(还原)该阶段称为回滚或事务恢复,即将失败前还未提交的变化,进行回滚,保证该阶段结束后,数据文件中只存在已提交的数据。
6.文件中的提交数据


优化实例恢复
在实例恢复期间,必须将检查点位置与重做日志末尾之间的事务处理应用到数据文件。
通过控制检查点位置与重做日志末尾之间的差异可优化实例恢复。


要配置数据库的最大可恢复性,必须执行以下操作:
计划常规备份
多路复用控制文件
1.ASM存储,每个磁盘组上保存一个副本。
2.文件系统存储,至少有两个副本,分别位于不同磁盘。
1)使用alter system set control_files = 更改SPFILE
2)关闭数据库
3)将控制文件复制到新位置
4)打开数据库并确认已经添加了新控制文件
多路复用重做日志组
1.每个组至少有两个成员
2.在每个磁盘驱动器上有一个成员
3.在每个磁盘控制器上有一个成员
保留重做日志的归档副本


配置快速恢复区:
强烈建议使用,可以简化备份存储管理
位置由DB_RECOVERY_FILE_DEST参数指定
大小由DB_RECOVERY_FILE_DEST_SIZE参数指定
足够大,可存放备份、归档日志、闪回日志、镜像控制文件和镜像重做日志

根据保留策略自动进行管理


--实验
--文件系统存储控制文件多工
SYS@PROD2> show parameter control

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
control_file_record_keep_time	     integer	 7
control_files			     string	 /u01/app/oracle/oradata/PROD2/
						 control01.ctl
control_management_pack_access	     string	 DIAGNOSTIC+TUNING
SYS@PROD2> alter system set control_files='/u01/app/oracle/oradata/PROD2/control01.ctl','/u01/app/oracle/fast_recovery_area/PROD2/control02.ctl' scope=spfile;

System altered.

SYS@PROD2> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
[oracle@ocm1 PROD2]$ cp /u01/app/oracle/oradata/PROD2/control01.ctl control02.ctl
[oracle@ocm1 PROD2]$ ls
archivelog  backupset  control02.ctl  onlinelog
[oracle@ocm1 PROD2]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Tue Dec 6 21:06:31 2016

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

Connected to an idle instance.

SYS@PROD2> startup
ORACLE instance started.

Total System Global Area  958341120 bytes
Fixed Size		    1348972 bytes
Variable Size		  314575508 bytes
Database Buffers	  637534208 bytes
Redo Buffers		    4882432 bytes
Database mounted.
Database opened.
SYS@PROD2> select name from v$database;

NAME
---------
PROD2

SYS@PROD2> select name from v$controlfile;

NAME
----------------------------------------------------------------------------------------------------
/u01/app/oracle/oradata/PROD2/control01.ctl
/u01/app/oracle/fast_recovery_area/PROD2/control02.ctl

--日志文件多工
SQL> select member from v$logfile;

MEMBER
--------------------------------------------------------------------------------
/u01/oracle/oradata/wyzc10g/redo03.log
/u01/oracle/oradata/wyzc10g/redo02.log
/u01/oracle/oradata/wyzc10g/redo01.log

[oracle@luo ~]$ ls /u01/oracle/flash_recovery_area/
WYZC10G

[oracle@luo ~]$ rlwrap sqlplus / as sysdba

SQL*Plus: Release 10.2.0.5.0 - Production on Tue Dec 6 21:39:19 2016

Copyright (c) 1982, 2010, Oracle.  All Rights Reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP, Data Mining Scoring Engine
and Real Application Testing options

SQL> alter database add logfile member '/u01/oracle/flash_recovery_area/WYZC10G/redo01.log' to group 1;

Database altered.

SQL> alter database add logfile member '/u01/oracle/flash_recovery_area/WYZC10G/redo02.log' to group 2;

Database altered.

SQL> alter database add logfile member '/u01/oracle/flash_recovery_area/WYZC10G/redo03.log' to group 3;

Database altered.

SQL> select group#, members from v$log;

    GROUP#    MEMBERS
---------- ----------
	 1	    2
	 2	    2
	 3	    2
	 
--开启归档
SQL> select log_mode from v$database;  --查看当前模式

LOG_MODE
------------
NOARCHIVELOG

SQL> archive log list;  --另一种方法
Database log mode	       No Archive Mode
Automatic archival	       Disabled
Archive destination	       USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     54
Current log sequence	       56
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.

Total System Global Area  398458880 bytes
Fixed Size		    2096568 bytes
Variable Size		  159384136 bytes
Database Buffers	  230686720 bytes
Redo Buffers		    6291456 bytes
Database mounted.
SQL> alter database archivelog;

Database altered.

SQL> alter database open;

Database altered.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值