首页 > Linux操作系统 > Linux操作系统 > Oracle归档日志管理
归档日志的两点好处:
完成部分Recovery
在线Backup
非归档模式只能进行全部的备份和离线的备份,相应的在数据恢复时也是相应的全恢复,而运行在归档模式下的数据库可以做部分的修复与备份,可以实现历史数据的恢复,也可以完成即时错误的恢复。
查看归档模式
SQL> archive log list
数据库日志模式 非存档模式
自动存档 禁用
存档终点 USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列 13
当前日志序列 15
归档模式的转换
Shutdown immediate
Startup mount
Alter database archivelog/noarchivelog
alter database open
full db backup
详细过程如下:
SQL> conn sys/passwd@demo as sysdba;
已连接。
SQL> archive log list
数据库日志模式 非存档模式
自动存档 禁用
存档终点 USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列 13
当前日志序列 15
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup pfile=C:\oracle\db_1\database\initdemo.ora mount
ORACLE 例程已经启动。
Total System Global Area 167772160 bytes
Fixed Size 1247900 bytes
Variable Size 92276068 bytes
Database Buffers 71303168 bytes
Redo Buffers 2945024 bytes
数据库装载完毕。
SQL> alter database noarchivelog;
数据库已更改。
SQL> archive log list
数据库日志模式 非存档模式
自动存档 禁用
存档终点 USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列 13
当前日志序列 15
SQL> alter database archivelog;
数据库已更改。
SQL> alter database open;
数据库已更改。
SQL> archive log list
数据库日志模式 存档模式
自动存档 | 启用
存档终点 | USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列 | 13
下一个存档日志序列 | 15
当前日志序列 | 15
归档所有的日志文件—手工
SQL> alter system archive log all
日志分析--logmnr
1)set directory utl_file_dir
C:\oracle\admin\demo\pfile\init.ora指定utl_file_dir=f:\demo\cdump加到最后一行,该文件内容无序。
2)restartup
3)create directory file
Dbms_logmnr_d.build
SQL>commit;
SQL>
4)add/remove log file
Dbms_logmnr.addfile
SQL>
PL/SQL 过程已成功完成。
SQL> execute dbms_logmnr.add_logfile('C:\ORACLE\ORADATA\DEMO\ONLINELOG\REDO01.LOG',dbms_logmnr.new)
PL/SQL 过程已成功完成。
Dbms_logmnr.removefile
5)start logmnr
dbms_logmnr.start_logmnr
SQL> execute dbms_logmnr.start_logmnr(dictfilename=>'F:\demo\cdump\demodict.ora');
PL/SQL 过程已成功完成。
v$logmnr_content—sqlredo/sqlundo
配置归档位置和文件格式
归档日志默认位置为%oracle_home%\rdbms,在Oracle10g中,归档日志的默认文件名格式为ARC%S_%R.%T。
配置归档文件格式
%s:日志序列号
%S:日志序列号(带有前导0)
%t:重做线程编号
%T: 重做线程编号(带有前导0)
%a:活动ID号
%A:数据库ID号
%r:RESETLOGS的ID值
示例如下:
Sql>alter system set log_archive_format=’%s_%t_%r.arc’
Scope=spfile;
Sql>shutdown immediate
Sql>startup
②使用LOG_ARCHIVE_DEST配置归档位置
显示归档日志信息
使用archive log list命令
SQL> archive log list
数据库日志模式 存档模式
自动存档 启用
存档终点 USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列 15
下一个存档日志序列 16
当前日志序列 16
显示日志操作模式
SQL> select name,log_mode from v$database;
NAME LOG_MODE
--------- ------------
EXAMPLE ARCHIVELOG
显示归档日志信息
SQL> col name format a40
Sql> select name,sequence#,first_change# from v$archived_log
NAME SEQUENCE# FIRST_CHANGE#
---------------------------------------- ---------- 15 562305
显示归档日志位置
Sql>select destination from v$archive_dest
显示日志历史信息
SQL> select * from v$loghist;
THREAD# SEQUENCE# FIRST_CHANGE# FIRST_TIME SWITCH_CHANGE#
---------- ---------- ------------- -------------- --------------
1 1 386777 09-3月 -06 395327
1 2 395327 09-3月 -06 400236
1 3 400236 09-3月 -06 422719
显示归档进程信息
SQL> select * from v$archive_processes;
PROCESS STATUS LOG_SEQUENCE STAT
---------- ---------- ------------ ----
0 ACTIVE 0 IDLE
1 ACTIVE 0 IDLE
2 STOPPED 0 IDLE
3 STOPPED 0 IDLE
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/15149581/viewspace-680686/ ,如需转载,请注明出处,否则将追究法律责任。