Oracle 9.2.0.1 query bug?
The following test case gives different results on Oracle 9.2.0.1 and 10g. 10g and 3 other competing database products give the answer as
FILES_ID VIEW1_ID VIEW2_ID
1 1 1
while Oracle 9.2.0.1 yields
FILES_ID VIEW1_ID VIEW2_ID
1 1 1
2
The test case is
CREATE TABLE FILES (ID INTEGER);
CREATE TABLE PROPERTIES (ID INTEGER, VERSION INTEGER);
INSERT INTO FILES VALUES (1);
INSERT INTO FILES VALUES (2);
INSERT INTO PROPERTIES VALUES (1, 1);
SELECT FILES.ID AS FILES_ID,
VIEW1.ID AS VIEW1_ID,
VIEW2.ID AS VIEW2_ID
FROM FILES
LEFT OUTER JOIN
(SELECT ID, VERSION FROM PROPERTIES) VIEW1
ON (VIEW1.ID = FILES.ID AND
(VIEW1.VERSION = 1 OR VIEW1.VERSION = -1))
LEFT OUTER JOIN
(SELECT ID, VERSION FROM PROPERTIES) VIEW2
ON (VIEW2.ID = FILES.ID AND
(VIEW2.VERSION = 1 OR VIEW2.VERSION = -1))
WHERE
(FILES.ID = 1 OR FILES.ID = 2) AND
((VIEW1.ID = FILES.ID AND FILES.ID = 1) OR
(VIEW2.ID = FILES.ID AND FILES.ID = 1));
DROP TABLE FILES;
DROP TABLE PROPERTIES;
First, I may be doing something silly but it seems odd that 9 and 10 give me different answers. I don't have access to Oracle support, so I don't know if a more recent patch of 9 would give the seemingly-correct 10g answer. Would anyone who has access to a recent 9.2.x version please try this?
Ideally I need to know what 9.2.x patch this was fixed in so I known the minimum version or Oracle required for my product.
Thanks
Well 9.2.0.1 is six patches out of date. I don't know when this was fixed but...
SQL*Plus: Release 9.2.0.6.0 - Production on Mon Oct 10 17:09:17 2005
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.6.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.6.0 - Production
SQL> CREATE TABLE FILES (ID INTEGER);
Table created.
SQL> CREATE TABLE PROPERTIES (ID INTEGER, VERSION INTEGER);
Table created.
SQL> INSERT INTO FILES VALUES (1);
1 row created.
SQL> INSERT INTO FILES VALUES (2);
1 row created.
SQL> INSERT INTO PROPERTIES VALUES (1, 1);
1 row created.
SQL> SELECT FILES.ID AS FILES_ID,
2 VIEW1.ID AS VIEW1_ID,
3 VIEW2.ID AS VIEW2_ID
4 FROM FILES
5 LEFT OUTER JOIN
6 (SELECT ID, VERSION FROM PROPERTIES) VIEW1
7 ON (VIEW1.ID = FILES.ID AND
8 (VIEW1.VERSION = 1 OR VIEW1.VERSION = -1))
9 LEFT OUTER JOIN
10 (SELECT ID, VERSION FROM PROPERTIES) VIEW2
11 ON (VIEW2.ID = FILES.ID AND
12 (VIEW2.VERSION = 1 OR VIEW2.VERSION = -1))
13 WHERE
14 (FILES.ID = 1 OR FILES.ID = 2) AND
15 ((VIEW1.ID = FILES.ID AND FILES.ID = 1) OR
16 (VIEW2.ID = FILES.ID AND FILES.ID = 1));
FILES_ID VIEW1_ID VIEW2_ID
1 1 1
SQL>
but it seems odd that 9 and 10 give me different answersFnord. If there's a bug in one version of the database it's silly that they don't port it to new versions but fix it instead?
Cheers, APC
Similar Messages
-
Frm-40505:ORACLE error: unable to perform query in oracle forms 10g
Hi,
I get error frm-40505:ORACLE error: unable to perform query on oracle form in 10g environment, but the same form works properly in 6i.
Please let me know what do i need to do to correct this problem.
Regards,
PriyaHi everyone,
I have block created on view V_LE_USID_1L (which gives the error frm-40505) . We don't need any updation on this block, so the property 'updateallowed' is set to 'NO'.
To fix this error I modified 'Keymode' property, set it to 'updatable' from 'automatic'. This change solved the problem with frm-40505 but it leads one more problem.
The datablock v_le_usid_1l allows user to enter the text (i.e. updated the field), when the data is saved, no message is shown. When the data is refreshed on the screen, the change done previously on the block will not be seen (this is because the block updateallowed is set to NO), how do we stop the fields of the block being editable?
We don't want to go ahead with this solution as, we might find several similar screens nad its diff to modify each one of them individually. When they work properly in 6i, what it doesn't in 10g? does it require any registry setting?
Regards,
Priya -
Does oracle 10gr2 has a visual query builder like oracle Express ?
Hi
Thank you for reading my post
does oracle 10gr2 provide a visual query builder like oracle express ?
ThanksSQL Developer<br>
<br>
Nicolas. -
Is it possible to retrieve data from an Oracle db with an LDAP query?
Our application uses an LDAP query to retrieve data from Microsoft Active Directory. Is it also possible to retrieve data from an Oracle database with an LDAP query?
if you have Oracle Internet Directory, you will retrieve with ldapsearch data, which are physically stored in the database. But to select * from emp where ename='SCOTT', it is probably not possible.
At least I have never heard of such a product which translate ldap query in sql query. But feel free to write your own one in perl :-) -
Oracle Forms to open the Query Where dialog box
Hi,
"By typing a colon in a field, the end user can cause Oracle Forms to open the Query Where dialog box, allowing the end user to specify conditions that are too complex to specify by entering values into fields".
I have tried above thing, but where clause dialog box not opening.
Somebody can help me out.
Regards
satheesh kumarForms [32 Bit] Version 6.0.8.27.0 (Production)
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production
With the Partitioning, OLAP and Data Mining options
Oracle Toolkit Version 6.0.8.25.0 (Production)
PL/SQL Version 8.0.6.3.0 (Production)
Oracle Procedure Builder V6.0.8.21.0 Build #1459 - Production
PL/SQL Editor (c) WinMain Software (www.winmain.com), v1.0 (Production)
Oracle Query Builder 6.0.7.1.0 - Production
Oracle Virtual Graphics System Version 6.0.5.38.0 (Production)
Oracle Tools GUI Utilities Version 6.0.8.25.0 (Production)
Oracle Multimedia Version 6.0.8.25.0 (Production)
Oracle Tools Integration Version 6.0.8.18.0 (Production)
Oracle Tools Common Area Version 6.0.8.18.0
Oracle CORE Version 4.0.6.0.0 - Production -
FRM-40505 Oracle Error: Unable to perform query(URGENT)
Hi I developed a form with a control_block and table_block(based on table)
in same Canvas.
Based on values on control_block and pressing Find button detail block will be queried.
Control_block ->
textitem name "payment_type" char type
text item name "class_code " char type
push button "find"
base table: --> payment_terms(termid,payment_type,class_code,other colums)
table_block is based on above table
Now I have written when-button-pressed trigger on find button..
declare
l_search varchar2(100);
BEGIN
l_search := 'payment_type='|| :control_block .payment_type||' AND class_code='||:control_block .class_code ;
SET_BLOCK_PROPERTY('table_block',DEFAULT_WHERE,l_search);
go_block('table_block');
EXECUTE_QUERY;
EXCEPTION
when others then
null;
END;
I am getting
FRM-40505 Oracle Error: Unable to perform query
please help..You don't need to build the default_where at run time. Just hard-code the WHERE Clause property as:
column_x = :PARAMETER.X
But, if for some compelling reason, you MUST do it at run time this should work:
Set_block_property('MYBLOCK',Default_where,
'COLUMN_X=:PARAMETER.X');
Note that there are NO quotes except for first and last. If you get some sort of error when you query, you should actually see :Parameter.X replaced with :1 when you do Help, Display Error. -
Oracle 9i full join incorrect results (bug)
Hello!
Is there an announsments about this bug in 9i, for example, in HR schema:
select e.last_name, e.department_id, d.department_name, d.department_id
+from departments d full join employees e+
on (e.department_id = d.department_id)
where e.department_id is null
returns 16 rows.
If we swap joining tables, then Oracle 9i correctly returns 17 rows:
select e.last_name, e.department_id, d.department_name, d.department_id
+from employees e full join departments d+
on (e.department_id = d.department_id)
where e.department_id is null
including the problematic one: employee Grant with no department.
In 10g the problem seems to be fixed, but I didn't find some sort of errata, so anyone please could send me a link.
(I apologize if the issue is known and old.)
P.S.
Without HR schema one could see similar problem (only with extra row now) in the query:
select * from
+(select 1 Id, 'John' Name, 1 depId from dual+
union all
select 2 Id, 'Smith' Name, 2 depId from dual
union all
select 3 Id, 'Sarah' Name, 1 depId from dual
union all
select 4 Id, 'Connor' Name, 2 depId from dual
union all
select 5 Id, 'Betty' Name, 1 depId from dual
union all
select 6 Id, 'Thomas' Name, 1 depId from dual
union all
select 7 Id, 'Dick' Name, NULL depId from dual) employees
full outer join
+(select 1 Id, 'Sales' Name from dual+
union all
select 2 Id, 'IT' Name from dual
union all
select 3 Id, 'Gov' Name from dual) departments
on employees.depid = departments.id
where employees.depid is null
This is also fixed in 10g.Hi,
Bug reports can be found on support.oracle.com.
Search for "full outer join" (or whatever). Click on the icon to the left of the search text to select from a list of sources. Change it from "All Sources" to "Bug Database". -
Oracle 9.2.0.6; query hangs if partition doesn't exist
Hallo all,
this is the first time I post on this forum.
I work in a group of PL\SQL developers in Italy. Few day ago we had a problem with a query and like to find out what the problem is.
We have an Oracle DB version 9.2.0.6 (old I know) in a production environment. Linux OS.
The query was made to extract data from a partitined table, on a partioned field, in our casa one Year. By mistake we have serced for the wrong year, 2013. There where no data for that year and therefor no partition.
So, happened that the query hangs and after 24 hours was terminated.
What we expected indeed was a zero records retirned in, at the most, few minutes, see that the table, in severa partition contains about 16 million records.
The we tested the same query but in a different enviroment, Oracle 11gr2, same table structure, same partitioning, without partition 2013, and the query completed in less tha 1 minute with zero records in output.
At this point we thought of a bug, but can't find any reference.
Has anyone had a similar experience or can give some indication of possible bug report.
Thanks for any help.Hi Rob,
thank you for your answer.
Sorry if this is not the best forum. I am not very practical.
I try to answer to your questions.
At a first time we thought the query did a full scan on the table. Yes. But even to full scan 16.000.000 records split in no more than 8 partition (at this time) shouldn't take up to 24 hours and never stop running. I think.
We don't have a DBA role so we do not have full control over what is running. And take too long time to open a ticket and ask the DBA to check.
What we did is testing the same query in a pre-prod environment, which is an Oracle 11gr2.
I understand that it is not very usual to have a pre-production environment with a latest version of oracle but this is the way we have to work.
Anyway, the test in pre-production worked very well. Without 2013 partition the return was very fast and we had zero records as expected.
Then we found a workaround for production, ora 9. Call it work around maybe is too much ........
We created the 2013 partition and run the query. The respons was then succesfull in about the same time than in pre-prod. Less than one minute and zero records.
And this is fine for us.
What we don't understand is why this different behavior with two different version of DB. Thats why we think it is due to a bug. We only want to find out whether it is this or if there is a different reason.
Some other response or help would help.
Thank you. -
How can I export a Oracle DB table or a Query Result to an mdb (MS Access) File ?
Hi,
I would like to export a particular table or a particular data subset (result from a SQL query) to a MDB file, I tried with Oracle SQL Developer but I cannot see mdb as a possible export option.
How can I do to export data to a mdb file ? I'm currently using SQL Developer on GNU/Linux, can you suggest me a link or a tool to do such things ?
I consider an acceptable solution also to use SQL Developer to export data in a certain format and then use another software to open that format and create an mdb. What do you suggest ?Open the (an) MS Access database and:
1) Click on File -> Link tables -> Select ODBC Database(s)
2) On popup window select (or create new) "Machine Data Source" -> Oracle Driver -> Select the TNS alias (service name)
Good luck! -
Weblogic 8.1.6 and Oracle 9.2.0.8 - query performance
Folks,
We are upgrading WebLogic from 8.1.5 to 8.1.6 and Oracle from 9.2.0.6 to 9.2.0.8. We use the Oracle thin client driver for 9.2.0.8 to connect from the application to Oracle.
When we use the following combination of the stack we see SQL query performance degradation: -
Oracle 9.2.0.8 database, Oracle 9.2.0.8 driver, WL 8.1.6
Oracle 9.2.0.8 database, Oracle 9.2.0.1 driver, WL 8.1.6
We do not see the degradation in case of the following: -
Oracle 9.2.0.8 database, Oracle 9.2.0.1 driver, WL 8.1.5
Oracle 9.2.0.6 database, Oracle 9.2.0.1 driver, WL 8.1.5
This shows that the problem could be with the WL 8.1.6 version and I was wondering if any of you have faced this before? The query retrieves a set of data from Oracle none of which contain the AsciiStream data type, which is noted as a problem in WL 8.1.6, but that too, only for WL JDBC drivers.
Any ideas appreciated.Folks,
We are upgrading WebLogic from 8.1.5 to 8.1.6 and Oracle from 9.2.0.6 to 9.2.0.8. We use the Oracle thin client driver for 9.2.0.8 to connect from the application to Oracle.
When we use the following combination of the stack we see SQL query performance degradation: -
Oracle 9.2.0.8 database, Oracle 9.2.0.8 driver, WL 8.1.6
Oracle 9.2.0.8 database, Oracle 9.2.0.1 driver, WL 8.1.6
We do not see the degradation in case of the following: -
Oracle 9.2.0.8 database, Oracle 9.2.0.1 driver, WL 8.1.5
Oracle 9.2.0.6 database, Oracle 9.2.0.1 driver, WL 8.1.5
This shows that the problem could be with the WL 8.1.6 version and I was wondering if any of you have faced this before? The query retrieves a set of data from Oracle none of which contain the AsciiStream data type, which is noted as a problem in WL 8.1.6, but that too, only for WL JDBC drivers.
Any ideas appreciated. -
Oracle 9i 10g slow spatial query
I have been using the following spatial query in oracle 9i to assign jurisdictions to spatial points.
SELECT /*+ordered*/ L.TCH_X_COORD, L.TCH_Y_COORD, T.NAME
FROM tis.tis_coordinates_hold_on L,
geospatial.mdt_admin_districts T
WHERE SDO_RELATE(T.GEOMETRY,
MDSYS.SDO_GEOMETRY(2001,41079,MDSYS.SDO_POINT_TYPE(tch_x_coord,tch_y_coord,NULL),
NULL,NULL),'mask=ANYINTERACT querytype=WINDOW') = 'TRUE'
AND tch_assigned_base_rte='M00001N'
By using the ordered hint I was able to double the retrieval rate. My problem is this: We are now migrating to oracle 10g, and the use of the ordered returns no rows (different incorrect results). If I remove the + ordered the results are correct, but I no longer get the increased speed of retrieval. Has anyone run into this problem, and can you suggest a way that I could speed up this query. As it stands now it takes more than 1/2 sec for each record retrieved, and I have millions of records !! Thanks.We're using 10.2.4.0 I believe I have found the reason the queries were different. When I dropped the spatial index and re-created it, the query returned the same rows as 9i. However, I still have an issue with the speed. 10g appears to be about 1/3 as fast as 9i was. It doesn't seem to make any difference whether I put in the +ordered or not. Our dba says just based on cpu and processing speed the server that has 10g should be significantly faster. Any comments? Thanks.
-
Oracle 11g- Straing behaviour of query after importing from Oracle 10g
Hi,
I have a table in Oracle 10g as follows:
Create Table xyz (col1 varchar2(50), col2 varchar2(50));
With following Data
Col1 Col2
A 320
A 110
A 290
A 380
B ABC
B 256
B LMN
I am running following Query
select * from xyz
Where Col1='A' and Col2=110
It works fine. But when I export this table and import it in Oracle 11g. It says invlid identifier.
But if I enclose 110 in single quotes. It works fine.
Also If I recreate this table in Oracle 11g like
Create table xyz1
as select * from xyz;
Now alos I am able to run this query smoothly.
select * from xyz1
Where Col1='A' and Col2=110
What is wrong exporting this table from 10g to 11g.
Any comments/suggestion??
AarbiThe check in your where clause
Col2=110Is comparing a string (Col2 is defined as a VARCHAR) with a numeric literal, so there will be an implicit conversion taking place from character to number. The query then fails due to the B LMN row when 'LMN' fails number conversion.
I'm guessing there was there an index on the table in your 10g installation which would allow the query to be satisfied without checking the B ABC or B LMN rows but is not present or not used in the 11g installation so a full table scan results in an attempt to convert 'ABC' and 'LMN' to a number. Check the explain plans.
Or it could even just be a difference in the order in which the two conditions in the where clause are evaulated between the two versions.
The solution, as you have already found is to do a string comparision
Col2='110'Edited by: Cyn on Dec 7, 2009 12:38 PM -
Calling Oracle stored procedure from xMII Query Templates.
Hi All,
We have a requirement to call a Oracle stored procedure from xMII, the SP expects some inputs and then it returns multiple rows.
I tried different approches with no results, I remember some posts on the same topic but I could not get in search results.
Looking for some help in this regards
Rupesh.Hi Rupesh Bajaj,
In oracle stored procedure we have to use Packages..if you used packages the u have to assign to some variable.
To calling Stored procedure in Query Template is CALL Testing('[Param.1]','[Param.2]',,:X)
In above line Testing is Stored procedure name and Param.1 is parameters and X is Package.
Thanks
Ravilla Ramesh -
Oracle XML parser and IBM jdk bug
Hello,
From a few messages found in the XML forum it seems that IBM jvm could cause problems with oracle XML parser. ( see http://technet.oracle.com:89/ubb/Forum11/HTML/003823.html )
I am using IBM jvm (jdk 1.3) on a linux box, and problems are starting to arise:
I have
- 1 BC4J based jsp app which works fine.
- 2 XML parsing BC4J apps which cause strange errors (like parsing 40 documents fine and failing on the 41st for no apparent reason)
Hopefully, Steven Muench provided precious advice on this (basically, disabling the JIT), however some issues are still open:
<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>You should file a bug with IBM to get this fixed, using your stylesheet as a testcase. Lots of people have hit this problem.<HR></BLOCKQUOTE>
Has anyone (from oracle or else) done this yet? I have gone (quickly) through IBM website but I didn't find any bug report utility or the like...
<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Disable your JIT compiler (or switch JVM's) and you won't have the error.<HR></BLOCKQUOTE>
Turning off the JIT indeed made the errors vanish, thanks a lot for the tip!
I have a few more questions though :
* As the BC4J framework uses the xml parser, It is fairly possible that the ibm jvm bug will affect it...
I haven't had any problems (yet?) with the BC4J part of my applications, but I'm a bit concerned about having random bugs lurking around (I have more than enough of my own :) )
Has anyone stumbled upon IBM JVM vs oracle parser issues in BC4J? (oracle.xml.parser.v2.XXXXXX exceptions...)
* If BC4J is indeed affected, what's the solution?
- Disable the JIT? (And forget about performance?... hmmm... no)
- Switch parsers? (oracle parser is too tightly integrated in the BC4J Framework isn't it?.. hmm... not possible either)
- Wait for a patch from IBM (and use another one in the meantime) / switch JVM :
In either case, I'd really like to know what is the JVM that oracle people use / would advise.
Thanks for your help
nullFor those interested,
last week i reported this bug in the ibm jvm news forum.
They said that the problem had been investigated and would be fixed in their next service release.
FYI: the current release (SR7, labeled "build cx130-20010329) still has various problems wih oracle XML parser.
Remi
null -
Oracle 10g exp error with query parameter
Hi all,
I am trying to perform an export but getting this error when using the query parameter. I think it's a syntax problem but not sure where.
I'm in a dos prompt
E:\>exp file=xxxxx.dmp log=xxxx.log tables=xxxxx query='where responseid not in (select responseid from aaaa_bbbbb)';
LRM-00112: multiple values not allowed for parameter 'query'
EXP-00019: failed to process parameters, type 'EXP HELP=Y' for help
EXP-00000: Export terminated unsuccessfully
ThxThis is why I love this forum so much.
I've probably done thousands of exports and never used the query parameter.
Here's something that will help you. Please read and note the requirement to escape, or protect, special characters and such.
http://download.oracle.com/docs/cd/B10501_01/server.920/a96652/ch01.htm
exp scott/tiger TABLES=emp QUERY=\"WHERE job=\'SALESMAN\' and sal \<1600\"ji li
Maybe you are looking for
-
I recenty updated to Acrobat 9 pro version 9.2.0 and now when I open .pdf files the letters (fonts) are hideous looking and difficult to read. It's like someone turned off font smoothing. Does anyone know how to fix this? i work with .pdf files al
-
I'm having trouble connecting wire to computer
I have a Dell computer. I see where the cord (that goes from the computer to the iPod) looks like it should go in the front, but it does not fit. Where do I plug it in to the computer? Is that the right spot in the front and I need some kind of adapt
-
my phone keeps on rebooting,i have tried various ways to update it but the thing is dat its up to date so i cant install a previous version neither can i install d current version which is corrupt.pls help,dont know what to do again
-
Required source 'update' is missing
Hello, I just installed Xp on my new macbook pro and when i put the osx disk in to install windows support things it says something like it needs to update it's installer. And I say "ok" it says "required source 'update' is missing". What do i do??
-
my iphoto pictures are there but doesnot show them. I see them on the above line but the each individual picture is a blank