Oracle 数据库归档模式和非归档模式的区别以及设置

文章目录

        查看归档模式
        单实例
            Oracle 9i 之前
            Oracle 10g 以后
        RAC 集群
            Oracle 9i 之前
            Oracle 10g 以后

Oracle 在线重做日志(online redo log)记录了数据库的各种增删改操作。数据库至少拥有 2 个在线重做日志组,并且循环使用;日志组 1 写满后切换到日志组 2,日志组 2 写满后再切换到日志组 1,不停地重复这个过程。

切换日志组会覆盖原来日志文件中的内容,如果不对已经写满的日志文件进行归档,重做日志记录就会丢失;如果选择归档日志模式,发生日志切换会对写满的日志会进行归档存储,意味着历史重做日志记录都会被保存。这两种配置的主要优缺点如下:

    非归档模式只能进行冷备,只能还原到备份点,之后的数据无法恢复;一般在开发或者测试环境使用;
    归档模式可以执行热备,同时支持增量备份,可以执行时间点恢复;归档日志文件需要占用额外的磁盘空间。

    ⚠️对于生产数据库,必须要工作在归档模式。

接下来我们介绍如何为 Oracle 单实例和 RAC 集群环境设置数据库的归档模式和非归档模式。
查看归档模式

首先,可以使用 ARCHIVE LOG LIST 命令查看数据库当前归档模式:

SQL> ARCHIVE LOG LIST;
Database log mode           No Archive Mode
Automatic archival           Disabled
Archive destination           /u01/app/oracle/product/12.2.0/dbhome_1/dbs/arch
Oldest online log sequence     285
Current log sequence           287

No Archive Mode 意味着非归档模式。

另外,也可以通过 v$database 系统视图查看当前的归档模式:

SQL> select name,log_mode from v$database;

NAME      LOG_MODE
--------- ------------
ORCL      NOARCHIVELOG

单实例
Oracle 9i 之前

在 Oracle 9i 单节点实例中,可以使用以下方法将数据库设置为归档日志模式:

ALTER SYSTEM SET log_archive_start=TRUE SCOPE=spfile;
ALTER SYSTEM SET log_archive_dest_1='location=/u01/oradata/SID/archive/' SCOPE=spfile;
ALTER SYSTEM SET log_archive_format='arch_%t_%s.arc' SCOPE=spfile;

SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ARCHIVE LOG START;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;

记得替换归档目录中的 SID,也可以设置自己的归档目录和日志文件名的格式。

    ⚠️切换为归档日志模式之后一定要执行一次完全备份,因为非归档日志模式下产生的备份日志对于归档模式不可用。

另一方面,我们可以使用以下方法将数据库设置为非归档模式:

ALTER SYSTEM SET log_archive_start=FALSE SCOPE=spfile;

SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ARCHIVE LOG STOP;
ALTER DATABASE NONARCHIVELOG;
ALTER DATABASE OPEN;

Oracle 10g 以后

从 Oracle 10g 开始,LOG_ARCHIVE_START 参数以及 ARCHIVE LOG START 命令已经被废弃(归档模式默认启用自动归档),因此设置更为简单。以下操作将数据库设置为归档模式:

ALTER SYSTEM SET log_archive_dest_1='location=/u01/oradata/SID/archive/' SCOPE=spfile;
ALTER SYSTEM SET log_archive_format='arch_%t_%s_%r.arc' SCOPE=spfile;

SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;

记得替换归档目录中的 SID,也可以设置自己的归档目录和日志文件名的格式。

    ⚠️切换为归档日志模式之后一定要执行一次完全备份,因为非归档日志模式下产生的备份日志对于归档模式不可用。

同样,我们可以使用以下方法将数据库设置为非归档模式:

SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE NONARCHIVELOG;
ALTER DATABASE OPEN;

更多请见:http://www.mark-to-win.com/tutorial/51529.html

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值