使用闪回版本查询报ORA-08186 数据库装的是11GR2。运行闪回版本查询select billno, versions_XID from billcelldtl12 versions between scn minvalue and maxvalue order by versions_xid; 报ORA-08186 同样的语句在测试库就不会有问题。求解 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 -- 打开相应表的行迁移允许应该就可以了:alter table billcelldtl12 enable row movement; 不行的。查询flashback_transaction_query 里面的commit_timestamp里的时间 然后通过这个时间戳 用between timestamp就可以。为什么 ?我查询出里面的时间好像总是慢了一天 。是不是有些没有进入undo tablespace? 看错误提示:[oracle@localhost ~]$ oerr ora 0818608186, 00000, "invalid timestamp specified"// *Cause: as stated above// *Action: enter a valid timestampscn和timestamp不是一一对应的。SMON_SCN_TIME是SCN和timestamp的映射表,也是flashback 时间的限制。例如,SCN:339988,339989分别匹配2009-05-30 13:52:00和2009-05-30 13:57:00,则当你通过as of timestamp查询2009-05-30 13:52:00或者2009:05-30 13:56:59这段时间点内的任何时间,oracle都会将其匹配为SCN:339988到undo表空间中查找,也就是说在这个时间内,不管你指定的时间点是什么,查询返回的都将是2009-05-30 13:52:00这个时刻对应的SCN的数据。16:31:22 hr@ORCL (^ω^) select scn,to_char(time_dp,'yyyy/mm/dd hh24:mi:ss') from sys.smon_scn_time; SCN TO_CHAR(TIME_DP,'YYYY/MM/DDHH24:MI:SS' ---------- -------------------------------------- 3361371 2012/09/03 18:23:53 3361948 2012/09/03 18:33:52 3362176 2012/09/03 18:38:53 3362674 2012/09/03 18:48:52 3363615 2012/09/03 19:03:52 3363792 2012/09/03 19:08:53 3364474 2012/09/03 19:18:43 3364715 2012/09/03 19:23:47 3365034 2012/09/03 19:28:48 3365400 2012/09/03 19:38:45 把commit_timestamp用timestamp_to_scn转换为scn试试 数据库最大连接问题 为什么我的trigger这样写不起作用啊 如何去除重复的查询结果 关于oracle10g监听的问题 几个Orcale的存储过程,怎样才能改写为MSSQL的,分不够再开贴 在ms sql server中的select语句在oracle中如何表示? 如何在存储过程中返回cursor? 大家帮忙看一下,下面的语句问题出在那里???? 我是个初学者,请各位高手帮助以下,我进入SQL*Plus时连接数据库怎么一直是连接失败? 请问有没有用过Jdeveloper的 oracle并发 锁机制是怎么做的呢 查询某表空间下某表中包含某个字段的表名
alter table billcelldtl12 enable row movement;
看错误提示:[oracle@localhost ~]$ oerr ora 08186
08186, 00000, "invalid timestamp specified"
// *Cause: as stated above
// *Action: enter a valid timestamp
scn和timestamp不是一一对应的。SMON_SCN_TIME是SCN和timestamp的映射表,也是flashback 时间的限制。例如,SCN:339988,339989分别匹配2009-05-30 13:52:00和2009-05-30 13:57:00,则当你通过as of timestamp查询2009-05-30 13:52:00或者2009:05-30 13:56:59这段时间点内的任何时间,oracle都会将其匹配为SCN:339988到undo表空间中查找,也就是说在这个时间内,不管你指定的时间点是什么,查询返回的都将是2009-05-30 13:52:00这个时刻对应的SCN的数据。
16:31:22 hr@ORCL (^ω^) select scn,to_char(time_dp,'yyyy/mm/dd hh24:mi:ss') from sys.smon_scn_time;
SCN TO_CHAR(TIME_DP,'YYYY/MM/DDHH24:MI:SS'
---------- --------------------------------------
3361371 2012/09/03 18:23:53
3361948 2012/09/03 18:33:52
3362176 2012/09/03 18:38:53
3362674 2012/09/03 18:48:52
3363615 2012/09/03 19:03:52
3363792 2012/09/03 19:08:53
3364474 2012/09/03 19:18:43
3364715 2012/09/03 19:23:47
3365034 2012/09/03 19:28:48
3365400 2012/09/03 19:38:45
把commit_timestamp用timestamp_to_scn转换为scn试试