加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Oracle数据库启用归档日志模式

发布时间:2020-12-12 14:04:29 所属栏目:百科 来源:网络整理
导读:Oracle默认是不使用归档日志模式的,这里介绍两种设置归档日志存储路径的方法,并说明如何开启归档日志模式。 环境: Orale 12c 步骤: 1. 设置归档日志存储路径 设置归档日志存储路径有两种办法,使用LOG_ARCHIVE_DEST_N或者FRA 1.1使用LOG_ARCHIVE_DEST_N
Oracle默认是不使用归档日志模式的,这里介绍两种设置归档日志存储路径的方法,并说明如何开启归档日志模式。

环境: Orale 12c

步骤:

1. 设置归档日志存储路径

设置归档日志存储路径有两种办法,使用LOG_ARCHIVE_DEST_N或者FRA

1.1使用LOG_ARCHIVE_DEST_N

假定使用了spfile(如果没使用,需要手动配置init<SID>.ora文件),在SQLPlus里使用alter system命令:
SQL> alter system set log_archive_dest_1='location=/home/oracle/archlog/orcl' scope=both;
SQL> alter system set log_archive_format='orcl_%t_%s_%r.arc' scope=spfile;
SQL> show parameter log_archive_dest

NAME TYPE VALUE
---------------------- ---------- ------------------------------
log_archive_dest string
log_archive_dest_1 string location=/home/oracle/archlog/orcl
log_archive_dest_10 string
...

上面命令中的location就表示归档日志的位置。log_archive_format指定了日志格式,%t是线程号,%s是日志序列号,%r是Resetlogs ID,可以自定义格式。

1.2使用FRA

FRA是磁盘上设置的一块区域,不仅可以存储归档日志,还可以存放RMAN备份文件等。
SQL> alter system set db_recovery_file_dest_size=20G scope=both;
SQL> alter system set db_recovery_file_dest='/home/oracle/fra' scope=both;
SQL> show parameter db_recovery_file_dest;

NAME TYPE VALUE
-------------------------- ----------- -----------------
db_recovery_file_dest string /home/oracle/fra
db_recovery_file_dest_size big integer 20G


上面的命令将FRA路径设置为/home/oracle/fra,总大小最多20G

Tip1:如果两者(LOG_ARCHIVE_DEST_N和FRA)都设置了,会归档到哪里?
那么日志只会归档到LOG_ARCHIVE_DEST_N指定的目录里,而不会归档到FRA目录里,如果想要两个地方都归档,可以如下设置
SQL> alter system set log_archive_dest_1='location=/home/oracle/archlog/orcl' scope=both;
SQL> alter system set log_archive_dest_2='location=USE_DB_RECOVERY_FILE_DEST';

Tip2: 已经设置了FRA的情况下,如何取消FRA?
SQL> alter system reset db_recovery_file_dest;
SQL> alter system reset db_recovery_file_dest_size;

2. 查看归档模式

archive log list命令可以看到,使用的是非归档模式:
SQL> archive log list;
Database log mode No Archive Mode
Automatic archival Disabled
Archive destination /home/oracle/archlog/orcl
Oldest online log sequence 1
Current log sequence 3

或者使用select log_mode from v$database:
SQL> select log_mode from v$database;

LOG_MODE
------------
NOARCHIVELOG

3. 启用归档模式

启用归档模式需要把数据库启动到mount状态,然后使用alter database archivelog命令开启:
SQL> shutdown immediate;
SQL> startup mount;
SQL> alter database archivelog;
SQL> alter database open;

3.1 如果采用的是LOG_ARCHIVE_DEST_N,结果如下:

SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /home/oracle/archlog/orcl
Oldest online log sequence 1
Next log sequence to archive 3
Current log sequence 3

在使用了一些日志之后,在/home/oracle/archlog/orcl目录下生成了两个归档文件,名子为orcl_1_3_968797779.arc和orcl_1_4_968797779.arc

3.2 如果采用的是FRA,结果如下(另一个系统):

SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 1 Next log sequence to archive 2 Current log sequence 2 在使用了一些日志之后,生成了一个归档文件,全名为 /home/oracle/fra/ORCL/archivelog/2018_02_23/o1_mf_1_2_f906v40g_.arc ======= 当然,也可以不设置LOG_ARCHIVE_DEST_N或者FRA,直接开启归档模式,它有默认的目录。 参考资料 《深入理解Oracle 12c数据库管理》

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读