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

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数据库管理》
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值