欢迎进入oracle社区论坛,与200万技术人员互动交流 >>进入 配置重现数据库 以下的例子演示了命令行配置。这也可以用企业管理器来完成。 在我们配置重现数据库之前,我们需要照顾以下一些先决条件。 flash recovery area 首先,我们需要配置一个flash recover
欢迎进入oracle社区论坛,与200万技术人员互动交流 >>进入
配置重现数据库
以下的例子演示了命令行配置。这也可以用企业管理器来完成。
在我们配置重现数据库之前,我们需要照顾以下一些先决条件。
flash recovery area
首先,我们需要配置一个flash recovery area (fra)。在10g中,这是个新东西,fra只不过是一个恢复相关文件的磁盘定位。对于重现数据库,一个新的后台进程,名为recovery writer (rvwr),在来自sga的数据库重现缓存的映像之前,阶段性地写入磁盘,作为fra中的重现日志。重现日志是在fra中由oracle数据库自动管理的。
重现日志的成本是以空间和性能来衡量的。空间是数据库写密度的一个因素。一个24小时运行的,以5%的数据块写入作为重现日志的方式必然会导致磁盘整体空间的5%的增长。因为块是以规律的间隔写入的,而不是事务的一部分,所以对性能的影响是可以忽略不计的。
要配置fra,你需要设置如下的初始化参数:
alter system set db_recovery_file_dest=
'c:\oracle\product\10.2.0\flash_recovery_area' scope=both;
alter system set db_recovery_file_dest_size = 10g scope=both;
存档
接下来,我们需要配置存档。再一次,我们需要使用fra作为我们的文档日志目的地。与传统恢复类似,重现数据库需要存档以向前恢复提交的事务,在重现日志重新存储了希望时间之前的时点之后。
要最小化配置存档,执行如下的命令,按照顺序:
sql> startup mount
oracle instance started.
.
.
.
database mounted.
sql> alter database archivelog;
database altered.
sql> alter database open;
database altered.
sql> archive log list
database log mode archive mode
automatic archival enabled
archive destination use_db_recovery_file_dest
oldest online log sequence 2
next log sequence to archive 4
current log sequence 4
重现数据库
配置了这些先决条件之后,我们准备好配置重现数据库了。
首先,我们需要设置重现保持目标。这个初始化参数,以分钟来计算,代表我们可以把数据库返回到多长时间之前。它的值决定了fra中重现日志的数量和时间段。下面我们的例子将其设置为24小时。要理解这个保持时间段并不是保证是非常重要的。如果fra需要空间,重现日志将会自动删除目标保持时间点之前的记录。稍后我们会看到,我们保证重现日志的方式在fra中进行维护。有了保持时间段设置,重现数据库可以激活。
sql> startup mount;
oracle instance started.
.
.
.
database mounted.
sql> alter system set db_flashback_retention_target = 1440 scope=both;
system altered.
sql> alter database flashback on;
database altered.
sql> alter database open;
database altered.
sql> select flashback_on from v$database;
flashback_on
------------------
yes
[1] [2] [3] [4]