您的位置:首页 > 数据库 > Oracle

oracle归档日志的操作

2015-03-14 16:52 176 查看
oracle利用重做日志文件记录对数据库的操作,但是重做日志文件组是循环使用的,当所有的日志文件都被填满时,系统自动切换到第一组日志文件,当然数据库管理员也可以使用命令手工切换。而在循环使用日志文件时,日志文件中已经存在的日志文件的内容将会被覆盖。为了完整的记录数据库的全部操作,orale提出了归档日志的概念。

如果是非归档日志模式,则切换日志文件时,日志文件中的内容将被新的内容覆盖;如果是归档日志模式,则切换日志文件时,系统会首先对日志文件进行归档存储,之后才允许向文件中写入新的日志内容。‘

oracle有两种日志模式,

非归档日志模式(noarchivelog)

在非归档日志模式下,如果发生日志切换,则日志文件中原有的内容将新的内容覆盖;

归档模式(archivelog)

在归档日志模式下,如果发生日志切换,则oracle系统将日志文件通过复制保存到指定的地方,这个过程叫“归档”,复制保存下来的日志文件叫做“归档日志”,然后才允许向文件中写入新的日志内容。

设置数据库模式

在安装oracle时,默认设置数据库运行于非归档模式,这样可以避免对创建数据库的过程中生成的日志进行归档,从而缩短数据库的创建时间,在数据库成功运行之后,数据库管理员可以根据需要修改数据库的运行模式。

如果要修改数据库的运行模式,可以使用如下语句:

alter database archivelog|noarchivelog;

其中,archivelog表示归档模式,noarchivelog表示非归档模式。

具体的操作如下:

SQL> connect c##scott/tiger as sysdba;

已连接。

SQL> archive log list; --查询当前数据库的日志模式

数据库日志模式 非存档模式

自动存档 禁用

存档终点 D:\oracle\app\Administrator\product\12.1.0\dbhome_1\RDBMS

最早的联机日志序列 68

当前日志序列 71

SQL> shutdown

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

SQL> startup mount; --启动数据库实例,但不打开数据库

ORACLE 例程已经启动。

Total System Global Area 2550136832 bytes

Fixed Size 3048872 bytes

Variable Size 671091288 bytes

Database Buffers 1862270976 bytes

Redo Buffers 13725696 bytes

数据库装载完毕。

SQL> alter database archivelog; //归档模式操作

数据库已更改。

SQL> alter database open;

数据库已更改。

SQL> archive log list;

数据库日志模式 存档模式

自动存档 启用

存档终点 D:\oracle\app\Administrator\product\12.1.0\dbhome_1\RDBMS

最早的联机日志序列 68

下一个存档日志序列 71

当前日志序列 71

SQL>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: