前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >DM8单点_闪回查询报错flashback version has been out of date

DM8单点_闪回查询报错flashback version has been out of date

原创
作者头像
用户10843414
发布2023-11-23 22:36:09
1590
发布2023-11-23 22:36:09
举报
文章被收录于专栏:国产数据库

问题描述

误操作后,闪回查询到某一时间点提示:"[-9801]:flashback version has been out of date."

代码语言:javascript
复制
SQL> SELECT * FROM PERSON_TYPE WHEN TIMESTAMP '2023-11-23 18:51:41';
SELECT * FROM PERSON_TYPE WHEN TIMESTAMP '2023-11-23 18:51:41';
[-9801]:flashback version has been out of date.
used time: 0.548(ms). Execute id is 0.

问题排查

过了UNDO_RETENTION时间

代码语言:javascript
复制
--查询UNDO_RETENTION参数
select name,type,value from v$parameter where name = 'UNDO_RETENTION';

LINEID     name           TYPE VALUE    
---------- -------------- ---- ---------
1          UNDO_RETENTION SYS  90.000000

有博主写的默认900秒,15分钟,但是官方文档写的是90秒。如果显示的是90说明没有更改参数过了UNDO_RETENTION则无法进行闪回查询。不重启也验证了可以闪回查询。

解决办法

代码语言:javascript
复制
--更改UNDO_RETENTION参数
alter system set 'UNDO_RETENTION'=3600 both;
select name,type,value from v$parameter where name = 'UNDO_RETENTION';

--重启生效(可选)
[dmdba@localhost ~]$ /dmdb8/dmdbms/bin/DmServicefuwa stop
Stopping DmServicefuwa:                                    [ OK ]
[dmdba@localhost ~]$ /dmdb8/dmdbms/bin/DmServicefuwa start
Starting DmServicefuwa: 

附:开启闪回功能

代码语言:javascript
复制
--开启闪回功能
select name,type,value from v$parameter where name='ENABLE_FLASHBACK';
或
select para_value from v$dm_ini where para_name='ENABLE_FLASHBACK';  # 0未开启 1开启

alter system set 'ENABLE_FLASHBACK'=1 both; 
或
sf_set_system_para_value('ENABLE_FLASHBACK',1,0,1);
或
或者修改参数文件dm.ini中ENABLE_FLASHBACK值为1

--重启永久生效
[dmdba@localhost ~]$ /dmdb8/dmdbms/bin/DmServicefuwa stop
Stopping DmServicefuwa:                                    [ OK ]
[dmdba@localhost ~]$ /dmdb8/dmdbms/bin/DmServicefuwa start
Starting DmServicefuwa: 
                                                           [ OK ]

--修改UNDO_RETENTION
SQL> select name,type,value from v$parameter where name = 'UNDO_RETENTION';

LINEID     NAME           TYPE VALUE    
---------- -------------- ---- ---------
1          UNDO_RETENTION SYS  90.000000  
SQL> alter system set 'UNDO_RETENTION'=3600 both;

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

LINEID     NAME           TYPE VALUE      
---------- -------------- ---- -----------
1          UNDO_RETENTION SYS  3600.000000

注意

更改ENABLE_FLASHBACK和ENABLE_FLASHBACK参数后重启与否不影响闪回查询。

代码语言:javascript
复制
--更改参数后未重启查看参数文件dm.ini
发现ENABLE_FLASHBACK=0
    UNDO_RETENTION=90

--重启查看参数文件dm.ini
发现ENABLE_FLASHBACK=1
    UNDO_RETENTION=3600

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 问题描述
  • 问题排查
  • 解决办法
  • 附:开启闪回功能
  • 注意
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档