在Dataguard中,可以将standby备库切换为snapshot快照数据库,在切换为snapshot数据库后,备库将置于可读写的模式。可用于模拟业务功能测试。在使用完成之后,可以将快照数据库切换为物理备库。在此期间,备库可以接受主库传输过来的日志,但是不能应用日志,需要处于物理备库的时候才可以应用。

(一)将物理备库切换为快照数据库
1.备库配置快速恢复区

  1. alter system set db_recovery_file_dest_size=10g;
  2. alter system set db_recovery_file_dest='/u01/app/oracle/fast_recovery_area/adgdb';

2.备库关闭redo apply应用

  1. --在关闭之前,备库的开启状态为:READ ONLY WITH APPLY
  2. --关闭redo apply后,备库的开启状态为:READ ONLY
  3. alter database recover managed standby database cancel;

3.切换为快照数据库

  1. --执行转换为快照数据库后,备库的开启状态为:MOUNTED
  2. alter database convert to snapshot standby;
  3.  
  4. --开启备库后,数据库开启状态为:READ WRITE
  5. alter database open;

查看状态:

  1. SQL> select open_mode,database_role,protection_mode,protection_level from v$database;
  2.  
  3. OPEN_MODE DATABASE_ROLE PROTECTION_MODE PROTECTION_LEVEL
  4. -------------------- ---------------- -------------------- --------------------
  5. READ WRITE SNAPSHOT STANDBY MAXIMUM AVAILABILITY MAXIMUM AVAILABILITY

在快照数据库上进行读写操作,发现不仅可以读,还可以写入数据

  1. SQL> select * from lijiaman.test01;
  2.  
  3. ID NAME
  4. ---------- --------------------
  5. 1 lijiaman
  6. 2 gegeman
  7. 3 man
  8. 4 a
  9.  
  10. SQL> insert into lijiaman.test01 values(5,'b');
  11. 1 row created.
  12.  
  13. SQL> commit;
  14. Commit complete.

(二)将快照数据库切回物理备库
1.关闭备库,将备库启动到mount状态

  1. shutdown immediate
  2. start mount

2.执行切回命令

  1. alter database convert to physical standby;

3.再次关闭备库,启动到open状态,开启实时应用

  1. --关闭备库
  2. shutdown immediate
  3.  
  4. --启动数据库到open状态
  5. startup
  6.  
  7. --开始备库实时应用
  8. alter database recover managed standby database using current logfile disconnect;

4.查看备库状态

  1. SQL> select name,open_mode,database_role,protection_mode from v$database;
  2.  
  3. NAME OPEN_MODE DATABASE_ROLE PROTECTION_MODE
  4. --------- -------------------- ---------------- --------------------
  5. ADGDB READ ONLY WITH APPLY PHYSICAL STANDBY MAXIMUM AVAILABILITY

5.这个时候,再回去查看test01表信息,发现处于snapshot数据库时insert的数据已经不存在

  1. SQL> select * from lijiaman.test01;
  2.  
  3. ID NAME
  4. ---------- --------------------
  5. 1 lijiaman
  6. 2 gegeman
  7. 3 man
  8. 4 a

【完】

DataGuard快照(snapshot)数据库的更多相关文章

  1. LVM快照(snapshot)备份

    转载自:http://wenku.baidu.com/link?url=cbioiMKsfrxlzrJmoUMaztbrTelkE0FQ8F9qUHX7sa9va-BkkL4amvzCCAKg2hBv ...

  2. lvm快照备份数据库(Mysql5.7)

    备份的目的 能够防止由于机械故障以及人为误操作带来的数据丢失,例如将数据库文件保存在了其它地方. 备份的分类 以操作过程中服务的可用性分: 冷备份:cold backup mysql服务关闭,mysq ...

  3. SQL Server 从数据库快照还原数据库

    语法: restore database db_name from database_snapshot  = 'db_snapshot_name'; ------------------------- ...

  4. db2开启监控monitor 查看快照snapshot

    ths   https://blog.csdn.net/huaishu/article/details/9671771 #查看监控器 db2 get monitor switches #打开监控器db ...

  5. db2 快照 SNAPSHOT

    打开和关闭快照缺省情况不打开 DB2 监控,必须在连接或实例级别上进行设置.有一系列监视器开关来决定是否监控某种数据元素.还预留了一个内存堆,用于包含为监控而存储的信息.1:在instance级别上设 ...

  6. 使用LVM快照进行数据库备份

    使用mysqldump备份时,如果存储引擎为MyISAM,则只能实现温备份,并需使用选项--lock-all-tables锁定所有表.如果存储引擎为InnoDB,则加上--single-transac ...

  7. dataguard从库数据库丢失恢复例子(模拟所有的控制文件)

    1.退出日志应用模式[oracle@localhost ~]$ sqlplus /nolog SQL*Plus: Release 11.2.0.4.0 Production on Mon Jan 14 ...

  8. dataguard从库数据库丢失恢复例子(模拟丢失数据文件)

    准备工作,使用如下脚本进行数据库的全备份[oracle@localhost ~]$ more rman_backup.sh #!/bin/sh RMAN_OUTPUT_LOG=/home/oracle ...

  9. MSSQL2005数据库快照(SNAPSHOT)初探

    定义:数据库快照是数据库(称为“源数据库”)的只读静态视图.在创建时,每个数据库快照在事务上都与源数据库一致.多个快照可以位于一个源数据库中,并且可以作为数据库始终驻留在同一服务器实例上.在创建数据库 ...

随机推荐

  1. Web前端面试指导(十八):用纯CSS创建一个三角形的原理是什么?

    题目点评 三角形的图标在网页设计是很常见的,属于基本常识题,只要在练习做到过这个功能都能回答出来,可以把你做过的思路描述出来就可以了,本题的难易程度为简单 答题要点 1.采用的是均分原理 盒子都是一个 ...

  2. ES6 模块化与 CommonJS 模块化

    ES6 模块化 import命令用于输入其他模块提供的功能;export命令用于规定模块的对外接口. export 可以有多个,export default 仅有一个 a.js 模块a文件 导出多个方 ...

  3. SQL-OVER与四种排名函数:ROW_NUMBER(),RANK(),DENSE_RANK(),NTILE()

    1 SELECT orderid,custid,val, ROW_NUMBER() OVER(ORDER BY val) AS rownum, RANK() OVER(ORDER BY val) AS ...

  4. Android学习笔记(3)----手机调试[OFFLINE]的解决方式

    问题描述 今天用Android Studio开发了一个简单的调用摄像头的App,结果想调试的时候发现选择调试设备的对话框中,手机名称后面总是跟着一个[OFFLINE]的标识,只能选择启动AVD来进行调 ...

  5. WinSxS文件夹瘦身

    WinSxS文件夹瘦身 2014-5-8 18:03:32来源:IT之家作者:阿象责编:阿象 评论:27 刚刚,我们分享了如何用DISM管理工具查看Win8.1 WinSxS文件夹实际大小.对于Win ...

  6. 第8课 网络数据读取测试-TinyWebDB

    TinyWebDB是在线小型数据库,通过它的使用,可以将数据保存在网络,实现排行榜等功能.   实现功能:读入数据并保存,读出数据并显示.   1.组件设计   TinyWebDB1:非可视化,借用网 ...

  7. spring事务的理解

    特性 一致性:业务处理要么都成功,要么都失败,不能部分成功不分失败 原子性:业务操作是由多个动作完成,这些动作不可分割,要么都执行,要么都不执行 隔离性:事务间之间要做隔离,不要互相影响 持久性:操作 ...

  8. SQL Server ->> 使用Azure Active Directory Authentication连接到Azure SQL Database

    SQL Server 2016以后支持Azure AD集成验证,这当中有些数据驱动必须在高版本才可以使用,支持的包括sqlcmd,SSDT,JDBC,ODBC,SSMS等. 对于SSIS来讲,我们需要 ...

  9. 沉淀再出发:用python画各种图表

    沉淀再出发:用python画各种图表 一.前言 最近需要用python来做一些统计和画图,因此做一些笔记. 二.python画各种图表 2.1.使用turtle来画图 import turtle as ...

  10. 多变量线性回归 matlab

    %multivariate_linear_regression data=load('data.txt'); x=data(:,1:2); y=data(:,3); m=length(x(:,1)); ...