温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

JOE_达梦DM_闪回查询实践

发布时间:2020-08-11 11:36:03 来源:ITPUB博客 阅读:272 作者:1209082587 栏目:数据库

达梦数据库中与闪回技术相关的参数

     1 ENABLE_FLASHBACK   

          开启闪回功能,需要在达梦数据库的配置文件 dm.ini 中打开上述参数。

     2. UNDO_RETENTION

          回滚段保留的时间,回滚段保留的时间代表着可以进行闪回的时间长度,以秒为单位。

SQL> select para_name,para_value from v$dm_ini where para_name like '%FLASH%';

行号      PARA_NAME        PARA_VALUE

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

1          ENABLE_FLASHBACK 0

SQL> select para_name,para_value from v$dm_ini where para_name like '%UNDO_RE%';

行号      PARA_NAME      PARA_VALUE

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

1          UNDO_RETENTION 90.000000

SQL> alter system set 'ENABLE_FLASHBACK'=1 both;

SQL> select name,type,value from v$parameter where name='ENABLE_FLASHBACK';

行号      NAME             TYPE VALUE

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

1          ENABLE_FLASHBACK SYS  1

SQL> select user();

行号      USER()

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

1          LJW

SQL> create table fb (test varchar2(20));

SQL> insert into fb values('flashback');

SQL> select sysdate();

 

行号      SYSDATE()                  

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

1          2020-02-27 10:14:36

SQL>commit;

SQL> select * from fb;

行号      TEST    

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

1          flashback

SQL> select sysdate();

行号      SYSDATE()                  

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

1          2020-02-27 10:15:24

SQL> select sysdate();

行号      SYSDATE()                  

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

1          2020-02-27 10:16:11

SQL> delete from fb;

SQL> select sysdate();

行号      SYSDATE()                  

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

1          2020-02-27 10:16:25

SQL> commit;

SQL> select * from fb when timestamp '2020-02-27 10:15:24';

行号      TEST    

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

1          flashback

SQL> select * from fb;

未选定行

SQL> select * from fb when timestamp '2020-02-27 10:15';

行号      TEST    

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

1          flashback

1 、闪回查询子句查询

语法格式

< 闪回查询子句 >::=WHEN <TIMESTAMP time_exp> | <TRXID trxid> 

参数

1 . time_exp  一个日期表达式,一般用字符串方式表示 

2 . trxid  指定事务 ID 号 

JOE_达梦DM_闪回查询实践

使用说明

1 . 闪回查询只支持普通表(包括加密表与压缩表)、临时表和堆表,不支持水平分区 表、垂直分区表、列存储表、外部表与视图; 

2 . 闪回查询中  trxid  的值,一般需要由闪回版本查询(见下节)的伪列来确定。实 际使用中多采用指定时刻的方式。 

2 闪回版本查询 

语法格式

参数

< 闪回版本查询子句 >::=VERSIONS BETWEEN <TIMESTAMP time_exp1 AND time_exp2> | <TRXID trxid1 AND trxid2> 

1 . time_exp  日期表达式,一般用字符串方式表示。 time_exp1  表示起始时间,  time_exp2  表示结束时间 

2. trxid  指定事务 ID 号,整数表示。 trxid1 表示起始 trxid trxid2 表 示结束  trxid 

使用说明

1 . 闪回版本查询支持普通表(包括加密表与压缩表)、临时表和堆表,不支持水平分 区表、垂直分区表、列存储表、外部表与视图; 

2 . 支持如表  17.2.1  所示伪列,作为闪回版本查询的辅助信息。 

JOE_达梦DM_闪回查询实践

语句功能

用户通过闪回版本查询子句,可以得到指定表过去某个时间段内,事务导致记录变化的全部记录。指定条件可以为时刻,或事务号。

闪回事务查询 

闪回事务查询提供系统视图  V$FLASHBACK_TRX_INFO  供用户查看在事务级对数据库 所做的更改。根据视图信息,可以确定如何还原指定事务或指定时间段内的修改。 

使用说明

系统视图名为  V$FLASHBACK_TRX_INFO ,定义如表  17.3.1  所示。 

JOE_达梦DM_闪回查询实践

举例说明

例  查询指定时间之后的事务信息,可为闪回查询操作提供参考。 

SELECT * FROM V$FLASHBACK_TRX_INFO WHERE COMMIT_TIMESTAMP > ' 2020 -0 2 -0 2  12:00:00'; 

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI