ORA-29471 DBMS_SQL SECURITY ERROR




Please set the below:
============== suggestions from oracle(Service request) as fallows===============
alter system set "_dbms_sql_security_level" = 384 scope=spfile;
and bounce the instance.
===================================================================



Cause of this error is setting the security level using parameter _dbms_sql_security_level.
The system parameter "_dbms_sql_security_level" controls the security in DBMS_SQL in the following ways:
a. Scan protection
DBMS_SQL will be locked out with access denied error once an invalid
cursor is detected. This scan protection security feature is on by
default. To back out or disable this security feature set
_dbms_sql_security_level system parameter with 0x80 (128) bit.
b. Privilege checking
DBMS_SQL will error out if the effective userid and roles of the
caller to dbms_sql subprogram is not the same as those of the caller
of the most recent parse operation.
Level 0 Level
0 allows all DBMS_SQL operations on the cursor without any security
checks. The cursor may be fetched from, and even rebound
and
reexecuted,
by code running with a different effective userid or roles
than in effect at the time the cursor was parsed.
Level 1 (default privilege checking level) Level
1 requires that the effective userid and roles of the caller to
dbms_sql for bind and execute operations on the cursor must be the same
as those of the caller of the most recent parse operation on the cursor.
Level 2 Level
2 requires that the effective userid and roles of the caller to
dbms_sql for all bind, execute, define, describe, and fetch operations
on the cursor must be the same as those of the caller of the most recent
parse operation on the cursor.
c. Security Enforcement in open_cursor
DBMS_SQL does not allow open_cursor with lower security level (level 0) to be specified.
Security enforcement in open_cursor is on by default. To back out or disable security
enforcement in open_cursor set _dbms_sql_security_level system parameter with 0x100 (256) bit.
By default, level 0 is disallowed. Level 0 is allowed only when security enforcement in open_cursor set by the system parameter
_dbms_sql_security_level is turned off (0x100).
When setting _dbms_sql_security_level with 384 (0x180), it means:
no security checks(level 0), no scan protection (0x80), and no security enforcement in open_cursor (0x100)



Thanks for the visit !
 Any doubts or correction/suggestions, please comment below it helps me to improve in further posts.

Comments

Popular posts from this blog

Shareplex some commands

SQL Tuning Task Creation ORA-13780: SQL statement does not exist.

ORA 700 [kskvmstatact: excessive swapping observed]