文章目录
查看归档模式
单实例
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;
Oracle 数据库归档模式和非归档模式的区别以及设置
最新推荐文章于 2024-04-25 09:21:57 发布