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相关推荐

  1. ORACLE 异常错误处理

    本篇主要内容如下: 5.1 异常处理概念 5.1.1 预定义的异常处理 5.1.2 非预定义的异常处理 5.1.3 用户自定义的异常处理 5.1.4  用户定义的异常处理 5.2 异常错误传播 5.2 ...

  2. [转]ORACLE 异常错误处理

    本文转自:http://www.cnblogs.com/soundcode/archive/2012/01/10/2318385.html 本篇主要内容如下: 5.1 异常处理概念 5.1.1 预定义 ...

  3. oracle返回0001错误,ORACLE 异常错误处理

    本篇主要内容如下: 5.1 异常处理概念 5.1.1 预定义的异常处理 5.1.2 非预定义的异常处理 5.1.3 用户自定义的异常处理 5.1.4  用户定义的异常处理 5.2 异常错误传播 5.2 ...

  4. 总结:整理 oracle异常错误处理

    5.1 异常处理概念 5.1.1 预定义的异常处理 5.1.2 非预定义的异常处理 5.1.3 用户自定义的异常处理 5.1.4  用户定义的异常处理 5.2 异常错误传播 5.2.1 在执行部分引发 ...

  5. oracle olap 不可用,[数据库]ORACLE OLAP错误ORA

    [数据库]ORACLE OLAP错误ORA 0 2015-04-25 00:00:20 刚刚安装了ORACLE 10g R2后,启动数据库时发现告警日志有如下错误: Database Characte ...

  6. oracle错误01653,oracle 10g 错误 ORA 01653 的解决过程

    oracle 10g 错误 ORA 01653 的解决过程 早上用户反应在操作用友NC时报错 ORA-01653 ,详细信息:ORA-01653: 表 NCV35.GL_DETAIL 无法通过 102 ...

  7. 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, ...

  8. oracle变态错误解决:ORA-00604: 递归 SQL 级别 2 出现错误

    Oracle变态错误: 问题描述: 在使用sys用户执行删除infa用户下表时,报如下错误:          ORA-00604: 递归 SQL 级别 2 出现错误          ORA-009 ...

  9. [推荐]ORACLE PL/SQL编程之五:异常错误处理(知已知彼、百战不殆)

    原文:[推荐]ORACLE PL/SQL编程之五:异常错误处理(知已知彼.百战不殆) [推荐]ORACLE PL/SQL编程之五: 异常错误处理(知已知彼.百战不殆) 继上三篇:ORACLE PL/S ...

最新文章

  1. {好文备份}SQL索引一步到位
  2. One-hot encoding的不足及改进
  3. 阿里云移动端播放器高级功能---直播时移
  4. win7 计算机右键没有属性,系统之家windows7旗舰版计算机上右键菜单没有属性怎么办?...
  5. IDEA配置自定义maven库
  6. php7.2与php5.6共存,同域名下php5.6与7.2同时运行
  7. 初识HTML、CSS
  8. java程序执行的底层原理
  9. 记Hadoop HA高可用性分布式集群搭建过程
  10. 自动化测试中的测试执行自动化
  11. http://me.rice.edu/~akin/
  12. IDEA配置-无法读取src/java/main下hbm.xml等资源文件
  13. CocoaPods 简易教程 Alamofire请求数据 Swift
  14. 美团饿了么外卖返利红包小程序免费源码部署教程
  15. okr与项目管理区别?
  16. 一代测序、二代测序以及三代测序的优缺点及应用对比?
  17. FSAF:Feature Selective Anchor-Free Module for Single-Shot Object Detection笔记
  18. 微信小程序定制开发的几大类型
  19. 前端React教程第六课 认识栈调和、setState和Fiber架构
  20. Kubernetes volumes简介

热门文章

  1. Android4.0 实现组合键重启手机
  2. 先天性肾上腺增生症(ACH)
  3. linux .bashrc文件误操作后如何恢复
  4. Spring Boot 的logo设置(八)
  5. linux内核特征,Linux内核的特征
  6. IT 运维服务规范 | 资料
  7. 学“建模”需要熟知这些软件
  8. 【内存拷贝函数:memcpy与memmove】
  9. Go语言IUP GUI库的安装笔记
  10. 最新仿DS系统发卡源码 全解密自适应