Oracle数据库归档形式的切换mingxing - AG环亚娱乐

Oracle数据库归档形式的切换mingxing

2019-02-13 11:38:02 | 作者: 智杰 | 标签: 数据库,形式,日志 | 浏览: 2185

一要使OARCLE数据库进行日志的主动归档,需求做两方面的工作,一是数据库日志形式的设置(database log mode,可为Archive Mode和No Archive Mode),别的就是主动归档形式设置(Automatic archival,可为Enabled和Disabled)。 二怎么检查数据库的现行日志和主动归档形式的设置:

可用archive log list指令来检查。

例如:

运转在日志主动归档形式下的数据库体系检查成果如下(一般是出产环境)

SVRMGR archive log list

Database log mode Archive Mode

Automatic archival Enabled

Archive destination /backup/archivelog

Oldest online log sequence 2131

Next log sequence to archive 2133

Current log sequence 2133

没有发动数据库日志形式和主动归档的数据库体系检查成果如下(一般是测验环境)

SVRMGR archive log list

Database log mode No Archive Mode

Automatic archival Disabled

Archive destination /u01/app/Oracle/product/8.0.5/dbs/arch

Oldest online log sequence 194

Current log sequence 196

三数据库日志形式的设置

在创立数据库时,能够在CREATE DATABASE 句子中指定数据库的日志形式。假设没有指明,则缺省为NOARCHIVELOG形式。因为假如在创立数据库时指明是Archive Mode的话,会添加约20%的创立时刻,而在今后发动INSTANCE时再设置的话,一般只用去几秒的时刻,所以一般在创立数据库时是不设置为ARCHIVE MODE的。

如要断定一体系数据库的日志形式设置,除了(二)中的方法外也能够履行如下操作检查:

SVRMGR Select * from V$DATABASE

NAME CREATED LOG_MODE CHECKPOINT ARCHIVE_CH

-

ORCL 05/21/97 17:55:06 NOARCHIVELOG 172185 170808

将数据库的日志形式设置切换(Archive Mode 和No Archive Mode之间的切换)的过程和操作如下:

1. 封闭运转的数据库实例

SVRMGRL shutdown

在进行日志形式切换之前,有必要将运转的数据库正常封闭。

2. 备份数据库

该备份跟今后发生的日志一同用于将来的灾祸康复(很重要,如要改为归档日志形式,没有这个数据库备份,仅有日志文件是无法从该时刻点康复的)。

3. 发动数据库实例到mount状况,但不要翻开。

SVRMGRL startup mount

留意:假如是运用OPS的话,请只翻开一个数据库实例进行形式切换操作。

4. 切换数据库日志形式。

SVRMGRL alter database archivelog;(设置数据库为归档日志形式)

SVRMGRL alter database noarchivelog;(设置数据库为归档日志形式)

5. 翻开数据库

SVRMGRL alter database open;

6. 承认数据库现在处于归档日志形式。

SVRMGRL archive log list;

Database log mode Archive Mode

Automatic archival Enabled

Archive destination for example: $Oracle_HOME/dbs/arch

Oldest on-line log sequence 275

Next log sequence 277

Current log sequence 278

7. 将这个时刻点的redo logs归档

SVRMGRL archive log all;

8. 承认新发生的日志文件已在相应的归档目录下面。

四主动归档形式设置(Automatic archival,可为Enabled和Disabled),在该形式下,数据库发动一个arch进程,专门担任将redo logs写到体系归档设备的相应目录下。

在数据库的参数文件中设置参数(一般是在$Oracle_HOME/dbs/init*.ora文件中):

LOG_ARCHIVE_START=

LOG_ARCHIVE_DEST=

LOG_ARCHIVE_FORMAT=

LOG_ARCHIVE_START:

如要求主动归档的话,则设为TRUE,如要求为非主动归档的话,则设为FALSE

LOG_ARCHIVE_DEST:

该参数设定了archive logs 归档寄存的途径.

LOG_ARCHIVE_FORMAT:

该参数设定了archive logs的命名格局. 例如,如将格局设为: arch%s.arc

log 文件将为: arch1.arc, arch2.arc, arch3.arc

这几个参数设置只要在数据库实例发动前设置才干收效,假如在数据库运转中进行设置,要使其收效,有必要重起数据库。

假如数据库正在运转中,不能立刻重起,要设置其为主动归档形式,则做如下操作:

SVRMGRL ALTER SYSTEM ARCHIVE LOG START;

如要设置其为非主动归档形式(撤销主动归档),则:

SVRMGRL ALTER SYSTEM ARCHIVE LOG STOP;

但假如数据库重起后,给句子修正的成果就失效了,主动归档的设置仍是依照体系参数文件中的LOG_ARCHIVE_START的值来设置。

五几种设置状况:

(1) Database log mode Archive Mode

Automatic archival Enabled

这是在大部分出产环境中的Oracle数据库日志及归档形式设置,这种状况下,做好数据库的定时备份(有热备和冷备)和归档日志备份,可有用的将数据库康复到有归档日志的悉数时刻点。

(2) Database log mode Archive Mode

Automatic archival Disabled

这种状况下,数据库不能主动归档,需求进行手艺归档。假如一切在线日志都写满了,又没有的及时进行手艺归档的话,因为LGWR没有可用的在线日志可写,数据库将会挂在这儿,只要进行手艺归档后,有可用的在线日志后才干持续。在出产环境中应该防止这种状况。

手艺归档操作如下:

SVRMGRL ALTER SYSTEM ARCHIVE LOG ALL;

数据库将会把在线日志进行归档处理

(3) Database log mode NO Archive Mode

Automatic archival Enabled

有些相对短缺经历的管理员在进行设置时,只在数据库参数文件中设置了LOG_ARCHIVE_START=TRUE,然后在数据库起来后检查到ARCH归档进程现已起来了,但是虽然Oracle现已作了几回日志切换,但仍是没有归档日志,这时的设置就是这种状况,假如数据库不是处在ARVHIVELOG形式,redolog 仍是不会被归档。

(4) Database log mode NO Archive Mode

Automatic archival Disabled

这种设置是刚装置的Oracle数据库的缺省设置,开发环境也大部分如此。即没有进行归档。

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表AG环亚娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章