The sqlcode that you should get within the sql1476n error is the actual error - you will know what it is if the failed message is captured. So far that is how we have figured this one out. However, you may also want to increase the diag level to 4 and this may capture more information in the diag.
An internal exception is raised implicitly whenever your PL/SQL program violates an Oracle rule or exceeds a system-dependent limit. Every Oracle error has a number, but exceptions must be handled by name. So, PL/SQL predefines some common Oracle errors as exceptions.
SQL1476N The current transaction was rolled back because of
The transaction was rolled back because:
1. An implicit or explicit CLOSE CURSOR failed, or
2. A table was being created with the NOT LOGGED INITIALLY
option, or NOT LOGGED INITIALLY was activated for an existing
table. During the same unit of work, either an error
occurred, or a ROLLBACK TO SAVEPOINT statement was issued.
This unit of work is rolled back, with the following
- any table that was created in this unit of work is dropped.
- any NOT LOGGED INITIALLY tables that were activated in the
transaction are marked inaccessible, and can only be
- the "<sqlcode>" will be 0 if a ROLLBACK TO SAVEPOINT was
issued in the transaction.
3. A rollback to savepoint failed.
The "<sqlcode>" reported is the SQLCODE of the original error.
Correct the problem as indicated by the error "<sqlcode>", then
run the transaction again. Remove any ROLLBACK TO SAVEPOINT
statement that is used in the same transaction in which a NOT
LOGGED INITIALLY table is created or activated.