Oracle RAC归档管理: 修改归档位置(FRA和其他位置)


%t: 重做线程编号。%s:日志序列号。%rRESETLOGS的ID值。这三个匹配符必须有。如果在线配置文件格式,必须重启数据库。

10.1查看归档日志存放位置
指定在DGFRA目录下。

SQL> archive log list

Database log mode              Archive Mode

Automatic archival            Enabled

Archive destination            +DGFRA/edwprd/

 

另外一种情况为,归档日志位置默认在快速恢复区

Use_db_recovery_file_dest

对于快速恢复区开启的状态,实际上存放参数为log_archive_dest_1=‘LOCATION=+DGFRA/EDWPRD/’

SQL> show parameter log_archive_dest

NAME                                TYPE        VALUE

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

log_archive_dest                    string

log_archive_dest_1                  string      LOCATION=+DGFRA/EDWPRD/

log_archive_dest_10                  string

log_archive_dest_2                  string

        v$database中存放了归档日志的信息:SELECTname,log_mode FROM v$database;

 

10.2修改归档日志位置
打开fra无法修改归档位置。

SQL> alter system setlog_archive_dest='/Oracle';

alter system set log_archive_dest='/oracle'

ERROR at line 1:

ORA-02097: parameter cannot be modifiedbecause specified value is invalid

ORA-16018: cannot use LOG_ARCHIVE_DEST withLOG_ARCHIVE_DEST_n or

DB_RECOVERY_FILE_DEST   

        修改归档位置

        SQL>alter system set log_archive_dest_1='location=/oracle' scope=both;

System altered.

SQL> alter database open;

10.3修改日志归档模式开启关闭
关闭归档:

数据库mount 状态

Srvctl start database –d edwprd –o mount

alter database noarchivelog;

alter database open

        开启归档:

SQL> alter database archivelog;

ERROR at line 1:

ORA-01126: database must be mounted in thisinstance and not open in any

Instance

所以只能一个实例启动数据库

10.4归档日志存放FRA(USE_DB_RECOVERY_FILE_DEST)
DB_RECOVERY_FILE_DEST参数是默认的flashrecovery area的路径,里面存放有归档日志、闪回日志以及rman的备份文件等文件。

修改归档日志指定位置log_archive_dest_1为空,则放在默认的快速回复区里面了。

SQL> altersystem set log_archive_dest_1='' scope=both;

System altered.

SQL> shutdown

SQL> startup

SQL> archivelog list;

Database logmode              Archive Mode

Automaticarchival            Enabled

Archivedestination          USE_DB_RECOVERY_FILE_DEST

Oldest onlinelog sequence    28

Next logsequence to archive  29

Current logsequence          29

SQL> altersystem archive log current;

System altered.

10.5显示归档日志
Col name format a46

SQL> selectname,thread#,sequence#,first_change# from v$archived_log;

 

NAME                                            THREAD#  SEQUENCE#

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

FIRST_CHANGE#

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

+DGFRA/edwprd/1_27_841787869.dbf                        1        27

      403045

 

+DGFRA/edwprd/1_28_841787869.dbf                        1        28

      458452

 

+DGFRA/edwprd/2_1_841787869.dbf                        2          1

      414064

NAME            THREAD#              SEQUENCE#              FIRST_CHANGE#

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

+DGFRA/edwprd/archivelog/2014_03_11/thread_1_s          1        29      481779

eq_29.264.841909501

   

+DGFRA/edwprd/archivelog/2014_03_11/thread_2_s          2          2      436041

eq_2.265.841909507

      Name用于表示归档日志文件名,sequence#用于表示归档日志对应的日志序列号,firs_change#用于标识归档日志的起始SCN值

通过查询动态性能视图v$archive_dest可以取得归档日志所在目录.

SELECT destination FROM v$archive dest;

,显示日志历史信息

SELECT * FROM v$loghist;

 

SQL> select * from v$loghist;

 

  THREAD#  SEQUENCE# FIRST_CHANGE#FIRST_TIME SWITCH_CHANGE#

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

        1          1            1 09-3? -14          32404

        1          2        32404 09-3? -14          59939

        1          3        59939 09-3? -14          74190

        1          4        74190 09-3? -14          89573

        1          5        89573 09-3? -14          100136

        1          6        100136 09-3? -14          116032

        1          7        116032 09-3? -14          130603

        1          8        130603 09-3? -14          146094

        1          9        146094 09-3? -14          163597

        1        10        163597 09-3? -14          191251

        1        11        191251 09-3? -14          221978

THREAD#用于标识重做线程号,SEQUNCE#用于标识日志序列号,FIRST_CHANGE#用于标识日志序列号对应的起始SCN值,FIRST_TIME用于标识起始SCN的发生时间.SWICTH_CHANGE#用于标识日志切换的SCN值.

显示归档进程信息.

进行日志切换时,ARCH进程会自动将重做日志内容复制到归档日志中,为了加快归档速度,应该启用多个ARCH进程.通过查询动态性能视图V$ARCHIVE_PROCESSES可以显示所有归档进程的信息!

SQL> select * from v$archive_processes;

  PROCESS STATUS    LOG_SEQUENCESTAT

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

        0 ACTIVE                0 IDLE

        1 ACTIVE                0 IDLE

        2 STOPPED              0 IDLE

        3 STOPPED              0 IDLE

        4 STOPPED              0 IDLE

        5 STOPPED              0 IDLE

        6 STOPPED              0 IDLE

        7 STOPPED              0 IDLE

        8 STOPPED              0 IDLE

        9 STOPPED              0 IDLE

      10 STOPPED              0 IDLE

Porcess用于标识ARCH进程的编号,status用于标识ARCH进程的状态(ACTIVE:活动,STOPPED:未启动),log_sequence用于标识正在进行归档的日志序列号,state用于标识ARCH进程的工作状

10.6归档位置说明
如果不使用备用数据库,只需要将归档日志存放到本地目录.配置本地归档位置可以使用初始化参数LOG_ARCHIVE_DEST和LOG_ARCHIVE_DUPLEX_DEST,其中,第一个参数用于设置第一个归档位置,第二个参数用于指定第二个归档位置.

ALTER SYSTEM SETlog_archive_duplex_dest='d:demoarchive2';

初始化参数LOG_ARCHIVE_DEST_n可以配置本地归档位置和远程归档位置,而初始化参数LOG_ARCHIVE_DEST和LOG_ARCHIVE_DUPLEX_DEST只能配置本地归档位置.

初始化参数LOG_ARCHIVE_DEST_n可以配置多达10个归档位置,而初始化参数LOG_ARCHIVE_DEST和LOG_ARCHIVE_DUPLEX_DEST最多只能配置两个归档位置.

初始化参数LOG_ARCHIVE_DEST_n不能与初始化参数LOG_ARCHIVE_DEST和LOG_ARCHIVE_DUPLEX_DEST同时使用.

因为初始化参数LOG_ARCHIVE_DEST_n不能与初始化参数LOG_ARCHIVE_DEST和LOG_ARCHIVE_DUPLEX_DEST同时使用,所以必须禁用初始化参数LOG_ARCHVE_DEST和LOG_ARCHIVE_DUPLEX_DEST.当使用初始化参数LOG_ARCHIVE_DEST_n配置本地归档位置时,需要指定LOCALTION选项.当配置远程归档位置时,需要指定SERVICE选项。

使用初始化参数LOG_ARCHIVE_DEST_STATE_n控制归档位置的可用性.设置该参数为ENABLE(默认值),表示会激活相应的归档位置;设置该参数为DEFER,表示禁用相应归档位置.当归档日志所在磁盘损坏或填满时,DBA需要暂时禁用该归档位置.

Alter system setlog_archive_dest_state_3=defer;(禁用)

Alter system setlog_archive_dest_state_3=enable;(启用)。

相关内容