kubo / ruby-oci8

Ruby-oci8 - Oracle interface for ruby
Other
169 stars 75 forks source link

find_each: OCIError: ORA-01555: snapshot too old: rollback segment number 43 with name "_SYSSMU43_3462495133$" too small #226

Closed palytoxin closed 3 years ago

palytoxin commented 3 years ago
Record.find_each {|a| puts a }
  Record Load (277.0ms)  SELECT * FROM (SELECT "xxx"."xxx".* FROM "xxx"."xxx" ORDER BY "xxx"."xxx"."ID" ASC ) WHERE ROWNUM <= :a1  [["LIMIT", 1000]]
Traceback (most recent call last):
        2: from (irb):6
        1: from (irb):6:in `rescue in irb_binding'
ActiveRecord::StatementInvalid (OCIError: ORA-01555: snapshot too old: rollback segment number 43 with name "_SYSSMU43_3462495133$" too small)
ORA-02063: preceding line from LEAPQZJDBO.DATASERVER
ORA-02063: preceding 2 lines from LINK_CITY.REGRESS.RDBMS.DEV.US.ORACLE.COM

server version:

Oracle Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL*Plus Package Information
============================

Thu Jun 28 10:53:34 UTC 2018Tools Package Information
=========================

Thu Jun 28 10:53:34 UTC 2018

Client Shared Library 64-bit - 18.3.0.0.0

System name:    Linux
Release:    2.6.39-400.298.2.el6uek.x86_64
Version:    #1 SMP Mon Jan 22 13:13:37 PST 2018
Machine:    x86_64

TIMEZONE INFORMATION
--------------------
Operating in ORACLE_HOME environment.

Small timezone file = timezone_31.dat
Large timezone file = timezlrg_31.dat

Client Shared Library 64-bit - 18.3.0.0.0

System name:    Linux
Release:    2.6.39-400.298.2.el6uek.x86_64
Version:    #1 SMP Mon Jan 22 13:13:37 PST 2018
Machine:    x86_64

Tools Package Information
=========================

Thu Jun 28 10:53:34 UTC 2018

Client Shared Library 64-bit - 18.3.0.0.0

System name:    Linux
Release:    2.6.39-400.298.2.el6uek.x86_64
Version:    #1 SMP Mon Jan 22 13:13:37 PST 2018
Machine:    x86_64

TIMEZONE INFORMATION
--------------------
Operating in ORACLE_HOME environment.

Small timezone file = timezoneTools Package Information
=========================

Thu Jun 28 10:53:34 UTC 2018

Client Shared Library 64-bit - 18.3.0.0.0

System name:    Linux
Release:    2.6.39-400.298.2.el6uek.x86_64
Version:    #1 SMP Mon Jan 22 13:13:37 PST 2018
Machine:    x86_64

SDK Package Information
=======================

Thu Jun 28 10:53:38 UTC 2018

Client Shared Library 64-bit - 18.3.0.0.0

System name:    Linux
Release:    2.6.39-400.298.2.el6uek.x86_64
Version:    #1 SMP Mon Jan 22 13:13:37 PST 2018
Machine:    x86_64

some table find_each return a error, each() is work.

palytoxin commented 3 years ago

batch_size is too big