以下大部分都在STANDBY执行,主库执行(两次)的会提示

【STANDBY read write方式打开测试】
检查standby状态
SQL> SELECT NAME,DATABASE_ROLE,OPEN_MODE,SWITCHOVER_STATUS FROM V$DATABASE;

NAME DATABASE_ROLE OPEN_MODE SWITCHOVER_STATUS
--------- ---------------- -------------------- --------------------
testdb PHYSICAL STANDBY MOUNTED NOT ALLOWED

FLASHBACK_ON要打开,以便闪回
SQL> SELECT FLASHBACK_ON FROM V$DATABASE;

FLASHBACK_ON
------------------
NO

SQL> alter database flashback on;

Database altered.

闪回恢复区设置,其中大小根据短期产生日志的大小估算
SQL> set line 200
SQL> show parameter db_recovery_file_dest

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string /u01/app/oracle/fast_recovery_area
db_recovery_file_dest_size big integer 167280M

取消日志应用,刚提前cancel了
SQL> alter database recover managed standby database cancel;
alter database recover managed standby database cancel
*
ERROR at line 1:
ORA-16136: Managed Standby Recovery not active

创建还原点
SQL> create restore point restore_point_readonly guarantee flashback database;

Restore point created.

主库日志切换,暂时日志同步
SQL> alter system archive log current;
System altered.

SQL> alter system set log_archive_dest_state_2=defer;
System altered.

激活standby为read write并open
SQL> alter database activate standby database;

Database altered.

SQL> select name,open_mode,database_role,db_unique_name from v$database;

NAME OPEN_MODE DATABASE_ROLE DB_UNIQUE_NAME
--------- -------------------- ---------------- ------------------------------
testdb MOUNTED PRIMARY testdbdg2

SQL> alter database open;

Database altered.

SQL> set timing on;
SQL> select name,open_mode,database_role,db_unique_name from v$database;

NAME OPEN_MODE DATABASE_ROLE DB_UNIQUE_NAME
--------- -------------------- ---------------- ------------------------------
testdb READ WRITE PRIMARY testdbdg2

Elapsed: 00:00:00.00

write测试
SQL> create table scott.t as select * from dba_objects;

Table created.

Elapsed: 00:00:02.33
SQL> select count(*) from scott.t;

COUNT(*)
----------
98160

Elapsed: 00:00:00.01
SQL> truncate table scott.t;

Table truncated.

Elapsed: 00:00:09.43
SQL> select count(*) from scott.t;

COUNT(*)
----------
0

Elapsed: 00:00:00.00
SQL> drop table scott.t;

Table dropped.

Elapsed: 00:00:01.44

测试完成了之后再回到某一个时间点,这个时间点要确定好

【闪回测试】
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

SQL> startup mount;
ORACLE instance started.

Total System Global Area 4.2758E+10 bytes
Fixed Size 2262656 bytes
Variable Size 2.7380E+10 bytes
Database Buffers 1.5301E+10 bytes
Redo Buffers 74420224 bytes
Database mounted.

可以select sysdate- 5/1440 from dual; 确定需要闪回的时间

SQL> flashback database to timestamp sysdate- 5/1440;

Flashback complete.

Elapsed: 00:02:19.84
SQL>
SQL> alter database open resetlogs;

Database altered.

Elapsed: 00:02:02.26
SQL> select count(*) from scott.t;

COUNT(*)
----------
98160

Elapsed: 00:00:00.03

【还原测试】(到standby状态)

SQL> startup mount force
ORACLE instance started.

Total System Global Area 4.2758E+10 bytes
Fixed Size 2262656 bytes
Variable Size 2.7380E+10 bytes
Database Buffers 1.5301E+10 bytes
Redo Buffers 74420224 bytes
Database mounted.

SQL> flashback database to restore point restore_point_readonly;
Flashback complete.

再次回到PHYSICAL STANDBY
SQL> alter database convert to physical standby;
Database altered.

再次强制mount,应用日志
SQL> startup mount force
ORACLE instance started.

Total System Global Area 4.2758E+10 bytes
Fixed Size 2262656 bytes
Variable Size 2.7380E+10 bytes
Database Buffers 1.5301E+10 bytes
Redo Buffers 74420224 bytes
Database mounted.

SQL> alter database recover managed standby database disconnect from session;
Database altered.

主库(执行)启用日志
SQL> alter system set log_archive_dest_state_2=enable;
System altered.

SQL> alter system archive log current;
System altered.

主备alter日志观察是否正常

read write方式打开PHYSICAL STANDBY,闪回和还原测试的更多相关文章

  1. Oracle多表更新及MERGE命令和闪回机制还原数据表

    一.多表更新 比如线上有个系统由于某一个模块出现异常,导致系统整体的数据出现了错误,需要你手动改写数据库错误,Oracle update语句更新的值来自另一张表 update语法最基本的格式为 UPD ...

  2. Flashing Back a Failed Primary Database into a Physical Standby Database(闪回FAILOVER失败的物理备库)

    文档操作依据来自官方网址:https://docs.oracle.com/cd/E11882_01/server.112/e41134/scenarios.htm#SBYDB4888 闪回FAILOV ...

  3. Oracle Flashback Technologies - 闪回数据库

    Oracle Flashback Technologies - 闪回数据库 根据指定的SCN,使用rman闪回数据库 #查看可以闪回到多久前 SQL> select * from v$flash ...

  4. ORACLE闪回机制分析与研究应用

    1.查看数据库归档和闪回状态,及环境准备SQL> archive log list;SQL> select flashback_on from v$database;关闭数据库,启动归档和 ...

  5. Oracle 闪回总结

    一.闪回查询(Flashback Query)1.闪回查询技术1.1 闪回查询机制    闪回查询是指利用数据库回滚段存放的信息查看指定表中过去某个时间点的数据信息,或过去某个时间段数据的变化情况,或 ...

  6. Oracle闪回技术详解

     概述: 闪回技术是Oracle强大数据库备份恢复机制的一部分,在数据库发生逻辑错误的时候,闪回技术能提供快速且最小损失的恢复(多数闪回功能都能在数据库联机状态下完成).需要注意的是,闪回技术旨在快速 ...

  7. 配置闪回恢复区开启归档,未配置清理归档脚本,数据库hang住

    问题现象,测试环境执行SQL hang住 enmo:/home/oracle/worksh dg.sh SQL*Plus: Release Production on Mon May :: Copyr ...

  8. oracle 闪回技术

    oracle默认不启动闪回数据库 如果需要启动闪回数据库,数据库需要设置为归档模式,并启用恢复区. 1.查看是否启动闪回删除 SQL> show parameter recyclebin; NA ...

  9. Oracle闪回表

    Oracle闪回技术 场景:测试环境数据库的表数据被误删除. 解决思路:使用闪回表技术 原理 闪回技术是Oracle强大数据库备份恢复机制的一部分,在数据库发生逻辑错误的时候,闪回技术能提供快速且最小 ...

随机推荐

  1. UE4入门学习笔记开篇

    做了3年的Unity, 现在开始转入到做UE4,一来就进入一个超大项目组中学习,度过了最初2个月的生涩和紧张后,现在准备开始慢慢总结,慢慢学习,逐步深入理解和研究UE. 做了3年的游戏开发后,个人感悟 ...

  2. ruby中的数组相关方法介绍

    l = ["a","b","c","d","e","f",'g'] puts l ...

  3. ASP.NET Core Web 应用程序系列(五)- 在ASP.NET Core中使用AutoMapper进行实体映射

    本章主要简单介绍下在ASP.NET Core中如何使用AutoMapper进行实体映射.在正式进入主题之前我们来看下几个概念: 1.数据库持久化对象PO(Persistent Object):顾名思义 ...

  4. 天下代码一大抄,整个案例的搬是什么鬼!疑似冒充蚂蚁金服高级Java开发工程师?你大爷

    写在开始 上班前的第一件事,就是码云看看有什么消息,回复下网友的问题.如果看到喜欢的项目会点进去瞅瞅,然后就开始一天的工作. 然而,这一天的工作并不开心,一个今日热门项目让自己很恼火,一开始感觉并没有 ...

  5. 通过pipeline实现jenkins的ci/cd功能

    pipeline是基于groove进行实现的,不过从jenkins官方的说明中,pipeline分为脚本式和声明式,参见链接.经过对两种的比较,个人比较偏向脚本式的方法.也就是 Jenkinsfile ...

  6. Android8.1 SystemUI源码分析之 Notification流程

    代码流程 1.先看UI显示,StatuBar加载 CollapsedStatusBarFragment 替换 status_bar_container(状态栏通知显示区域) SystemUI\src\ ...

  7. Flutter安装入门教程

    ### 前言 Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面. Flutter可以与现有的代码一起工作.在全世界,Flutter正在被越来越多的开发者和 ...

  8. bayaim_Centos7.6_mysql源码5.7-multi_20190424.txt

    用户名/密码mysql/mysql 一.安装mysql: 位置位于 /data/mysql 如果遇到依赖,无法删除,使用 rpm -e --nodeps <包的名字> 不检查依赖,直接删除 ...

  9. [Go] 实现websocket服务端

    直接使用官方子包可以实现websocket协议, golang.org/x/net/websocket 如果在这个目录没有这个包就去github下载net库,放进这个目录$GOPATH/src/gol ...

  10. Reinforcement Learning by Sutton 第三章习题答案

    好不容易写完了 想看全部的欢迎点击下面的github https://github.com/LyWangPX/Solutions-of-Reinforcement-Learning-An-Introd ...