SQL>selectgroup#, sequence#, members,statusfrom v$log;
GROUP# SEQUENCE# MEMBERS STATUS---------- ---------- ---------- ----------------1581 INACTIVE
2591 CURRENT
3571 INACTIVE
SQL>selectgroup#,status, member from v$logfile;
GROUP# STATUS MEMBER
---------- ------- ------------------------------1 STALE /u01/db/oracle/oradata/ora/red
o01.log
2/u01/db/oracle/oradata/ora/red
o02.log
3 STALE /u01/db/oracle/oradata/ora/red
o03.log
SQL>alter system switch logfile;
System altered.
SQL>selectgroup#, sequence#, members,statusfrom v$log;
GROUP# SEQUENCE# MEMBERS STATUS---------- ---------- ---------- ----------------1581 INACTIVE
2591 ACTIVE
3601 CURRENT
第一个查询说明该数据库具有3个日志文件组。此晨LGWR进程正在写当前组的组2,其他两个组是不活动的。SEQUENCE#列说明从数据库创建开始总共发生过59次日志切换。MEMBERS列说明每个联机重做日志都只有由一个成员组成。 第二个查询说明不同的联机重做日志文件。 执行alter system switch logfile;命令可以实施一次日志切换。 最后一个查询说明在日志切换后,组3成为了当前组。先前的组2状态变化ACTIVE,意味着如果些时现实实例失败,SMON进程仍然需要全用组2进来实例恢复。由于检查点位置前移,因此这个组的状态不久就会变为INACTIVE,执行命令使检查点位置是最近的。
$ mkdir /u02/oradata/archive1
$ mkdir /u02/oradata/archive2
$ sqlplus /as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Sat Oct 1122:05:252008
Copyright (c)1982,2005, Oracle.All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP andData Mining options
SQL>alter system set log_archive_dest_1 =2'location=//u02/oradata/archive1/' scope = spfile;
System altered.
SQL>alter system set log_archive_dest_2 =2'location=//u02/oradata/archive2/' scope = spfile;
System altered.
SQL>alter system set log_archive_format =2'arch_%d_%t_%r_%s.log' scope = spfile;
System altered.
SQL> shutdown immediate;
Database closed.Database dismounted.
ORACLE instance shut down.
SQL> startup mount;
ORACLE instance started.
Total System Global Area 264241152 bytes
Fixed Size 1218868 bytes
Variable Size 83887820 bytes
Database Buffers 176160768 bytes
Redo Buffers 2973696 bytes
Database mounted.
SQL>alterdatabase archivelog;
Database altered.
SQL>alterdatabase open;
Database altered.
SQL>select log_mode from v$database;
LOG_MODE
------------
ARCHIVELOG
SQL>select archiver from v$instance;
ARCHIVE
-------
STARTED
SQL>alter system switch logfile;
System altered.
SQL>select name from v$archived_log;
NAME
--------------------------------------------------------------------/u02/oradata/archive1/arch_4c841e78_1_665498552_65.log
/u02/oradata/archive2/arch_4c841e78_1_665498552_65.log