ITPub博客

首页 > 数据库 > Oracle > 在Oracle DG Standby库上启用flashback database功能

在Oracle DG Standby库上启用flashback database功能

原创 Oracle 作者:kuqlan 时间:2011-08-26 18:55:01 0 删除 编辑
曾经发生的一次故障,让想起了在Oracle Data Guard环境中配置flashback databae功能的必要性;这样在primary库中用户不小心做truncate或其他不便回退操作时,也可以在standbay上做一下flashback database 后只读模式打开standby库,将丢失数据导出或dblink方式传输到其他数据库中。[@more@]

1、首先要坚持standby库环境及参数:

-bash-3.00$ sqlplus / as sysdba

SQL> archive log list

Database log mode Archive Mode

Automatic archival Enabled

Archive destination /backup/archivelog

Oldest online log sequence 6799

Next log sequence to archive 0

Current log sequence 6802

SQL> show parameter db_flashback_retention_target

NAME TYPE VALUE

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

db_flashback_retention_target integer 1440

SQL> show parameter DB_RECOVERY_FILE_DEST_SIZE

NAME TYPE VALUE

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

db_recovery_file_dest_size big integer 0

SQL> show parameter DB_RECOVERY_FILE_DEST

NAME TYPE VALUE

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

db_recovery_file_dest string

db_recovery_file_dest_size big integer 0

SQL> show parameter flashback

NAME TYPE VALUE

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

db_flashback_retention_target integer 1440

也就是在备库还没有配置过闪回区域相关的两个如下参数:

db_recovery_file_dest

db_recovery_file_dest_size

2、检查standby 数据库服务器存储空间使用情况:

-bash-3.00$ df -h

Filesystem size used avail capacity Mounted on

/dev/md/dsk/d10 119G 31G 87G 27% /

………..

/dev/dsk/c1t0d0s6 652G 368G 277G 58% /oradata

/dev/dsk/c1t0d1s6 808G 225G 574G 29% /backup

可以看出有足够Flashback Logs空间;

3、具体配置过程

Step 1. Shut down the database and start up mount. The database must be mounted but not open. (关闭standby数据库并打开为mount状态)

SQL>shutdown immediate;

SQL>startup mount;

SQL> select status from v$instance;

STATUS

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

MOUNTED

SQL> archive log list;

Database log mode Archive Mode

Automatic archival Enabled

Archive destination /backup/archivelog

Oldest online log sequence 6799

Next log sequence to archive 0

Current log sequence 6802

Step 2. Set the flashback retention target to your desired value. We will use 24 hours as the window. (配置 db_flashback_retention_target参数,单位为分钟)

alter system set db_flashback_retention_target=1440 SCOPE=BOTH;

Step 3. Set the values for db_recovery_file_dest and db_recovery_file_dest_size (flash recovery area parameters).(配置闪回区域参数)

Flashback logs increase FRA usage significantly. It would behoove you to at least double the given size of the FRA.

因此具体参数带该如下:

SQL> ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE = 600151336 SCOPE=BOTH ;

SQL> ALTER SYSTEM SET DB_RECOVERY_FILE_DEST = '/backup/fra/' SCOPE=BOTH;

Step 4. Turn flashback logging on. This is done in the same fashion as turning archivelog on-with

an ALTER DATABASE command when the database is mounted but not open.(启用flashback功能)

SQL> alter database flashback on;

Step 5. 因standby库,因此不能open而进入管理模式:

SQL>alter database recover managed standby database disconnect from session;

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/18841027/viewspace-1054422/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: RAC的启动和关闭
请登录后发表评论 登录
全部评论
Oracle技术爱好者,Oracle10g OCM,网名 KUQLAN ,具有7的年Oracle数据库管理实践,曾经参加过BOSS、ERP、云计算(OpenStack+kvm)等项目的一线工作。以前写博客是为了自己,而现在是为了自己和别人。因为领会了帮助别人和分享、沉淀和积累会创造快乐和价值...

注册时间:2009-01-26

  • 博文量
    183
  • 访问量
    1681004