欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle归档模式的定义以及修改方法

程序员文章站 2022-04-26 17:01:31
...

我们知道数据库有至少两组在线日志文件,这些日志文件是循环使用的。归档模式就是当在线日志文件被循环重用(覆盖)之前保存一份

一、意义:

我们知道数据库有至少两组在线日志文件,这些日志文件是循环使用的。
归档模式就是当在线日志文件被循环重用(覆盖)之前保存一份副本文件到其他位置,这样我们就保留了历史上对数据库的所有修改日志记录,对数据库恢复很有意义。

二、修改归档模式

首先查看数据库现有模式可使用以下语句
select name,log_mode from v$database;
也可以用下面的语句
archive log list;(该方法需要as sysdba)

对于非归档模式的数据库该为归档模式(主要以Oracle 10g为参考)使用以下步骤:
1. SQL> alter system set log_archive_dest_1=’location=/oracle/oracle10g/log/archive_log’;
该语句含义是确定归档日志的路径,实际上Oracle 10g可以生成多份一样的日志,保存多个位置,以防不测

例如再添加一个日志位置可使用以下语句
SQL>alter system set log_archive_dest_2=’location=/oracle/oracle10g/log2/archive_log’;

2.关闭数据库
SQL> shutdown immediate

3.启动数据mount状态:
SQL> startup mount;

4、修改数据库为归档模式:
SQL> alter database archivelog;

5、打开数据库,查询:
SQL> alter database open;

修改日志文件命名格式:
SQL> alter system set log_archive_max_processes = 5;
SQL> alter system set log_archive_format = "archive_%t_%s_%r.log" scope=spfile;

修改完成后可以查看日志模式是否修改成功!

特别指出的是在Oracle 9i中还要修改参数log_archive_start = true才能生效,oracle 10g中已经废除了该参数,所以不需要设置该参数。
————————————————————————————————
SQL> SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.

Total System Global Area 1258291200 bytes
Fixed Size 1978336 bytes
Variable Size 318771232 bytes
Database Buffers 922746880 bytes
Redo Buffers 14794752 bytes
Database mounted.
SQL> alter database archivelog;

Database altered.

SQL> alter database open;

Database altered.

Oracle归档模式的定义以及修改方法