Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Short Dump DBIF_SETG_SQL_ERROR

Former Member
0 Likes
2,420

Can anybody give me some insight as why this error occurs 1st time when the database ( any table) is being accessed.

Runtime errors DBIF_RSQL_SQL_ERROR

Exception CX_SY_OPEN_SQL_DB

-


An SQL error occurred when accessing a table.

-


Error analysis

-


An exception occurred. This exception is dealt with in more detail below

. The exception, which is assigned to the class 'CX_SY_OPEN_SQL_DB', was

neither

caught nor passed along using a RAISING clause, in the procedure

"REPOSITORY_READ" "(FORM)"

.

Since the caller of the procedure could not have expected this exception

to occur, the running program was terminated.

The reason for the exception is:

-


How to correct the error

-


The exception must either be prevented, caught within the procedure

"REPOSITORY_READ"

"(FORM)", or declared in the procedure's RAISING clause.

To prevent the exception, note the following:

Database error text........: "ORA-04031: unable to allocate 4200 bytes of

shared memory ("shared pool","SELECT /*+ FIRST_ROWS */ * ...","library

cache","kkslpkp - literal info.")"

Internal call code.........: "[RSQL/FTCH/TRDIR ]"

Please check the entries in the system log (Transaction SM21).

You may able to find an interim solution to the problem

in the SAP note system. If you have access to the note system yourself,

use the following search criteria:

-


"DBIF_RSQL_SQL_ERROR" CX_SY_OPEN_SQL_DBC

"SAPICP__ " or "ICP__F01 "

"REPOSITORY_READ"

-


If you cannot solve the problem yourself, please send the

following documents to SAP:

1. A hard copy print describing the problem.

To obtain this, select the "Print" function on the current screen.

-

2. A suitable hardcopy prinout of the system log.

To obtain this, call the system log with Transaction SM21

and select the "Print" function to print out the relevant

part.

3. If the programs are your own programs or modified SAP programs,

supply the source code.

To do this, you can either use the "PRINT" command in the editor or

print the programs using the report RSINCL00.

4. Details regarding the conditions under which the error occurred

or which actions and input led to the error.

-


Information on where termination occurred

-


The termination occurred in the ABAP program "SAPICP__ " in "REPOSITORY_READ".

The main program was "RSABAPPROGRAM ".

The termination occurred in line 38 of the source code of the (Include)

program "ICP__F01 "

of the source code of program "ICP__F01 " (when calling the editor 380).

Processing was terminated because the exception "CX_SY_OPEN_SQL_DB" occurred in

the

procedure "REPOSITORY_READ" "(FORM)" but was not handled locally, not declared

in the

RAISING clause of the procedure.

The procedure is in the program "SAPICP__ ". Its source code starts in line 30

of the (Include) program "ICP__F01 ".

4 REPLIES 4
Read only

Former Member
0 Likes
1,132

hi

Same error i am also getting. Please someone give a solution to this.

Subramanya

Read only

Former Member
0 Likes
1,132

looks like there is come communication issues between SAP's application server and SAP's database server? some memory is not getting allocated initially. go to ST22 and c the detailed issue... in the description, u must find smthing try start doing something from the description of the analysis of problem..

hope this will help

Thanks

Ashwani

Read only

0 Likes
1,132

hi

I did the step 2 in the solution below. It worked me.

Thanks a lot to all

Subramanya

Solution

There are two possible steps to avoid the occurrence of ORA-04031 in an SAP R/3 system. The provided steps should be exactly applied in the following order. Only if a one step does not solve the problem the next step should be executed:

STEP 1: Reduce the memory consumption

Use the recommandations in Note 505246 together with Note 507254 to activate the CBO for the problematic statements.

STEP 2: Increase the size of the shared pool

To benefit from the improved scalability of having multiple subpoolsplease adjust your SHARED_POOL_SIZE init.ora parameter for Oracle 9i or 10g using the following formula:

SPS81 = old (current) SHARED_POOL_SIZE being used

SPS92 = new SHARED_POOL_SIZE needed for Oracle 9.2 or 10.x

cpus = CPU_COUNT

The existing values of SPS81 and cpus can be queried from v$parameter:

select name, value from v$parameter where name in ('SHARED_POOL_SIZE', 'CPU_COUNT');

SPS92 = max ( SPS81, min (( cpus / 4 * 350 MB + 300 MB ), 2.75 GB ))

Examples:

CPUs Shared_Pool_Size New Shared Pool Size

4 500M 650M

6 1G 1G

10 1G 1.175G

32 2G 2.75G

64 2G 2.75G

128 3G

Read only

0 Likes
1,132