oracle开启日志归档 (成功)

来源:互联网 发布:linux ntp时间服务器 编辑:程序博客网 时间:2024/04/30 02:33

 在oracle 中当重做日志满了后 会出现以前的日志被删除覆盖的情况,部分日志被删除的话 无法进行完整的数据恢复

所以此时要讲以前的日志 拷贝到一个具体的位置 这就是自动归档


在Oracle数据库中,主要有两种日志操作模式,分别为非归档模式与归档模式。默认情况下,数据库采用的是非归档模式。作为一个合格的数据库管理员,应当深入了解这两种日志操作模式的特点,并且在数据库建立时,选择合适的操作模式。我们在sqlplus 下通过以下命令查看日志模式:archive log list;

(非归档模式)

(归档模式)

说明一下:

database log mode 指定是数据库的日志模式,可为Archive Mode(归档)和No Archive Mode(非归档)

Automatic archival 指定数据是否自动归档enable(自动),disabel(手动),要注意一下如果数据库的日志模式在归档下,但归档方为手动时要注意,如果归模日志满了,但没有进行清除数据,数据库停止写数据操作。

下面介绍一些常用操作:

1.查看数据库的日志模式

a.archive log list;

这个不在详细说明,因为上边图片己经很清楚了

b.通过动态性能视图进行查看v$database

那个log_mode字段就可以说明这个数据为归档模式

2.进行日志切换操作

这里我是从非归档模式向归归档模式操作.

a.关闭运行数据库实例

shutdown immediate;

b.备份数据库

该备份跟以后产生的日志一起用于将来的灾难恢复(很重要,如要改为归档日志模式,没有这个数据库备份,仅有日志文件是无法从该时间点恢复的)

c.启动数据库实例到mount状态,但不要打开。

startup mount;

d.切换数据库日志模式。

alter database archivelog;(设置数据库为归档日志模式)

alter database noarchivelog;(设置数据库为归档日志模式)

d.进行自动归档的切换

alter system archive log start

alter system archive log stop

(在standy模式不能切换为手动归档)

e.打开数据库

alter database open;

3.手动归档相关操作

alter system  archive log current;

alter system archive log all;

 

常用的归档 动态视图

select * from  v$log_history
SELECT * FROM V$ARCHIVED_LOG
SELECT * FROM V$ARCHIVE_dest
SELECT * FROM V$ARCHIVE_processes
select log_mode from v$database

 

恢复的过程有三种 参考:http://wenku.baidu.com/view/89ee91d284254b35eefd34e1.html