归档日志的两点好处:完成部分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> connas sysdba;已连接。SQL> archive log list数据库日志模式非存档模式自动存档禁用存档终点USE_DB_RECOVERY_FILE_DEST最早的联机日志序列13当前日志序列15SQL> 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当前日志序列15SQL> 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.addfileSQL>PL/SQL过程已成功完成。SQL> execute dbms_logmnr.add_logfile('C:\ORACLE\ORADATA\DEMO\ONLINELOG\REDO01.LOG',dbms_logmnr.new)
PL/SQL过程已成功完成。Dbms_logmnr.removefile5)start logmnrdbms_logmnr.start_logmnrSQL> 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;