11G 闪回数据库
admin
2023-06-06 11:21:15
0次

第一种场景 库是用来培训或测试环境的,测试完毕后恢复原来的样子

SYS@ odb>archive log list;

Databaselog mode            No Archive Mode

Automaticarchival             Disabled

Archivedestination           USE_DB_RECOVERY_FILE_DEST

Oldestonline log sequence      220

Currentlog sequence           222

 

SYS@odb>show parameter recover     //闪回区

NAME                                 TYPE        VALUE

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

db_recovery_file_dest                string    /u01/app/oracle/fast_recovery_area

db_recovery_file_dest_size           big integer 4977M

db_unrecoverable_scn_tracking        boolean     TRUE

recovery_parallelism                 integer     0

 

[oracle@wenxi~]$ cd /u01/app/oracle/fast_recovery_area

[oracle@wenxifast_recovery_area]$ ls

Odb

 

 

SYS@odb>show parameter flashback    //闪回数据库

 

NAME                                 TYPE        VALUE

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

db_flashback_retention_target        integer    1440    (分钟:24小时)

 

 

SYS@ odb>select flashback_onfrom v$database;

 

FLASHBACK_ON

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

NO

 

SYS@odb>shutdown immediate;

Databaseclosed.

Databasedismounted.

ORACLEinstance shut down.

SYS@odb>startup mount

ORACLEinstance started.

 

TotalSystem Global Area 1603411968 bytes

FixedSize                  2253664 bytes

VariableSize             905972896 bytes

DatabaseBuffers          687865856 bytes

RedoBuffers                7319552 bytes

Databasemounted.

 

SYS@odb>alter database flashback on;

alterdatabase flashback on

*

ERRORat line 1:

ORA-38706:Cannot turn on FLASHBACK DATABASE logging.

ORA-38707:Media recovery is not enabled.

 

SYS@odb>alter database archivelog;

Databasealtered.

 

SYS@odb>alter database flashback on;

Databasealtered.

 

SYS@odb>alter database open;

Databasealtered.

 

在转到闪回目录查看有新的文件产生

[oracle@wenxifast_recovery_area]$ ls

odb  ODB

[oracle@wenxifast_recovery_area]$ cd ODB/

[oracle@wenxiODB]$ ls

flashback

[oracle@wenxiODB]$ cd flashback/

o1_mf_cwp9ykby_.flb  o1_mf_cwp9ynj5_.flb    //闪回日志

 

1、  在一起测试环境使用

(1)、建立还原点

SYS@odb>create restore point hyd2016 guarantee flashback database;

Restorepoint created.

 

(2)、查看表中数据的情况

SYS@odb>SELECT NAME,SCN,TIME,DATABASE_INCARNATION#

DI,GUARANTEE_FLASHBACK_DATABASE,STORAGE_SIZE/1024/1024/1024  FROM V$RESTORE_POINT WHEREGUARANTEE_FLASHBACK_DATABASE='YES';

NAME              SCN TIME                         DI GUASTORAGE_SIZE/1024/1024/1024

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

HYD2016       5539977 04-SEP-16 03.52.53.0          1 YES                  .048828125

                      00000000 AM

(3)、进行数据库操作

 

TEST_FB@odb>create table t001 as select * from shanhui;

TEST_FB@odb>create table t002 as select * from shanhui;

TEST_FB@odb>delete from test;

10rows deleted.

TEST_FB@odb>commit;

Commitcomplete.

TEST_FB@odb>select * from test;

norows selected

 

(4)、闪回数据库,关闭数据库启动到mount状态下进行闪回

 

SYS@odb>shutdown immediate;

Databaseclosed.

Databasedismounted.

ORACLEinstance shut down.

 

SYS@odb>startup mount

ORACLEinstance started.

 

TotalSystem Global Area 1603411968 bytes

FixedSize                  2253664 bytes

VariableSize             905972896 bytes

DatabaseBuffers          687865856 bytes

RedoBuffers                7319552 bytes

Databasemounted.

 

SYS@ odb>flashback database torestore point hyd2016;

Flashbackcomplete.

 

(5)、只读方式打开,登录test_fb账号,检查数据是否符合要求

 

SYS@ odb>alter database open readonly;

Databasealtered.

 

TEST_FB@ odb>conn test_fb/test_fb

Connected.

TEST_FB@ odb>select * from cat;

 

TABLE_NAME                     TABLE_TYPE

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

SHANHUI                        TABLE

TEST                           TABLE

2 rowsselected.

(6)、检查数据后重新打开数据库

 

SYS@odb>shutdown immediate

Databaseclosed.

Databasedismounted.

ORACLEinstance shut down.

 

SYS@odb>startup mount

ORACLEinstance started.

TotalSystem Global Area 1603411968 bytes

FixedSize                  2253664 bytes

VariableSize             905972896 bytes

DatabaseBuffers          687865856 bytes

RedoBuffers                7319552 bytes

Databasemounted.

SYS@odb>alter database open;

alterdatabase open

*

ERRORat line 1:

ORA-01589:must use RESETLOGS or NORESETLOGS option for database open

 

 

SYS@ odb>alter database open resetlogs;

Databasealtered

 

第二种场景,数据文件实验切换,原来的数据文件有数据,为了测试新的数据删除表中的数据

(1)、模拟数据

TEST_FB@odb>select * from cat;

 

TABLE_NAME                     TABLE_TYPE

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

SHANHUI                        TABLE

TEST                           TABLE

 

TEST_FB@odb>select count(*) from test;

 

  COUNT(*)

----------

   1310720

 

 

(2)、记录时间戳

TEST_FB@odb>select to_char(systimestamp,'yyyy-mm-dd hh34:mi:ss') from dual;

TO_CHAR(SYSTIMESTAM

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

2016-09-0405:09:55

查看大小

TEST_FB@odb>select segment_name,bytes from user_segments where segment_name='TEST';

SEGMENT_NAME              BYTES

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

TEST                  142606336

 

(3)、truncate test表

 

TEST_FB@odb>truncate table test;

TEST_FB@odb>select * from test;

no rows selected

闪回日志

[oracle@wenxi flashback]$ls -l

total 102432

-rw-r-----. 1oracle oinstall 52445184 Sep  4 04:41o1_mf_cwp9ykby_.flb

-rw-r-----. 1oracle oinstall 52445184 Sep  4 03:43o1_mf_cwp9ynj5_.flb

 

(4)、加入一条数据,进行测试,

TEST_FB@ odb>insert into test select * fromall_objects where rownum<2;

TEST_FB@ odb>commit;

TEST_FB@ odb>select count(*) from test;

  COUNT(*)

----------

         1

 

(5)、测试完毕后可以闪回到之前表的状态

 

SYS@ odb>shutdown immediate;

Database closed.

Databasedismounted.

ORACLE instanceshut down.

SYS@ odb>startup mount;

ORACLE instancestarted.

 

Total SystemGlobal Area 1603411968 bytes

Fixed Size                  2253664 bytes

Variable Size             905972896 bytes

DatabaseBuffers          687865856 bytes

Redo Buffers                7319552 bytes

Database mounted.

 

SYS@odb>Flashback database to timestamp to_timestamp('2016-09-0405:09:55','yyyy- mm-dd hh34:mi:ss');

Flashbackcomplete.

 

SYS@ odb>alter database open read only;

Database altered.

 

(6)、登录test_fb账号进行检查,和原来的数据一样

TEST_FB@odb>conn test_fb/test_fb

Connected.

TEST_FB@odb>select * from cat;

TABLE_NAME                     TABLE_TYPE

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

SHANHUI                        TABLE

TEST                           TABLE

 

2 rows selected.

TEST_FB@odb>select count(*) from test;

  COUNT(*)

----------

   1310720

 

(7)、正式打开数据库

 

SYS@ odb>shutdown immediate;

Database closed.

Databasedismounted.

ORACLE instanceshut down.

SYS@ odb>startup mount;

ORACLE instancestarted.

 

Total SystemGlobal Area 1603411968 bytes

Fixed Size                  2253664 bytes

Variable Size             905972896 bytes

DatabaseBuffers          687865856 bytes

Redo Buffers                7319552 bytes

Database mounted.

SYS@ odb>alter database open resetlogs;

Database altered.


相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...