Oracle RAC归档管理: 修改归档位置(FRA和其他位置)
%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进程的工作状