ออราเคิล ORA-00600

ฉันมีคำสั่ง SQL SELECT ที่ส่งคืน:

    Error: ORA-00600: internal error code, arguments: [qerpfAllocateR], [], [], [], [], [], [], []

ถ้าฉันจำกัดผลลัพธ์ให้แคบลงโดยเพิ่มเงื่อนไขอีกหนึ่งข้อในส่วนคำสั่ง WHERE ทุกอย่างก็โอเค

ใครรู้ว่าเกิดอะไรขึ้น?

แก้ไข:

    select * from ( select tbl1.col1, ..., tbl1.points
    from table1 tbl1, table2 tbl2
    where tbl1.tbl2FK = tbl2.PK and
          tbl2.col1 = someNumber and
          tbl1.dateColumn = to_date('27-10-2008','dd-mm-yyyy')
    order by tbl1.points desc ) s where rownum <= 3 

แก้ไข 2:

ผู้ดูแลระบบ DB ของฉันแนะนำวิธีแก้ปัญหาที่ใช้งานได้:

select * from (select rank() over (order by tbl1.points desc) rank,
                  tbl1.col1, ..., tbl1.points
           from table1 tbl1, table2 tbl2
           where tbl1.tbl2FK = tbl2.PK and
                 tbl2.col1 = someNumber and
                 tbl1.dateColumn = to_date('27-10-2008','dd-mm-yyyy')) s
     where s.rank <= 3

person Chobicus    schedule 04.02.2009    source แหล่งที่มา
comment
โปรดระบุเวอร์ชันฐานข้อมูล แพลตฟอร์ม และระดับแพตช์   -  person Jeffrey Kemp    schedule 10.07.2010
comment
มีปัญหาเดียวกันที่นี่ แต่พบวิธีแก้ปัญหาเพื่อให้บรรลุสิ่งที่ฉันต้องการ stackoverflow.com/questions/8923091/   -  person radu florescu    schedule 19.01.2012


คำตอบ (8)


ขอให้โชคดีกับการได้รับการสนับสนุนจาก Oracle...

อย่างจริงจัง ทุกครั้งที่ฉันประสบปัญหานี้ การจัดเรียงข้อความค้นหาใหม่เล็กน้อยมักจะช่วยได้ อาจจะเล่นซอกับดัชนีนิดหน่อย

person Tamas Czinege    schedule 04.02.2009
comment
กล่าวอีกนัยหนึ่ง: ฉันไม่รู้ มันเป็นเวทย์มนตร์ ลองเขย่าแท่งวูดูไปทางอื่น การจัดเรียงแบบสอบถามใหม่จะช่วยได้จนกว่าคุณจะพบปัญหาเดิมอีกครั้ง มีสาเหตุมาจากจุดบกพร่องใน Oracle และอาจมีการแก้ไข หากไม่มี คุณควรส่งรายงานข้อผิดพลาด - person Apocalisp; 04.02.2009
comment
@Apocalisp: ก่อนอื่นฉันสงสัยว่ามันน่าจะมีการแก้ไข - อาจมีอย่างใดอย่างหนึ่ง การรอการแก้ไขข้อบกพร่องอาจใช้เวลานาน และหากคุณไม่ต้องการทำให้โปรเจ็กต์ของคุณล่าช้าอย่างไม่มีสิ้นสุด คุณจะต้องหาวิธีแก้ไข กล่าวอีกนัยหนึ่ง: เขาต้องการวิธีแก้ปัญหาตอนนี้ ไม่ใช่ภายใน 6 สัปดาห์ - person Tamas Czinege; 04.02.2009
comment
และนั่นคือสิ่งที่เกิดขึ้นในกรณีนี้ - ไม่มีวิธีแก้ไข DBA แนะนำวิธีแก้ปัญหาและได้ผล - ทุกคนมีความสุข โครงการจะไม่ล่าช้า หวังว่า Oracle จะออกแพตช์ในจุดใดจุดหนึ่ง - person Tamas Czinege; 04.02.2009
comment
ฉันพบปัญหานี้มาระยะหนึ่งแล้ว และพบการสนทนา OTN/Oracle Forum หลายครั้งที่มีสาเหตุมาจากข้อบกพร่องภายในของ Oracle ฉันมีปัญหาในการค้นหาในขณะนี้ ไม่เช่นนั้นฉันจะให้ลิงก์ มันจะปรากฏขึ้นเฉพาะเมื่อทำการเลือกแบบซ้อนบางประเภทเท่านั้น (ไม่แน่ใจว่าคุณสมบัติใดที่ทำให้เกิดสิ่งนี้) บางครั้งข้อความค้นหาอาจใช้งานได้ แต่บางครั้งก็ไม่ได้ผล... บางทีอาจมีบางอย่างเกี่ยวข้องกับดัชนี ถึงแม้จะน่าหงุดหงิดก็ตาม ฉันจะเลือกสิ่งที่ใช้ได้ผลแทนที่จะพยายามหาแพตช์ ฉันค่อนข้างแน่ใจว่ามี Oracle SR/TAR อยู่ แต่ไม่แน่ใจว่าได้รับการแก้ไขใน v ใหม่หรือไม่ - person aw crud; 12.02.2010

ข้อผิดพลาด ORA-0600 บ่งชี้ถึงข้อผิดพลาดภายในในตัว Oracle เอง คุณน่าจะเจอจุดบกพร่องของ Oracle มากที่สุด

หากคุณไปที่ http://metalink.oracle.com คุณสามารถค้นหาจุดบกพร่องที่แน่นอนได้ หากเป็น ทราบโดยการวาง "อาร์กิวเมนต์" และการติดตามสแต็กแบบเต็มลงในเครื่องมือค้นหา ORA-0600 ดูหมายเหตุโลหะ 153788.1

หากมีข้อบกพร่องที่ทราบเกี่ยวกับคำอธิบายนั้น อาจเป็นไปได้ว่ามีแพตช์พร้อมให้คุณดาวน์โหลดและติดตั้งแล้ว หากไม่ใช่จุดบกพร่องที่ทราบ โปรดติดต่อฝ่ายสนับสนุน

person Apocalisp    schedule 04.02.2009

แบบสอบถามแบบเต็มคืออะไร?

http://www.orafaq.com/wiki/ORA-00600 แนะนำว่าคุณควร รายงานข้อผิดพลาดไปยัง Oracle

person tehvan    schedule 04.02.2009

โดยพื้นฐานแล้ว ORA-00600 หมายความว่าคุณทำให้เซิร์ฟเวอร์ oracle ขัดข้อง (ไม่ใช่อินสแตนซ์ เพียงเซิร์ฟเวอร์ที่ให้บริการคำขอของคุณ)

เกือบจะทุกครั้งจะมีไฟล์การติดตามอยู่ในตำแหน่ง bdump ของคุณ สิ่งนี้อาจไม่ช่วยคุณได้มากนัก แต่จะมีประโยชน์มากในการสนับสนุนของ Oracle

โดยทั่วไปมีสาเหตุมาจากจุดบกพร่องของ Oracle และจากประสบการณ์แล้ว คุณสามารถทำอะไรได้ไม่มากเกี่ยวกับจุดบกพร่องเหล่านี้ ยกเว้นการเพิ่ม SR ผ่าน metalink (นี่คือโซลูชันที่แนะนำจาก Oracle) พวกเขาจะพยายามจำลองปัญหาอีกครั้ง และหากโชคดี ถ้ามันเกิดข้อบกพร่อง ในที่สุดก็จะหาทางเข้าสู่แพตช์ได้ในที่สุด

ในระยะสั้น (เช่น วัน - เดือน) วิธีแก้ปัญหาหลักที่สมจริงคือแก้ไข

แม้ว่าการเพิ่ม SR ไม่ได้ช่วยอะไรคุณได้มากนัก และอาจเป็นประสบการณ์ที่น่าหงุดหงิด แต่ก็คุ้มค่าที่จะทำ เพราะอาจช่วยคนอื่นประหยัดเวลาได้เมื่อแก้ไขจุดบกพร่องแล้ว

person Matthew Watson    schedule 06.02.2009

ข้อบกพร่องเหล่านี้มักเกี่ยวข้องกับเครื่องมือเพิ่มประสิทธิภาพ ฉันคิดว่าแม้แต่การเปลี่ยนแปลงที่เล็กน้อยที่สุดในแบบสอบถามเช่นการสลับลำดับของ table1 และ table2 ในส่วนคำสั่ง FROM อาจบังคับให้เครื่องมือเพิ่มประสิทธิภาพเลือกแผนอื่นที่จะไม่พบข้อผิดพลาดนี้

person Tal    schedule 04.02.2009

ทางออกของฉัน:

ปัญหา

ป้อนคำอธิบายรูปภาพที่นี่

สิ่งนี้ไม่ทำงานได้รับข้อผิดพลาด [0600]

SQL> shutdown abort
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.

Total System Global Area 1904054272 bytes
Fixed Size                  2404024 bytes
Variable Size             570425672 bytes
Database Buffers         1325400064 bytes
Redo Buffers                5824512 bytes
Database mounted.
SQL> recover database
Media recovery complete.
SQL> alter database open
  2
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1],
[108], [615], [655], [], [], [], [], [], [], []`

นี่คือวิธีแก้ไขปัญหาของฉัน:

    SQL> Startup mount
ORA-01081: cannot start already-running ORACLE - shut it down first
SQL> shutdown abort
ORACLE instance shut down.
SQL>
SQL> startup mount
ORACLE instance started.

Total System Global Area 1904054272 bytes
Fixed Size                  2404024 bytes
Variable Size             570425672 bytes
Database Buffers         1325400064 bytes
Redo Buffers                5824512 bytes
Database mounted.
SQL> Show parameter control_files

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
control_files                        string      C:\APP\USER\ORADATA\ORACLEDB\C
                                                 ONTROL01.CTL, C:\APP\USER\FAST
                                                 _RECOVERY_AREA\ORACLEDB\CONTRO
                                                 L02.CTL
SQL> select a.member,a.group#,b.status from v$logfile a ,v$log b where a.group#=
b.group# and b.status='CURRENT'
  2
SQL> select a.member,a.group#,b.status from v$logfile a ,v$log b where a.group#=
b.group# and b.status='CURRENT';

MEMBER
--------------------------------------------------------------------------------

    GROUP# STATUS
---------- ----------------
C:\APP\USER\ORADATA\ORACLEDB\REDO03.LOG
         3 CURRENT


SQL> shutdown abort
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.

Total System Global Area 1904054272 bytes
Fixed Size                  2404024 bytes
Variable Size             570425672 bytes
Database Buffers         1325400064 bytes
Redo Buffers                5824512 bytes
Database mounted.
SQL> recover database using backup controlfile until cancel;
ORA-00279: change 4234808 generated at 01/21/2014 18:31:05 needed for thread 1
ORA-00289: suggestion :
C:\APP\USER\FAST_RECOVERY_AREA\ORACLEDB\ARCHIVELOG\2014_01_22\O1_MF_1_108_%U_.AR

C
ORA-00280: change 4234808 for thread 1 is in sequence #108


Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
C:\APP\USER\ORADATA\ORACLEDB\REDO03.LOG
Log applied.
Media recovery complete.
SQL> alter database open resetlogs;

Database altered.

ในที่สุดก็ได้ผล:

ป้อนคำอธิบายรูปภาพที่นี่

person z atef    schedule 23.01.2014

โดยทั่วไป ORA-00600 หมายความว่ามีบางสิ่งที่ไม่คาดคิดอย่างมาก และอาจเชื่อมโยงกับความเสียหายของฐานข้อมูล อาการอาจเป็นได้ว่าคิวรีใช้งานได้หรือไม่ ขึ้นอยู่กับวิธีการกำหนดสูตร

ตัวอย่างชีวิต:

  • การอัปเดตฟิลด์ LOB ผิดพลาดสำหรับแถวใดแถวหนึ่งที่มี id=‹ID›
  • แถวไม่สามารถมองเห็นได้ด้วย SELECT * FROM ‹table›
  • แต่: SELECT * FROM ‹table› WHERE id=‹ID› ล้มเหลวในการดำเนินการและให้ ORA-006000

(เป็นไปได้) วิธีแก้ไขที่ใช้กับตัวอย่างข้างต้น

  • ส่งออกเนื้อหาตารางที่สามารถเข้าถึงได้ทั้งหมด
  • ลบตาราง
  • นำเข้าเนื้อหาอีกครั้ง

โชคดี!

person Witold Kaczurba    schedule 23.01.2019

ฉันพบข้อผิดพลาดเช่นนี้เมื่อมีคอลัมน์ XMLTYPE ในตารางโดยใช้ PL/SQL Developer มันจะไม่เกิดขึ้นถ้าฉันให้นักพัฒนา PL/SQL สร้างโครงกระดูกการสืบค้นให้ฉันเพราะมันจะเพิ่มไวยากรณ์บางอย่างให้กับคำขอคอลัมน์ XMLTYPE ฉันจำไม่ได้ว่าอะไรแน่ชัด

person Dave Swersky    schedule 04.02.2009
comment
ไม่มี XMLTYPE ที่เกี่ยวข้องที่นี่ ฉันเคยเห็น ORA-00600 ในสถานการณ์ที่แตกต่างกันทุกประเภท มันเป็นข้อผิดพลาดทั่วไปที่รับทั้งหมด ดังนั้นมันจึงไม่ใช่ข้อผิดพลาดเดียวกัน เว้นแต่ว่าอาร์กิวเมนต์จะเหมือนกันและคุณใช้เวอร์ชัน/แพตช์ฐานข้อมูลเดียวกัน - person Jeffrey Kemp; 10.07.2010