Oracle 11g回收站recyclebin的使用详解

数据库 Oracle
本文我们主要介绍了Oracle 11g回收站(recyclebin)的使用方法,以及Oracle启动闪回数据库的详细步骤,希望能够对您有所收获!

Oracle 11g回收站(recyclebin)的使用是本文我们主要要介绍的内容,我们知道,Flashback是以undo segment中的内容为基础的,因此受限于undo_retenton参数,要使用flashback的特征,必须启动自动撤销表空间。

在Oracle 11g中,出现了一个新的特征,oracle flashback data archive(FDA),通过将变化的数据另外存储到创建的一个闪回归档去(flashback archive),以和undo区别开,这样可以单独设置存储策略,使其可以山回到指定时间之前的旧数据而不影响undo策略。 在Oracle 11g中,recyclebin参数发生了微小的变化.

This supported parameter was introduced in Oracle 10.2.0

Version

Parameter Name

Data Type

Session Modifiable

System Modifiable

10.2.0

recyclebin

String

TRUE

IMMEDIATE

11.1.0

recyclebin

String

TRUE

DEFERRED

从文档上我们可以看到这个变化说明,到了11g中,这个参数在session依然可以立即修改并影响当前的session,但如果是在系统一级修改的话,那么就要加deferred参数,对当前已经连接的sesion没有影响,但新连接的session将受到影响。

Flashback不支持sys用户,system表空间下面的对象,也不能从回收站里拿到。故使用sys或是system用户登录时,show recyclebin为空。

启动闪回数据库的步骤:

1.开启归档模式:alter database archivelog;

2.配置闪回区:alter system set db_recovery_file_dest=’/../’

3.配置闪回保留时间,默认是1440minutes:alter system set db_flashback_retention_target=’2880’;

4.启动闪回数据库:

shutdown immediate;startup mount

Alter database flashback on/off;

5.执行闪回操作:

shutdown immediate;startup mount;

Flashback database to timestamp to_date(‘2001-02-03’,’yyyy-mm-dd hh24:mi:ss’);

或是:flashback database to scn 2323534;

Alter database open ready only;检查闪回时刻是否是所需的数据,如果不是,可以继续修改。

检查完毕之后:shutdown immediate;startup mount; alter database open resetlogs;resetlogs是将control file中的scn#与数据文件中的scn#同步,消除时间间隔。

V$flashback_database_log视图,可以查看闪回日志所占的空间,最早能闪回到的scn,最早能闪回到的时间点。

7.查看回收站:show recyclebin; 或是select * from sys.recyclebin$查 所有的回收站。

8.恢复被删除的表:flashback table t_name to before drop;如果闪回的表名与当前的表名相同,需要重命名才可以闪回。

Flashback table t_name to before drop rename to t_new;

9.闪回指定的表

查看表结构:desc “BIN$qrjyuHuVotHgQAB/AQAQ3w==$0”;

查看表的记录:select count(*) from “BIN$qrjyuHuVotHgQAB/AQAQ3w==$0”;

安装表名称恢复:flashback table “BIN$qrjyuHuVotHgQAB/AQAQ3w==$0” to before drop;

越过回收站直接删除:drop table t purge;drop user cascade; drop tablespace users including contents;

清空回收站:purge index idx_1; purge user_recyclebin; purge dba_recyclebin;

当设置db_recovery_file_dest为空的时候,也可以取消闪回区,如果已经启用flashback database;则这个方法不能取消。

查看当前的scn:select current_scn from v$database;

查看哪些对象可以利用闪回恢复区来存放:

  1. SQL> select file_type from v$flash_recovery_area_usage;  
  2. FILE_TYPE  
  3. --------------------  
  4. CONTROL FILE  
  5. REDO LOG  
  6. ARCHIVED LOG  
  7. BACKUP PIECE  
  8. IMAGE COPY  
  9. FLASHBACK LOG  
  10. FOREIGN ARCHIVED LOG  
  11. 7 rows selected. 

查看闪回恢复区空间的使用情况:

  1. SQL> select * from v$flash_recovery_area_usage;  
  2. FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE  
  3. -------------------- ------------------ -------------------------  
  4. NUMBER_OF_FILES  
  5. ---------------  
  6. CONTROL FILE 0 0  
  7. 0  
  8. REDO LOG 0 0  
  9. 0  
  10. ARCHIVED LOG 0 0  
  11. 0  
  12. FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE  
  13. -------------------- ------------------ -------------------------  
  14. NUMBER_OF_FILES  
  15. ---------------  
  16. BACKUP PIECE 0 0  
  17. 0  
  18. IMAGE COPY 0 0  
  19. 0  
  20. FLASHBACK LOG 0 0  
  21. 0  
  22. FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE  
  23. -------------------- ------------------ -------------------------  
  24. NUMBER_OF_FILES  
  25. ---------------  
  26. FOREIGN ARCHIVED LOG 0 0  
  27. 0  
  28. 7 rows selected. 

计算flash recovery area已经占用的空间:

  1. SQL> select sum(percent_space_used)*3/100 from v$flash_recovery_area_usage;  
  2. SUM(PERCENT_SPACE_USED)*3/100  
  3. -----------------------------  

如果flash recovery area空间不足导致db不能打开或是hang住的处理方法:Alter system set db_recovery_file_dest_size=3G scope=spfiel;

关于Oracle 11g回收站(recyclebin)的使用方法就介绍这里了,希望本次的介绍能够对您有所收获!

【编辑推荐】

  1. Oracle数据库中创建自增字段的代码示例
  2. SQL Server Collation的问题解决及特点分析
  3. 将.sql文件导入powerdesigner的实现方法详解
  4. 手动卸载SQL Server 2005数据库及实例的详细步骤
  5. 以SQL Server 2005为后台的ASP网站访问慢的解决方案

 

责任编辑:赵鹏 来源: CSDN博客
相关推荐

2017-09-28 09:48:14

Windows 10Windows回收站

2009-02-20 10:54:53

Vista回收站删除恢复

2009-11-20 12:55:08

Oracle 11g功

2009-09-15 09:52:25

Oracle 11g分

2012-05-07 13:45:45

Oraclen 11g虚拟列数据库

2010-04-01 15:19:56

Oracle 11g压

2009-05-21 10:20:54

Oracle 11g数据卫士备用数据库

2011-07-19 10:25:16

Active Dire回收站

2011-07-19 10:09:07

Active Dire回收站

2011-07-19 10:26:49

Active Dire回收站

2009-02-18 13:21:04

2011-08-22 14:37:33

2011-07-25 13:34:08

ORACLEFLASHBACK T

2011-04-15 09:11:21

2010-04-13 15:56:03

Oracle 11g

2011-07-19 14:08:09

Oracle 11g 数据库

2011-08-22 13:46:30

Oracle 11gXML Table

2010-04-26 11:26:48

Oracle 11g

2009-09-01 16:58:18

C#清空回收站

2021-09-10 19:20:44

微软Windows 11Windows
点赞
收藏

51CTO技术栈公众号