ORA-22370: incorrect usage of method AnyData Insert

When I insert inherited SQL Types as payload into ANYDATA queue I am getting the following error.
ERROR at line 1:
ORA-00604: error occurred at recursive SQL level 1
ORA-22370: incorrect usage of method AnyData Insert
ORA-06512: at "SYS.DBMS_AQ", line 243
ORA-06512: at line 15
The above error does not happen if the strucutre is flat and not inherited from other type.
I have DOCUMENT_ADD_EVENT structure extends from EVENT_TYPE. IF I insert DOCUMENT_ADD_EVENT as payload, I get the above error but If I use DOCUMENT_ADD_EVENT_FLAT which does not extend any type works fine.
Here is the example code :
create type event_type as object
name VARCHAR2(100 CHAR),
description VARCHAR2(1000 CHAR),
actor_id number,
source_eid number,
source_scope number,
type VARCHAR2(1 CHAR)
) NOT FINAL NOT INSTANTIABLE;
CREATE TYPE DOCUMENT_ADD_EVENT UNDER event_type
properties DOCUMENT_ADDED
CREATE TYPE DOCUMENT_ADD_EVENT_FLAT AS OBJECT
name VARCHAR2(100 CHAR),
description VARCHAR2(1000 CHAR),
actor_id RAW(16),
source_eid RAW(16),
source_scope RAW(16),
type VARCHAR2(1 CHAR),
properties DOCUMENT_ADDED
DECLARE
d document_type := document_type(2,'document1');
a actor_type := actor_type(2,'actor1','[email protected]');
w workspace_type := workspace_type(2,'MarketingWorkspace');
da document_added := document_added(d,a,w);
--dae document_add_Event := document_add_event(null,null,null,null,null,null,da);
dae document_add_Event_flat := document_add_Event_flat(null,null,null,null,null,null,da);
payload SYS.ANYDATA;
Enq_ct DBMS_AQ.Enqueue_options_t;
Msg_prop DBMS_AQ.Message_properties_t;
Enq_msgid RAW(16);
begin
payload := ANYDATA.convertObject(dae);
Msg_prop.Exception_queue := null;
Msg_prop.Correlation := null;
DBMS_AQ.ENQUEUE('ocs.beehive_events', Enq_ct, Msg_prop, payload, Enq_msgid);
end;
/

As said above, the example posted works on 10.2 as well as 9.2.0.5. Can you post a similar example (as my example below) that shows the problem and the exact version of the Oracle database?
SQL> create or replace type xObj as object (
  2          name varchar2(32757),
  3          constructor function xObj return self as result
  4  );
  5  /
Type created.
SQL> CREATE OR REPLACE type body xObj as
  2          constructor function xObj return self as result is
  3          begin
  4                  name := 'this is a sample';
  5                  return;
  6          end;
  7  end;
  8  /
Type body created.
SQL> CREATE GLOBAL TEMPORARY TABLE DATA_TABLE ( DATA ANYDATA ) ;
Table created.
SQL> declare
  2          inv xobj := xobj();
  3          tmp anydata;
  4  begin
  5          tmp := anydata.convertObject(inv);
  6          insert into data_table values(tmp);
  7  end;
  8  /
PL/SQL procedure successfully completed.
SQL> disconnect
Disconnected from Oracle9i Enterprise Edition Release 9.2.0.5.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.5.0 - Production
SQL>                                            

Similar Messages

  • ORA-32162: Read/Write SQL method not registered-for OTT

    I am trying this--
    env = Environment::createEnvironment (Environment::OBJECT);
    RegisterClasses(env);
    conn = env->createConnection (user, passwd, db);
    RegisterClasses is my mapping function; But still I am getting this error at--
    stmt->registerOutParam( 2,OCCIPOBJECT);
    I am trying to make a stored procedure call here...
    Can anyone tell me what is that I am missing?

    Hi,
    I am using OTT generated objects to pass them to my PL/SQL procedures as OUT parameters. When I call the registerOutParam() function, I get this error ORA-32162: Read/Write SQL method not registered.
    I am calling my mapping function after creating environment and before creating my stateless connection pool. But still I am getting this exception at runtime while calling registerOutParam().
    Environment* env;
    env = Environment::createEnvironment(Environment::OBJECT);
    MessageTOMapping(env); // Calling the mapping function here.
    // Creating the stateless connection pool.
    StatelessConnectionPool* scp;
    scp = env->createStatelessConnectionPool("naveen",
    "naveen",
    "//10.105.153.11:1521/pls",
    10,
    5,
    2,
    StatelessConnectionPool::HOMOGENEOUS);
    // Fetch a connection from the stateless connection pool
    conn = scp->getConnection();
    // After this, I create my Statement and call the registerOutParam() which
    // causes ORA-32162 exception.
    Please note that I do not get this error when I don't use any connection-pooling mechanism. That is, if I create an environment in OBJECT mode, call the mapping function with its pointer and create a normal Connection object (without any pooling etc), my application runs perfectly fine. E.g. if I replace the above piece of code with the code below, my application runs fine.
    Environment* env;
    env = Environment::createEnvironment(Environment::OBJECT);
    MessageTOMapping(env); // Calling the mapping function here.
    conn = env->createConnection("naveen", "naveen", "//10.105.153.11:1521/pls");
    // After this, I create my Statement and call the registerOutParam() which
    // does not give problem now and my application runs pefectly fine.
    Can anyone let me know what I am doing wrong while using the stateless connection pooling mechanism? I definitely need to use Stateless Connection Pooling and must not get connections directly from env->createConnection().
    Any help will be greatly appreciated.
    Thanks and Regards,
    Naveen

  • ORA-32162: Read/Write SQL method not registered

    Hi,
    I am using OTT generated objects to pass them to my PL/SQL procedures as OUT parameters. When I call the registerOutParam() function, I get this error ORA-32162: Read/Write SQL method not registered.
    I am calling my mapping function after creating environment and before creating my stateless connection pool. But still I am getting this exception at runtime while calling registerOutParam().
    Environment* env;
    env = Environment::createEnvironment(Environment::OBJECT);
    MessageTOMapping(env); // Calling the mapping function here.
    // Creating the stateless connection pool.
    StatelessConnectionPool* scp;
    scp = env->createStatelessConnectionPool("naveen",
    "naveen",
    "//10.105.153.11:1521/pls",
    10,
    5,
    2,
    StatelessConnectionPool::HOMOGENEOUS);
    // Fetch a connection from the stateless connection pool
    conn = scp->getConnection();
    // After this, I create my Statement and call the registerOutParam() which
    // causes ORA-32162 exception.
    Please note that I do not get this error when I don't use any connection-pooling mechanism. That is, if I create an environment in OBJECT mode, call the mapping function with its pointer and create a normal Connection object (without any pooling etc), my application runs perfectly fine. E.g. if I replace the above piece of code with the code below, my application runs fine.
    Environment* env;
    env = Environment::createEnvironment(Environment::OBJECT);
    MessageTOMapping(env); // Calling the mapping function here.
    conn = env->createConnection("naveen", "naveen", "//10.105.153.11:1521/pls");
    // After this, I create my Statement and call the registerOutParam() which
    // does not give problem now and my application runs pefectly fine.
    Can anyone let me know what I am doing wrong while using the stateless connection pooling mechanism? I definitely need to use Stateless Connection Pooling and must not get connections directly from env->createConnection().
    Any help will be greatly appreciated.
    Thanks and Regards,
    Naveen

    Hi,
    I found one workaround (not solution) to the problem.
    I used an IN OUT parameter instead of an OUT parameter in the stored procedure (though my requirement was only of an OUT parameter actually). This resulted in using the setObject() function instead of the registerOutParam() function which was throwing the ORA-32162 exception at runtime.
    I think there should be better ways in which we can pass an object as OUT parameter while also using stateless connection pooling for managing connections. Please let me know the same in case anyone knows that.
    Kind Regards,
    Naveen

  • ORA-02315: incorrect number of arguments for default constructor

    I was able to register the XML schema successfully by letting Oracle creating the XML Types. Then when I try to execute the create view command the ORA-02315: incorrect number of arguments for default constructor is always raised.
    I tried using the XMLTYPE.createXML but it gives me the same error.
    Command:
    CREATE OR REPLACE VIEW samples_xml OF XMLTYPE
    XMLSCHEMA "http://localhost/samplepeak4.xsd" ELEMENT "SAMPLE"
    WITH OBJECT ID (ExtractValue(sys_nc_rowinfo$, '/SAMPLES/SAMPLE/SAMPLE_ID')) AS
    SELECT sample_t(s.sample_id, s.patient_info, s.process_info, s.lims_sample_id,
    cast (multiset(
    SELECT peak_t(p.peak_id, p.mass_charge, p.intensity, p.retention_time,
    p.cleavage_type, p.search_id, p.match_id, p.mass_observed,
    p.mass_expected, p.delta, p.miss, p.rank, p.mass_calculated,
    p.fraction)
    FROM peak p
    WHERE s.sample_id = p.sample_id) AS PEAK107_COLL))
    FROM sample s;
    Can someone help me.
    Thanks
    Carl

    This example runs without any problems on 9.2.0.4.0. Which version are you running? And which statement causes the error message?

  • HELP!! SDO_RELATE inside Oracle procedure - ORA-13207: incorrect use of the

    Hello,
    I need help !
    I have a problem with queries inside procedures/packages.
    When execute sql
    SQL> SELECT LOC_OBJ_ID
    2 FROM VORO_LOC X, LBS_OZ_AREAS OZ
    3 WHERE MDSYS.SDO_RELATE(X.SHAPE, OZ.GEOLOC, 'MASK=ANYINTERACT') = 'TRUE'
    4 AND OZ.OZ_NAME='PTK' AND OZ.OZ_GROUP='GORCZEWSKA';
    LOC_OBJ_ID
    2211379
    i have results - it's OK
    The next sql is same, but with agregation
    SQL> SELECT COUNT(*) ILOSC
    2 FROM VORO_LOC X, LBS_OZ_AREAS OZ
    3 WHERE MDSYS.SDO_RELATE(X.SHAPE, OZ.GEOLOC, 'MASK=ANYINTERACT') = 'TRUE'
    4 AND OZ.OZ_NAME='PTK' AND OZ.OZ_GROUP='GORCZEWSKA';
    ILOSC
    1
    it's OK
    But when i want use this SQL inside proedurees in store result in variable i have problem
    SQL> declare
    2 V_NUMBER_NEI_LOC number;
    3 begin
    4 SELECT COUNT(*) ILOSC
    5 INTO V_NUMBER_NEI_LOC
    6 FROM VORO_LOC X, LBS_OZ_AREAS OZ
    7 WHERE MDSYS.SDO_RELATE(X.SHAPE, OZ.GEOLOC, 'MASK=ANYINTERACT') = 'TRUE'
    8 AND OZ.OZ_NAME='PTK' AND OZ.OZ_GROUP='GORCZEWSKA';
    9 end;
    10 /
    declare
    ORA-13207: incorrect use of the [SDO_RELATE] operator
    ORA-06512: at "MDSYS.SDO_INDEX_METHOD_9I", line 259
    ORA-06512: at line 4
    ORA-06512: at line 4
    Please help!

    This might be some issue with SQL in PL/SQL. We will check into this.
    In the meantime, can you try the dynamic SQL to execute that
    sdo_relate query to see if it works?
    Here is the example with dynamic SQL:
    declare
    V_NUMBER_NEI_LOC number;
    begin
    EXECUTE IMMEDIATE
    ' SELECT COUNT(*) ILOSC ' ||
    ' FROM VORO_LOC X, LBS_OZ_AREAS OZ ' ||
    ' WHERE MDSYS.SDO_RELATE(X.SHAPE, OZ.GEOLOC, ' ||
    ' ''MASK=ANYINTERACT'') = ''TRUE'' ' ||
    ' AND OZ.OZ_NAME=''PTK'' AND OZ.OZ_GROUP=''GORCZEWSKA'' '
    INTO V_NUMBER_NEI_LOC;
    end;
    /

  • ORA-13207: incorrect use of the [More than 2D not supported] operator

    Oracle 8.1.7.4:
    The same query works in an Oracle DB on Linux and Windows, but in a Solaris it gives me the following error:
    cc_redes_met_coaxial@ORAG2> SELECT lot_f.lot_id id,
    ROUND(MDSYS.SDO_GEOM.SDO_DISTANCE(lot_geom.geometry, ped_geom.geometry, 0.5),2) dist
    FROM lot_f,
    pedestal_f,
    G_GEOMETRY_0 lot_geom,
    2 G_GEOMETRY_0 ped_geom
    WHERE lot_f.feat_num = lot_geom.feat_num
    3 AND pedestal_f.acc_point_id = 611
    AND pedestal_f.feat_num = ped_geom.feat_num
    4 AND lot_f.g_version+0 = 0
    AND (lot_f.g_next_version > 0 OR lot_f.g_next_version IS NULL)
    5 AND pedestal_f.g_version+0 = 0
    6 AND (pedestal_f.g_next_version > 0 OR pedestal_f.g_next_version IS NULL)
    AND MDSYS.SDO_WITHIN_DISTANCE(lot_geom.geometry, ped_geom.geometry,'distance = 100' ) = 'TRUE';
    7 8 9 10 11 12 13 14 SELECT lot_f.lot_id id,
    ERROR at line 1:
    ORA-29902: error in executing ODCIIndexStart() routine
    ORA-13207: incorrect use of the [More than 2D not supported] operator
    ORA-06512: at "MDSYS.SDO_INDEX_METHOD", line 84
    ORA-06512: at line 1
    The data is in 3D. I took a look at the trace file but no useful information. It does not have to be 2d, right?
    I can use SDO_WITHIN_DISTANCE with data in 3d, can't I?
    Does anyone know what is going on? Maybe a bug?
    Regards,
    Alex

    Daniel,
    I created the spatial index in 2d, but if I collect stats on all tables the optimizer doesn't use the spatial index.
    I tried to influence the optimizer using hints, but it seems to ignore the hint clause. The query I did is above:
    SELECT /*+ INDEX(lot_geom G_GEOMETRY_0_SI) INDEX(ped_geom G_GEOMETRY_0_SI) */
         lot_f.lot_id id,
    ROUND(MDSYS.SDO_GEOM.SDO_DISTANCE(lot_geom.geometry, ped_geom.geometry, 0.5),2) dist
    FROM lot_f,
    pedestal_f,
    G_GEOMETRY_0 lot_geom,
    G_GEOMETRY_0 ped_geom
    WHERE lot_f.feat_num = lot_geom.feat_num
    AND pedestal_f.acc_point_id = 611
    AND pedestal_f.feat_num = ped_geom.feat_num
    AND lot_f.g_version+0 = 0
    AND (lot_f.g_next_version > 0 OR lot_f.g_next_version IS NULL)
    AND pedestal_f.g_version+0 = 0
    AND (pedestal_f.g_next_version > 0 OR pedestal_f.g_next_version IS NULL)
    AND MDSYS.SDO_WITHIN_DISTANCE(lot_geom.geometry, ped_geom.geometry,
    'distance = 100' ) = 'TRUE';
    So I "forced" a plan that uses the spatial indexes deleting the statistics from the tables that have geometry columns. The execution plan looks like this:
    Execution Plan
    0 SELECT STATEMENT Optimizer=CHOOSE (Cost=2652 Card=10182 Bytes=79969428)
    1 0 CONCATENATION
    2 1 NESTED LOOPS (Cost=876 Card=3428 Bytes=26923512)
    3 2 NESTED LOOPS (Cost=121 Card=1078 Bytes=8450442)
    4 3 NESTED LOOPS (Cost=4 Card=33 Bytes=129492)
    5 4 TABLE ACCESS (FULL) OF 'PEDESTAL_F' (Cost=1 Card=1 Bytes=16)
    6 4 TABLE ACCESS (BY INDEX ROWID) OF 'G_GEOMETRY_0' (Cost=3 Card=3268 Bytes=12771344)
    7 6 INDEX (RANGE SCAN) OF 'G_GEOMETRY_0_PRIMARY' (UNIQUE) (Cost=2 Card=3268)
    8 3 TABLE ACCESS (BY INDEX ROWID) OF 'G_GEOMETRY_0' (Cost=121 Card=3268 Bytes=12794220)
    9 8 DOMAIN INDEX OF 'G_GEOMETRY_0_SI' (Cost=51)
    10 2 TABLE ACCESS (BY INDEX ROWID) OF 'LOT_F' (Cost=1 Card=318 Bytes=4770)
    11 10 INDEX (RANGE SCAN) OF 'GI_LOT_F0_FEAT_NUM_0' (UNIQUE) (Cost=1 Card=318)
    12 1 NESTED LOOPS (Cost=876 Card=3428 Bytes=26923512)
    13 12 NESTED LOOPS (Cost=121 Card=1078 Bytes=8450442)
    14 13 NESTED LOOPS (Cost=4 Card=33 Bytes=129492)
    15 14 TABLE ACCESS (FULL) OF 'PEDESTAL_F' (Cost=1 Card=1 Bytes=16)
    16 14 TABLE ACCESS (BY INDEX ROWID) OF 'G_GEOMETRY_0' (Cost=3 Card=3268 Bytes=12771344)
    17 16 INDEX (RANGE SCAN) OF 'G_GEOMETRY_0_PRIMARY' (UNIQUE) (Cost=2 Card=3268)
    18 13 TABLE ACCESS (BY INDEX ROWID) OF 'G_GEOMETRY_0' (Cost=121 Card=3268 Bytes=12794220)
    19 18 DOMAIN INDEX OF 'G_GEOMETRY_0_SI' (Cost=51)
    20 12 TABLE ACCESS (BY INDEX ROWID) OF 'LOT_F' (Cost=1 Card=318 Bytes=4770)
    21 20 INDEX (RANGE SCAN) OF 'GI_LOT_F0_FEAT_NUM_0' (UNIQUE) (Cost=1 Card=318)
    But when I executed the query, I got:
    cc_redes_met_coaxial@ORAG2> /
    ROUND(MDSYS.SDO_GEOM.SDO_DISTANCE(lot_geom.geometry, ped_geom.geometry, 0.5),2) dist
    ERROR at line 2:
    ORA-03113: end-of-file on communication channel
    Collecting stats on geometry tables makes the query work only because it doesn't use the spatial index.
    I took a look the trace file, but I didn't see any interesting information. I can send you if you want.
    Do you have any clue?
    Regards,
    Alex

  • ORA-01403: no data found  -  refresh after insert on view

    Hi all,
    I have problems with refresh after insert on view and i override this method on my xxDefImpl.java
    public boolean isUseReturningClause() {
    return false;
    Anyway what it does is to substitute the RETURNIN INTO to
    SELECT ID INTO ? FROM MY_VIEW WHERE ID=?; END;".
    And this gives me the error
    ORA-01403: no data found ORA-06512: at line 1
    Because i'm tryint to insert on my view with ID = -1
    And then the view and the my triggers make it happen to became a real ID.
    The thing is that i need to refresh my ID after insert and it runs this select with -1 and it finds no data of course because the trigger on the view and on my tables transformed it in a real ID .
    DO u know what's missing?

    See section 26.5 Basing an Entity Object on a Join View or Remote DBLink in the ADF Developer's Guide for Forms/4GL Developers for the additional tip I believe you're missing about marking a unique attribute as well.
    You can find the guide on the ADF Learning Center on OTN here:
    http://www.oracle.com/technology/products/adf/learnadf.html

  • ORA-29516: Bulk load of method failed; insufficient shm-object space

    Hello,
    Just installed 11.2.0.1.0 on CentOS 5.5 64-bit. All dependencies satisfied, installation/linking went without a problem.
    Server has 32GB RAM, using AMM with target set at 29GB, no swapping is occuring.
    No matter what i do when loading Java code (loadjava with JARs or "create and compile java source") I keep getting the error:
    ORA-29516: Error in module Aurora: Assertion failure at joez.c:3311
    Bulk load of method java/lang/Object.<init> failed; insufficient shm-object space
    Checked shm-related kernel params, all seems to be normal:
    # Controls the maximum size of a message, in bytes
    kernel.msgmnb = 65536
    # Controls the default maxmimum size of a mesage queue
    kernel.msgmax = 65536
    # Controls the maximum shared segment size, in bytes
    kernel.shmmax = 68719476736
    # Controls the maximum number of shared memory segments, in pages
    kernel.shmall = 4294967296
    kernel.shmmni = 4096
    kernel.sem = 250 32000 100 128
    net.core.rmem_default = 262144
    net.core.rmem_max = 4194304
    net.core.wmem_default = 262144
    net.core.wmem_max = 1048576
    Please help.

    Hi there,
    I've stumbled into exactly the same issue for 11g. After I start the database up and I ran loadjava on an externally
    compiled class (Hello.class in my instance) I got the following error:
    Error while testing for existence of dbms_java.handleMd5
    ORA-29516: Aurora assertion failure: Assertion failure at joez.c:3311
    Bulk load of method java/lang/Object.<init> failed; insufficient shm-object space
    ORA-06512: at "SYS.DBMS_JAVA", line 679
    Error while creating class Hello
    ORA-29516: Aurora assertion failure: Assertion failure at joez.c:3311
    Bulk load of method java/lang/Object.<init> failed; insufficient shm-object space
    ORA-06512: at line 1
    The following operations failed
    class Hello: creation (createFailed)
    exiting : Failures occurred during processing
    After this, I checked the trace file and saw the following error message:
    peshmmap_Create_Memory_Map:
    Map_Length = 4096
    Map_Protection = 7
    Flags = 1
    File_Offset = 0
    mmap failed with error 1
    error message:Operation not permitted
    ORA-04035: unable to allocate 4096 bytes of shared memory in shared object cache "JOXSHM" of size "134217728"
    peshmmap_Create_Memory_Map:
    Map_Length = 4096
    Map_Protection = 7
    Flags = 1
    File_Offset = 0
    mmap failed with error 1
    error message:Operation not permitted
    ORA-04035: unable to allocate 4096 bytes of shared memory in shared object cache "JOXSHM" of size "134217728"
    Assertion failure at joez.c:3311
    Bulk load of method java/lang/Object.<init> failed; insufficient shm-object space
    It seems as though that "JOXSHM" of size "134217728" (which is 128MB) corresponds to the java_pool_size setting in my init.ora file:
    memory_target=1000M
    memory_max_target=2000M
    java_pool_size=128M
    shared_pool_size=256M
    Whenever I change that size it propagates to the trace file. I also picked up that only 592MB of shm memory gets used. My df -h dump:
    Filesystem Size Used Avail Use% Mounted on
    /dev/sda7 39G 34G 4.6G 89% /
    udev 10M 288K 9.8M 3% /dev
    /dev/sda5 63M 43M 21M 69% /boot
    /dev/sda4 59G 45G 11G 81% /mnt/data
    shm 2.0G 592M 1.5G 29% /dev/shm
    The only way in which I could get loadjava to work was to remove java from the database by calling the rmjvm.sql script.
    After this I installed java again by calling the initjvm.sql script. I noticed that after these scripts my shm-memory usage
    increased to about 624MB which is 32MB larger than before:
    Filesystem Size Used Avail Use% Mounted on
    /dev/sda7 39G 34G 4.6G 89% /
    udev 10M 288K 9.8M 3% /dev
    /dev/sda5 63M 43M 21M 69% /boot
    /dev/sda4 59G 45G 11G 81% /mnt/data
    shm 2.0G 624M 1.4G 31% /dev/shm
    However, after I stopped the database and started it again my Java was broken again and calling loadjava produced
    the same error message as before. The shm memory usage would also return to 592MB again. Is there something I
    need to do in terms of persisting the changes that initjvm and rmjvm does to the database? Or is there something else
    wrong that I'm overlooking like the memory management settings or something?
    Regards,
    Wiehann

  • SSM Usage stat Method

    Hi All,
    Does anybody have any idea about how to get usage stat in SSM.
    I have refered to the post Usage Report for SSM 7.0 and found that Bob had suggested about Wed analytics Tool.
    Can some one help how to use web analytics tool to get usage stat. I had put my same question in the post Usage Report for SSM 7.0 , but since the post is already close i was not sure if bob or anybody else would look in to my question.
    Regards
    Rohini

    Rohini,
    You are right in opening a new question, since answered questions don't get the views.
    Since this is a SAP Forum, I'll give you some directions about SAP applications that track usage.
    The SAP Portal has the ability to provide information about users who have logged on to the portal and the content they viewed. I refer you to this wiki with info related to that:
    http://wiki.sdn.sap.com/wiki/display/EP/PortalActivityReport
    The SAP CRM application offers web analytics, but more for tracking customers. For the CRM application, SAP partners with TeaLeaf, which provides the web analytic tool. Here is a diagram of how the customer tracking process works in CRM, from the Help guide:
    http://help.sap.com/saphelp_crm40/helpdata/en/99/605fb9a2955341a10b4104b417ca4f/frameset.htm
    It's been awhile since I worked with web analytics, though the basic way it works is you use code from the web analytic tool to insert into the hypertext markup language on pages. The analytic tool uses those to track individual user activity, page visits, time on the system, and stores that info in a db for you to then review and report using the tracking tools interface.
    These web analytics tools have been around for quite awhile and I wouldn't be surprised that there are more sophisticated tracking methods employed these days. It should be easy to search for companies that offer web analytic tools.
    Regards,
    Bob

  • Usage Tracking - Cant perform insert operation inside a READ ONLY trans

    Hello,
    I have been experiencing the following error message when trying to install a row in our s_nq_acct table for USAGE TRACKING:
    [nQSError: 16001] ODBC error state: S1000 code: 1456 message: [Oracle][ODBC][Ora]ORA-01456: may not perform insert/delete/update operation inside a READ ONLY transaction.
    - I am able to manually insert rows via SQL*Plus whilst logged on as the same user as the Connection Pool
    - The Read Only option is not ticked for the ODBC
    Can anyone please help me with this?
    Thanks,
    Rhys

    Hi rnm1978,
    You were right!
    I was being a bit retarded and had to simply switch the call interface on the connection pool to use the OCI and ensure the dta source name was that of the TNS names entry and not the system DSN.

  • ORA-07445 (solaris 9.0.) when inserting into LONG column

    i am getting a core-dump when inserting into a table w/ long column. running 9.0.1 on solaris.
    ORA-07445: exception encountered: core dump [kghtshrt()+68] [SIGSEGV] [Address not mapped to object] [0x387BBF0] [] []
    if anyone has ANY input - please provide it ... i am desperate at this point.
    i am trying to avoid upgrading to 9.2.0 to solve this problem.
    regards -
    jerome

    You should report this in a service request on http://metalink.oracle.com.
    It is a shame that you put all the effort here to describe your problem, but on the other hand you can now also copy & paste the question to Oracle Support.
    Because you are using 10.2.0.3; I am guessing that you have a valid service contract...

  • ORA-01403: no data found error hile inserting into a table

    Hi,
    I am populating a PL/SQL table(Array) with the data. From that array inserting into a Actual table. Before inserting am checking array count. Array count is greater than 0. But I am getting "ORA-01403: no data found" exception. I am not getting why this error is displaying.
    Please someone help me. Below is the code.
    CREATE OR REPLACE PROCEDURE XXDL_TEST_INSERT
    IS
    BEGIN
       IF  t_array.count> 0 THEN
        FND_FILE.PUT_LINE (FND_FILE.LOG, t_array.count);
        FOR i IN t_array.FIRST..t_array.LAST
        LOOP
            INSERT INTO XXDL_TEST
            VALUES(t_array(i).name )
      END LOOP;
    END IF;
    EXCEPTION
      WHEN OTHERS THEN
        FND_FILE.PUT_LINE (FND_FILE.LOG,SQLERRM);
    END;Thanks
    Alaka

    It looks like your Array is sparsely populated:
    SQL> DECLARE
      2    TYPE l_tab_type IS TABLE OF VARCHAR2(10)
      3      INDEX BY BINARY_INTEGER;
      4    l_tab l_tab_type;
      5  BEGIN
      6    l_tab(1) := 'A';
      7    l_tab(2) := 'B';
      8    l_tab(3) := 'C';
      9    FOR i IN l_tab.FIRST .. l_tab.LAST LOOP
    10      dbms_output.put_line(l_tab(i));
    11    END LOOP;
    12  END;
    13  /
    A
    B
    C
    PL/SQL procedure successfully completed.
    SQL>
    SQL> DECLARE
      2    TYPE l_tab_type IS TABLE OF VARCHAR2(10)
      3      INDEX BY BINARY_INTEGER;
      4    l_tab l_tab_type;
      5  BEGIN
      6    l_tab(1) := 'A';
      7    l_tab(3) := 'B';
      8    l_tab(4) := 'C';
      9    FOR i IN l_tab.FIRST .. l_tab.LAST LOOP
    10      dbms_output.put_line(l_tab(i));
    11    END LOOP;
    12  END;
    13  /
    A
    DECLARE
    ERROR at line 1:
    ORA-01403: no data found
    ORA-06512: at line 10Edited by: JS1 on Apr 11, 2009 8:59 AM
    You should also be using the FORALL syntax with INDICES OF. Check out The Docs

  • ORA-07445 in the alert log when inserting into table with XMLType column

    I'm trying to insert an xml-document into a table with a schema-based XMLType column. When I try to insert a row (using plsql-developer) - oracle is busy for a few seconds and then the connection to oracle is lost.
    Below you''ll find the following to recreate the problem:
    a) contents from the alert log
    b) create script for the table
    c) the before-insert trigger
    d) the xml-schema
    e) code for registering the schema
    f) the test program
    g) platform information
    Alert Log:
    Fri Aug 17 00:44:11 2007
    Errors in file /oracle/app/oracle/product/10.2.0/db_1/admin/dntspilot2/udump/dntspilot2_ora_13807.trc:
    ORA-07445: exception encountered: core dump [SIGSEGV] [Address not mapped to object] [475177] [] [] []
    Create script for the table:
    CREATE TABLE "DNTSB"."SIGNATURETABLE"
    (     "XML_DOCUMENT" "SYS"."XMLTYPE" ,
    "TS" TIMESTAMP (6) WITH TIME ZONE NOT NULL ENABLE
    ) XMLTYPE COLUMN "XML_DOCUMENT" XMLSCHEMA "http://www.sporfori.fo/schemas/www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd" ELEMENT "Object"
    ROWDEPENDENCIES ;
    Before-insert trigger:
    create or replace trigger BIS_SIGNATURETABLE
    before insert on signaturetable
    for each row
    declare
    -- local variables here
    l_sigtab_rec signaturetable%rowtype;
    begin
    if (:new.xml_document is not null) then
    :new.xml_document.schemavalidate();
    end if;
    l_sigtab_rec.xml_document := :new.xml_document;
    end BIS_SIGNATURETABLE2;
    XML-Schema (xmldsig-core-schema.xsd):
    =====================================================================================
    <?xml version="1.0" encoding="utf-8"?>
    <!-- Schema for XML Signatures
    http://www.w3.org/2000/09/xmldsig#
    $Revision: 1.1 $ on $Date: 2002/02/08 20:32:26 $ by $Author: reagle $
    Copyright 2001 The Internet Society and W3C (Massachusetts Institute
    of Technology, Institut National de Recherche en Informatique et en
    Automatique, Keio University). All Rights Reserved.
    http://www.w3.org/Consortium/Legal/
    This document is governed by the W3C Software License [1] as described
    in the FAQ [2].
    [1] http://www.w3.org/Consortium/Legal/copyright-software-19980720
    [2] http://www.w3.org/Consortium/Legal/IPR-FAQ-20000620.html#DTD
    -->
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xdb="http://xmlns.oracle.com/xdb"
    targetNamespace="http://www.w3.org/2000/09/xmldsig#" version="0.1" elementFormDefault="qualified">
    <!-- Basic Types Defined for Signatures -->
    <xs:simpleType name="CryptoBinary">
    <xs:restriction base="xs:base64Binary">
    </xs:restriction>
    </xs:simpleType>
    <!-- Start Signature -->
    <xs:element name="Signature" type="ds:SignatureType"/>
    <xs:complexType name="SignatureType">
    <xs:sequence>
    <xs:element ref="ds:SignedInfo"/>
    <xs:element ref="ds:SignatureValue"/>
    <xs:element ref="ds:KeyInfo" minOccurs="0"/>
    <xs:element ref="ds:Object" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="Id" type="xs:ID" use="optional"/>
    </xs:complexType>
    <xs:element name="SignatureValue" type="ds:SignatureValueType"/>
    <xs:complexType name="SignatureValueType">
    <xs:simpleContent>
    <xs:extension base="xs:base64Binary">
    <xs:attribute name="Id" type="xs:ID" use="optional"/>
    </xs:extension>
    </xs:simpleContent>
    </xs:complexType>
    <!-- Start SignedInfo -->
    <xs:element name="SignedInfo" type="ds:SignedInfoType"/>
    <xs:complexType name="SignedInfoType">
    <xs:sequence>
    <xs:element ref="ds:CanonicalizationMethod"/>
    <xs:element ref="ds:SignatureMethod"/>
    <xs:element ref="ds:Reference" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="Id" type="xs:ID" use="optional"/>
    </xs:complexType>
    <xs:element name="CanonicalizationMethod" type="ds:CanonicalizationMethodType"/>
    <xs:complexType name="CanonicalizationMethodType" mixed="true">
    <xs:sequence>
    <xs:any namespace="##any" minOccurs="0" maxOccurs="unbounded"/>
    <!-- (0,unbounded) elements from (1,1) namespace -->
    </xs:sequence>
    <xs:attribute name="Algorithm" type="xs:anyURI" use="required"/>
    </xs:complexType>
    <xs:element name="SignatureMethod" type="ds:SignatureMethodType"/>
    <xs:complexType name="SignatureMethodType" mixed="true">
    <xs:sequence>
    <xs:element name="HMACOutputLength" minOccurs="0" type="ds:HMACOutputLengthType"/>
    <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
    <!-- (0,unbounded) elements from (1,1) external namespace -->
    </xs:sequence>
    <xs:attribute name="Algorithm" type="xs:anyURI" use="required"/>
    </xs:complexType>
    <!-- Start Reference -->
    <xs:element name="Reference" type="ds:ReferenceType"/>
    <xs:complexType name="ReferenceType">
    <xs:sequence>
    <xs:element ref="ds:Transforms" minOccurs="0"/>
    <xs:element ref="ds:DigestMethod"/>
    <xs:element ref="ds:DigestValue"/>
    </xs:sequence>
    <xs:attribute name="Id" type="xs:ID" use="optional"/>
    <xs:attribute name="URI" type="xs:anyURI" use="optional"/>
    <xs:attribute name="Type" type="xs:anyURI" use="optional"/>
    </xs:complexType>
    <xs:element name="Transforms" type="ds:TransformsType"/>
    <xs:complexType name="TransformsType">
    <xs:sequence>
    <xs:element ref="ds:Transform" maxOccurs="unbounded"/>
    </xs:sequence>
    </xs:complexType>
    <xs:element name="Transform" type="ds:TransformType"/>
    <xs:complexType name="TransformType" mixed="true">
    <xs:choice minOccurs="0" maxOccurs="unbounded">
    <xs:any namespace="##other" processContents="lax"/>
    <!-- (1,1) elements from (0,unbounded) namespaces -->
    <xs:element name="XPath" type="xs:string"/>
    </xs:choice>
    <xs:attribute name="Algorithm" type="xs:anyURI" use="required"/>
    </xs:complexType>
    <!-- End Reference -->
    <xs:element name="DigestMethod" type="ds:DigestMethodType"/>
    <xs:complexType name="DigestMethodType" mixed="true">
    <xs:sequence>
    <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="Algorithm" type="xs:anyURI" use="required"/>
    </xs:complexType>
    <xs:element name="DigestValue" type="ds:DigestValueType"/>
    <xs:simpleType name="DigestValueType">
    <xs:restriction base="xs:base64Binary"/>
    </xs:simpleType>
    <!-- End SignedInfo -->
    <!-- Start KeyInfo -->
    <xs:element name="KeyInfo" type="ds:KeyInfoType"/>
    <xs:complexType name="KeyInfoType" mixed="true">
    <xs:choice maxOccurs="unbounded">
    <xs:element ref="ds:KeyName"/>
    <xs:element ref="ds:KeyValue"/>
    <xs:element ref="ds:RetrievalMethod"/>
    <xs:element ref="ds:X509Data"/>
    <xs:element ref="ds:PGPData"/>
    <xs:element ref="ds:SPKIData"/>
    <xs:element ref="ds:MgmtData"/>
    <xs:any processContents="lax" namespace="##other"/>
    <!-- (1,1) elements from (0,unbounded) namespaces -->
    </xs:choice>
    <xs:attribute name="Id" type="xs:ID" use="optional"/>
    </xs:complexType>
    <xs:element name="KeyName" type="xs:string"/>
    <xs:element name="MgmtData" type="xs:string"/>
    <xs:element name="KeyValue" type="ds:KeyValueType"/>
    <xs:complexType name="KeyValueType" mixed="true">
    <xs:choice>
    <xs:element ref="ds:DSAKeyValue"/>
    <xs:element ref="ds:RSAKeyValue"/>
    <xs:any namespace="##other" processContents="lax"/>
    </xs:choice>
    </xs:complexType>
    <xs:element name="RetrievalMethod" type="ds:RetrievalMethodType"/>
    <xs:complexType name="RetrievalMethodType">
    <xs:sequence>
    <xs:element ref="ds:Transforms" minOccurs="0"/>
    </xs:sequence>
    <xs:attribute name="URI" type="xs:anyURI"/>
    <xs:attribute name="Type" type="xs:anyURI" use="optional"/>
    </xs:complexType>
    <!-- Start X509Data -->
    <xs:element name="X509Data" type="ds:X509DataType"/>
    <xs:complexType name="X509DataType">
    <xs:sequence maxOccurs="unbounded">
    <xs:choice>
    <xs:element name="X509IssuerSerial" type="ds:X509IssuerSerialType"/>
    <xs:element name="X509SKI" type="xs:base64Binary"/>
    <xs:element name="X509SubjectName" type="xs:string"/>
    <xs:element name="X509Certificate" type="xs:base64Binary"/>
    <xs:element name="X509CRL" type="xs:base64Binary"/>
    <xs:any namespace="##other" processContents="lax"/>
    </xs:choice>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="X509IssuerSerialType">
    <xs:sequence>
    <xs:element name="X509IssuerName" type="xs:string"/>
    <xs:element name="X509SerialNumber" type="xs:integer"/>
    </xs:sequence>
    </xs:complexType>
    <!-- End X509Data -->
    <!-- Begin PGPData -->
    <xs:element name="PGPData" type="ds:PGPDataType"/>
    <xs:complexType name="PGPDataType">
    <xs:choice>
    <xs:sequence>
    <xs:element name="PGPKeyID" type="xs:base64Binary"/>
    <xs:element name="PGPKeyPacket" type="xs:base64Binary" minOccurs="0"/>
    <xs:any namespace="##other" processContents="lax" minOccurs="0"
    maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:sequence>
    <xs:element name="PGPKeyPacket" type="xs:base64Binary"/>
    <xs:any namespace="##other" processContents="lax" minOccurs="0"
    maxOccurs="unbounded"/>
    </xs:sequence>
    </xs:choice>
    </xs:complexType>
    <!-- End PGPData -->
    <!-- Begin SPKIData -->
    <xs:element name="SPKIData" type="ds:SPKIDataType"/>
    <xs:complexType name="SPKIDataType">
    <xs:sequence maxOccurs="unbounded">
    <xs:element name="SPKISexp" type="xs:base64Binary"/>
    <xs:any namespace="##other" processContents="lax" minOccurs="0"/>
    </xs:sequence>
    </xs:complexType>
    <!-- End SPKIData -->
    <!-- End KeyInfo -->
    <!-- Start Object (Manifest, SignatureProperty) -->
    <xs:element name="Object" type="ds:ObjectType"/>
    <xs:complexType name="ObjectType" mixed="true">
    <xs:sequence minOccurs="0" maxOccurs="unbounded">
    <xs:any namespace="##any" processContents="lax"/>
    </xs:sequence>
    <xs:attribute name="Id" type="xs:ID" use="optional"/>
    <xs:attribute name="MimeType" type="xs:string" use="optional"/> <!-- add a grep facet -->
    <xs:attribute name="Encoding" type="xs:anyURI" use="optional"/>
    </xs:complexType>
    <xs:element name="Manifest" type="ds:ManifestType"/>
    <xs:complexType name="ManifestType">
    <xs:sequence>
    <xs:element ref="ds:Reference" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="Id" type="xs:ID" use="optional"/>
    </xs:complexType>
    <xs:element name="SignatureProperties" type="ds:SignaturePropertiesType"/>
    <xs:complexType name="SignaturePropertiesType">
    <xs:sequence>
    <xs:element ref="ds:SignatureProperty" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="Id" type="xs:ID" use="optional"/>
    </xs:complexType>
    <xs:element name="SignatureProperty" type="ds:SignaturePropertyType"/>
    <xs:complexType name="SignaturePropertyType" mixed="true">
    <xs:choice maxOccurs="unbounded">
    <xs:any namespace="##other" processContents="lax"/>
    <!-- (1,1) elements from (1,unbounded) namespaces -->
    </xs:choice>
    <xs:attribute name="Target" type="xs:anyURI" use="required"/>
    <xs:attribute name="Id" type="xs:ID" use="optional"/>
    </xs:complexType>
    <!-- End Object (Manifest, SignatureProperty) -->
    <!-- Start Algorithm Parameters -->
    <xs:simpleType name="HMACOutputLengthType">
    <xs:restriction base="xs:integer"/>
    </xs:simpleType>
    <!-- Start KeyValue Element-types -->
    <xs:element name="DSAKeyValue" type="ds:DSAKeyValueType"/>
    <xs:complexType name="DSAKeyValueType">
    <xs:sequence>
    <xs:sequence minOccurs="0">
    <xs:element name="P" type="ds:CryptoBinary"/>
    <xs:element name="Q" type="ds:CryptoBinary"/>
    </xs:sequence>
    <xs:element name="G" type="ds:CryptoBinary" minOccurs="0"/>
    <xs:element name="Y" type="ds:CryptoBinary"/>
    <xs:element name="J" type="ds:CryptoBinary" minOccurs="0"/>
    <xs:sequence minOccurs="0">
    <xs:element name="Seed" type="ds:CryptoBinary"/>
    <xs:element name="PgenCounter" type="ds:CryptoBinary"/>
    </xs:sequence>
    </xs:sequence>
    </xs:complexType>
    <xs:element name="RSAKeyValue" type="ds:RSAKeyValueType"/>
    <xs:complexType name="RSAKeyValueType">
    <xs:sequence>
    <xs:element name="Modulus" type="ds:CryptoBinary"/>
    <xs:element name="Exponent" type="ds:CryptoBinary"/>
    </xs:sequence>
    </xs:complexType>
    <!-- End KeyValue Element-types -->
    <!-- End Signature -->
    </xs:schema>
    ===============================================================================
    Code for registering the xml-schema
    begin
    dbms_xmlschema.deleteSchema('http://xmlns.oracle.com/xdb/schemas/DNTSB/www.sporfori.fo/schemas/www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd',
    dbms_xmlschema.DELETE_CASCADE_FORCE);
    end;
    begin
    DBMS_XMLSCHEMA.REGISTERURI(
    schemaurl => 'http://www.sporfori.fo/schemas/www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd',
    schemadocuri => 'http://www.sporfori.fo/schemas/www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd',
    local => TRUE,
    gentypes => TRUE,
    genbean => FALSE,
    gentables => TRUE,
    force => FALSE,
    owner => 'DNTSB',
    options => 0);
    end;
    Test program
    -- Created on 17-07-2006 by EEJ
    declare
    XML_TEXT3 CLOB := '<Object xmlns="http://www.w3.org/2000/09/xmldsig#">
                                  <SignatureProperties>
                                       <SignatureProperty Target="">
                                            <Timestamp xmlns="http://www.sporfori.fo/schemas/dnts/general/2006/11/14">2007-05-10T12:00:00-05:00</Timestamp>
                                       </SignatureProperty>
                                  </SignatureProperties>
                             </Object>';
    xmldoc xmltype;
    begin
    xmldoc := xmltype(xml_text3);
    insert into signaturetable
    (xml_document, ts)
    values
    (xmldoc, current_timestamp);
    end;
    Platform information
    Operating system:
    -bash-3.00$ uname -a
    SunOS dntsdb 5.10 Generic_125101-09 i86pc i386 i86pc
    SQLPlus:
    SQL*Plus: Release 10.2.0.3.0 - Production on Fri Aug 17 00:15:13 2007
    Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
    Enter password:
    Connected to:
    Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production
    With the Partitioning and Data Mining options
    Kind Regards,
    Eyðun

    You should report this in a service request on http://metalink.oracle.com.
    It is a shame that you put all the effort here to describe your problem, but on the other hand you can now also copy & paste the question to Oracle Support.
    Because you are using 10.2.0.3; I am guessing that you have a valid service contract...

  • ORA-03113 error occurs when trying to insert record using procedure

    I have a Database Block whose DML Data Target Type is Procedure. I have given the Insert Procedure Name, Insert Procedure Arguments and Insert Procedure ResultSet Columns. The procedure which is used to insert record into the table, resides in the database. The procedure for insert takes Table of records as argument. I am getting FRM-40735: INSERT-PROCEDURE trigger raised unhandled exception ORA-03113).
    This exception does not occur if the Procedure is place under Program Units. But, I want the procedure to be under Database Block. I am working on Oracle Forms 6i.
    Please help me out in resolving this.

    Hello,
    I think you should call the support for this kind of error.
    Francois

  • Efficient method to insert large number of data into table

    Hi,
    I have a procedure that accepts an input parameter, that contains, a comma seperated values as input.
    Something like G12-UHG,THA-90HJ,NS-98039,........There can be more than 90,000 values in that comma seperated input paramter.
    What is the most efficient way to do an insert in this case?.
    3 methods I have in mind are :
    1) Get individual tokens from CSV and use a plain old loop and do an insert.
    2) Use BULK COLLECT & FOR ALL. However I don't know how to do this, since input is not from cursor, rather a parameter.
    3) Use Table collections. Again this involves plain old looping through the collection. Same as 1st method.
    Please do suggest the most efficient method.
    Thanks

    90,000 values?? Whats the data type of the input parameter?
    you can use the string to row conversion trick if you want and do a single insert
    SQL> with t as (select 'ABC,DEF GHI,JKL' str from dual)
      2  select regexp_substr(str,'[^,]+', 1, level) list
      3  from t connect by level <= NVL( LENGTH( REGEXP_REPLACE( str, '[^,]+', NULL ) ), 0 ) + 1
      4  /
    LIST
    ABC
    DEF GHI
    JKL Edited by: Karthick_Arp on Feb 13, 2009 2:18 AM

Maybe you are looking for