数据库的归档模式

归档与非归档的区别:

1,非归档模式只能做冷备份,并且恢复时只能做完全备份.最近一次完全备份到系统出错期间的数据不能恢复.

2,归档模式可以做热备份,并且可以做增量备份,可以做部分恢复. 归档模式会对系统性能尤其是磁盘I/O造成一定的影响,但是相对于归档的好处和安全性,相信大多数DBA都会选择归档模式。

设置归档模式如下:

1)        Sqlplus sys/sys as sysdba------以sysdba身份登录oracle数据库
2)        archive log list------查看数据库与归档相关的信息。
3)        Shutdown immediate---------关闭数据库
4)        Startup mount----------以加载方式启动数据库。
5)        Alter database archivelog(noarchivelog)------------设置数据库为归档模式(非归档模式)
6)        Alter database open------打开数据库
7)        archive log list -------再验证数据库与归档相关的信息。
8)        做数据库的全备份

归档日志文件默认放在闪回区,查看闪回区路径和大小的参数 :db_recovery_file_dest


Oracle10g 以前,oracle系统并不能自动启动归档后台进程(arcn)这叫手动归档模式。

以下操作为10g以前,10g以后自动归档模式。

1,手动归档模式:DBA要手动完成从重做日志文件到归档日志文件的复制工作。

Alter system archive log current;-- 归档当前日志文件
ALTER SYSTEM ARCHIVE LOG SEQUENCE 052;-- 归档序号为052的日志文件
ALTER SYSTEM ARCHIVE LOG ALL;-- 归档所有日志文件
ALTER SYSTEM ARCHIVE LOG CURRENT TO '&PATH';-- 改变归档日志目标

 

2,两种方法设置自动归档模式:

1)  Oracle命令:

alter system archive log start;

(缺点:10g以前,数据库重启之后,arcn并不自动启动,必须使用命令重新启动进程。)

2) 修改参数:

Show parameter log_archive_start   --------检查参数是否为true,静态参数
alter system set log_archive_start=true scope=spfile
shutdown immediate;
startup;

3,为避免arcn进程跟不上LGWR造成数据库挂起。启动多个arcn:

Show parameter log_archive_max_processes  ----------查看参数值,动态参数
aiter system set log_archive_max_processes=n

 

4,配置归档目标,多归档目标,远程归档目标,归档日志格式

show parameter log_archive_dest_n    ----------查看当前所有归档日志文件的目录
select destination,binding,target,status from v$archive_dest; -----查看

本地归档目标:

SQL>LOG_ARCHIVE_DEST_1 = "LOCATION=D:\ORACLE\ARCHIVEDLOG";

远程归档目标:

SQL>LOG_ARCHIVE_DEST_2 = "SERVICE=STANDBY_DB1";

强制的归档目标,如果出错,600秒后重试:

SQL>ALTER SYSTEM SET LOG_ARCHIVE_DEST_4= "LOCATION=E:\ORACLE\ARCHIVEDLOG MANDATORY  REOPEN=600";

可选的归档目标,如果出错,放弃归档:

SQL>ALTER SYSTEM SET LOG_ARCHIVE_DEST_3= "LOCATION=E:\ORACLE\ARCHIVEDLOG  OPTIONAL";

注:mandatory:表示该目录下的归档日志文件是强制性的,即在该目录下的归档日志文件在没有写成功之前,所对应的重做日志文件不能重用。

Optional:表示该目录下的归档日志文件是可选的,即在该目录下的归档日志文件即使没有写成功,所对应的重做日志文件也可以重用。默认值。

5,重做日志的切换

alter system switch logfile; --可用于测试查看归档文件

6,设置Oracle系统必须保证成功的归档日志文件组数,

Alter system set log_archive_min_succeed_dest=n   默认值1

7,开启或关闭归档功能

alter system set log_archive_dest_state_1=defer  -------关闭log_archive_dest_state_1所定义的物理路径
ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2 = ENABLE------打开

归档日志格式:LOG_ARCHIVE_FORMAT

8,获取归档日志信息

V$ARCHVIED_LOG

V$ARCHVIE_DEST

V$LOG_HISTORY

V$DATABASE

V$ARCHIVE_PROCESSES

ARCHIVE LOG LIST;

热备份与冷备份区别:

1,  热备份支持在数据库不停机的情况下进行备份;

2,  冷备份是必须在数据库shutdown以后使用操作系统的命令对表空间进行拷贝进行的备份。(否则冷备的数据文件恢复时由于SCN的不同导致数据库不能启动,冷备份的方法就是将表空间的实体文件复制到其他的目录下即可。与热备相比,冷备份与恢复的时间比热备快得多,因为其就是简单的操作系统的复制文件操作)

3,  热备份适用于重要的数据库,比如7x24不能中断的生产系统,同时可以保证数据库在出现崩溃时结合归档日志可以恢复到任意一个时间点,不会造成数据丢失。

4,  冷备份在数据库出现问题时只会恢复到备份时的那一时间点,备份完成到数据库出现问题需要恢复时的这一时间段内的所有新数据、修改记录都无法恢复。

5,  热备份只能在归档模式下进行,冷备份不需要归档模式,归档模式会对系统性能尤其是磁盘I/O造成一定的影响,但是相对于归档的好处和安全性,相信大多数DBA都会选择归档模式。

6,  热备份常用命令有exp、rman等。热备份不局限于是否是归档模式,都可以进行实时的热备份。