说明:

CSDN 的新blog 对表格的样式支持太差,所以这里的排版很不清楚。 可以下载我的word 文档,下载地址,0分资源,有帐号即可下载。


一. ORA-600 概述

ORA-600 是一个非常头疼的一个错误。比如:

       ORA-00600:internal error code, arguments: [4194], [43], [46], [], [], [], [], []

       这个就是undo 损坏出现故障的一个提示信息。关于这种情况的解决方法,参考blog:

 ​

       Errorsof the form ORA-600 are called internal errors. This section clarifies themisunderstanding of ORA-600s being synonymous with corruption.

       An ORA-600 usually has up to five arguments associated withit which gives Oracle support and developers more information about theerror. The first argument of an ORA-600 indicates wherein the source code an unexpected condition was encountered. Theremaining arguments give information about the variables and data beingexamined. An analyst can then determine if the error was the result of sometype of corruption.

       Oracle server source code is subdivided into about 13different layers or modules,each of which is assigned a range of ORA-600 errors. Of these, only some rangespertain directly to the types of corruption described in this paper.


       ORA-600通常有5个参数,第一个参数表示的是异常的source code位置。 Oracle Server source code 大致分为了13个不同的layers 和 modules。 关于第一参数的具体说明,在MOS 的文档:[ID175982.1],有详细的说明。



二. 第一个参数说明

在[ID 175982.1]文档上的定义分成了2种:

       (1)the first parameter is a number which reflects the source componentor layer the error is connected with; or

       (2)the first parameter is a mnemonic which indicates the source modulewhere the error originated. This type of internal error is now used inpreference to an internal error number.


2.1 Internal Errors Categorised by numberrange(数字类型)

       Thefollowing table provides an indication of internal error codes used in theOracle server. Thus, if ora-600[X] is encountered, it is possible to glean somehigh level background information : the error in generated in the Y layer whichindicates that there may be a problem with Z.

Ora-600 Base

Functionality

Description

1

Service Layer

The service layer has within it a variety of service

related components which are associated with in memory related activities in the SGA such as, for example : the management of Enqueues,

System Parameters, System state objects (these objects track the use of structures in the SGA by Oracle server processes), etc..

In the main, this layer provides support to allow process communication and provides support for locking and the management of structures to support multiple user processes connecting and interacting within the SGA. 


Note : vos  – Virtual Operating System provides features to support the functionality above.  As the name suggests it provides base functionality in much the same way as is provided by an Operating System. 
 



Ora-600 Base

Functionality

Description

1

vos

Component notifier 

100

vos

Debug

300

vos

Error

500

vos

Lock

700

vos

Memory

900

vos

System Parameters 

1100

vos

System State object 

1110

vos

Generic Linked List management 

1140

vos

Enqueue

1180

vos

Instance Locks 

1200

vos

User State object 

1400

vos

Async Msgs 

1700

vos

license Key 

1800

vos

Instance Registration 

1850

vos

I/O Services components


2000

Cache Layer

Where errors are generated in this area, it is advisable

to check whether the error is repeatable and whether the error is perhaps associated with recovery or undo type operations; where

this is the case and the error is repeatable, this may suggest some kind of hardware or physical issue with a data file, control

file or log file. The Cache layer is responsible for making the changes to the underlying files and well as managing the related memory structures in the SGA. 


Note : rcv indicates recovery. It is important to remember that the Oracle cache layer is effectively going through the same code paths as used by the recovery mechanism. 
 



Ora-600 Base

Functionality

Description

2000

server/rcv

Cache Op

2100

server/rcv

Control File mgmt 

2200

server/rcv

Misc (SCN etc.) 

2400

server/rcv

Buffer Instance Hash Table 

2600

server/rcv

Redo file component 

2800

server/rcv

Db file 

3000

server/rcv

Redo Application 

3200

server/cache

Buffer manager 

3400

server/rcv

Archival & media recovery component 

3600

server/rcv

recovery component

3700

server/rcv

Thread component 

3800

server/rcv

Compatibility segment

It is important  to consider when the error occurred and the context in which the error was generated. If the error does not reproduce, it may be an in memory issue. 
 


4000

Transaction Layer

Primarily the transaction layer is involved with maintaining

structures associated with the management of transactions.  As with the cache layer , problems encountered in this layer may indicate some kind of issue at a physical level. Thus it is important to try and repeat the same steps to see if the problem recurs.  





Ora-600 Base

Functionality

Description

4000

server/txn

Transaction Undo 

4100

server/txn

Transaction Undo 

4210

server/txn

Transaction Parallel 

4250

server/txn

Transaction List 

4300

space/spcmgmt

Transaction Segment 

4400

txn/lcltx

Transaction Control 

4450

txn/lcltx

distributed transaction control

4500

txn/lcltx

Transaction Block 

4600

space/spcmgmt

Transaction Table 

4800

dict/rowcache

Query Row Cache 

4900

space/spcmgmt

Transaction Monitor 

5000

space/spcmgmt

Transaction Extent 

It is important to try and determine what the object involved in any reproducible problem is. Then
use the analyze command. For more information, please refer to the analyze command as detailed in the context of  Note 28814.1; in addition, it may be worth using the dbverify as discussed in Note 35512.1
 


6000

Data Layer

The data layer is responsible for maintaining and managing

the data in the database tables and indexes. Issues in this area may indicate some kind of physical issue at the object level and

therefore, it is important to try and isolate the object and then perform an anlayze on the object to validate its structure.  





Ora-600 Base

Functionality

Description

6000

ram/data 

ram/analyze 

ram/index

data, analyze command and index related activity

7000

ram/object

lob related errors

8000

ram/data

general data access

8110

ram/index

index related

8150

ram/object

general data access

Again, it is important to try and determine what the object involved in any reproducible problem is.
Then use the analyze command. For more information, please refer to the analyze command as detailed in the context of  Note 28814.1; in addition, it may be worth using the dbverify as discussed in Note 35512.1
 


12000

User/Oracle Interface & SQL Layer Components

This layer governs the user interface with the Oracle

server. Problems generated by this layer usually indicate : some kind of presentation or format error in the data received by the

server, i.e. the client may have sent incomplete information; or there is some kind of issue which indicates that the data is received out of sequence 





Ora-600 Base

Functionality

Description

12200

progint/kpo 

progint/opi

lob related 

errors at interface level on server side, xa , etc.

12300

progint/if

OCI interface to coordinating global transactions 

12400

sqlexec/rowsrc

table row source access

12600

space/spcmgmt

operations associated with tablespace : alter / create / drop operations ; operations associated with create table / cluster

12700

sqlexec/rowsrc 

bad rowid

13000

dict/if

dictionary access routines associated with kernel compilation

13080

ram/index

kernel Index creation

13080

sqllang/integ

constraint mechanism

13100

progint/opi

archival and Media Recovery component

13200

dict/sqlddl

alter table mechanism

13250

security/audit

audit statement processing

13300

objsupp/objdata

support for handling of object generation and object access

14000

dict/sqlddl

sequence generation

15000

progint/kpo

logon to Oracle

16000

tools/sqlldr

sql loader related

You should try and repeat the issue and with the use of sql trace , try and isolate where exactly the issue may be occurring within the application.


14000

System Dependent Component internal error values

This layer manages interaction with the OS. Effectively

it acts as the glue which allows the Oracle server to interact with the OS. The types of operation which this layer manages are indicated as follows. 





Ora-600 Base

Functionality

Description

14000

osds

File access

14100

osds

Concurrency management; 

14200

osds

Process management;

14300

osds

Exception-handler or signal handler management

14500

osds

Memory allocation


15000

security/dac, 
security/logon 
security/ldap

local user access validation; challenge / response activity for

remote access validation; auditing operation; any activities associated with granting and revoking of privileges; validation of password with external password file

15100

dict/sqlddl

this component manages operations associated with creating, compiling (altering), renaming, invalidating, and dropping  procedures, functions, and packages.

15160

optim/cbo

cost based optimizer layer is used to determine optimal path to the data based on statistical information available on the relevant tables and indexes.

15190

optim/cbo

cost based optimizer layer. Used in the generation of a new index to determine how the index should be created. Should it be constructed from the table data or from another index.

15200

dict/shrdcurs

used to in creating sharable context area associated with shared cursors

15230

dict/sqlddl

manages the compilation of triggers

15260

dict/dictlkup 
dict/libcache

dictionary lookup and library cache access

15400

server/drv

manages alter system and alter session operations

15410

progint/if

manages compilation of pl/sql packages and procedures

15500

dict/dictlkup

performs dictionary lookup to ensure semantics are correct

15550

sqlexec/execsvc
sqlexec/rowsrc

hash join execution management;  

parallel row source management

15600

sqlexec/pq

component provides support for Parallel Query operation

15620

repl/snapshots

manages the creation of snapshot or materialized views as well as related snapshot / MV operations

15640

repl/defrdrpc

layer containing various functions for examining the deferred transaction queue and retrieving information

15660

jobqs/jobq

manages the operation of the Job queue background processes

15670

sqlexec/pq

component provides support for Parallel Query operation

15700

sqlexec/pq

component provides support for Parallel Query operation; specifically mechanism for starting up and shutting down query slaves

15800

sqlexec/pq

component provides support for Parallel Query operation

15810

sqlexec/pq

component provides support for Parallel Query operation; specifically functions for creating mechanisms through which Query co-ordinator can communicate with PQ slaves;

15820

sqlexec/pq

component provides support for Parallel Query operation

15850

sqlexec/execsvc

component provides support for the execution of SQL statements

15860

sqlexec/pq

component provides support for Parallel Query operation

16000

loader

sql Loader direct load operation;

16150

loader

this layer is used for ‘C’ level call outs to direct loader operation;

16200

dict/libcache

this is part of library Cache operation. Amongst other things it manages the dependency of SQL objects and tracks who is permitted to access these objects;

16230

dict/libcache

this component is responsible for managing access to remote objects as part of library Cache operation;

16300

mts/mts

this component relates to MTS (Multi Threaded Server) operation

16400

dict/sqlddl

this layer contains functionality which allows tables to be loaded / truncated and their definitions to be modified. This is part of dictionary operation;

16450

dict/libcache

this layer layer provides support for multi-instance access to the library cache; this functionality is applicable therefore to OPS environments;

16500

dict/rowcache

this layer provides support to load / cache Oracle’s dictionary in memory in the library cache;

16550

sqlexec/fixedtab

this component maps data structures maintained in the Oracle code to fixed tables such that they can be queried using the SQL layer;

16600

dict/libcache

this layer performs management of data structures within the library cache;

16651

dict/libcache

this layer performs management of dictionary related information within library Cache;

16701

dict/libcache

this layer provides library Cache support to support database creation and forms part of the bootstrap process;

17000

dict/libcache

this is the main library Cache manager. This Layer maintains the in memory representation of cached sql statements together will all the necessary support that this demands;

17090

generic/vos

this layer implementations error management operations: signalling errors, catching  errors, recovering from errors, setting error frames, etc.;

17100

generic/vos

Heap manager. The Heap manager manages the storage of internal

data in an orderly and consistent manner. There can be many heaps serving various purposes; and heaps within heaps. Common examples

are the SGA heap, UGA heap and the PGA heap. Within a Heap there are consistency markers which aim to ensure that the Heap is always in a consistent state. Heaps are use extensively and are in memory structures – not on disk. 

17200

dict/libcache

this component deals with loading remote library objects into the local library cache with information from the remote database.

17250

dict/libcache

more library cache errors ; functionality for handling pipe operation associated with dbms_pipe

17270

dict/instmgmt

this component manages instantiations of procedures, functions,

packages, and cursors in a session. This provides a means to keep track of what has been loaded in the event of process death; 

17300

generic/vos

manages certain types of memory allocation structure.  This functionality is an extension of the Heap manager.

17500

generic/vos

relates to various I/O operations. These relate to async i/o operation,  direct i/o operation and the management of writing buffers from the buffer cache by potentially a number of database writer processes;

17625

dict/libcache

additional library Cache supporting functions

17990

plsql

plsql ‘standard’ package related issues

18000

txn/lcltx

transaction and savepoint management operations 

19000

optim/cbo

cost based optimizer related operations

20000

ram/index

bitmap index and index related errors.

20400

ram/partnmap

operations on partition related objects

20500

server/rcv

server recovery related operation

21000

repl/defrdrpc,  
repl/snapshot, 
repl/trigger

replication related features

23000

oltp/qs

AQ related errors.

24000

dict/libcache

operations associated with managing stored outlines

25000

server/rcv

tablespace management operations


2.2 Internal Errors Categorised by mnemonic(字符串类型)

      Thefollowing table details mnemonics error stems which are possible. If you haveencountered : ora-600[kkjsrj:1] for example, you should look down the ErrorMnemonic column (errors in alphabetical order) until you find the matchingstem. In this case, kkj indicates that something unexpected has occurred in jobqueue operation.


Error Mnemonic(s)

Functionality

Description

ain ainp 

ram/index

ain – alter index; ainp -  alter index partition management operation

apacb 

optim/rbo

used by optimizer in connect by processing

atb atbi atbo ctc ctci cvw 

dict/sqlddl

alter table , create table (IOT) or cluster operations as well as create view related operations (with constraint handling functionality)

dbsdrv

sqllang/parse

alter / create database operation

ddfnet 

progint/distrib

various distributed operations on remote dictionary

delexe 

sqlexec/dmldrv

manages the delete statement operation

dix 

ram/index

manages drop index or validate index operation 

dtb 

dict/sqlddl

manages drop table operation

evaa2g evah2p evaa2g 

dbproc/sqlfunc

various functions involves in evaluating operand outcomes such

as : addition , average, OR operator, bites AND , bites OR, concatenation, as well as Oracle related functions : count(), dump() , etc. The list is extensive.

expcmo expgon 

dbproc/expreval

handles expression evaluation with respect to two operands being equivalent

gra 

security/dac

manages the granting and revoking of privilege rights to a user

gslcsq 

plsldap

support for operations with an LDAP server

insexe 

sqlexec/dmldrv

handles the insert statement operation

jox 

progint/opi

functionality associated with the Java compiler and with the Java runtime environment within the Server

k2c k2d 

progint/distrib

support for database to database operation in distributed environements as well as providing, with respect to the 2-phase commit protocol, a globally unique Database id

k2g k2l

txn/disttx

support for the 2 phase commit protocol protocol and the coordination of the various states in managing the distributed transaction

k2r k2s k2sp 

progint/distrib

k2r – user interface for managing distributed transactions and

combining distributed results ; k2s – handles logging on, starting a transaction, ending a transaction and recovering a transaction; k2sp – management of savepoints in a distributed environment.

k2v 

txn/disttx

handles distributed recovery operation

kad 

cartserv/picklercs

handles OCIAnyData implementation 

kau 

ram/data

manages the modification of indexes for inserts, updates and delete operations for IOTs as well as modification of indexes for IOTs

kcb kcbb kcbk kcbl kcbs kcbt kcbw kcbz 

cache

manages Oracle’s buffer cache operation as well as operations used by capabilities such as direct load, has clusters , etc.

kcc kcf 

rcv

manages and coordinates operations on the control file(s)

kcit 

context/trigger

internal trigger functionality 

kck 

rcv

compatibility related checks associated with the compatible parameter

kcl 

cache

background lck process which manages locking in a RAC or parallel server multiple instance environment

kco kcq kcra kcrf kcrfr kcrfw kcrp kcrr kcs kct kcv 

rcv

various buffer cache operation such as quiesce operation , managing fast start IO target, parallel recovery operation , etc. 

kd 

ram/data

support for row level dependency checking and some log miner operations

kda 

ram/analyze

manages the analyze command and collection of statistics

kdbl kdc kdd 

ram/data

support for direct load operation, cluster space management and deleting rows

kdg 

ram/analyze

gathers information about the underlying data and is used by the analyze command

kdi kdibc3 kdibco kdibh kdibl kdibo kdibq kdibr kdic kdici kdii kdil kdir kdis kdiss kdit kdk 

ram/index

support of the creation of indexes on tables an IOTs and index look up 

kdl kdlt 

ram/object

lob and temporary lob management

kdo 

ram/data

operations on data such as inserting a row piece or deleting a row piece 

kdrp 

ram/analyze

underlying support for operations provided by the dbms_repair package

kds kdt kdu 

ram/data

operations on data such as retrieving a row and updating existing row data

kdv kdx 

ram/index

functionality for dumping index and managing index blocks

kfc kfd kfg  

asm

support for ASM file and disk operations

kfh kfp kft 

rcv

support for writing to file header and transportable tablespace operations

kgaj kgam kgan kgas kgat kgav kgaz 

argusdbg/argusdbg

support for Java Debug Wire Protocol (JDWP) and debugging facilites

kgbt kgg kgh kghs kghx kgkp

vos

kgbt – support for BTree operations; kgg – generic lists processing;

kgh – Heap Manager : managing the internal structures withing the SGA / UGA / PGA and ensures their integrity; kghs – Heap manager with Stream support; kghx – fixed sized shared memory manager; kgkp – generic services scheduling policies

kgl kgl2 kgl3 kgla kglp kglr kgls 

dict/libcache

generic library cache operation 

kgm kgmt 

ilms

support for inter language method services – or calling one language from another

kgrq kgsk kgski kgsn kgss 

vos

support for priority queue and scheduling; capabilities for Numa support;  Service State object manager

kgupa kgupb kgupd0 kgupf kgupg kgupi kgupl kgupm kgupp kgupt kgupx kguq2 kguu 

vos

Service related activities activities associated with for Process

monitor (PMON); spawning or creating of background processes; debugging; managing process address space;  managing the background processes; etc.

kgxp 

vos

inter process communication related functions

kjak kjat kjb kjbl kjbm kjbr kjcc kjcs kjctc kjcts kjcv kjdd kjdm kjdr kjdx kjfc kjfm kjfs kjfz kjg kji kjl kjm kjp kjr kjs kjt kju kjx 

ccl/dlm

dlm related functionality ; associated with RAC or parallel server operation

kjxgf kjxgg kjxgm kjxgn kjxgna kjxgr 

ccl/cgs

provides communication & synchronisation associated with GMS or OPS related functionality as well as name service and OPS Instance Membership Recovery Facility

kjxt 

ccl/dlm

DLM request message management

kjzc kjzd kjzf kjzg kjzm 

ccl/diag

support for diagnosibility amongst OPS related services

kkb 

dict/sqlddl

support for operatoins which load/change table definitions

kkbl kkbn kkbo 

objsupp/objddl

support for tables with lobs , nested tables and varrays as well as columns with objects

kkdc kkdl kkdo 

dict/dictlkup

support for constraints, dictionary lookup and dictionary support for objects

kke 

optim/cbo

query engine cost engine; provides support functions that provide cost estimates for queries under a number of different circumstances

kkfd 

sqlexec/pq

support for performing parallel query operation

kkfi 

optim/cbo

optimizer support for matching of expressions against functional ndexes

kkfr kkfs 

sqlexec/pq

support for rowid range handling as well as for building parallel query query operations

kkj 

jobqs/jobq

job queue operation

kkkd kkki 

dict/dbsched

resource manager related support. Additionally, provides underlying functions provided by dbms_resource_manager and dbms_resource_manager_privs packages

kklr 

dict/sqlddl

provides functions used to manipulate LOGGING and/or RECOVERABLE attributes of an object (non-partitioned table or index or  partitions of a partitioned table or index)

kkm kkmi 

dict/dictlkup

provides various semantic checking functions 

kkn 

ram/analyze

support for the analyze command

kko kkocri 

optim/cbo

Cost based Optimizer operation : generates alternative execution

plans in order to find the optimal / quickest access to the data.  Also , support to determine cost and applicability of  scanning a given index in trying to create or rebuild an index or a partition thereof

kkpam kkpap 

ram/partnmap

support for mapping predicate keys expressions to equivalent partitions

kkpo kkpoc kkpod 

dict/partn

support for creation and modification of partitioned objects

kkqg kkqs kkqs1 kkqs2 kkqs3 kkqu kkqv kkqw 

optim/vwsubq

query rewrite operation 

kks kksa kksh kksl kksm 

dict/shrdcurs

support for managing shared cursors/ shared sql

kkt 

dict/sqlddl

support for creating, altering and dropping trigger definitions as well as handling the trigger operation

kkxa 

repl/defrdrpc

underlying support for dbms_defer_query package operations

kkxb 

dict/sqlddl

library cache interface for external tables 

kkxl 

dict/plsicds

underlying support for the dbms_lob package

kkxm 

progint/opi

support for inter language method services

kkxs 

dict/plsicds

underlying support for the dbms_sys_sql package 

kkxt 

repl/trigger

support for replication internal trigger operation

kkxwtp 

progint/opi

entry point into the plsql compiler

kky 

drv

support for alter system/session commands

kkz kkzd kkzf kkzg kkzi kkzj kkzl kkzo kkzp kkzq kkzr kkzu kkzv 

repl/snapshot

support for snapshots or Materialized View validation and operation

kla klc klcli klx 

tools/sqlldr

support for direct path sql loader operation

kmc kmcp kmd kmm kmr 

mts/mts

support for Multi Threaded server operation (MTS) : manange and

operate the virtual circuit mechanism, handle the dispatching of massages, administer shared servers and for collecting and maintaining statistics associated with MTS

knac knafh knaha knahc knahf knahs 

repl/apply

replication apply operation associated with Oracle streams

kncc 

repl/repcache

support for replication related information stored and maintained in library cache

kncd knce 

repl/defrdrpc

replication related enqueue and dequeue of transction data as well as other queue related operations 

kncog 

repl/repcache

support for loading replicaiton object group information into library cache

kni 

repl/trigger

support for replication internal trigger operation

knip knip2 knipi knipl knipr knipu knipu2 knipx 

repl/intpkg

support for replication internal package operation. 

kno 

repl/repobj

support for replication objects 

knp knpc knpcb knpcd knpqc knps 

repl/defrdrpc

operations assocaied with propagating transactions to a remote node and coordination of this activity.

knst 

repl/stats

replication statistics collection

knt kntg kntx 

repl/trigger

support for replication internal trigger operation

koc 

objmgmt/objcache

support for managing ADTs objects in the OOCI heap

kod 

objmgmt/datamgr

support for persistent storage for objects : for read/write objects, to manage object IDs, and to manage object concurrency and recovery. 

koh 

objmgmt/objcache

object heap manager provides memory allocation services for objects

koi 

objmgmt/objmgr

support for object types

koka 

objsupp/objdata

support for reading images, inserting images, updating images, and deleting images based on object references (REFs).

kokb kokb2 

objsupp/objsql

support for nested table objects

kokc 

objmgmt/objcache

support for pinning , unpinning and freeing objects

kokd 

objsupp/datadrv

driver on the server side for managing objects

koke koke2 koki 

objsupp/objsql

support for managing objects

kokl 

objsupp/objdata

lob access

kokl2 

objsupp/objsql

lob DML and programmatic interface support

kokl3 

objsupp/objdata

object temporary LOB support

kokle kokm 

objsupp/objsql

object SQL evaluation functions

kokn 

objsupp/objname

naming support for objects

koko 

objsupp/objsup

support functions to allow oci/rpi to communicate with Object Management Subsystem (OMS).

kokq koks koks2 koks3 koksr 

objsupp/objsql

query optimisation for objects , semantic checking and semantic rewrite operations

kokt kokt2 kokt3 

objsupp/objddl

object compilation type manager

koku kokv 

objsupp/objsql

support for unparse object operators and object view support

kol kolb kole kolf kolo 

objmgmt/objmgr

support for object Lob buffering , object lob evaluation and object Language/runtime functions for Opaque types

kope2 kopi2 kopo kopp2 kopu koputil kopz

objmgmt/pickler

8.1 engine implementation,  implementation of image ops for 8.1+ image format together with various pickler related support functions

kos 

objsupp/objsup

object Stream interfaces for images/objects

kot kot2 kotg 

objmgmt/typemgr

support for dynamic type operations to create, delete, and  update types.

koxs koxx 

objmgmt/objmgt

object generic image Stream routines and miscellaneous generic object functions

kpcp kpcxlt 

progint/kpc

Kernel programmatic connection pooling and kernel programmatic common type XLT translation routines

kpki 

progint/kpki

kernel programatic interface support

kpls 

cartserv/corecs

support for string formatting operations

kpn 

progint/kpn

support for server to server communication 

kpoal8 kpoaq kpob kpodny kpodp kpods kpokgt kpolob kpolon kpon 

progint/kpo

support for programmatic operations 

kpor 

progint/opi

support for streaming protocol used by replication

kposc 

progint/kpo

support for scrollable cursors

kpotc 

progint/opi

oracle side support functions for setting up trusted external procedure callbacks

kpotx kpov 

progint/kpo

support for managing local and distributed transaction coordination.

kpp2 kpp3 

sqllang/parse

kpp2 – parse routines for dimensions; 

kpp3 – parse support for create/alter/drop summary  statements

kprb kprc 

progint/rpi

support for executing sql efficiently on the Oracle server side as well as for copying data types during rpi operations

kptsc 

progint/twotask

callback functions provided to all streaming operation as part of replication functionality 

kpu kpuc kpucp 

progint/kpu

Oracle kernel side programmatic user interface,  cursor management functions and client side connection pooling support

kqan kqap kqas 

argusdbg/argusdbg

server-side notifiers and callbacks for debug operations. 

kql kqld kqlp 

dict/libcache

SQL Library Cache manager – manages the sharing of sql statements in the shared pool

kqr 

dict/rowcache

row cache management. The row cache consists of a set of facilities to provide fast access to table definitions and locking capabilities.

krbi krbx krby krcr krd krpi 

rcv

Backup and recovery related operations : 

krbi

- dbms_backup_restore package underlying support.; krbx -  proxy copy controller; krby – image copy; krcr – Recovery Controlfile Redo; krd – Recover Datafiles (Media & Standby Recovery);  krpi – support for the package : dbms_pitr

krvg krvt 

rcv/vwr

krvg – support for generation of redo associated with DDL; krvt – support for redo log miner viewer (also known as log miner)

ksa ksdp ksdx kse ksfd ksfh ksfq ksfv ksi ksim ksk ksl ksm ksmd ksmg ksn ksp kspt ksq ksr kss ksst ksu ksut 

vos

support for various kernel associated capabilities

ksx

sqlexec/execsvc

support for query execution associated with temporary tables

ksxa ksxp ksxr 

vos

support for various kernel associated capabilities in relation to OPS or RAC operation

kta 

space/spcmgmt

support for DML locks and temporary tables associated with table access

ktb ktbt ktc 

txn/lcltx

transaction control operations at the block level : locking block, allocating space within the block , freeing up space, etc.

ktec ktef ktehw ktein ktel kteop kteu 

space/spcmgmt

support for extent management operations : 

ktec

- extent concurrency operations; ktef – extent format; ktehw – extent high water mark operations; ktein – extent  information operations; ktel – extent support for sql loader; kteop – extent operations : add extent to segment, delete extent, resize extent, etc. kteu – redo support for operations changing segment header / extent map

ktf 

txn/lcltx

flashback support

ktfb ktfd ktft ktm 

space/spcmgmt

ktfb – support for bitmapped space manipulation of files/tablespaces;  ktfd – dictionary-based extent management; ktft – support for temporary file manipulation; ktm – SMON operation

ktp ktpr ktr ktri 

txn/lcltx

ktp – support for parallel transaction operation; ktpr – support

for parallel transaction recovery; ktr – kernel transaction read consistency;  

ktri – support for dbms_resumable package

ktsa ktsap ktsau ktsb ktscbr ktsf ktsfx ktsi ktsm ktsp ktss ktst ktsx ktt kttm 

space/spcmgmt

support for checking and verifying space usage

ktu ktuc ktur ktusm 

txn/lcltx

internal management of undo and rollback segments

kwqa kwqi kwqic kwqid kwqie kwqit kwqj kwqm kwqn kwqo kwqp kwqs kwqu kwqx 

oltp/qs

support for advanced queuing : 

kwqa

- advanced queue administration; kwqi – support for AQ PL/SQL trusted callouts; kwqic – common AQ support functions; kwqid – AQ

dequeue support; kwqie – AQ enqueu support ; kwqit – time management operation ; kwqj – job queue scheduler for propagation; kwqm

- Multiconsumer queue IOT support; kwqn – queue notifier; kwqo – AQ support for checking instType checking options; kwqp – queueing propagation; kwqs – statistics handling; kwqu – handles lob data. ; kwqx – support for handling transformations

kwrc kwre 

oltp/re

rules engine evaluation

kxcc kxcd kxcs 

sqllang/integ

constraint processing

kxdr

sqlexec/dmldrv

DML driver entrypoint 

kxfp kxfpb kxfq kxfr kxfx 

sqlexec/pq

parallel query support

kxhf kxib 

sqlexec/execsvc

khhf- support for hash join file and memory management; kxib – index buffering operations

kxs 

dict/instmgmt

support for executing shared cursors

kxti kxto kxtr 

dbproc/trigger

support for trigger operation

kxtt 

ram/partnmap

support for temporary table operations

kxwph 

ram/data

support for managing attributes of the segment of a table / cluster / table-partition

kza 

security/audit

support for auditing operations 

kzar 

security/dac

support for application auditing

kzck 

security/crypto

encryption support

kzd 

security/dac

support for dictionary access by security related functions 

kzec 

security/dbencryption

support inserting and retrieving encrypted objects into and out of the database

kzfa kzft 

security/audit

support for fine grained auditing

kzia 

security/logon

identification and authentication operations

kzp kzra kzrt kzs kzu kzup 

security/dac

security related operations associated with privileges 

msqima msqimb 

sqlexec/sqlgen

support for generating sql statments

ncodef npi npil npixfr 

progint/npi

support for managing remote network connection from  within the server itself

oba 

sqllang/outbufal

operator buffer allocate for various types of operators : concatenate, decode, NVL, etc.  the list is extensive.

ocik 

progint/oci

OCI oracle server functions

opiaba opidrv opidsa opidsc opidsi opiexe opifch opiino opilng opipar opipls opirip opitsk opix 

progint/opi

OPI Oracle server functions – these are at the top of the server stack and are called indirectly by ythe client in order to server the client request.

orlr 

objmgmt/objmgr

support for  C langauge interfaces to user-defined types (UDTs) 

orp 

objmgmt/pickler

oracle’s external pickler / opaque type interfaces

pesblt pfri pfrsqc 

plsql/cox

pesblt – pl/sql built in interpreter; pfri – pl/sql runtime; pfrsqc – pl/sql callbacks for array sql and dml with returning

piht 

plsql/gen/utl

support for pl/sql implementation of utl_http package

pirg 

plsql/cli/utl_raw

support for pl/sql implementation of utl_raw package

pism 

plsql/cli/utl_smtp

support for pl/sql implementation of utl_smtp package

pitcb 

plsql/cli/utl_tcp

support for pl/sql implementation of utl_tcp package

piur 

plsql/gen/utl_url

support for pl/sql implementation of utl_url package

plio 

plsql/pkg

pl/sql object instantiation 

plslm 

plsql/cox

support for NCOMP processing

plsm pmuc pmuo pmux 

objmgmt/pol

support for pl/sql handling of collections

prifold priold 

plsql/cox

support to allow rpc forwarding to an older release 

prm 

sqllang/param

parameter handling associated with sql layer

prsa prsc prssz 

sqllang/parse

prsa – parser for alter cluster command; prsc – parser for create database command; prssz – support for parse context to be saved

psdbnd psdevn 

progint/dbpsd

psdbnd – support for managing bind variables; psdevn – support for pl/sql debugger

psdicd 

progint/plsicds

small number of ICD to allow pl/sql to call into ‘C’ source

psdmsc psdpgi 

progint/dbpsd

psdmsc – pl/sql system dependent miscellaneous functions ; psdpgi – support for opening and closing cursors in pl/sql

psf 

plsql/pls

pl/sql service related functions for instantiating called pl/sql unit in library cache

qbadrv qbaopn 

sqllang/qrybufal

provides allocation of buffer and control structures in query execution 

qcdl qcdo 

dict/dictlkup

qcdl – query compile semantic analysis; qcdo – query compile dictionary support for objects

qci 

dict/shrdcurs

support for SQL language parser and semantic analyser

qcop qcpi qcpi3 qcpi4 qcpi5 

sqllang/parse

support for query compilation parse phase

qcs qcs2 qcs3 qcsji qcso 

dict/dictlkup

support for semantic analysis by SQL compiler

qct qcto 

sqllang/typeconv

qct – query compile type check operations; qcto -  query compile type check operators

qcu 

sqllang/parse

various utilities provided for sql compilation

qecdrv 

sqllang/qryedchk

driver performing high level checks on sql language query capabilities

qerae qerba qerbc qerbi qerbm qerbo qerbt qerbu qerbx qercb qercbi qerco
qerdl qerep qerff qerfi qerfl qerfu qerfx qergi qergr qergs qerhc qerhj qeril qerim qerix qerjm qerjo qerle qerli qerlt qerns qeroc qeroi qerpa qerpf qerpx qerrm qerse qerso qersq qerst qertb qertq qerua qerup qerus qervw qerwn qerxt 

sqlexec/rowsrc

row source operators : 

qerae – row source

(And-Equal) implementation; qerba – Bitmap Index AND row source; qerbc – bitmap index compaction row source; qerbi – bitmap index

creation row source; qerbm – QERB Minus row source; qerbo  – Bitmap Index OR row source; qerbt – bitmap convert row source; qerbu – Bitmap Index Unlimited-OR row source; qerbx – bitmap index access row source; qercb – row source: connect by; qercbi – support

for connect by; qerco – count row source; qerdl – row source delete; qerep – explosion row source; qerff – row source fifo buffer;

qerfi  – first row row source; qerfl  – filter row source definition; qerfu – row source: for update; qerfx – fixed table row source; qergi – granule iterator row source; qergr – group by rollup row source; qergs – group by sort row source; qerhc – row

sources hash clusters; qerhj – row source Hash Join;  qeril  – In-list row source; qerim – Index Maintenance row source; qerix – Index row source; qerjo – row source: join; qerle – linear execution row source implementation; qerli – parallel create

index; qerlt – row source populate Table;  qerns  – group by No Sort row source; qeroc – object collection iterator row source; qeroi – extensible indexing query component; qerpa – partition row sources; qerpf – query execution row source: prefetch;

qerpx – row source: parallelizer; qerrm – remote row source; qerse – row source: set implementation; qerso – sort row source; qersq

- row source for sequence number; qerst  – query execution row sources: statistics; qertb – table row source; qertq  – table queue row source; qerua – row source : union-All; 

qerup – update row source; qerus – upsert row source ; qervw – view row source; qerwn – WINDOW row source; qerxt – external table fetch row source

qes3t qesa qesji qesl qesmm qesmmc 

sqlexec/execsvc

run time support for sql execution

qkacon qkadrv qkajoi qkatab qke qkk qkn qkna qkne 

sqlexec/rwsalloc

SQL query dynamic structure allocation routines

qks3t 

sqlexec/execsvc

query execution service associated with temp table transformation

qksmm qksmms qksop 

sqllang/compsvc

qksmm -  memory management services for the SQL compiler; qksmms – memory management simulation services for the SQL compiler; qksop – query compilation service for operand processing

qkswc 

sqlexec/execsvc

support for temp table transformation associated for with clause.

qmf 

xmlsupp/util

support for ftp server; implements processing of ftp commands

qmr qmrb qmrs 

xmlsupp/resolver

support hierarchical resolver 

qms 

xmlsupp/data

support for storage and retrieval of XOBs

qmurs 

xmlsupp/uri

support for handling URIs

qmx qmxsax 

xmlsupp/data

qmx – xml support; qmxsax – support for handling sax processing

qmxtc 

xmlsupp/sqlsupp

support for ddl  and other operators related to the sql XML support

qmxtgx 

xmlsupp

support for transformation : ADT -> XML

qmxtsk 

xmlsupp/sqlsupp

XMLType support functions 

qsme 

summgmt/dict

summary management expression processing

qsmka qsmkz 

dict/dictlkup

qsmka – support to analyze request in order to determine whether a summary could be created that would be useful; qsmkz – support for create/alter summary semantic analysis 

qsmp qsmq qsmqcsm qsmqutl 

summgmt/dict

qsmp – summary management partition processing; qsmq – summary

management dictionary access; qsmqcsm – support for create / drop / alter summary and related dimension operations; qsmqutl – support for summaries 

qsms 

summgmt/advsvr

summary management advisor

qxdid 

objsupp/objddl

support for domain index ddl operations

qxidm 

objsupp/objsql

support for extensible index dml operations

qxidp 

objsupp/objddl

support for domain index ddl partition operations

qxim 

objsupp/objsql

extensible indexing support for objects

qxitex qxopc qxope 

objsupp/objddl

qxitex – support for create / drop indextype; qxope – execution time support for operator  callbacks; qxope – execution time support for operator DDL

qxopq qxuag qxxm 

objsupp/objsql

qxopq – support for queries with user-defined operators; qxuag – support for user defined aggregate processing; qxxm – queries involving external tables 

rfmon rfra rfrdb rfrla rfrm rfrxpt 

drs

implements 9i data guard broker monitor 

rnm 

dict/sqlddl

manages rename statement operation

rpi 

progint/rpi

recursive procedure interface which handles the the environment setup where multiple recursize statements are executed from one top level statement

rwoima 

sqlexec/rwoprnds

row operand operations

rwsima 

sqlexec/rowsrc

row source implementation/retrieval according to the defining query

sdbima 

sqlexec/sort

manages and performs sort operation

selexe 

sqlexec/dmldrv

handles the operation of select statement execution

skgm 

osds

platform specific memory management rountines interfacing with O.S. allocation functions

smbima sor 

sqlexec/sort

manages and performs sort operation

sqn 

dict/sqlddl

support for parsing references to sequences

srdima srsima stsima 

sqlexec/sort

manages and performs sort operation

tbsdrv 

space/spcmgmt

operations for executing create / alter / drop tablespace and related supporting functions

ttcclr ttcdrv ttcdty ttcrxh ttcx2y 

progint/twotask

two task common layer which provides high level interaction and

negotiation functions for Oracle client when communicating with the server.  It also provides important function of converting client side data / data types into equivalent on the server and vice versa

uixexe ujiexe updexe upsexe 

sqlexec/dmldrv

support for : index maintenance operations, the execution of the

update statement and associated actions connected with update as well as the upsert command which combines the operations of update and insert

vop 

optim/vwsubq

view optimisation related functionality

xct 

txn/lcltx

support for the management of transactions and savepoint operations

xpl 

sqlexec/expplan

support for the explain plan command

xty 

sqllang/typeconv

type checking functions

zlke 

security/ols/intext

label security error handling component



三. 其他参数说明

   ​


ORA-600 各个参数的格式和说明如下:

ERROR:

ORA-600 [2662] [a] [b] [c] [d] [e]

ARGUMENTS:

Arg [a] Current SCN WRAP

Arg [b] Current SCN BASE

Arg [c] dependent SCN WRAP

Arg [d] dependent SCN BASE

Arg [e] Where present this is the DBA wherethe dependent SCN came from.

注意,这里的DBA 指的是Data Block Address. 相关说明,参考我的Blog:     

From kcrf.h:

       Ifthe SCN comes from the recent or current SCN then a dba of zero is saved. If itcomes from undo$ because the undo segment is not available then the undosegment number is saved, which looks like a block from file 0. If the SCN isfor a media recovery redo (i.e. block number == 0 in change vector), then thedba is for block 0 of the relevant datafile. If it is from another database fora distributed transaction then dba is DBAINF(). If it comes from a TX lock thenthe dba is really usn<<16+slot.


       在MOS 的文档:[ID 365536.1] 里提到了SCN 与SCN WRAP,SCN BASE这两个参数的关系。


SCN value is storedinternally as :

(1)SCN_wrap

(2)SCN_base


       Wheneverthe SCN is incremented, the BASE component is incremented first unil it reachesit maximum. Once the BASE reaches the maximum value allowed, it is initializedto zero again after incrementing the WRAP by 1.

--开始时WRAP 为0,即SCN_WRP=0.当BASE增长到最大值后,SCN_BAS变为0. 同时SCN_WRP增长到1


Using this logic, we cancalculate the timestamp of the SCN as follows:

       (SCN_WRP* 4294967296) + SCN_BAS should give us the SCN in the number format

      --SCN 的计算公式,这里我们看出SCN 是根据SCN_BAS计算出来的。和系统时间是没有关系的。 只是方便我们来进行操作,如闪回恢复,而将SCN 和 系统时间每隔5分钟进行一次映射。 映射完后,由SMON进程将映射关系写入SMON_SCN_TIME表。 可以把SCN 看成是Oracle内部的时间。


To get the time/date for an SCN value in9i, use the following example:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

-- (a) Get the current SCN base.

SQL>select max(scn_bas) SCN_BASE fromsmon_scn_time;

1603342197

--(b) Get the complete SCN and thetimestamp.

SQL> alter session setNLS_DATE_FORMAT='DD-MON-YY HH:MI:SS';

SQL> select time_dp TIMESTAMP,scn_wrp*4294967296+SCN_bas SCN from smon_scn_time where scn_bas='1603342197';

TIMESTAMP SCN

------------------ ----------

28-JUL-06 05:31:08 8252235517813


       现在来看下这5个参数之间的关系。

ARGUMENTS:

Arg [a] Current SCN WRAP

Arg [b] Current SCN BASE

Arg [c] dependent SCNWRAP

Arg [d] dependent SCN BASE

Arg [e] Where present this is the DBA wherethe dependent SCN came from.

       根据SCN WRAP 和 SCN BASE,我们可以计算出当前SCN 对应的timestamp。


对与depent SCN 和 current SCN 关系,咨询了一下dbsnake。给出的回复如下:

       当一个库是clean shutdown的时候,Oracle一定会做full checkpoint,把所有的dirty block都写回各自的datafile,同时把当前的SCN作为checkpoint SCN写回到各个datafile的datafile header中。也就是说,如果一个库是clean shutdown,那么这个库不可能有一个数据块的块里的SCN(Oracle的一个数据块里的SCN有三种,分别是块头的SCN,CSC和ITL中记录的commit SCN)比刚才写回的checkpoint SCN要大。


       当一个库启动时,Oracle会做一系列的校验,其中有一个检查就是Oracle会去检查system表空间下的某些块,如果Oracle发现这些块里的SCN要比这个库当前的current SCN(实际上,启库时的current SCN就来源于shutdown时记录在datafileheader中的checkpoint SCN)要大的时候,就表明这个库是有问题了,



       此时Oracle就会报跟SCN相关的一系列错误,ORA-600[2662]只是其中的一种。对于ORA-600[2662]这种情况,dependent SCN实际上就是Oracle发现有问题的system表空间下的某些块里的SCN,这个SCN可能是这个块里ITL中记录的commit SCN,也有可能是CSC (cleanout SCN)。


       根据dbsnake 的说明,这个dependent SCN 是某个数据块里的SCN. 正常情况下,这个SCN 是要小于current SCN的,当dependent SCN 大于current SCN 就会报相关的错误。instance failure 和physical corruption 都可能会造成这个问题。