一些关于归档日志的常用DDL语句的用法及作用。
一 显示日志的操作模式。
SQL> select log_mode from v$database;
LOG_MODE
------------
ARCHIVELOG
SQL> archive log list
数据库日志模式 存档模式
自动存档 启用
存档终点 USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列 46
下一个存档日志序列 48
当前日志序列 48
二 显示归档日志的位置。当执行介质恢复时需要使用归档日志文件,使用动态性能视图v$archive_dest可以显示归档日志的位置。
SQL> select dest_name,destination ,status from v$archive_dest;
DEST_NAME DESTINATION STATUS
-------------------- -------------------- ---------
LOG_ARCHIVE_DEST_1 F:\app\yang\product\ VALID
11.1.0\db_1\RDBMS
LOG_ARCHIVE_DEST_2 INACTIVE
LOG_ARCHIVE_DEST_3 INACTIVE
LOG_ARCHIVE_DEST_4 INACTIVE
LOG_ARCHIVE_DEST_5 INACTIVE
LOG_ARCHIVE_DEST_6 INACTIVE
LOG_ARCHIVE_DEST_7 INACTIVE
LOG_ARCHIVE_DEST_8 INACTIVE
LOG_ARCHIVE_DEST_9 INACTIVE
DEST_NAME DESTINATION STATUS
-------------------- -------------------- ---------
LOG_ARCHIVE_DEST_10 USE_DB_RECOVERY_FILE _DEST VALID
已选择10行。
三 更改归档日志的归档终点。
SQL> alter system set
2 log_archive_dest_1='location=f:\app\yang\archive1 ';
系统已更改。
SQL> alter system set
2 log_archive_dest_2='location=f:\app\yang\archive2';
系统已更改。
再次查看归档日志的位置
SQL> select dest_name,destination ,status from v$archive_dest;
DEST_NAME DESTINATION STATUS
-------------------- -------------------- ---------
LOG_ARCHIVE_DEST_1 f:\app\yang\archive1 VALID
LOG_ARCHIVE_DEST_2 f:\app\yang\archive2 VALID
LOG_ARCHIVE_DEST_3 INACTIVE
LOG_ARCHIVE_DEST_4 INACTIVE
LOG_ARCHIVE_DEST_5 INACTIVE
LOG_ARCHIVE_DEST_6 INACTIVE
LOG_ARCHIVE_DEST_7 INACTIVE
LOG_ARCHIVE_DEST_8 INACTIVE
LOG_ARCHIVE_DEST_9 INACTIVE
LOG_ARCHIVE_DEST_10 INACTIVE
已选择10行。
使存档地址LOG_ARCHIVE_DEST_1 不可用
SQL> alter system set log_archive_dest_state_1=defer;
系统已更改。
使存档地址LOG_ARCHIVE_DEST_1 可用
SQL> alter system set log_archive_dest_state_1=enable;
系统已更改。
四 设置归档进程的数量。
SQL> alter system set log_archive_max_processes=5;
系统已更改。
设置本地归档的最小成功个数,
SQL> alter system set log_archive_min_succeed_dest=2;
系统已更改。执行了此语句后,如果在本地生成的归档日志少于两份,那么重做日志将不能被覆盖。
SQL> archive log list
数据库日志模式 存档模式
自动存档 启用
存档终点 f:\app\yang\archive2
最早的联机日志序列 46
下一个存档日志序列 48
当前日志序列 48
SL> select dest_name,destination ,status from v$archive_dest;DEST_NAME DESTINATION STATUS
-------------------- -------------------- ---------
LOG_ARCHIVE_DEST_1 f:\app\yang\archive1 VALID
LOG_ARCHIVE_DEST_2 f:\app\yang\archive2 VALID
LOG_ARCHIVE_DEST_3 INACTIVE
LOG_ARCHIVE_DEST_4 INACTIVE
LOG_ARCHIVE_DEST_5 INACTIVE
LOG_ARCHIVE_DEST_6 INACTIVE
LOG_ARCHIVE_DEST_7 INACTIVE
LOG_ARCHIVE_DEST_8 INACTIVE
LOG_ARCHIVE_DEST_9 INACTIVE
LOG_ARCHIVE_DEST_10 INACTIVE
已选择10行。
SQL> select name ,sequence#,first_change# from v$archived_log;
NAME SEQUENCE# FIRST_CHANGE#
---------------------------------------- ---------- -------------
F:\APP\YANG\PRODUCT\11.1.0\DB_1\RDBMS\AR 46 2130728
C00046_0715961434.001
F:\APP\YANG\FLASH_RECOVERY_AREA\ORACL\AR 46 2130728
CHIVELOG\2010_05_05\O1_MF_1_46_5Y1XKFQX_
.ARC
F:\APP\YANG\PRODUCT\11.1.0\DB_1\RDBMS\AR 47 2160100
C00047_0715961434.001
F:\APP\YANG\FLASH_RECOVERY_AREA\ORACL\AR 47 2160100
NAME SEQUENCE# FIRST_CHANGE#
---------------------------------------- ---------- -------------
CHIVELOG\2010_05_06\O1_MF_1_47_5Y5MR2SW_
.ARC
SQL> select * from v$loghist;
THREAD# SEQUENCE# FIRST_CHANGE# FIRST_TIME SWITCH_CHANGE#
---------- ---------- ------------- -------------- --------------
1 1 886308 10-4月 -10 921479
1 2 921479 10-4月 -10 930110
1 3 930110 10-4月 -10 946970
1 4 946970 10-4月 -10 968547
1 5 968547 10-4月 -10 993761
1 6 993761 10-4月 -10 1017725
1 7 1017725 11-4月 -10 1062704
1 8 1062704 11-4月 -10 1082710
1 9 1082710 12-4月 -10 1104114
1 10 1104114 12-4月 -10 1134790
1 11 1134790 13-4月 -10 1172577
THREAD# SEQUENCE# FIRST_CHANGE# FIRST_TIME SWITCH_CHANGE#
---------- ---------- ------------- -------------- --------------
1 12 1172577 14-4月 -10 1207219
1 13 1207219 15-4月 -10 1227501
1 14 1227501 16-4月 -10 1258361
1 15 1258361 16-4月 -10 1298465
1 16 1298465 17-4月 -10 1342110
1 17 1342110 18-4月 -10 1370677
1 18 1370677 18-4月 -10 1404213
1 19 1404213 19-4月 -10 1424947
1 20 1424947 19-4月 -10 1452037
1 21 1452037 21-4月 -10 1474004
1 22 1474004 22-4月 -10 1494843
七 显示归档进程信息。通过视图 v$archive_processes可以查看所有进程的信息。
SQL> select * from v$archive_processes;
PROCESS STATUS LOG_SEQUENCE STAT
---------- ---------- ------------ ----
0 ACTIVE 0 IDLE
1 ACTIVE 0 IDLE
2 ACTIVE 0 IDLE
3 ACTIVE 0 IDLE
4 ACTIVE 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
PROCESS STATUS LOG_SEQUENCE STAT
---------- ---------- ------------ ----
11 STOPPED 0 IDLE
12 STOPPED 0 IDLE
13 STOPPED 0 IDLE
14 STOPPED 0 IDLE
15 STOPPED 0 IDLE
16 STOPPED 0 IDLE
17 STOPPED 0 IDLE
18 STOPPED 0 IDLE
19 STOPPED 0 IDLE
20 STOPPED 0 IDLE
21 STOPPED 0 IDLE
PROCESS STATUS LOG_SEQUENCE STAT
---------- ---------- ------------ ----
22 STOPPED 0 IDLE
23 STOPPED 0 IDLE
24 STOPPED 0 IDLE
25 STOPPED 0 IDLE
26 STOPPED 0 IDLE
27 STOPPED 0 IDLE
28 STOPPED 0 IDLE
29 STOPPED 0 IDLE
已选择30行。
八 手动切换日志。
SQL> alter system switch logfile;
系统已更改。