将数据库转换为归档日志模式

在默认情况下,数据库实在非归档日志模式下创建的,这意味着日志切换在没有先进行复制的情况下会重写联机重做日志文件。此时数据库仍然不会受损,但是如果数据文件因为介质失败被损坏,那么会丢失数据。在数据库被转换至归档模式时,如果从最近一次数据库备份开始生成的所有归档日志文件都可用,那么不会丢失数据。所以所有的生产库都应该以归档模式运行。下面是将数据库转换为归档日志模式的步骤:

  1. 在操作系统上创建归档的目标位置。

$mkdir /oracle/archive1

$mkdir /oracle/archive2

  1. 以SYSTEM权限的SYS用户身份连接SQL*Plus。

SQL> conn / as sysdba

  1. 设置归档参数为第一步创建的两个目标目录,并控制归档日志文件名。注意,必须在目录名上包括正斜杠(在Windows中是反斜杠)。

SQL> alter system set log_archive_dest_1='location=/oracle/archive1' scope=spfile;

SQL> alter system set log_archive_dest_2='location=/oracle/archive2' scope=spfile;

SQL> alter system set log_archive_format='arch_%d_%t_%r_%s.log' scope=spfile;

其中归档日志文件名中各变量含义如下:

%d:唯一的数据库标识符,如果将多个数据库归档到同一目录,这是必需的。

%t:线程号,显示为v$instance视图的THREAD#列,除了在RAC数据库中使用之外,这个变量没有任何意义。

%r:场景(incarnation)号。如果进行了不完全恢复,这个变量就十分重要。

%s:日志切换序列号。这个变量能够保证任何一个数据库中的归档日志都不会彼此重写。

  1. 干净地关闭数据库:

SQL> shutdown immediate;

  1. 以加载模式启动:

   SQL> startup mount;

  1. 将数据库转换成归档日志模式:

   SQL> alter database archivelog;

  1. 打开数据库:

SQL> alter database open;

  1. 确认数据库已经运行在归档日志模式:

SQL> select log_mode from v$database;

LOG_MODE

------------

ARCHIVELOG

SQL> select archiver from v$instance;

ARCHIVE

-------

STARTED

转载 http://space.itpub.net/26194851/viewspace-709309

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值