Databases Reference
In-Depth Information
To determine where the trace iles are generated, you must issue the following
statement, for which you might need help from your DBA, if you do not have
access to the V$PARAMETER view:
SQL> select value
2 from v$parameter
3 where name = 'user_dump_dest'
4 /
VALUE
----------------------------------------------------------
/home/oracle/app/oracle/diag/rdbms/orcl/orcl/trace
In the preceding location, you will ind all the trace iles that are generated from
the database; tracking down the correct ile can be quite a challenge. When you
search the folder for the exception number, ORA-28113 , the number of iles can
be greatly reduced.
When you open up the correct trace ile, you can see the culprit. The statement that
you issued as well as the added predicate done by the VPD Policy function results in
two WHERE clauses for the SQL statement:
Error information for ORA-28113:
Logon user : ADMIN
Table/View : ADMIN.EMP
Policy name : ALL_OR_NOTHING
Policy function: ADMIN.GET_PREDICATE
RLS view :
SELECT "EMPNO","ENAME","JOB","MGR","HIREDATE","SAL","COMM","DEPTNO" FROM
"ADMIN"."EMP" "EMP" WHERE (where 1=1)
ORA-00936: missing expression
-------------------------------------------------------------
The trace ile indicates the error that was encountered, the user, the table, the name
of the VPD policy, and the VPD policy function that was used. Under the section
labeled RLS view , you can see the issued statement.
Examining this statement will point you directly to the—now obvious—mistake.
As you can see, there are two WHERE keywords in the statement
 
Search WWH ::




Custom Search