在 Oracle数据库中,主要有两种 日志操作模式,分别为非归档模式与归档模式。
默认情况下,数据库采用的是非归档模式。
部署数据库时,必须要依据自身的业务情况选择归档模式(ARCHIVELOG)或者非归档模式(NOARCHIVELOG )下运行数据库。例如,对于测试环境、开发环境,有的O友采用非归档模式,看业务和个人喜好。
Oacle归档模式是ORACLE热备份的必要条件,特别是7X24生产数据库,必须要工作在归档模式。
归档日志文件中保留了数据库的改动信息。该模式下可实现:
1、可以进行完全、不完全恢复:由于对数据库所做的全部改动都记录在日志文件中,如果发生硬盘故 障等导致数据文件丢失的话,则可以利用物理备份和归档日志完全恢复数据库,不会丢失任何数据。
2、可以进行联机热备:所谓联机热备,就是在数据库运行状态下,对数据库进行备份。备份时用户对 数据库的使用不受任何影响。
3、可以实施 Data Guard:可以部署 1 个或多个备用数据库,从而最大限度地提供灾难保护手段。
4、可以实施 Stream:利用 Stream 技术,可以实现最简单的单向复制到复杂的双向复制、多向复制, 提供更加灵活的数据冗余方案。
5、表空间可以脱机:可以备份部分数据库,比如重要的表空间。
6、能够增量备份:只需做一次完全备份,以后只备份发生改变的数据,可以提高备份速度。
7、随着 Oracle 版本升级,在联机热备方面不断有新的优化策略出现。
使用归档模式的缺点在于:
1、需要更多的磁盘空间保存归档日志;
2、DBA 会有更多的管理工作,包括维护归档空间、备份归档日志。
Oracle非归档模式转换为归档模式的操作步骤:
数据库创建过程中需要指定归档和非归档模式,若安装后发现处于非归档模式,可以在数据库创建完成后手工改变成归档模式,具体操作步骤如下。
1、查看数据库的归档模式
使用 SQL Plus以DBA方式登录,然后执行下面的语句:
archive log list;
当前处于非归档模式。
或使用:
select log_mode from v$database;
select archiver from v$instance;
2、手工改变成归档模式
2.1、关闭数据库
shutdown immediate;
2.2、启动数据库到 mount 状态:
startup mount;
2.3、修改数据库的归档模式:
alter database archivelog;
2.4、启动数据库:
alter database open;
2.5、确认修改已生效:
archive log list;
2.6、查看归档日志命名格式:
show parameter log_archive_format;
2.7、查看归档日志保存路径:
show parameter db_recovery_file_dest
或者也可以这样查询:
select recid, name, to_char(first_time,'YYYY-MM-DD'),to_char(next_time,'YYYY-MM-DD') from v$archived_log;
简单点就这样:
select name from v$archived_log;
2.8、查看对应的归档日志: