read write方式打开PHYSICAL STANDBY,闪回和还原测试

以下大部分都在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日志观察是否正常

原文地址:https://www.cnblogs.com/ritchy/p/11357090.html

时间: 2024-11-04 14:50:44

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

[转]Oracle DB执行闪回数据库

? 配置闪回数据库 ? 执行闪回数据库操作 ? 监视闪回数据库 闪回数据库 闪回数据库操作: ? 作用类似于数据库的倒带按钮 ? 可以在用户造成了逻辑数据损坏的情况下使用 闪回数据库 使用闪回数据库,通过还原自先前某个时间点以来发生的所有更改,可快速将数据库恢复到那个时间的状态.因为不需要还原备份,所以此操作速度很快.可以使用此功能还原导致逻辑数据损坏的更改. 使用闪回数据库时,Oracle DB 可使用过去的块映像回退对数据库的更改.在正常数据库操作期间,Oracle DB 会不定期地将这些块

Oracle10g 闪回数据库 (Flashback Database)

生产上要做灾备系统的应急切换演练,灾备端是由OGG搭建的.由于生产库都比较大10多T,不想演练后重新初始化灾备库,生产库版本为10.2.0.4,于是想到10g的新特性flashback database.演练开始前记录一个还原点,演练结束后闪回到这个还原点,重新同步ogg即可. 测试闪加数据库. 一.开启FLASHBACK DATABASE 数据库版本:10.2.0.4 启用FLASHBACK DATABASE数据库必须为ARCHIVELOG模式,还需要有一个闪回恢复区用于存储闪回日志,RAC中

Oracle Flashback Technologies - 闪回数据库

根据指定的SCN,使用rman闪回数据库 #查看可以闪回到多久前 SQL> select * from v$flashback_database_log; #查看当前的SCN SQL> select current_scn from v$database; CURRENT_SCN ----------- 1462273 SQL> #关闭数据库 $ rman target / Recovery Manager: Release 11.2.0.4.0 - Production on Tue

Oracle闪回技术详解

概述: 闪回技术是Oracle强大数据库备份恢复机制的一部分,在数据库发生逻辑错误的时候,闪回技术能提供快速且最小损失的恢复(多数闪回功能都能在数据库联机状态下完成).需要注意的是,闪回技术旨在快速恢复逻辑错误,对于物理损坏或是介质丢失的错误,闪回技术就回天乏术了,还是得借助于Oracle一些高级的备份恢复工具如RAMN去完成(这才是Oracle强大备份恢复机制的精髓所在啊)  撤销段(UNDO SEGMENT) 在讲闪回技术前,需要先了解Oracle中一个逻辑结构--撤销段.因为大部分闪回技术

闪回数据库的简单介绍

闪回数据库方法可以用sqlplus,也可以用RMAN执行: SQL> FLASHBACK DATABASE TO TIMESTAMP(''); --(基于时间点) SQL> FLASHBACK DATABASE TO SCN ; --(基于SCN) SQL> FLASHBACK DATABASE TO RESTORE POINT ; --(基于sestore point ,创建命令create restore point 名称) RMAN> FLASHBACK DATABASE T

闪回数据库的使用

oracle闪回技术-----使用闪回日志来恢复用户的逻辑错误,这种修复只针对用户逻辑错误的恢复,而不涉及整个数据库的恢复 恢复更具有针对性而且恢复时间大大减少. 对于闪回数据库而言,闪回日志不会被归档 启用闪回数据库-----数据库处于归档模式 使用DB_RECOVERY_FILE_DEST参数指定的目录作为存储目录,该参数的值即为快速恢复区 db_flashback_retention_target,该参数的值是一个一分钟为单位的数字. 通过数据字典v$flashback_database_

Oracle11g闪回技术

--闪回查询已丢失的行,看是否有数据 SELECT * FROM MEM_PACKAGE AS OF TIMESTAMP TO_TIMESTAMP('2015-06-16 14:30:00', 'YYYY-MM-DD HH24:MI:SS'); --使用闪回查询还原丢失的行 INSERT INTO MEM_PACKAGE (SELECT * FROM MEM_PACKAGE AS OF TIMESTAMP TO_TIMESTAMP('2015-06-16 14:30:00', 'YYYY-MM-

oracle 闪回技术--闪回删除

1.查看是否启动闪回删除 SQL> show parameter recyclebin; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ recyclebin string on 启动闪回 2.测试闪回删除的表: 创建两个一样的表,然后都删除,进行恢复. SQL> create table edu.test_flash(id number(12),na

[课]10.1闪回查询的三种方式:闪回查询/闪回版本查询/闪回事务查询

数据库版本 1.1闪回查询演示 1.2闪回版本查询演示 1.3闪回事务查询演示 在做闪回事务查询时候,我们需要使用ORACLE提供的一个系统视图FLASHBACK_TRANSACTION_QUERY.闪回事务查询与闪回版本查询之间有着密切的关系,从刚才我们实验的闪回版本查询中可以知道有一个伪列VERSIONS_XID,那么闪回事务查询就是通过这个伪列与闪回版本查询发生关联. 我们现在查看一下该表的表结构: 开始演示: