SQL> CONNECT SYS/ORACLE@DB03 AS SYSDBA Connected. SQL> execute DBMS_LOGMNR_D.BUILD('db03dict.ora','c:oracleLM'); BEGIN DBMS_LOGMNR_D.BUILD('db03dict.ora','c:oracleLM'); END; * ERROR at line 1: ORA-06532: Subscript outside of limit ORA-06512: at "SYS.DBMS_LOGMNR_D", line 793 ORA-06512: at line 1Please help me out.
I hate it when you solve one problem and then another comes up!!! Oh well....
This is actually a common problem. Others have experienced the same thing. This is a known bug and should have been fixed in Oracle 22.214.171.124 and higher. But you can fix this without applying a patchset. Simply peform the following:
- Navigate to the ORACLE_HOME/rdbms/admin directory.
- Load the dbmslmd.sql file into a text editor of your choice.
- Change the line:
TYPE col_desc_array IS VARRAY(513) OF col_description;to
TYPE col_desc_array IS VARRAY(700) OF col_description;
- Save the file.
- Connect as INTERNAL (or SYS) and run this script again.
- Recompile the package body DBMS_LOGMNR_D:
SQLPLUS> alter package DBMS_LOGMNR_D compile body;That should fix your problem.
For More Information
- Dozens more answers to tough Oracle questions from Brian Peasland are available.
- The Best Oracle Web Links: tips, tutorials, scripts, and more.
- Have an Oracle or SQL tip to offer your fellow DBAs and developers? The best tips submitted will receive a cool prize. Submit your tip today!
- Ask your technical Oracle and SQL questions -- or help out your peers by answering them -- in our live discussion forums.
- Ask the Experts yourself: Our SQL, database design, Oracle, SQL Server, DB2, metadata, object-oriented and data warehousing gurus are waiting to answer your toughest questions.
This was first published in December 2002