Skip to Main Content

Breadcrumb

Question and Answer

Tom Kyte

Thanks for the question.

Asked: May 15, 2001 - 9:32 pm UTC

Last updated: August 24, 2004 - 3:40 pm UTC

Version: 8.1.7

Viewed 10K+ times! This question is

You Asked

You just don't see ConnectionEvent because I sent
only a part of the error messages.
Actualy it already has been loaded.

Ivaylo

"Can you verify. for example I see the error message:

ORA-29534: referenced object TEST.com/ibm/mq/resource/spi/ConnectionEvent

but in the list i only see:

creating : com/ibm/mq/MQObjectRecord
loading : com/ibm/mq/resource/spi/LocalTransactionException
creating : com/ibm/mq/resource/spi/LocalTransactionException
loading : com/ibm/mq/resource/spi/IllegalStateException
creating : com/ibm/mq/resource/spi/IllegalStateException
loading : com/ibm/mq/MQS390PackedDecimalSupport


LocalTransactionException and IllegaStateException getting loaded? Is
ConnectionEvent in fact getting loaded and I just don't see it?
"

Hi Tom,

Thank you for your quck answer. Please find
the additional information, bellow.

First I will describe the project in a few
words.
We are trying to integrate Oracle based application
with IBM MQSeries, using Java and JMS provider for
MQSeries. The goal is to have updates to tables
immediately propagated to MQSeries as appropriate
messages. Of course one of possible solutions
is to use Java application server and EJB
to update both MQSeries and Oracle in one
transaction. But at the moment as we are
at the early stages on our EAI project we
decided to speed up the solution and use
JMS straith from a Java stored procedure in
the database. In order this to happen we
have to load the following jars:
jms.jar (it is already loaded in SYS
shema as a part of javax.*), com.ibm.mq.jar,
and com.ibm.mqjms.jar. They can be obtained
from www.ibm.com/software/ts/mqseries.
The problem arise when we try to load the last
two jars. The loadjava utility can't resolve
references to the classes in these packages,
which is very strange as they are already there.
We use Oracle 8.1.7.

Following are the command lines:

loadjava -u test/test -f -r -v com.ibm.mq.jar

or

loadjava -u sys/change_on_install -f -r -v com.ibm.mq.jar

(it doesn't matter what is the user, the result is
the same)

And this is the part of error messages:

loading : com/ibm/mq/MQDistributionList
creating : com/ibm/mq/MQDistributionList
loading : com/ibm/mq/MQSimpleConnectionManager$1
creating : com/ibm/mq/MQSimpleConnectionManager$1
loading : com/ibm/mq/MQObjectRecord
creating : com/ibm/mq/MQObjectRecord
loading : com/ibm/mq/resource/spi/LocalTransactionException
creating : com/ibm/mq/resource/spi/LocalTransactionException
loading : com/ibm/mq/resource/spi/IllegalStateException
creating : com/ibm/mq/resource/spi/IllegalStateException
loading : com/ibm/mq/MQS390PackedDecimalSupport
creating : com/ibm/mq/MQS390PackedDecimalSupport
loading : com/ibm/mq/MQResponseRecord
creating : com/ibm/mq/MQResponseRecord
loading : com/ibm/mq/MQBindingsManagedConnectionFactoryJ11
creating : com/ibm/mq/MQBindingsManagedConnectionFactoryJ11
loading : META-INF/MANIFEST.MF
creating : META-INF/MANIFEST.MF
resolver :
resolving: com/ibm/mq/resource/spi/ConnectionEventListener
errors : com/ibm/mq/resource/spi/ConnectionEventListener
ORA-29534: referenced object TEST.com/ibm/mq/resource/spi/ConnectionEvent could not be resolved
resolving: com/ibm/mq/StoredManagedConnection
errors : com/ibm/mq/StoredManagedConnection
ORA-29534: referenced object TEST.com/ibm/mq/MQSESSION could not be resolved
resolving: com/ibm/mq/MQEnvironment
errors : com/ibm/mq/MQEnvironment
ORA-29534: referenced object TEST.com/ibm/mq/MQSESSION could not be resolved
resolving: com/ibm/mq/ManagedConnectionStore
errors : com/ibm/mq/ManagedConnectionStore
ORA-29534: referenced object TEST.com/ibm/mq/StoredManagedConnection could not be resolved
resolving: com/ibm/mq/MQSESSIONClient

Please note that the classes from com/ibm/mq are already
there but the references to them can't be resolved ?????

Thank you once again for your quick answer
and I hope to hear from you soon.

Ivaylo Evtimov

System Architect
Unicredito Group

I am trying to load JMS provider from IBM.
The name of the file is com.ibm.mq.jar and
every time I receive error messages that some
of the classes can't be resolved. But they
are in this jar file, I already checked this.

Regards,

Ivaylo

and Tom said...


I found that some of the IBM MQ Series code (from
</code> http://www-4.ibm.com/software/ts/mqseries/txppacs/ma88.html
 needs a few
things. I tried to load the com.ibm.mq.jar file into an 8.1.7.1 database
running on Solaris 8. Here is my output:

  > loadjava -u scott/tiger -o -r com.ibm.mq.jar
      ORA-29534: referenced object
SCOTT.com/ibm/mq/resource/spi/ConnectionEvent could not be resolved
      ORA-29534: referenced object SCOTT.com/ibm/mq/MQSESSION could not be
resolved
      ORA-29534: referenced object SCOTT.com/ibm/mq/MQSESSION could not be
resolved
      ORA-29534: referenced object SCOTT.com/ibm/mq/StoredManagedConnection
could not be resolved
      ORA-29534: referenced object SCOTT.com/ibm/mq/MQSESSION could not be
resolved
      ORA-29534: referenced object SCOTT.com/ibm/mq/MQSESSION could not be
resolved
      ORA-29534: referenced object SCOTT.com/ibm/mq/MQQueueManager could not
be resolved
      ORA-29534: referenced object SCOTT.com/ibm/mq/MQQueueManager could not
be resolved
      ORA-29534: referenced object SCOTT.com/ibm/mq/MQManagedConnectionJ11
could not be resolved
      ORA-29534: referenced object
SCOTT.com/ibm/mq/MQManagedConnectionFactory could not be resolved
      ORA-29534: referenced object SCOTT.com/ibm/mq/MQQueueManager could not
be resolved
      ORA-29534: referenced object
SCOTT.com/ibm/mq/resource/spi/ManagedConnection could not be resolved
      ORA-29534: referenced object SCOTT.com/ibm/mq/server/MQSESSION could
not be resolved
      ORA-29534: referenced object SCOTT.com/ibm/mq/server/MQSESSION could
not be resolved
      ORA-29534: referenced object
SCOTT.com/ibm/mq/resource/spi/ManagedConnectionFactory could not be resolved
      ORA-29534: referenced object SCOTT.com/ibm/mq/MQEnvironment could not
be resolved
      ORA-29534: referenced object
SCOTT.com/ibm/mq/MQBindingsManagedConnectionFactory could not be resolved
      ORA-29534: referenced object SCOTT.com/ibm/mq/MQSESSION could not be
resolved
      ORA-29534: referenced object SCOTT.com/ibm/mq/MQQueueManager could not
be resolved
      ORA-29521: referenced name javax/security/auth/Subject could not be
found
      ORA-29521: referenced name javax/security/auth/Subject could not be
found
      ORA-29534: referenced object SCOTT.com/ibm/mq/ManagedConnectionStore
could not be resolved
      ORA-29534: referenced object
SCOTT.com/ibm/mq/MQSimpleConnectionManager could not be resolved
      ORA-29534: referenced object SCOTT.com/ibm/mq/MQSESSION could not be
resolved
      ORA-29534: referenced object SCOTT.com/ibm/mq/MQSESSION could not be
resolved
      ORA-29534: referenced object SCOTT.com/ibm/mq/MQEnvironment could not
be resolved
      ORA-29534: referenced object SCOTT.com/ibm/mq/MQEnvironment could not
be resolved
      ORA-29534: referenced object SCOTT.com/ibm/mq/MQQueueManager could not
be resolved
      ORA-29534: referenced object
SCOTT.com/ibm/mq/resource/spi/ManagedConnectionFactory could not be resolved
      ORA-29534: referenced object SCOTT.com/ibm/mq/MQManagedConnectionJ11
could not be resolved
      ORA-29521: referenced name javax/security/auth/Subject could not be
found
      ORA-29521: referenced name javax/security/auth/Subject could not be
found
      ORA-29534: referenced object SCOTT.com/ibm/mq/MQQueueManager could not
be resolved
      ORA-29534: referenced object SCOTT.com/ibm/mq/MQEnvironment could not
be resolved
      ORA-29534: referenced object SCOTT.com/ibm/mq/MQSESSION could not be
resolved
      ORA-29534: referenced object SCOTT.com/ibm/mq/MQSESSION could not be
resolved
      ORA-29534: referenced object SCOTT.com/ibm/mq/MQSESSION could not be
resolved
      ORA-29521: referenced name javax/security/auth/Subject could not be
found
      ORA-29521: referenced name javax/security/auth/Subject could not be
found
      ORA-29534: referenced object SCOTT.com/ibm/mq/StoredManagedConnection
could not be resolved
      ORA-29534: referenced object SCOTT.com/ibm/mq/MQManagedConnection
could not be resolved
      ORA-29534: referenced object SCOTT.com/ibm/mq/MQManagedConnection
could not be resolved
      ORA-29534: referenced object SCOTT.com/ibm/mq/MQManagedConnectionJ11
could not be resolved
      ORA-29534: referenced object SCOTT.com/ibm/mq/MQEnvironment could not
be resolved
      ORA-29534: referenced object SCOTT.com/ibm/mq/MQOD could not be
resolved
      ORA-29534: referenced object SCOTT.com/ibm/mq/MQQueueManager could not
be resolved
      ORA-29534: referenced object
SCOTT.com/ibm/mq/MQSimpleConnectionManager could not be resolved
      ORA-29534: referenced object SCOTT.com/ibm/mq/MQSESSION could not be
resolved
      ORA-29534: referenced object SCOTT.com/ibm/mq/MQManagedConnection
could not be resolved
  loadjava: 49 errors



Here is the same list with all duplicated removed:


    ORA-29534: referenced object SCOTT.com/ibm/mq/StoredManagedConnection
could not be resolved
    ORA-29534: referenced object SCOTT.com/ibm/mq/server/MQSESSION could not
be resolved
    ORA-29534: referenced object
SCOTT.com/ibm/mq/resource/spi/ManagedConnectionFactory could not be resolved
    ORA-29534: referenced object
SCOTT.com/ibm/mq/resource/spi/ManagedConnection could not be resolved
    ORA-29534: referenced object
SCOTT.com/ibm/mq/resource/spi/ConnectionEvent could not be resolved
    ORA-29534: referenced object SCOTT.com/ibm/mq/MQSimpleConnectionManager
could not be resolved
    ORA-29534: referenced object SCOTT.com/ibm/mq/MQSESSION could not be
resolved
    ORA-29534: referenced object SCOTT.com/ibm/mq/MQQueueManager could not
be resolved
    ORA-29534: referenced object SCOTT.com/ibm/mq/MQOD could not be resolved
    ORA-29534: referenced object SCOTT.com/ibm/mq/MQManagedConnectionJ11
could not be resolved
    ORA-29534: referenced object SCOTT.com/ibm/mq/MQManagedConnectionFactory
could not be resolved
    ORA-29534: referenced object SCOTT.com/ibm/mq/MQManagedConnection could
not be resolved
    ORA-29534: referenced object SCOTT.com/ibm/mq/MQEnvironment could not be
resolved
    ORA-29534: referenced object
SCOTT.com/ibm/mq/MQBindingsManagedConnectionFactory could not be resolved
    ORA-29534: referenced object SCOTT.com/ibm/mq/ManagedConnectionStore
could not be resolved
    ORA-29521: referenced name javax/security/auth/Subject could not be
found


It looks similar to yours. One of the classes you are having trouble with is
com/ibm/mq/resource/spi/ConnectionEvent. Incidentally, you can list all
classes that need resolving by running:


    select dbms_java.longname(object_name)
    from   user_objects
    where  object_type = 'JAVA CLASS'
    and    status = 'INVALID';


I attempted to manually resolve the class by running something like this:


  SQL> alter java class "com/ibm/mq/resource/spi/ConnectionEvent" resolve;

  Warning: Java altered with compilation errors.

  SQL> show errors
  Errors for JAVA CLASS /4c02fb7e_ConnectionEvent:

  LINE/COL ERROR
  -------- -----------------------------------------------------------------
-------------------------------------------------------
  0/0      ORA-29534: referenced object
SCOTT.com/ibm/mq/resource/spi/ManagedConnection could not be resolved
  SQL> alter java class "com/ibm/mq/resource/spi/ManagedConnection" resolve;

  Warning: Java altered with compilation errors.

  SQL> show errors
  Errors for JAVA CLASS /d6739f5a_ManagedConnection:

  LINE/COL ERROR
  -------- -----------------------------------------------------------------
-------------------------------------------------------
  0/0      ORA-29534: referenced object SCOTT.javax/security/auth/Subject
could not be resolved
  SQL> alter java class "javax/security/auth/Subject" resolve;

  Warning: Java altered with compilation errors.

  SQL> alter java class "javax/security/auth/Subject" resolve;

  Warning: Java altered with compilation errors.

  SQL> show errors
  Errors for JAVA CLASS javax/security/auth/Subject:

  LINE/COL ERROR
  -------- -----------------------------------------------------------------
-------------------------------------------------------
  0/0      ORA-29534: referenced object SCOTT.javax/security/auth/Subject$3
could not be resolved
  SQL> alter java class "javax/security/auth/Subject$3" resolve;

  Warning: Java altered with compilation errors.

  SQL> show errors
  Errors for JAVA CLASS javax/security/auth/Subject$3:

  LINE/COL ERROR
  -------- -----------------------------------------------------------------
-------------------------------------------------------
  0/0      ORA-29521: referenced name java/security/DomainCombiner could not
be found
  SQL>


Notice that when I was chasing this down, I needed a package named
javax.security.auth. Where did I get that? How come you won't see it in your
Oracle database? It's because it's part of Sun's "Java Authentication and
Authorization Service (JAAS) 1.0". It's located at
http://java.sun.com/products/jaas/
Next, I loaded the JAAS.JAR file. I
didn't get far since it also required a few things. One of the required
classes is java.security.DomainCombiner but, unfortunately, this is only
available in JDK 1.3. I looked in the SYS schema (where all the JDK classes
reside) of my database and there is no DomainCombiner class. If interested,
check out the following references on the security API in JDK 1.2 and 1.3:



http://java.sun.com/products/jdk/1.2/docs/api/java/security/package-summary
html
    
http://java.sun.com/j2se/1.3/docs/api/java/security/package-summary.html


You might be saying, "I never saw anything in the IBM MQ Series
'requirements' section of the documentation that said I needed J2EE or JDK
1.3". I said that too. It seemed to only talk about JDK 1.2 stuff. I had to
read the document titled "Using Java" from
ftp://ftp.software.ibm.com/software/ts/mqseries/library/books/csqzaw06.pdf
It was a link from the first IBM MQ Series web page listed above. Chapter 3
has this to say about connection-related stuff:


    Under Java 2 v1.3, with JAAS 1.0 installed, applications and middleware
providers
    can provide alternative implementations of connection pools. MQ base Java
    provides a partial implementation of the J2EE Connector Architecture.
    Implementations of javax.resource.spi.ConnectionManager can either be used
as
    the default Connection Manager or be specified on the MQQueueManager
    constructor.

    MQ base Java complies with the Connection Management contract of the J2EE
    Connector Architecture. Please read this section in conjunction with the
Connection
    Management contract of the J2EE Connector Architecture (refer to Sun’s Web
site at
    
http://java.sun.com <code>.


This was all I did to fix the first un-resolvable IBM MQ Series class. I'm
sure there will be a lot more dependencies going forward. However, some will
go away since they depend on that ConnectionEvent class. I'm not saying that
it cannot be done but I think it could be time consuming since it **might**
amount to replacing or "overriding" some (or all) of the Oracle-provided JDK
classes. From the IBM documents, it sounds like their connection manager is
optional. Maybe you can just ignore those classes that do not resolve?
Probably not.



Rating

  (8 ratings)

Is this answer out of date? If it is, please let us know via a Comment

Comments

Randall, November 25, 2003 - 11:45 am UTC

Tom, Thanks for the help. We are also trying to do this. I am working through the resolve and came across something that I cannot figure out. Some of the required classes are under java/security/*. We created a jar file with this branch and tried to load under our application schema. But got the error like below for anything under java/security:

loading : java/security/Permission
creating : java/security/Permission
Error while creating class java/security/Permission
ORA-29545: badly formed class: User has attempted to load a class (java.security.Permission) into a restricted package. Permission can be granted
using dbms_java.grant_permission(<user>, LoadClassInPackage...


It also could not resolve items that existed under sys like the following

resolving: java/security/GuardedObject
Error while resolving class java/security/GuardedObject
ORA-04043: object java/security/GuardedObject does not exist

So two questions,

1. Can I load java/security/* classes under my app schema to use those instead of the system ones? And if so what permissions do I need to grant the user? It currently has CONNECT, RESOURCE.

2. Should the jars I load under my schema be able to resolve if they have references to classes not in my schema but under sys? And if so, do you need to grant any right to use reference them.

Thanks for your time




phil, July 09, 2004 - 3:35 am UTC

Could you please give an answer to the above questions regarding permissions (although an old one), I have the same problem with another java class. What permissions does the user need ?

thanks


Tom Kyte
July 09, 2004 - 7:41 am UTC

you cannot replace core java components in sys, no.

phil, July 09, 2004 - 7:04 pm UTC

Can I add to the core components? what is the role of the dbms_java.grant_permission call ?

many thanks

Tom Kyte
July 09, 2004 - 7:17 pm UTC

dbms_java grant permission implements the java security model -- so you can grant read on a directory, or connect over a sock to a specific IP/port and so on. It is just a grant mechanism.

you cannot override what is in there. the jdk is the jdk.


what exactly are you trying to load in there?

phil, July 11, 2004 - 6:17 pm UTC

Hi Tom,

we are trying to load suns JAXB libraries. This references classes in the java/nio package which are needed for resolution.
All the features we require run within jdk 1.3 however when we try to load we get the errors.

--

loadjava -user steve/steve@barney -genmissing -genmissingjar missing.jar dom.jar gen_accountV1.jar jaxb-api.jar jaxb-impl.jar jaxb-libs.jar jax-qname.jar namespace.jar relaxngDatatype.jar sax.jar xalan.jar xercesImpl.jar xsdlib.jar

.....


Error while creating class java/nio/charset/CoderResult
ORA-29545: badly formed class: User has attempted to load a class (java.nio.
charset.CoderResult) into a restricted package. Permission can be granted using
dbms_java.grant_permission(<user>, LoadClassInPackage...

Error while creating class java/nio/charset/CharsetEncoder
ORA-29545: badly formed class: User has attempted to load a class (java.nio.
charset.CharsetEncoder) into a restricted package. Permission can be granted usi
ng dbms_java.grant_permission(<user>, LoadClassInPackage...

Error while creating class java/nio/ByteBuffer
ORA-29545: badly formed class: User has attempted to load a class (java.nio.
ByteBuffer) into a restricted package. Permission can be granted using dbms_jav
a.grant_permission(<user>, LoadClassInPackage...

The following operations failed
class java/nio/Buffer: creation
class java/nio/charset/Charset: creation
class java/nio/CharBuffer: creation
class java/nio/charset/CoderResult: creation
class java/nio/charset/CharsetEncoder: creation
class java/nio/ByteBuffer: creation
exiting : Failures occurred during processing

ultimatly what we require, and I am being guided by java programmers, is to take a result set from oracle and validate it/format it against an xml schema and produce the xml document for output.

many thanks

Tom Kyte
July 16, 2004 - 11:05 am UTC

Hi. This is Mark Piermarini (I work for Tom, mbpierma@oracle.com) and he asked me to help.

My first thought is to confirm which database version you're using. It looks like an 8.x series.

The issue is that you're trying to load java classes into a protected namespace (java.*) so you'll have to load those classes as SYS. Also, are the NIO classes needed just for resolution or are they actually called in the code path you intend to use? The problem is that the JVM in 8.x is not 1.3.x based.

Where we go from here depends upon which database you have. If it's 9.x, my other thought was to see if we could push a result set to/from a PL/SQL procedure to do the XML tranformations.

JAXB classes to be loaded on 9i

Steve, July 18, 2004 - 9:06 pm UTC

Hi Mark,

Thanks for your help.

We are using Oracle 9.2.0.4.

The classes I am trying to load are the ones indicated as required on the Sun web site </code> https://jaxb.dev.java.net/faq/index.html <code>

Q. Which jar files do I need to distribute with my application that uses the JAXB RI?
A. This is the complete list from JAXB RI v1.0.2 (JWSDP1.3) and higher:

$JWSDP_HOME/jaxb/lib/jaxb-api.jar
$JWSDP_HOME/jaxb/lib/jaxb-impl.jar
$JWSDP_HOME/jaxb/lib/jaxb-libs.jar
$JWSDP_HOME/jwsdp-shared/lib/jax-qname.jar
$JWSDP_HOME/jwsdp-shared/lib/namespace.jar
$JWSDP_HOME/jwsdp-shared/lib/relaxngDatatype.jar
$JWSDP_HOME/jwsdp-shared/lib/xsdlib.jar
The runtime also needs a JAXP-compliant parser. If your target environment is JRE 1.4 or higher , it is a part of JRE, so you don't need any more jar file. Otherwise you have to bundle a parser, too. Any parser would do the job, but we recommend the JAXP RI bundled in the JWSDP (which is what we test against.)

We are using the JRE 1.3 from Oracle 9i so I added:

$JWSDP_HOME/jaxp/lib/jaxp-api.jar
$JWSDP_HOME/jaxp/lib/endorsed/sax.jar
$JWSDP_HOME/jaxp/lib/endorsed/dom.jar
$JWSDP_HOME/jaxp/lib/endorsed/xercesImpl.jar
$JWSDP_HOME/jaxp/lib/endorsed/xalan.jar

It is quite a long list but it ties in with my testing outside of Oracle, when I have the above libaries and JDK 1.3 I can run my programs without any problems, remove afew and I either get a compile or runtime errors.

The java.nio.* classes cannot be present in the code path I intend to use as I dont come across any ClassNotFoundException or similar errors in my testing.
So I think the java.nio.* classes are just needed for resolution.

Can you please confirm if it is possible to load and use the Sun JAXB implementation in 9i.

Thanks
Steve

response

phil, August 03, 2004 - 10:16 pm UTC

hi Tom,

would it be possibe to get a response - good or bad - to the above issue. Loading jave classes into our DB especially the Sun JAXB jars is something we would like to resolve.

We have managed to load in and get the relevent sys java classes loaded ( ie the nio ones ), however we are unable to compile/resolve the JAXB classes once in the DB

Please help/advise !!

regards
phil

"Loading Java Classes" example was very useful

Kanchan Bhonde, August 17, 2004 - 7:07 am UTC

Hi Tom,
It was actually a pleasant surprise to get exactly the same problem faced by someone else, for which we have been struggling for a month.

We are as well trying to load MQ.jar etc. in out Oracle 8.1.7 database, and without much success.
I had two questions regarding the same-
1) Is there any patch provided by Oracle for loading JDK 1.3 on Oracle 8.1.7?
2) When we try out the same solution on a client machine, there are no class resolution problems. Why is it so that when these classes are loaded in Oracle, it asks for so many classes for resolution? Does Oracle add some dependency of its own to this?
3) This problem seems to be unending, in the sense we keep on loading classes after classes and still without any success. Should this solution be actually used in real life Softwares, or can you suggest an alternative?

Thanks in advance..

Tom Kyte
August 17, 2004 - 8:07 am UTC

1) that is an upgrade. the jvm is used not only by you but by Oracle -- "upgrading" the jvm would have a slightly "huge effect" on the entire system.

2) you are using a different jdk there right - you should expect different results in that case, they have different libraries.

3) you are trying to load code specifically for 1.3 into a non 1.3 environment. It is akin to trying to use dbms_xplan (new 9ir2 package) in 8i -- it just didn't exist way back then.

High level white paper

g, August 24, 2004 - 2:12 pm UTC

Hello Tom,

Our dev team receives information from MQ series, then uses a lot of C procedure to interpret that XML and then call stored procedures, or sql from Oracle to insert or modify the data in the database. I know that Oracle can communicate directly with MQ series, and I assume that through its XML capabilities should be able to interpret the information received. Can you please tell me where can I find a high level white paper with an architectural design for this type of application that details which components shoulb be installed and used.

Thank you very much,

Tom Kyte
August 24, 2004 - 3:40 pm UTC

you would be transferring the MQ data into AQ and someone from the AQ end would dequeue the message, process it

very much what you have -- you can use the XML stuff in the database even with "mq" -- what this would buy you (using the MQ->AQ stuff) would be transactional consistency -- the dequeue from AQ and the subsequent inserts would be the same transaction -- they either both or neither happen.




More to Explore

PL/SQL demos

Check out more PL/SQL tutorials on our LiveSQL tool.

PL/SQL docs

PL/SQL reference manual from the Oracle documentation library