[Oracle学习笔记] 管理归档日志
在归档模式下,Oracle将已经写满的日志文件复制到指定的地方,这个过程叫归档,复制下来的日志文件叫归档日志。
一、设置数据库为归档模式
通过archive log list查询数据库日志模式
SQL> archive log list;
数据库日志模式 非存档模式
自动存档 禁用
存档终点 USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列 17
当前日志序列 19
当前为非归档模式,修改为归档模式方法:ALTER DATABASE ARCHIVELOG;
示例:
1. 关闭数据库
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
2. 启动数据库,不打开
SQL> startup mount;
ORACLE 例程已经启动。
Total System Global Area 612368384 bytes
Fixed Size 1250428 bytes
Variable Size 255855492 bytes
Database Buffers 348127232 bytes
Redo Buffers 7135232 bytes
数据库装载完毕。
3. 修改数据库模式
SQL> alter database archivelog;
数据库已更改。
4. 打开数据库
SQL> alter database archivelog;
数据库已更改。
再查询数据库归档模式,已经变为归档模式了。
SQL> archive log list;
数据库日志模式 存档模式
自动存档 启用
存档终点 USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列 17
下一个存档日志序列 19
当前日志序列 19
二、设置归档目标
归档日志存放路径 DB_RECOVERY_FILE_DEST
SQL> show parameter db_recovery_file
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string D:\oracle\product\10.2.0/flash
_recovery_area
db_recovery_file_dest_size big integer 2G
可以通过设置参数LOG_ARCHIVE_DEST_n设置其他归档目标,n为1~10,Oracle将日志文件以相同的方式归档到每一个归档目标中。
SQL> show parameter log_archive_dest
NAME TYPE VALUE
------------------------------------ ----------- -----------------------------
log_archive_dest string
log_archive_dest_1 string
log_archive_dest_10 string
log_archive_dest_2 string
log_archive_dest_3 string
log_archive_dest_4 string
log_archive_dest_5 string
log_archive_dest_6 string
log_archive_dest_7 string
log_archive_dest_8 string
log_archive_dest_9 string
设置其他归档目标:
SQL> alter system set log_archive_dest_1='location=d:\oracle\myarchive';
系统已更改。
三、归档的跟踪级别
设置参数log_archive_trace,默认是0,即不在跟踪文件中记录归档的任何信息。跟踪级别是0, 1,2,4,8,16,32,64,各个级别对应的归档内容这里不详述。可以进行叠加,将多个级别对应的值叠加作为trace参数的值。
SQL> show parameter log_archive_trace
NAME TYPE VALUE
------------------------------------ ----------- --------------------
log_archive_trace integer 0
SQL> alter system set log_archive_trace=17;
系统已更改。
四、查询归档日志
1. v$database
查询数据库是否属于归档模式, 除了archive log list外,可以查询v$database
SQL> select log_mode from v$database;
LOG_MODE
------------
ARCHIVELOG
2. v$archived_log
3. v$archived_dest
4. v$archive_processes
5. v$backup_redolog
6. v$log
浙公网安备 33010602011771号