Chinaunix首页 | 论坛 | 博客
  • 博客访问: 639435
  • 博文数量: 110
  • 博客积分: 2352
  • 博客等级: 大尉
  • 技术积分: 1253
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-29 14:00
文章分类
文章存档

2018年(1)

2013年(20)

2012年(89)

分类: Oracle

2012-07-11 16:38:37

数据恢复经典文章


(1)show parameter db_recovery;查看oracle闪回恢复目标和恢复区大小
SQL> show parameter db_recovery;
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest                string      /u01/flash_recovery_area
db_recovery_file_dest_size           big integer 2G
(2)show parameter db_flash;查看oracle支持的闪回恢复时长(默认为分钟)
SQL> show parameter db_flash
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_flashback_retention_target        integer     1440
(3)修改oracle支持闪回恢复的时长
SQL> alter system set db_flashback_retention_target=1800 scope=both;
System altered

(4)启用flashback功能
SQL> startup mount
SQL> alter database flashback on;
Database altered.


(5)停止flashback功能
SQL> startup mount
SQL> alter database flashback off;
Database altered.

(6)所有有恢复相关的文件都可以放在闪回区
SQL> select file_type from v$flash_recovery_area_usage;
FILE_TYPE
------------
CONTROLFILE
ONLINELOG
ARCHIVELOG
BACKUPPIECE
IMAGECOPY
FLASHBACKLOG
6 rows selected.

(7)恢复数据表实例一则
SQL> delete from t1;
63 rows deleted.
获取当前的SCN:
SQL> select dbms_flashback.get_system_change_number from dual;
GET_SYSTEM_CHANGE_NUMBER
------------------------
                  473229
select count(*) from t1 as of scn 473221;(通过不断尝试丢失数据的scn号,最后发现是在473221这个scn号中丢失的)
insert into t1 select * from t1 as of scn 473221;

(8)查看已经使用的flash空间
SQL> select sum(percent_space_used)*3/100 from v$flash_recovery_area_usage;
SUM(PERCENT_SPACE_USED)*3/100
-----------------------------
                        .0114

(9)显示回收站中被drop的表(recyclebin相当于windows中的回收站)。

show parameter recyclebin;

如果想不在回收站中留下被删除的表,则直接执行如下语句即可。

drop table emp3 purge;


阅读(2225) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~