Skip to main content

ORA-00600: internal error code, arguments: [7005],

Hi all,

Today i am going to write another one of mine analysis by using My oracle support site document.


In one of our client's database, we are getting the following error message continuously.


Alert log entry:

Wed Jul 23 11:45:43 2014
Errors in file /home/oracle/app/oracle/diag/rdbms/db/db/trace/db_ora_14547.trc  (incident=149824):
ORA-00600: internal error code, arguments: [7005], [0], [], [], [], [], [], [], [], [], [], []

SQL_TEXT involved in this error is 

select iso_country_code  from countries  where (SDO_RELATE(geom,SDO_GEOMETRY(:"SYS_B_0",:"SYS_B_1"),:"SYS_B_2")=:"SYS_B_3")


So one of our dba has reported like below after searching the document for the error.

According to Doc ID 138935.1

The error occurred due to Bug 8770557

Description:

ORA-600 [7005] from SQL with user defined selectivity function (eg: Text queries)

Solution:

The issue is fixed in 11.2.0.2, 12.1.0.1


But our manager didn't want to take this analysis completely  He wrote us that "Please explain your analysis with respect to the statement involved".

So i came up with the solution to which he agreed with us that it is a bug.

My analysis is given below. 

I have gone through the same oracle support document (Doc ID 138935.1) for my reference.

As per the same MOSC  Doc ID 138935.1

ORA-00600: internal error code, arguments: [7005] is raised because of predicate used in the where clause of the below sql statement. 

 Description
User-defined selectivity functions may be called with not all bind values having being bound.  This can lead to subsequent ORA-600 [7005] errors.
 This could occur when using Text queries with a CONTAINS predicate. 

But in our sql statement (given above) is using bind variables. 
Hence I have decided to check the value for bind variables it is using from view V$SQL_BIND_CAPTURE.

Values of Bind variables
:SYS_B_0             -              POINT(10.476937 45.617856) (This value captured on today & This value is different every day)
:SYS_B_1             -              4326
:SYS_B_2             -              MASK=CONTAINS+COVERS
:SYS_B_3             -              TRUE

So our sql statement uses the CONTAINS predicate in the user defined operator. 
This is how we made our manager to agree with us.

Comments

Popular posts from this blog

Pinning execution plan for a sql_id using 'SQL Profile' to consistently reproduce a good plan

Deal all, Below post content is not my own. It is taken from MOSC document but the example shown below is taken from our environment. I got to know the below topic when we had experienced the bad SQL query performance in one of our production environment during daily batch running time. Hence we had implemented the same mentioned in the title "Pinning execution plan for a sql_id using 'SQL Profile' to consistently reproduce a good plan". Introduction The "cost-based optimizer (CBO or just optimizer) is the part of database software that determines the most efficient means of accessing the specified data (or at least what it "calculates" as the most efficient). The optimizer determines which execution plan is most efficient by considering several sources of information, including query conditions, available access paths, statistics gathered for the system, and hints. Some changes in those conditions may affect the calculations of the plan...

Export and import multiple schema using expdp/impdp (Data Pump utility)

Use the below sql query to export and import multiple schema: expdp schemas=schema1,schema2,schema3 directory=DATA_PUMP_DIR dumpfile=schemas120514bkp.dmp exclude=statistics logfile=expdpschemas120514.log impdp schemas=schema1,schema2,schema3 directory=DATA_PUMP_DIR dumpfile=schemas120514bkp.dmp logfile=impdpschemas120514.log sql query to export and import a schema: expdp schemas=schema directory=DATA_PUMP_DIR dumpfile=schema120514bkp.dmp exclude=statistics logfile=expdpschema120514.log impdp schemas=schema directory=DATA_PUMP_DIR dumpfile=schema120514bkp.dmp logfile=expdpschema120514.log Parameter STATISTICS=NONE can either be used in export or import. No need to use the parameter in both. To export meta data only to get ddl of the schemas: expdp schemas=schema1,schema2,schema3 directory=TEST_DIR dumpfile=content.dat content=METADATA_ONLY exclude=statistics To get the DDL in a text file: impdp directory=TEST_DIR sqlfile=sql.dat logfile=sql.log dumpfil...

Cloud Control EM13c - Loader Throughput (rows per second) for Loader_D crossed the critical threshold and Total Loader Runtime in the Last Hour (seconds) for Loader_D crossed the critical threshold

Hello Guys, Here is an another post related to Cloud Control EM13c - Real-time Scenario. Suddenly We were receiving the following warning and critical alerts from EM13c Cloud Control during the time slot between 12 AM and 04:00 AM daily. 1)  Message= Loader Throughput (rows per second) for Loader_D crossed the critical threshold (xx). Current value: xx.xx 2)  Message= Total Loader Runtime in the Last Hour (seconds) for Loader_D crossed the critical threshold (x,xxx). Current value: xxxx.xx 3)  ORA-error stack (3,136) and ORA-error stack (609) were also logged in alert log 4)  Message= Incident (BEA-310003 [LowMemory]) detected in $OMS_HOME/gc_inst/user_projects/domains/GCDomain/servers/EMGC_OMS1/adr/diag/ofm/GCDomain/EMGC_OMS1/alert/log.xml at time/line number: When we analyzed the AWR reports of EM PDB repository database, we found there were few PL/SQL statements given below causing this issue with wait event  SQL*Net Break/reset To Client...