Oracle RAC 执行闪回数据库操作

  [oracle@zhongwc1 ~]$ sqlplus / as sysdba

  SQL*Plus: Release 11.2.0.3.0 Production on Wed Jan 23 17:02:01 2013

  Copyright (c) 1982, 2011, Oracle. All rights reserved.

  Connected to:

  Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

  With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,

  Data Mining and Real Application Testing options

  SQL> set lines 200

  SQL> select instance_name,host_name from v$instance;

  INSTANCE_NAME HOST_NAME

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

  zhongwc1 zhongwc1.oracle.com

  SQL> select instance_name,host_name from gv$instance;

  INSTANCE_NAME HOST_NAME

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

  zhongwc1 zhongwc1.oracle.com

  zhongwc2 zhongwc2.oracle.com

  SQL> select flashback_on from v$database;

  FLASHBACK_ON

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

  NO

  SQL> show release

  release 1102000300

  SQL> alter database flashback on;

  Database altered.

  SQL> select flashback_on from v$database;

  FLASHBACK_ON

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

  YES

  SQL> conn zwc

  Enter password:

  Connected.

  SQL> create table t_zhongwc as select * from dba_objects;

  Table created.

  SQL> select count(*) from t_zhongwc;

  COUNT(*)

  ----------

  75289

  SQL>

  记录当前的scn(oracle11gR2可以在open状态flashback on)

  SQL> select current_scn from v$database;

  CURRENT_SCN

  -----------

  1395475

  截断t_zhongwc表

  SQL> truncate table t_zhongwc;

  Table truncated.

  SQL> select count(*) from t_zhongwc;

  COUNT(*)

  ----------

  0

  开始执行闪回,关闭所有实例,启动zhongwc1到mount,闪回到scn 1395475,以只读模式打开验证

  [oracle@zhongwc1 ~]$ srvctl stop database -d zhongwc

  [oracle@zhongwc1 ~]$ su - grid -c "crsctl stat res -t"

  Password:

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

  NAME TARGET STATE SERVER STATE_DETAILS

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

  Local Resources

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

  ora.CRS.dg

  ONLINE ONLINE zhongwc1

  ONLINE ONLINE zhongwc2

  ora.DATADG.dg

  ONLINE ONLINE zhongwc1

  ONLINE ONLINE zhongwc2

  ora.FRADG.dg

  ONLINE ONLINE zhongwc1

  ONLINE ONLINE zhongwc2

  ora.LISTENER.lsnr

  ONLINE ONLINE zhongwc1

  ONLINE ONLINE zhongwc2

  ora.asm

  ONLINE ONLINE zhongwc1 Started

  ONLINE ONLINE zhongwc2 Started

  ora.gsd

  OFFLINE OFFLINE zhongwc1

  OFFLINE OFFLINE zhongwc2

  ora.net1.network

  ONLINE ONLINE zhongwc1

  ONLINE ONLINE zhongwc2

  ora.ons

  ONLINE ONLINE zhongwc1

  ONLINE ONLINE zhongwc2

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

  Cluster Resources

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

  ora.LISTENER_SCAN1.lsnr

  1 ONLINE ONLINE zhongwc1

  ora.cvu

  1 ONLINE ONLINE zhongwc1

  ora.oc4j

  1 ONLINE ONLINE zhongwc1

  ora.scan1.vip

  1 ONLINE ONLINE zhongwc1

  ora.zhongwc.db

  1 OFFLINE OFFLINE Instance Shutdown

  2 OFFLINE OFFLINE Instance Shutdown

  ora.zhongwc1.vip

  1 ONLINE ONLINE zhongwc1

  ora.zhongwc2.vip

  1 ONLINE ONLINE zhongwc2

  [oracle@zhongwc1 ~]$

  [oracle@zhongwc1 ~]$ sqlplus / as sysdba

  SQL*Plus: Release 11.2.0.3.0 Production on Wed Jan 23 17:22:40 2013

  Copyright (c) 1982, 2011, Oracle. All rights reserved.

  Connected to an idle instance.

  SQL> startup mount

  ORACLE instance started.

  Total System Global Area 1269366784 bytes

  Fixed Size 2227984 bytes

  Variable Size 889192688 bytes

  Database Buffers 369098752 bytes

  Redo Buffers 8847360 bytes

  Database mounted.

  SQL> flashback database to scn 1395475;

  Flashback complete.

  SQL> alter database open read only;

  Database altered.

  SQL> conn zwc

  Enter password:

  Connected.

  SQL> select count(*) from t_zhongwc;

  COUNT(*)

  ----------

  75289

  resetlogs打开数据库,启动zhongwc2

  SQL> shutdown immediate

  ORA-01031: insufficient privileges

  SQL> conn / as sysdba

  Connected.

  SQL> shutdown immediate

  Database closed.

  Database dismounted.

  ORACLE instance shut down.

  SQL> startup mount

  ORACLE instance started.

  Total System Global Area 1269366784 bytes

  Fixed Size 2227984 bytes

  Variable Size 889192688 bytes

  Database Buffers 369098752 bytes

  Redo Buffers 8847360 bytes

  Database mounted.

  SQL> alter database open resetlogs;

  Database altered.

  SQL> !srvctl start instance -d zhongwc -i zhongwc2

  SQL> col host_name format a20

  SQL> set lines 300

  SQL> select INSTANCE_NAME,HOST_NAME,VERSION,STARTUP_TIME,STATUS,ACTIVE_STATE,INSTANCE_ROLE,DATABASE_STATUS from gv$INSTANCE;

  INSTANCE_NAME HOST_NAME VERSION STARTUP_TIME STATUS ACTIVE_ST INSTANCE_ROLE DATABASE_STATUS

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

  zhongwc1 zhongwc1.oracle.com 11.2.0.3.0 23-JAN-2013 17:30:37 OPEN NORMAL PRIMARY_INSTANCE ACTIVE

  zhongwc2 zhongwc2.oracle.com 11.2.0.3.0 23-JAN-2013 17:34:30 OPEN NORMAL PRIMARY_INSTANCE ACTIVE

  也可以基于时间戳进行闪回数据库

  SQL> select to_char(scn_to_timestamp(1395475),'yyyy-mm-dd hh24:mi:ss') time_stamp from dual;

  TIME_STAMP

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

  2013-01-23 17:14:05

  SQL> flashback database to timestamp to_timestamp('2013-01-23 17:14:05','yyyy-mm-dd hh24:mi:ss');

  flashback database to timestamp to_timestamp('2013-01-23 17:14:05','yyyy-mm-dd hh24:mi:ss')

  *

  ERROR at line 1:

  ORA-38757: Database must be mounted and not open to FLASHBACK.

时间: 2024-07-30 03:23:38

Oracle RAC 执行闪回数据库操作的相关文章

oracle 可以做闪回的操作有哪些

问题描述 请问下ORACLE可以做闪回的操作有哪些? 解决方案 闪回数据库闪回表(一种是删除表,一种是执行了错误的操作)闪回查询

Oracle 9i中的一个闪回查询操作实例

在利用闪回功能前需要确认: 1.用户有对dbms_flashback包有执行权限! 2.进行闪回查询必须设置自动回滚段管理,在init.ora设置参数UNDO_MANAGEMENT=AUTO,参数UNDO_RETENTION=n,决定了能往前闪回的最大时间,值越大就需要越多Undo空间. Oracle 9i中闪回查询操作实例 查看Oracle中Delete和Commit操作的流程分析 例:Oracle 9i的Flashback Query操作. (1)创建闪回查询用户 SQL> create u

巧用闪回数据库来查看历史数据

国庆期间有一个例行维护的任务,需要在大早上7点起来,先根据业务指定的SQL查出指定数据,然后运行一个存储过程来更新数据. 查出来的这部分数据需要作为后期的数据稽核所用,涉及到审计,所以优先级还是比较高的. 因为这样的查询有几个,所以为了统一数据格式,先加了rownum看看数据的基本情况. SQL类似于下面的形式: select cn 账号,present_point 剩余积分点 , last_date 积分最后更新时间 from test.user_present_point_sp  where

Oracle 10g中的闪回查询操作实例

与Oracle 9i相比Oracle 10g的Flashback有了非常大的改进,在Orcle 10g之前,SMON_SCN_TIME由SMON来获取和记录信息的,每5分钟记录一次,从Oracle 10g开始,LGWR首先会在SGA中记录SCN与时间的映射关系(由于LGWR至少每3秒就会被激活一次,所以现在SMON_SCN_TIME能够支持大于3秒的闪回),SMON则定期检查SGA是否内存中的映射大于磁盘上的,如果有就刷新纪录到磁盘, 而且从普通的Flashback Query发展到了多种形式,

【DG】利用闪回数据库(flashback)修复Failover后的DG环境

利用闪回数据库(flashback)修复Failover后的DG环境   1.1  BLOG文档结构图       1.2  前言部分 1.2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① Failover后DG环境的恢复方法(重点) ② DG的基本维护操作 ③ GC客户端软件的安装 ④ 利用GC快速搭建一套DG环境 ⑤ Failover和Switchover的区别 ⑥ 其它维护操作   Tips: ① 本文

闪回数据库不是“万金油”(r11笔记第73天)

    闪回数据库这个特性在很多Oracle DBA眼里就是鸡肋特性,因为谁会因为恢复数据而需要在主库闪回,最后可能丢掉更多的数据,这个观点没错.     但是如果是备库呢,这个特性就顺利成章的满足了绝大多数的恢复需求,无论你是truncate,还是一些drop table的操作都是可以轻而易举的恢复.所以更多的时候我们其实更偏爱于Data Guard基础上的这种数据恢复方式,而原本的逻辑备份exp,expdp,物理备份RMAN就显得有些臃肿了.      拿一个真实的小案例来说明,有一次因为数

闪回数据库(Flashback Database)

Flashback Database闪回数据库 使用闪回数据库可以将数据库快速的闪回到过去某个时间点.在启用闪回数据时,会将修改过的块的前映像作为闪回数据库日志保存在闪回恢复区中,如出现逻辑坏块或用户错误操作需要恢复到过去的时间点,闪回数据库将还原数据库的前映像,然后使用归档日志和redo前滚到期望恢复的时间点,因为无需还原数据库的数据文件,所有此过程速度比较传统的还原恢复通常快很多. 启动闪回数据库时,会将前映像数据保存在"闪回缓冲区"中,然后由恢复写入器(Recovery Writ

SQL 2005 中查询或执行另外的数据库操作的方法

原文:SQL 2005 中查询或执行另外的数据库操作的方法  摘要: 如果,你想在一台数据库服务器上,查询另一个台数据服务器的数据该如何做呢?如果,你想在同一台数据服务器上,在不同的数据库之间查询数据,又该怎么办呢? 1.Synonym 2.openquery 3.Linked Servers      Server Object-->Linked Servers--> serverType 选择 SQL Server, 在 Security 中 选择"Be made using t

oracle 9i使用闪回查询恢复数据库误删问题_oracle

如果用户误删/更新了数据后,作为用户并没有什么直接的方法来进行恢复,他们必须求助DBA来对数据库进行恢复,到了Oracle9i,这一个难堪局面有所改善.Oracle 9i中提供了一项新的技术手段--闪回查询,用户使用闪回查询可以及时取得误操作前的数据,并可以针对错误进行相应的恢复措施,而这一切都无需DBA干预. 因为一时手贱,生产上的数据被我给delete掉了. 用的是delete语句,然后很迅速的还给commit了 下面这两个语句: ALTER TABLE tablename ENABLE r