Getting ORA-22922 with apex_collection.create_collection_from_query
Hi,
i'm getting ora-22922 nonexistent LOB value with
apex_collection.create_collection_from_query('coll_name','select a,b,c from testtable','NO');
what is going wrong?
please help !!
thx in advance !!!
Hi Dila,
unless you let us know what
TESTTABLEexactly is, we probably can't help you.
Similar Messages
-
Getting ORA-00932 with any object table
Hi, I'm new to Oracle and it's enormous community so I apologize in advance for posting
in the wrong place or for giving not enough information.
As I just said, I'm new to Oracle therefore I'm following the [introductory guide|http://www.mcs.csueastbay.edu/support/oracle/doc/10.2/appdev.102/b14260/adobjint.htm#sthref102] and trying the examples it gives one-by-one.
I used to use MySql in the past but now I need to use a more stable and scalable database that allows
the storage of objects.
I'm using Oracle 10.g XE on a GNU/Linux computer (Ubuntu 8.10)
Let's start with the question:
in the Example 1-6 the following code is given:
CREATE TYPE emp_person_typ AS OBJECT (
name VARCHAR2(30),
manager REF emp_person_typ );
Type created.
CREATE TABLE emp_person_obj_table OF emp_person_typ;
Table created.
INSERT INTO emp_person_obj_table
SELECT emp_person_typ ('Bob Jones', REF(e))
FROM emp_person_obj_table e
WHERE e.name = 'John Smith';
1 row(s) inserted.Executing these queries return successfull messages.
But when I try to retrieve the records by using this query:
select * from emp_person_obj_table;or when accessing the "Data" tab of that table in the Object Browser"
I get this error:
(error report:)
ORA-00932: inconsistent datatypes: expected NUMBER got REF RESMAN.EMP_PERSON_TYPAll queries are executed in the Application Express (2.1.0.00.39) query runner.
I think I did everything in the right manner, although the code is just copy-pasted from the guide, so I can't realize
why this annoying error is still appearing when accessing that table.
I noticed that executing the same selection query as above in the SQL*Plus CLI works as expected
and returns a resultset.
Thanks in advance for any reply.Since the query works in SQL*Plus, I would tend to assume that this is a limitation of the APEX query runner. If you post over in the APEX forum, someone may be able to confirm that or suggest a way of working around it.
Do you need to use the APEX query runner? Could you use SQL*Plus or SQL Developer instead?
Justin -
Nested table update gets ORA-00904 with ExecuteSQL, error-free in TOAD
I'm trying to run an UPDATE query through the ExecuteSQL method
of the oraDatabase object. The catch seems to be that this one
affects a nested table (field to be updated is a table itself).
This SQL runs perfectly in T.O.A.D. ...
UPDATE B457.AIRLINE a SET
a.rental_cust_code=B457.RENTCUSTCODELIST(rentcustcodes
('45645'),rentcustcodes('1234'),rentcustcodes('234234')) WHERE
a.AIRLINE_CODE='RCR'
...but, it produces the "SQL execution error, ORA-00904: invalid
column name" when run using ExecuteSQL.
Do I need to use a different syntax?and the complete example
SQL> create or replace TYPE t_indirizzo AS OBJECT (
2 via VARCHAR(45),
3 numero NUMBER,
4 cap INTEGER(5),
5 citta VARCHAR(30),
6 provincia VARCHAR(30),
7 regione VARCHAR(30)
8 );
9 /
Type created.
SQL>
SQL>
SQL> create or replace TYPE t_telefono AS OBJECT (
2 num_tel NUMBER(15)
3 );
4 /
Type created.
SQL>
SQL> create or replace TYPE t_listaTelefono AS TABLE OF t_telefono
2 /
Type created.
SQL>
SQL> create or replace TYPE t_cliente AS OBJECT (
2 cod_cliente NUMBER(8),
3 indirizzo t_indirizzo,
4 email VARCHAR(30),
5 telefono t_listaTelefono
6 ) NOT FINAL;
7 /
Type created.
SQL>
SQL> CREATE TABLE cliente OF t_cliente(
2 cod_cliente NOT NULL,
3 indirizzo NOT NULL,
4 email NOT NULL,
5 PRIMARY KEY (cod_cliente)
6 ) nested table telefono store as numTelCli_tab
7 return as value
8 /
Table created.
SQL> -
Apex_collection.create_collection_from_query ---- ORA-01008
I am creating a collection from a query and am having trouble referencing my page items in the query. I have already tried &My_ITEM. / V('My_ITEM') / :MY_ITEM with no success.
Error Message recieved:
ORA-20104: create_collection_from_query Error:ORA-20104: create_collection_from_query ExecErr:ORA-01008: not all variables bound
Sample of my apex_collection query :
BEGIN
apex_collection.create_collection_from_query(
p_collection_name => 'TEST',
p_query => 'SELECT CASE
WHEN d.visits = 0
THEN 0
ELSE ROUND (d.tot_usage / d.visits)
END THHP
FROM (SELECT SUM (CASE
WHEN b.fac_produsage = 0
THEN 0
ELSE ROUND(d.fac_prodsize
* (SELECT TO_NUMBER (piyc_codeval)
FROM schema.table1 z
WHERE table1_codetype = ''PRODUOM_CONV''
AND z.table1_codedesc = ltrim(rtrim(d.fac_produom)))
/ d.fac_prod_useratio) * b.fac_produsage
END ) tot_usage,
MAX (b.fac_ptcaredays) visits,
b.fac_datasdate || b.fac_dataedate period,
a.fac_unitcode || a.fac_unitdesc area,
d.fac_prodtype prodtype
FROM schema.table2_facdata b,
schema.table3_facusers c,
schema.table4_facunits a,
schema.table5_facprod d
WHERE c.fac_id = b.fac_id
AND b.facprod_id = d.facprod_id
AND b.fac_id = d.fac_id
AND a.fac_unitcode = b.fac_unitcode
AND a.fac_id = b.fac_id
AND b.fac_datasdate >= :P14_fac_datasdate -- page item
AND b.fac_dataedate <= :P14_fac_datasdate -- page item2
AND a.fac_unittype = :P14_fac_unittype -- page item3
GROUP BY b.fac_datasdate || b.fac_dataedate,
a.fac_unitcode , a.fac_unitdesc) d ',
p_generate_md5 => 'YES');
end;
Any Suggestions??Working Solution:
http://kr.forums.oracle.com/forums/thread.jspa?threadID=580016 -
I am very new to collections and I am having an issue creating my first collection. When I execute the following code I get ORA-00900 invalid sql.
apex_collection.create_collection_from_query ('TEST', 'select * from apex_collections', 'NO');
Any guidance is greatly appreciated. I am running Oracle 11g and APEX 4.1.0.00.32.Sorry bad example. I have tried several tables. One only had a few columns and just text and numbers. This is the table I am trying to load into the collection. It does not seem to matter what I put in as the sql, it always comes back invalid sql.
My table looks like this.
Name Null Type
MATERIAL_ID NOT NULL NUMBER
MATERIAL_NAME NOT NULL VARCHAR2(75)
MATERIAL_DESCRIPTION VARCHAR2(500)
CATEGORY_ID NOT NULL NUMBER
SUBCATEGORY_ID NUMBER
QTY NOT NULL NUMBER(2)
REQUESTED_QTY NUMBER(2)
I have to be doing something really simple wrong. -
Hi there,
I was very happy to know that you can pass a DBMS_SQL cursor to the procedure apex_collection.create_collection_from_query but my contentment lasted only until I actually tried it.
I am using Apex 4.0.2.00.06 on DB 11.1.0.7.0 and when I tried to run a simple page based on it I got:
ORA-20104: create_collection_from_query Error:
ORA-20104: create_collection_from_query ExecErr:
ORA-29470: Effective userid or roles are not the same as when cursor was parsedThis post explains the reason why:
11g Security Error: wwv_flow_collection.create_collection_from_query_b
As it is an old post which doesn't mention the Apex version, I was wondering if there have been any new workarounds for this issue?
If not, does it mean that functionality is useless in 11g? What about people that for one reason or another has been using it (not my case fortunately)?
Thanks
LuisLuis,
for your example in the other post it isn't necessary to use a cursor, but you can use a SQL Statement in a String like this
APEX_COLLECTION.CREATE_COLLECTION_FROM_QUERY
( p_collection_name => 'MY_NEW_COLLECTION'
, p_query =>
' SELECT EXTRACTVALUE
( VALUE(USERXML)
, ''/User/Mail''
, ''xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" ''
FROM APEX_COLLECTIONS COLL
, TABLE
( XMLSEQUENCE
( EXTRACT
( XMLTYPE.createXML(CLOB001)
, ''/env:Envelope/env:Body/getUserInfo/User''
, ''xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" '
) USERXML
WHERE COLLECTION_NAME = 'MY_WS_COLL'
...brgds,
Peter
Blog: http://www.oracle-and-apex.com
ApexLib: http://apexlib.oracleapex.info
BuilderPlugin: http://builderplugin.oracleapex.info
Work: http://www.click-click.at -
Getting ORA-22920 Error With 'FOR UPDATE' clause
Hello all,
I scanned through all the messages regarding this error and the suggestion posted was to have 'FOR UPDATE' in the SELECT query. I do have that, but I am still getting ORA-22920 (row containing the LOB value is not locked) error.
I am using JDBC thin driver with 8.0.5. I know the thin driver installation works because I can read data that I inserted using 'INSERT INTO ...' from svrmgr30.
Can anyone show me some light on this?
Thanks
SureshHi,
This helped me:
Before the insert statement:
connection.setAutoCommit(false);
..what you like to do
at the end..
connection.commit()
HTH
Martin -
Problem: apex_collection.create_collection_from_query
Hi;
I've the following procedure:declare
p_collection_name varchar2(1000) := 'EDIT_CAT';
begin
IF (apex_collection.collection_exists(p_collection_name))
THEN
apex_collection.delete_collection(p_collection_name);
END IF;
apex_collection.create_collection_from_query(
p_collection_name => p_collection_name,
p_query => 'select * from hd_category');
end;I alsways get the fllowing error:
ORA-20104: create_collection_from_query Error:ORA-20104: create_collection_from_query ParseErr:ORA-00942: table or view does not exist
But the table 'HD_CATEGORY' exists and setting up a normal select statement is working fine.
Dows anybody know what's wrong with this?
Thanks for any help
chrissyHi Scott,
Sorry for my error in the first thread ... it's no procedure it's a process ...
My code is, like you suggested, an anonymus block and it is an application process on demand.
What I'm trying to do is to build the collection every time a record will be in edit.
What I don't understand is, why I have to grant the SELECT privileg for the table. I can make a select on it, but not for the collection. Also my application schema user has the dba role, isn't there SELECT privilege included? I'm not firm in such things.
At the moment I got it running, with a cursor and the normal apex_collection.create_collection and apex_collection.add_member.
Thanks
chrissy -
ORA-22922: nonexistent LOB value in outer join in XMLDB parsing query
Hi,
We are in a situation where i must use outer join with the address type fragment in the XML reader query,
Here is the oracle installation details
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
PL/SQL Release 11.2.0.3.0 - Production
"CORE 11.2.0.3.0 Production"
However once i add the (+) sign i get an error, other wise it runs absolutely fine without the (+) s
ORA-29400: data cartridge error
ORA-22922: nonexistent LOB value
29400. 00000 - "data cartridge error\n%s"
*Cause: An error has occurred in a data cartridge external procedure.
This message will be followed by a second message giving
more details about the data cartridge error.
*Action: See the data cartridge documentation
for an explanation of the second error message.
Query:
=======
select
from PWAYWORKFILE_TABLE,
xmltable(
xmlnamespaces(DEFAULT 'http://www.cccis.com/Pathways/Workfile'
, 'http://www.cccis.com/Pathways/CommonType' as "pct")
, '$XS/PwayWorkfile' passing WORKFILE as "XS"
columns
CURESTID VARCHAR2 (4000) PATH 'EstimateComp/LastOutboxEstID',
Est_Fragment XMLTYPE PATH 'EstimateComp/EstList/VehEstimate'
) m,
XMLTABLE(
xmlnamespaces(DEFAULT 'http://www.cccis.com/Pathways/Workfile'
, 'http://www.cccis.com/Pathways/CommonType' as "pct")
, '$PY/VehEstimate' passing m.Est_Fragment as "PY"
columns
NUMBERLINES VARCHAR2 (4000) PATH '@NumberLines',
LINEESTIMATEID VARCHAR2 (4000) PATH 'EstimateID',
EstLine_Fragment XMLTYPE PATH 'EstimateLines/EstimateLine'
) (+) l,
XMLTABLE(
xmlnamespaces(DEFAULT 'http://www.cccis.com/Pathways/Workfile'
, 'http://www.cccis.com/Pathways/CommonType' as "pct")
, '$NY/EstimateLine' passing l.EstLine_Fragment as "NY"
columns
LINENUMBER VARCHAR2 (4000) PATH '@LineNumber',
LINEBLOCKID VARCHAR2 (4000) PATH 'LineBlockID',
LABORCATEGORY VARCHAR2 (4000) PATH 'LaborCategory',
LABORHOURS VARCHAR2 (4000) PATH 'LaborHours',
LINEOPERATION VARCHAR2 (4000) PATH 'LineOperation',
MANUALLABORINCLUDE VARCHAR2 (4000) PATH 'ManualLaborInclude',
MANUALPAINTINCLUDE VARCHAR2 (4000) PATH 'ManualPaintInclude',
MANUALPRICEINCLUDE VARCHAR2 (4000) PATH 'ManualPriceInclude',
OEMPRICE VARCHAR2 (4000) PATH 'Calculation/OEMPrice',
SINGLEOHINCL VARCHAR2 (4000) PATH 'DataList/DBMotorData/LaborInclType/@SINGLEOHINCL',
DOUBLEOHINCL VARCHAR2 (4000) PATH 'DataList/DBMotorData/LaborInclType/@DOUBLEOHINCL',
PPAGEINCL VARCHAR2 (4000) PATH 'DataList/DBMotorData/LaborInclType/@PPAGEINCL',
SUPPLIERID VARCHAR2 (4000) PATH 'DataList/RPSPart/SupplierID'
) (+) j
where
l.LINEESTIMATEID = 51 or
l.LINEESTIMATEID = m.CURESTID or
l.LINEESTIMATEID = (CASE
WHEN m.CURESTID = 101 THEN 51
WHEN m.CURESTID > 101 THEN m.CURESTID -1
ELSE -1 END);
Please note that the PWAYWORKFILE_TABLE is objection relationally stored with XMLs.
Please suggest what kind of error i am getting and what possible steps might resolve the same, let me know if i missed any details which might shade more light on the same.
Regards,
ArghyadipWhich outer join gives you the error? I don't see any address information in the SQL, hence my question. The first outer join, on table alias L is not needed. The WHERE clause you have setup requires that L.LINEESTIMATEID has a value and so NULL will not evaluate to TRUE and the row will be filtered out. This means you will only be returning rows where there exists rows in the L table, hence the outer join is not needed.
Are all your columns really VARCHAR2(4000)? You say it is object-relational, but was something defined as a CLOB?
You did not provide much in order to duplicate your error so I am just guessing at causes to identify the error.
Also see #9 in
{message:id=9360002} -
ORA-22922: nonexistent LOB value during import
During the import of a dump file of a database with a table holding
several CLOB column I get the error message 'ORA-22922: nonexistent LOB value'
the import is partially rolled back and fails in the end.
How can I get around this problem? Is there any way to check the locators in the
original database table if there is any LOB value missing?Which version of RDBMS you are using. The following link talks about the issue being fixed in 8.1.7
http://asktom.oracle.com/pls/ask/f?p=4950:8:11560397072454048249::NO::F4950_P8_DISPLAYID,F4950_P8_CRITERIA:715689791379 -
Getting ORA-01429 error while changing character set
When I am changing character set from WE8DEC to AL32UTF8, I am getting ORA-01429 error
SQL> ALTER DATABASE CHARACTER SET INTERNAL_USE AL32UTF8 ;
ALTER DATABASE CHARACTER SET INTERNAL_USE AL32UTF8
ERROR at line 1:
ORA-00604: error occurred at recursive SQL level 1
ORA-01429: Index-Organized Table: no data segment to store overflow row-piecesChockalingam wrote:
I am using above steps as per oracle doc only.
http://docs.oracle.com/cd/B10500_01/server.920/a96529/ch10.htm
No, you are not.
- You are not using the correct version doc vs. Oracle server version. Try to find the same suggestion in the relevant doc.
- The doc you reference specifically says "... it can be used only under special circumstances. The ALTER DATABASE CHARACTER SET statement does not perform any data conversion, so it can be used +if and only if the new character set is a strict superset of the current character set+." (emphasis is mine)
You do not have a strict superset.
- Also the special clauses you have used are not documented - for a reason.
Please edit your posts above to remove the ill-advice (steps with internal use only clauses) that does not belong on a forum.
Edited by: orafad on Mar 16, 2012 9:47 PM -
Getting ORA-32700 while creating database
I am getting following error when creating the database :
ORA-32700 error occurred in DIAG Group Service
The error description is as follows :
Cause: An unexpected error occurred while performing a DIAG Group Service operation.
Action: Verify that the DIAG process is still active. Also, check the Oracle DIAG trace files for errors.
The setup is as follows :
Database : Oracle 9i Rel 2.
OS : IBM AIX 4.3.3
We are trying to create the database from sqlplus/dbca. It seems that in the database creation process it is throwing the error while it is trying to create the control files.
listener.ora :
LSNR_TSEDMDB2 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = prcsmbk1)(PORT = 1522))
TNSNAMES.ORA
LISTENER_TSEDMDB2 =
(ADDRESS = (PROTOCOL = TCP)(HOST = prcsmbk1)(PORT = 1522))
We have IBM HACMP Cluster setup on 3 machines. This machine (prcsmbk1) on which I am getting the error while creating the database is part of that HACMP cluster. While installing the Oracle database software also it gave me a list of the 3 machines which are in HACMP cluster. We are not planning to setup RAC, but still it seems like while creating the database control files Oracle is trying to perform some group service operation.
Alert log :
Sat Jan 3 03:31:18 2004
Starting ORACLE instance (normal)
Sat Jan 3 03:31:18 2004
Global Enqueue Service Resources = 64, pool = 4
Sat Jan 3 03:31:18 2004
Global Enqueue Service Enqueues = 128
LICENSE_MAX_SESSION = 0
LICENSE_SESSIONS_WARNING = 0
GES IPC: Receivers 1 Senders 1
GES IPC: Buffers Receive 1000 Send 530 Reserve 300
GES IPC: Msg Size Regular 432 Batch 2048
SCN scheme 3
Using log_archive_dest parameter default value
LICENSE_MAX_USERS = 0
SYS auditing is disabled
Starting up ORACLE RDBMS Version: 9.2.0.4.0.
System parameters with non-default values:
processes = 150
timed_statistics = TRUE
shared_pool_size = 117440512
large_pool_size = 16777216
java_pool_size = 117440512
control_files = /u01/app/oracle/oradata/TSEDMDB2/control01.ctl
db_block_size = 8192
db_cache_size = 33554432
compatible = 9.2.0.0.0
db_file_multiblock_read_count= 16
fast_start_mttr_target = 300
undo_management = AUTO
undo_tablespace = UNDOTBS1
undo_retention = 10800
remote_login_passwordfile= EXCLUSIVE
db_domain =
instance_name = TSEDMDB2
dispatchers = (PROTOCOL=TCP) (SERVICE=TSEDMDB2XDB)
local_listener = LISTENER_TSEDMDB2
job_queue_processes = 10
hash_join_enabled = TRUE
background_dump_dest = /u01/app/oracle/admin/TSEDMDB2/bdump
user_dump_dest = /u01/app/oracle/admin/TSEDMDB2/udump
core_dump_dest = /u01/app/oracle/admin/TSEDMDB2/cdump
sort_area_size = 524288
db_name = TSEDMDB2
open_cursors = 300
star_transformation_enabled= FALSE
query_rewrite_enabled = FALSE
pga_aggregate_target = 25165824
aq_tm_processes = 1
Sat Jan 3 03:31:19 2004
clUster interconnect IPC version:Oracle UDP/IP
IPC Vendor 1 proto 2 Version 1.0
PMON started with pid=2
DIAG started with pid=3
LMON started with pid=4
LMD0 started with pid=5
DBW0 started with pid=6
LGWR started with pid=7
CKPT started with pid=8
SMON started with pid=9
RECO started with pid=10
CJQ0 started with pid=11
QMN0 started with pid=12
Sat Jan 3 03:31:24 2004
starting up 1 shared server(s) ...
starting up 1 dispatcher(s) for network address '(ADDRESS=(PARTIAL=YES)(PROTOCOL=TCP))'...
Sat Jan 3 03:31:25 2004
Create controlfile reuse set database TSEDMDB2
MAXINSTANCES 1
MAXLOGHISTORY 1
MAXLOGFILES 50
MAXLOGMEMBERS 5
MAXDATAFILES 100
Datafile
'/u01/app/oracle/oradata/TSEDMDB2/cwmlite01.dbf' ,
'/u01/app/oracle/oradata/TSEDMDB2/drsys01.dbf' ,
'/u01/app/oracle/oradata/TSEDMDB2/example01.dbf' ,
'/u01/app/oracle/oradata/TSEDMDB2/indx01.dbf' ,
'/u01/app/oracle/oradata/TSEDMDB2/odm01.dbf' ,
'/u01/app/oracle/oradata/TSEDMDB2/system01.dbf' ,
'/u01/app/oracle/oradata/TSEDMDB2/tools01.dbf' ,
'/u01/app/oracle/oradata/TSEDMDB2/undotbs01.dbf' ,
'/u01/app/oracle/oradata/TSEDMDB2/users01.dbf' ,
'/u01/app/oracle/oradata/TSEDMDB2/xdb01.dbf'
LOGFILE GROUP 1 ('/u01/app/oracle/oradata/TSEDMDB2/redo01.log') SIZE 102400K,
GROUP 2 ('/u01/app/oracle/oradata/TSEDMDB2/redo02.log') SIZE 102400K,
GROUP 3 ('/u01/app/oracle/oradata/TSEDMDB2/redo03.log') SIZE 102400K RESETLOGS
Sat Jan 3 03:31:25 2004
ORA-1503 signalled during: Create controlfile reuse set database TSEDMDB2
MAX...
Sat Jan 3 03:32:28 2004
Restarting dead background process QMN0
QMN0 started with pid=15
Sat Jan 3 03:32:28 2004
Shutting down instance (abort)
License high water mark = 3
Instance terminated by USER, pid = 47128
Diag trace file :
/u01/app/oracle/admin/TSEDMDB2/bdump/tsedmdb2_diag_49754.trc
Oracle9i Enterprise Edition Release 9.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP and Oracle Data Mining options
JServer Release 9.2.0.4.0 - Production
ORACLE_HOME = /u01/app/oracle/product/9.2.0
System name: AIX
Node name: prcsmbk1
Release: 3
Version: 4
Machine: 0002599F4C00
Instance name: TSEDMDB2
Redo thread mounted by this instance: 0 <none>
Oracle process number: 0
49754
Number of Serviceable Networks detected is less than 2
Disabling Transparent Network Failover Feature.
*** SESSION ID:(2.1) 2004-01-03 03:31:19.886
kjzcprt:rcv port created
kjzmreg2: slos err[1 19 [HA_GS_CONNECT_FAILED] sskgxn_gs_in 19]
[kjzmreg2]: Error [category=1] is encountered
Node monitor problem:[32700][kjzmreg2]
Membership is lost in DIAG group
Any help is appreciated. Thanks in advance.Thanks a lot for all your responses. We found the issue. The issue was that when we installed 9i we selected Enterprise option which installed RAC also. And after that when we were trying to create database Oracle was thinking that we are trying to create database in RAC env. and most likely it was trying to create/sync the control files on all the machines in the cluster.
The sequence of events were as below :
1. We have 8i installed on this machine
2. We installed 9i (9.2.0.1.0) using the same ORACLE_BASE but different ORACLE_HOME. We didn't select "Custom Install". We selected "Enterprise install" option
3. We installed new installer (2.2.0.18.0 ) and then 9i patch (9.2.0.4.0)
4. While creating the database (manually & through DBCA) we were getting ORA-32700
5. We tried to uninstall (using OUI 2.2.0.18.0) 9i (including the patch) completely but it never succeeded. We noticed that when we started uninstall it did show progress for about 20 minutes and after that it didn't show any progress. It was not taking any CPU cycles and It was not writing to the log file either. Basically we were never able to cleanly uninstall 9i. We tried almost 2 to 3 times.
6. Then we installed 9i using a new ORACLE_BASE and this time we selected "Custom Install" and we did not install RAC. This is successful
7. Then we installed new installer (2.2.0.18.0 ) and we tried to install the 9i patch (9.2.0.4.0) using this new installer but it never succeeded. Then we tried to install the 9i patch (9.2.0.4.0) using the old installer version (2.2.0.11.0) and it was also successful.
8. Then we tried to create database using DBCA and it was successful and then we dropped the database which was created using DBCA and then we created it manually through SQLPLUS and this was fine too.
So basically what we learned from this exercise is that if we are installing 9i on a machine which is part of a cluster and if we don't plan to setup RAC then we shouldn't install RAC and we should do a custom install. I wish there was a option in create database stmt to tell Oracle that though we are creating database on a machine which is part of a cluster environment but we don't intend to setup RAC.
And other thing which is still a mystery is that why does the uninstall never completes successfully. One question on this : We were using the installer version 2.2.0.18.0 to uninstall the 9i software. Do we need to use the older version (2.2.0.11.0) of the OUI? -
ORA-22275 with BFILE record processing
Hi All,
I'm processing records in a table that contains an optional bfile column and then comparing each record with another record from the same table. I'm getting "ORA-22275: Invalid LOB locator specified" when I get my comparison record using a function - and the cursor record contains a null bfile following a not null bfile record.
Here's my simplified 11g test case:
create table jr_test
(pk_id number not null
,stuff varchar2(100) not null
,external_file bfile);
insert into jr_test values (1,'Some other data',bfilename('MY_DIR','jr1.txt'));
insert into jr_test values (2,'Some other data',bfilename('MY_DIR','jr2.txt'));
insert into jr_test values (3,'No bfile',null);
commit;
DECLARE
l_rec_1 jr_test%ROWTYPE;
l_rec_2 jr_test%ROWTYPE;
FUNCTION record_to_compare(p_id IN jr_test.pk_id%TYPE) RETURN jr_test%ROWTYPE IS
l_rec jr_test%ROWTYPE;
BEGIN
SELECT *
INTO l_rec
FROM jr_test
WHERE pk_id = p_id;
RETURN l_rec;
END record_to_compare;
BEGIN
FOR x IN (SELECT *
FROM jr_test
ORDER BY pk_id /* desc */) -- ORA-22275 when order by pk_id asc
LOOP
l_rec_1 := x;
-- Get another record (it's always the same one in this test case)
l_rec_2 := record_to_compare(x.pk_id);
END LOOP;
END;With a descending order by clause (ie. null bfile first) it works OK.
With an ascending order by clause (ie. not null bfiles first) it crashes with ORA-22275.
It looks like a LOB initialisation problem, but I's welcome your comments.
Regards
JRHello
It doesn't actually appear to have anything to do with the order by as such, it is just the order in which the rows are accessed. I've modified your test case to just call the function in a specific order. However if I change to use a stored procedure with an OUT parameter, there is no such issue. I'll dig a bit more but maybe this helps narrow the field of search down a little...
XXXX> declare
2 l_rec_1 jr_test%ROWTYPE;
3 l_rec_2 jr_test%ROWTYPE;
4
5 FUNCTION record_to_compare(p_id IN jr_test.pk_id%TYPE) RETURN jr_test%ROWTYPE IS
6 l_rec jr_test%ROWTYPE;
7 BEGIN
8 SELECT *
9 INTO l_rec
10 FROM jr_test
11 WHERE pk_id = p_id;
12
13 RETURN l_rec;
14 END record_to_compare;
15
16 BEGIN
17
18 -- Get another record (it's always the same one in this test case)
19 l_rec_2 := record_to_compare(1);
20 l_rec_2 := record_to_compare(2);
21 l_rec_2 := record_to_compare(3);
22
23 END;
24 /
declare
ERROR at line 1:
ORA-22275: invalid LOB locator specified
Elapsed: 00:00:00.12
XXXX>
XXXX> declare
2 l_rec_1 jr_test%ROWTYPE;
3 l_rec_2 jr_test%ROWTYPE;
4
5 FUNCTION record_to_compare(p_id IN jr_test.pk_id%TYPE) RETURN jr_test%ROWTYPE IS
6 l_rec jr_test%ROWTYPE;
7 BEGIN
8 SELECT *
9 INTO l_rec
10 FROM jr_test
11 WHERE pk_id = p_id;
12
13 RETURN l_rec;
14 END record_to_compare;
15
16 BEGIN
17
18 -- Get another record (it's always the same one in this test case)
19 l_rec_2 := record_to_compare(3);
20 l_rec_2 := record_to_compare(2);
21 l_rec_2 := record_to_compare(1);
22
23 END;
24 /
PL/SQL procedure successfully completed.
Elapsed: 00:00:00.01
XXXX>
XXXX> declare
2 l_rec_1 jr_test%ROWTYPE;
3 l_rec_2 jr_test%ROWTYPE;
4
5 PROCEDURE record_to_compare
6 (p_id IN jr_test.pk_id%TYPE,
7 p_row out jr_test%ROWTYPE
8 )
9 IS
10 BEGIN
11 SELECT *
12 INTO p_row
13 FROM jr_test
14 WHERE pk_id = p_id;
15 END;
16
17 BEGIN
18
19 -- Get another record (it's always the same one in this test case)
20 record_to_compare(3,l_rec_2);
21 record_to_compare(2,l_rec_2);
22 record_to_compare(1,l_rec_2);
23
24 END;
25 /
PL/SQL procedure successfully completed.
Elapsed: 00:00:00.01
XXXX>
XXXX> declare
2 l_rec_1 jr_test%ROWTYPE;
3 l_rec_2 jr_test%ROWTYPE;
4
5 PROCEDURE record_to_compare
6 (p_id IN jr_test.pk_id%TYPE,
7 p_row out jr_test%ROWTYPE
8 )
9 IS
10 BEGIN
11 SELECT *
12 INTO p_row
13 FROM jr_test
14 WHERE pk_id = p_id;
15 END;
16
17 BEGIN
18
19 -- Get another record (it's always the same one in this test case)
20 record_to_compare(1,l_rec_2);
21 record_to_compare(2,l_rec_2);
22 record_to_compare(3,l_rec_2);
23
24 END;
25 /
PL/SQL procedure successfully completed.HTH
David -
RE: Getting ORA-01003: no statement parsed error
Hi,
It looks familiar to some of the error which I encountered before. The
situation was a for ... select loop without explicit begin/end transaction.
The reason given by Forte consultant is that:
The dbsession used by the for ... select loop needed to be locked by a
begin/end transaction otherwise, there may be chances that the dbsession is
being acquired by some other sql that unknowingly corrupted the cursor
implicitly built for that for ... select loop.
Hopes this help.
Regards,
Peter Sham.
-----Original Message-----
From: Robinson, Richard [SMTP:[email protected]]
Sent: Friday, April 16, 1999 12:12 AM
To: '[email protected]'
Subject: Getting ORA-01003: no statement parsed error
Any clues? We're getting the following error on a server side
object that
interfaces to Oracle:
SYSTEM ERROR: Select failed for SQL statement in project xxxx, class
yyy,
method ...
error from database is: ORA-01003:no statement parsed
Class: qqdb_ResourceException
Detected at: qqdb_OracleVendorInfo::DoOexfet
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive
<URL:http://pinehurst.sageit.com/listarchive/>
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>Somebody asked nearly the same question Re: EMERGENCY! pl/sql syntax error!!!
-
Getting SQL errors with prepared statement in JDeveloper 10.1.3.2
I'm using oracle JDBC driver and I connect and update just fine from the SQL Worksheet in JDeveloper.
1) When I have more than 1 placeholder in my SQL statement, the last one is dropped so I get "Invalid column index".
2) When I add an extra one, it prepares OK but gets "ORA-01745: invalid host/bind variable name" on execution if the placeholder is inside the SQL closing paren (this situation is showed below).
3) When an extra one is outside the SQL closing paren, I get "ORA-00933: SQL command not properly ended"
I'm probably missing something obvious but here is the code I'm using:
public void insertToDB(Comment inrecord) throws Exception {
int idx = 0;
try {
this.initialize();
pstmt = conn.prepareStatement(
"INSERT INTO COMMENTS (COMMENT_ID, " +
"LOG_BUS_PROC_CDE, TYPE_CDE, SUBTYPE_CDE, " +
"REF_TYP_CDE, CREATE_USER, CREATE_DATE, " +
"UPDATED_USER, UPDATED_DATE, COMMENT_TEXT) VALUES(" +
"TO_TIMESTAMP('?','YYYY-MM-DD HH24:MI:SS.FF3'), ?, ?, " +
"?, ?, ?, TO_DATE(?,'MM/DD/YYYY'), NULL, NULL, ? ?)");
pstmt.setString(++idx,inrecord.getCommentID());
pstmt.setString(++idx,inrecord.getLogBusProcCDE());
pstmt.setString(++idx,inrecord.getTypeCDE());
pstmt.setString(++idx,inrecord.getSubTypeCDE());
pstmt.setString(++idx,inrecord.getRefTypCDE());
pstmt.setString(++idx,inrecord.getCreateUser());
pstmt.setString(++idx,inrecord.getCreateDate());
pstmt.setString(++idx,inrecord.getCommentTXT());
pstmt.executeUpdate();
conn.commit();
this.terminate();
catch (Exception e) {
conn.rollback();
this.terminate();
throw e;
}Hi,
actually you increment the index
pstmt.setString(++idx,inrecord.getCommentID());
which means you never have an index of 0 but always start with 1
Frank
Maybe you are looking for
-
Sending PO as PDF to multiple recipients
Hi, I have to out put the PO as pdf and send it to mulitple recipients. I am taking the standard program and copied to z program and i did some modifications in it. i am able to send the PDF as attachment in a mail and its working fine. Now requireme
-
Hi Gurus, y client wants to give all cheque details like no, amount etc at a time of sales order creation, because they will deal only in advance payment. They also want to restrict delivery or sales order itself if cheque payment is not equal to
-
Hiya folks! Me again. Just wondering how to see the charge on my Touch while charging. The top right icon says it's charging, full charge. Meter in the "Devices" in iTunes says half way, but the icon is a bit small as well. No software or preference
-
If I order from 10:00pm-4:00am, will I beable to pickup my iPhone 5 at anytime tomorrow at anytime during the day if I use the pickup instore option? Thanks:)
-
This does not happen in IE, only FireFox. When Yahoo Mail loads it does not "Load" completely. Icons, Flags, Scrollbars, direction arrows, etc. do NOT load. The functions still exist and work, but if I didn't already know where some of them are locat