oracle 异常错误 ORA-01555 caused by SQL statement below
os: ubuntu 16.04
db: oracle 19c
开发人员反馈说应用报 ORA-01555 错误
查看 alert 日志
2019-06-11T17:04:24.995522+08:00
PAYPDB1(3):ORA-01555 caused by SQL statement below (SQL ID: 56pwkjspvmg3h, Query Duration=2005 sec, SCN:
PAYPDB1(3):0x0000000000c5ed9e
PAYPDB1(3):):
2019-06-11T17:04:24.995829+08:00
PAYPDB1(3):WITH STAGE1 AS (SELECT /*+ materialize CARDINALITY(12) */ (ROWNUM*(1/288)) OFFSET FROM DUAL CONNECT BY ROWNUM <= 12 ), STAGE2 AS (SELECT /*+ materialize CARDINALITY(12) */ LAG(OFFSET, 1, 0) OVER (ORDER BY ROWNUM) OSTART, OFFSET OEND FROM STAGE1 ), STAGE3 AS (SELECT /*+ materialize CARDINALITY(12) */ (SYSTIMESTAMP - OSTART) DATE1, (SYSTIMESTAMP - OEND) DATE2 FROM STAGE2 ) SELECT WAREHOUSE_ID, DATE1, DATE2, SUM(ORDERS.ORDER_TOTAL) "Value of Orders", COUNT(1) "Number of Orders" FROM STAGE3, ORDERS WHERE ORDER_DATE BETWEEN DATE2 AND DATE1 AND WAREHOUSE_ID = :B1 GROUP BY WAREHOUSE_ID, DATE1, DATE2 ORDER BY DATE1, DATE2 DESC
2019-06-11T17:04:24.999074+08:00
PAYPDB1(3):ORA-01555 caused by SQL statement below (SQL ID: 56pwkjspvmg3h, Query Duration=2152 sec, SCN:
2019-06-11T17:04:24.999202+08:00
PAYPDB1(3):0x0000000000bd3892
PAYPDB1(3):):
2019-06-11T17:04:24.999303+08:00
PAYPDB1(3):ORA-01555 caused by SQL statement below (SQL ID: 56pwkjspvmg3h, Query Duration=2146 sec, SCN:
2019-06-11T17:04:24.999406+08:00
PAYPDB1(3):WITH STAGE1 AS (SELECT /*+ materialize CARDINALITY(12) */ (ROWNUM*(1/288)) OFFSET FROM DUAL CONNECT BY ROWNUM <= 12 ), STAGE2 AS (SELECT /*+ materialize CARDINALITY(12) */ LAG(OFFSET, 1, 0) OVER (ORDER BY ROWNUM) OSTART, OFFSET OEND FROM STAGE1 ), STAGE3 AS (SELECT /*+ materialize CARDINALITY(12) */ (SYSTIMESTAMP - OSTART) DATE1, (SYSTIMESTAMP - OEND) DATE2 FROM STAGE2 ) SELECT WAREHOUSE_ID, DATE1, DATE2, SUM(ORDERS.ORDER_TOTAL) "Value of Orders", COUNT(1) "Number of Orders" FROM STAGE3, ORDERS WHERE ORDER_DATE BETWEEN DATE2 AND DATE1 AND WAREHOUSE_ID = :B1 GROUP BY WAREHOUSE_ID, DATE1, DATE2 ORDER BY DATE1, DATE2 DESC
2019-06-11T17:04:24.999419+08:00
PAYPDB1(3):0x0000000000bdd986
PAYPDB1(3):):
2019-06-11T17:04:24.999603+08:00
PAYPDB1(3):WITH STAGE1 AS (SELECT /*+ materialize CARDINALITY(12) */ (ROWNUM*(1/288)) OFFSET FROM DUAL CONNECT BY ROWNUM <= 12 ), STAGE2 AS (SELECT /*+ materialize CARDINALITY(12) */ LAG(OFFSET, 1, 0) OVER (ORDER BY ROWNUM) OSTART, OFFSET OEND FROM STAGE1 ), STAGE3 AS (SELECT /*+ materialize CARDINALITY(12) */ (SYSTIMESTAMP - OSTART) DATE1, (SYSTIMESTAMP - OEND) DATE2 FROM STAGE2 ) SELECT WAREHOUSE_ID, DATE1, DATE2, SUM(ORDERS.ORDER_TOTAL) "Value of Orders", COUNT(1) "Number of Orders" FROM STAGE3, ORDERS WHERE ORDER_DATE BETWEEN DATE2 AND DATE1 AND WAREHOUSE_ID = :B1 GROUP BY WAREHOUSE_ID, DATE1, DATE2 ORDER BY DATE1, DATE2 DESC
2019-06-11T17:04:25.003639+08:00
PAYPDB1(3):ORA-01555 caused by SQL statement below (SQL ID: gkxxkghxubh1a, Query Duration=2146 sec, SCN:
PAYPDB1(3):0x0000000000bdd8e6
PAYPDB1(3):):
2019-06-11T17:04:25.003976+08:00
PAYPDB1(3):SELECT ORDER_MODE, ORDERS.WAREHOUSE_ID, SUM(ORDER_TOTAL), COUNT(1) FROM ORDERS, WAREHOUSES WHERE ORDERS.WAREHOUSE_ID = WAREHOUSES.WAREHOUSE_ID AND WAREHOUSES.WAREHOUSE_ID = :B1 GROUP BY CUBE(ORDERS.ORDER_MODE, ORDERS.WAREHOUSE_ID)
看 sql 应该是压测工具的.
但是后面在手动执行一个SQL时依然报错
SQL> select /*+ parallel(t0 10) */ count(1) from ORDER t0;
select count(1) from ORDER t0*
ERROR at line 1:
ORA-01555: snapshot too old: rollback segment number 28 with name
"_SYSSMU28_2708325889$" too small
alert 日志如下
2019-07-08T23:11:23.187844+08:00
PAYPDB1(3):ORA-01555 caused by SQL statement below (SQL ID: 0kfm0fw4gyjjb, Query Duration=1785 sec, SCN:
PAYPDB1(3):0x000000000864ef87
PAYPDB1(3):):
2019-07-08T23:11:23.188112+08:00
PAYPDB1(3):select /*+ parallel(t0 10) */ count(1) from ORDER t0
2019-07-08T23:12:14.230908+08:00
导致ORA-01555的原因其实就是:快照在该查询执行过程中被修改了(清除或者覆盖)
就从几个方面调整:
1.优化sql,缩短执行时间
2.调整 undo_retention,并设置 retention guarantee;
SQL> alter system set undo_retention=3600;
SQL> alter tablespace undotbs1 retention guarantee;
3.undo 表空间添加数据文件.
参考<<oracle 创建 undo tablespace>>
参考:
<< UNDO_RETENTION >>
https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/UNDO_RETENTION.html#GUID-D238E854-A2C5-463E-A146-31F61300124E
<< Managing Undo >>
https://docs.oracle.com/en/database/oracle/oracle-database/19/admin/managing-undo.html#GUID-4454BE93-9160-4D92-9F93-EFB2958FC03D
<< CREATE TABLESPACE >>
https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/CREATE-TABLESPACE.html#GUID-51F07BF5-EFAF-4910-9040-C473B86A8BF9
oracle 异常错误 ORA-01555 caused by SQL statement below相关推荐
- ORACLE 异常错误处理
本篇主要内容如下: 5.1 异常处理概念 5.1.1 预定义的异常处理 5.1.2 非预定义的异常处理 5.1.3 用户自定义的异常处理 5.1.4 用户定义的异常处理 5.2 异常错误传播 5.2 ...
- [转]ORACLE 异常错误处理
本文转自:http://www.cnblogs.com/soundcode/archive/2012/01/10/2318385.html 本篇主要内容如下: 5.1 异常处理概念 5.1.1 预定义 ...
- oracle返回0001错误,ORACLE 异常错误处理
本篇主要内容如下: 5.1 异常处理概念 5.1.1 预定义的异常处理 5.1.2 非预定义的异常处理 5.1.3 用户自定义的异常处理 5.1.4 用户定义的异常处理 5.2 异常错误传播 5.2 ...
- 总结:整理 oracle异常错误处理
5.1 异常处理概念 5.1.1 预定义的异常处理 5.1.2 非预定义的异常处理 5.1.3 用户自定义的异常处理 5.1.4 用户定义的异常处理 5.2 异常错误传播 5.2.1 在执行部分引发 ...
- oracle olap 不可用,[数据库]ORACLE OLAP错误ORA
[数据库]ORACLE OLAP错误ORA 0 2015-04-25 00:00:20 刚刚安装了ORACLE 10g R2后,启动数据库时发现告警日志有如下错误: Database Characte ...
- oracle错误01653,oracle 10g 错误 ORA 01653 的解决过程
oracle 10g 错误 ORA 01653 的解决过程 早上用户反应在操作用友NC时报错 ORA-01653 ,详细信息:ORA-01653: 表 NCV35.GL_DETAIL 无法通过 102 ...
- ORA-01555 caused by SQL statement below SQL ID: 9ggx5zvjkgd1t
ALERT日志报错如下: Thu Nov 26 15:34:28 2015 ORA-01555 caused by SQL statement below(SQL ID: 9ggx5zvjkgd1t, ...
- oracle变态错误解决:ORA-00604: 递归 SQL 级别 2 出现错误
Oracle变态错误: 问题描述: 在使用sys用户执行删除infa用户下表时,报如下错误: ORA-00604: 递归 SQL 级别 2 出现错误 ORA-009 ...
- [推荐]ORACLE PL/SQL编程之五:异常错误处理(知已知彼、百战不殆)
原文:[推荐]ORACLE PL/SQL编程之五:异常错误处理(知已知彼.百战不殆) [推荐]ORACLE PL/SQL编程之五: 异常错误处理(知已知彼.百战不殆) 继上三篇:ORACLE PL/S ...
最新文章
- {好文备份}SQL索引一步到位
- One-hot encoding的不足及改进
- 阿里云移动端播放器高级功能---直播时移
- win7 计算机右键没有属性,系统之家windows7旗舰版计算机上右键菜单没有属性怎么办?...
- IDEA配置自定义maven库
- php7.2与php5.6共存,同域名下php5.6与7.2同时运行
- 初识HTML、CSS
- java程序执行的底层原理
- 记Hadoop HA高可用性分布式集群搭建过程
- 自动化测试中的测试执行自动化
- http://me.rice.edu/~akin/
- IDEA配置-无法读取src/java/main下hbm.xml等资源文件
- CocoaPods 简易教程 Alamofire请求数据 Swift
- 美团饿了么外卖返利红包小程序免费源码部署教程
- okr与项目管理区别?
- 一代测序、二代测序以及三代测序的优缺点及应用对比?
- FSAF:Feature Selective Anchor-Free Module for Single-Shot Object Detection笔记
- 微信小程序定制开发的几大类型
- 前端React教程第六课 认识栈调和、setState和Fiber架构
- Kubernetes volumes简介