您的位置:首页 > 数据库 > Oracle

oracle日志归档模式改变

2011-03-28 22:43 169 查看
一. 确认日志工作模式:

1.查询v$database

SQL> select log_mode from v$database;

LOG_MODE

------------

ARCHIVELOG

表明目前数据库运行在归档日志下,即数据库在归档日志模式下工作。

2.执行命令archive log list;

SQL> archive log list

归档模式,但是目前自动存档进程未启用!

数据库日志模式 存档模式

自动存档 禁用

存档终点 D:/oracle/ora92/RDBMS

最早的概要日志序列 214

下一个存档日志序列 214

当前日志序列 216

二.修改日志工作模式

1、由NOARCHIVELOG模式到ARCHIVELOG模式

第一步骤:关闭数据库

SQL> shutdown immediate;

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

第二步骤:启动数据库至MOUNT状态

SQL> startup mount;

ORACLE 例程已经启动。

Total System Global Area 135338868 bytes

Fixed Size 453492 bytes

Variable Size 109051904 bytes

Database Buffers 25165824 bytes

Redo Buffers 667648 bytes

数据库装载完毕。

第三步骤:执行命令alter database archivelog;进行修改

SQL> alter database archivelog;

数据库已更改。

第四步骤:确认结果

SQL> archive log list;

数据库日志模式 存档模式

自动存档 启用

存档终点 D:/oracle/ora92/RDBMS

最早的概要日志序列 183

下一个存档日志序列 185

当前日志序列 185

数据库已经运行在归档日志模式下了。

第五步:打开数据库,将数据库改变至OPEN状态

SQL> alter database open;

数据库已更改。

2、由ARCHIVELOG模式到NOARCHIVELOG模式

第一步骤:关闭数据库

SQL> shutdown immediate;

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

第二步骤:启动数据库至MOUNT状态

SQL> startup mount;

ORACLE 例程已经启动。

Total System Global Area 135338868 bytes

Fixed Size 453492 bytes

Variable Size 109051904 bytes

Database Buffers 25165824 bytes

Redo Buffers 667648 bytes

数据库装载完毕。

第三步:执行命令alter database noarchivelog;进行修改

SQL> alter database noarchivelog;

数据库已更改。

第四步骤:确认执行结果

SQL> select log_mode from v$database;

LOG_MODE

------------

NOARCHIVELOG

我们看到数据库又改变为在非归档模式下工作了。

第五步:打开数据库,将数据库改变至OPEN状态

SQL> alter database open;

数据库已更改。

三.修改自动归档模式

我们看到数据库尽管运行在归档模式下,但是自动归档进程并未启用,在这种状态下我们还需要手工执行归档命令,归档日志才可以产生,如何使得数据库自动归档?

有种方法可以实现:

1.第一种方式:

将数据库加载至MOUNT状态,然后执行命令:alter system archive log start;

SQL> alter system archive log start;

系统已更改。

查看结果:

SQL> archive log list;

数据库日志模式 存档模式

自动存档 启用

存档终点 D:/oracle/ora92/RDBMS

最早的概要日志序列 183

下一个存档日志序列 185

当前日志序列 185

这种方式的缺点:更改并非持久的,即如果重新启动数据库,则对数据库所做出的修改又无效了。

2.第二种方式:

通过修改PFILE文件实现持久性修改:

在PFILE文件:init.ora中加入

log_archive_start = true

然后通过PFILE文件加载数据库

SQL> startup pfile='D:/oracle/admin/libn/pfile/init.ora' mount;

ORACLE 例程已经启动。

Total System Global Area 135338868 bytes

Fixed Size 453492 bytes

Variable Size 109051904 bytes

Database Buffers 25165824 bytes

Redo Buffers 667648 bytes

数据库装载完毕。

这是再查看数据库已经运行在自动存档模式下了。

四.存档参数修改

init.ora文件中可以包含不同的参数,以便指定应该对存档的重做日志文件制作的副本数量、存储这些副本的位置,甚至是存档文件的文件名的格式。此外,还可以指定使用多少个存档进程来创建存档的文件。

目标参数

LOG_ARCHIVE_DEST

LOG_ARCHIVE_DUPLEX_DEST

只需要将参数键入init.ora文件,后面加上预期的存档位置即可。

log_archive_start = true

log_archive_dest=D:/oracle/ora92/rdbms

log_archive_duplex_dest=D:/oracle/ora92/rdbms

LOG_ARCHIVE_DEST_N

LOG_ARCHIVE_DEST_N参数(其中的N是一个指定的位置,范围是1——10)允许最多指定10个位置来存储存档的文件。此外,其中一个位置可以位于一台不同的计算机上,如文件服务器或备用计算机站点的远程位置,以便在主要的计算机中心发生自然灾害或者人为事故时使用.

注意:这两组参数不能同时使用。

五.归档文件名参数

LOG_ARCHIVE_FORMAT

文件名选项

选 项

说 明

%s

包括日志序列号,作为文件名的一部分

%S

包括日志序列号并使用0填充左侧,作为文件名的一部分

%t

包括线程号,作为文件名的一部分

%T

包括线程号并使用0填充左侧,作为文件名的一部分

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wildin/archive/2010/07/09/5724231.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: