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

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

程序员文章站 2022-06-06 16:51:58
...

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

%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进程的工作状