欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle RAC 执行闪回数据库操作

程序员文章站 2022-05-20 11:20:25
...

[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 - 6

  [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.