Oracle——设置数据库为归档模式

1         设置数据库为归档模式

做者:沈小然    日期:2014-9-23    地点:北京 数据库

1.1           设置归档模式

1)首先查看数据库是否处于归档模式,Oracle数据库默认处于非归档模式下 oracle

SQL> archive log list app

Database log mode              No Archive Mode spa

Automatic archival             Disabled 线程

Archive destination            USE_DB_RECOVERY_FILE_DEST 日志

Oldest online log sequence     175 orm

Current log sequence           177 ci

上面显示没有处于归档模式,咱们设成归档模式 string

2)更改归档模式,须要在启动模式为mount状态才能设置 it

关闭数据库

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

启动mount状态

SQL> startup mount

ORACLE instance started.

Total System Global Area 2438529024 bytes

Fixed Size                  2230792 bytes

Variable Size            1107297784 bytes

Database Buffers         1308622848 bytes

Redo Buffers               20377600 bytes

Database mounted.

更改数据库为归档模式

SQL> alter database archivelog;

Database altered.

切换数据库启动模式为open,数据库能够正常工做了。

SQL> alter database open;

Database altered.

再次查看是否为归档模式,是否开启自动归档,默认归档文件保存位置

SQL> archive log list;

Database log mode              Archive Mode

Automatic archival             Enabled

Archive destination            USE_DB_RECOVERY_FILE_DEST

Oldest online log sequence     181

Next log sequence to archive   183

Current log sequence           183

默认归档文件保存位置在/u01/app/oracle/admin/test/pfile/init.ora.7222014134227文件中的

db_recovery_file_dest="/u01/app/oracle/fast_recovery_area"

归档模式设置完成,重启数据库之后依然是归档模式。

1.2           更改归档日志文件的路径

首先建立归档日志路径,最好放到不一样于oracle安装位置的单独分区下。

Oracle 10g开始能够生成多份同样的归档日志,保存在多个位置以防不测。咱们建立两个。

[root@VM oracle]# mkdir /data/oracle/log1

[root@VM oracle]# mkdir /data/oracle/log2

[root@VM oracle]# chown -R oracle.oinstall /data/oracle

SQL> alter system set log_archive_dest_1='location=/data/oracle/log1/archive_log';

System altered.

提示:若是没事先建立归档日志目录,会提示下面的错误

SQL> alter system set log_archive_dest_1='location=/data/oracle/log1/archive_log';

alter system set log_archive_dest_1='location=/data/oracle/log1/archive_log'

*

ERROR at line 1:

ORA-02097: parameter cannot be modified because specified value is invalid

ORA-16032: parameter LOG_ARCHIVE_DEST_1 destination string cannot be translated

ORA-07286: sksagdi: cannot obtain device information.

Linux-x86_64 Error: 2: No such file or directory

查看状态

SQL> archive log list;

Database log mode              Archive Mode

Automatic archival             Enabled

Archive destination            /data/oracle/log1/archive_log

Oldest online log sequence     181

Next log sequence to archive   183

Current log sequence           183

增长第二个归档日志保存位置

SQL> alter system set log_archive_dest_2='location=/data/oracle/log2/archive_log';           

System altered.

查看状态

SQL> archive log list;

Database log mode              Archive Mode

Automatic archival             Enabled

Archive destination            /data/oracle/log2/archive_log

Oldest online log sequence     181

Next log sequence to archive   183

Current log sequence           183

提示:只能看到最新的归档目录。

1.3           修改归档日志文件名格式

1)查看生成的默认归档日志文件名

SQL> select name from v$archived_log;

NAME

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

/data/oracle/log1/archive_log/1_183_856273328.dbf

/data/oracle/log2/archive_log/1_183_856273328.dbf

/data/oracle/log1/archive_log/1_184_856273328.dbf

/data/oracle/log2/archive_log/1_184_856273328.dbf

/data/oracle/log1/archive_log/1_185_856273328.dbf

/data/oracle/log2/archive_log/1_185_856273328.dbf

默认的归档日志文件名如上所示,都是二进制文件。

2)修改归档日志文件名格式

SQL> alter system set log_archive_format="archive_%t_%s_%r.log" scope=spfile;

System altered.

注意:这里文件后缀虽然改为了.log但归档日志文件依然是二进制文件,没法使用vi查看。

%t:重作线程编号

%s:日志序列号

%rRESETLOGSID

10g开始,配置归档日志文件格式时,必须带有%s,%t%r匹配符。

3)手工的方式让Oracle 直接使用下一个日志组,而无论当前使用的日志组是否写满,这样方便咱们查看新的归档日志格式是否设置生效。

SQL> alter system switch logfile;

System altered.

SQL> select name from v$archived_log;

NAME

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

/data/oracle/log1/archive_log/1_183_856273328.dbf

/data/oracle/log2/archive_log/1_183_856273328.dbf

/data/oracle/log1/archive_log/1_184_856273328.dbf

/data/oracle/log2/archive_log/1_184_856273328.dbf

/data/oracle/log1/archive_log/1_185_856273328.dbf

/data/oracle/log2/archive_log/1_185_856273328.dbf

/data/oracle/log1/archive_log/archive_1_186_856273328.log

/data/oracle/log2/archive_log/archive_1_186_856273328.log

8 rows selected.

咱们看到新生成了归档日志,设置的格式也生效了。

相关文章
相关标签/搜索