[2 days left] What’s wrong with your cloud strategy? Learn why multicloud solutions matter with Nimble Storage.Register Now

x
?
Solved

Oracle - Error with "where" statement

Posted on 2009-05-11
9
Medium Priority
?
737 Views
Last Modified: 2013-11-16
The following WHERE command produces error ORA-01084 when submitted in a subquery from an oracle database to another oracle database using a DBLINK.  This works fine when run within either database not using a DBLINK.

Please advise and Thanks in advance

WHERE    DOC.DIRECTION = 'I' 
AND      DOC.SUBMISSIONDATE between to_date('2009-04-29', 'YYYY-MM-DD') and to_date('2009-04-30', 'YYYY-MM-DD')  
and

Open in new window

0
Comment
Question by:pandkyon
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 4
9 Comments
 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 24358124
can you show more information about the query that does not work?
0
 

Author Comment

by:pandkyon
ID: 24358202
Here is the code:

Thanks!
	
SELECT   DOC.SUBMISSIONDATE
		, DOC.SENDERID
		, DOC.RECEIVERID
		, DOC.DIRECTION 
		, DIR.DIRECTIONNAME as TransDirection
		, DOC.TRANSACTIONSETID
		, TRN.TRANSACTIONNAME as TransName
		, DOC.NUMDOCS as NumSubmitted
		, DOC.NUMDOCSACCEPTED as NumAccepted 
		, DOC.NUMDOCSREJECTED as NumRejected
		, SENDER.PARTNERID as SenderPartnerID
		, SENDER.IDENTIFIER as SenderIdentifier
		, SENDER.NAME as SenderName
		, SENDER.DESCRIPTION as SenderDescription
		, SENDER.ISINTERNAL as SenderIsInternal
		, SENDER.DIRECTSUBMITTER as SenderDirSubmitter
		, SENDER.DIRECTSUBMITTERIDENTIFIER as SenderDirSubmitterID
		, RECEIVER.PARTNERID as ReceiverPartnerID
		, RECEIVER.IDENTIFIER as ReceiverIdentifier
		, RECEIVER.NAME as ReceiverName
		, RECEIVER.DESCRIPTION as ReceiverDescription
		, RECEIVER.ISINTERNAL as ReceiverIsInternal
		, RECEIVER.DIRECTSUBMITTER as ReceiverDirSubmitter
		, RECEIVER.DIRECTSUBMITTERIDENTIFIER as ReceiverDirSubmitterID		
		, ROU.ROUTECODE AS RouteCd
		, TAX.TAXID as ProvTaxID
		, USA.USAGEDESCRIPTION as UsageDesc
		, DAT.CALENDARDATE
		, DAT.CALENDARYEAR
		, DAT.CALENDARMONTH
		, DAT.CALENDARMONTHNAME
		, NPI.NPI as NationalProviderID
		,STATESYS.CLAIMSYSTEMBYSTATE as StateAndSystem
		,CLMSYS.CLAIMSYSTEM 
		,COBA.COBAID
 
		FROM     DOCUMENT837FACT@Repprod1.REPORTDB DOC 
		join     PARTNERDIM@Repprod1.REPORTDB SENDER		on DOC.SENDERID		=		SENDER.PARTNERID 
		join     PARTNERDIM@Repprod1.REPORTDB RECEIVER	on DOC.RECEIVERID	=		RECEIVER.PARTNERID 
		LEFT JOIN     ROUTECODEDIM@Repprod1.REPORTDB ROU 		ON DOC.ROUTECODEID	=		ROU.ROUTECODEID 
		LEFT JOIN     TAXIDDIM@Repprod1.REPORTDB TAX 			ON DOC.TAXIDID		=		TAX.TAXIDID
		JOIN     USAGEINDICATORDIM@Repprod1.REPORTDB USA ON DOC.USAGEINDICATORID	=	USA.USAGEINDICATORID 
		JOIN     DATEDIM@Repprod1.REPORTDB DAT 			ON DOC.SUBMISSIONDATE	=	DAT.CALENDARDATE 
		LEFT JOIN     NPIDIM@Repprod1.REPORTDB NPI 			ON DOC.NPIID			=	NPI.NPIID 
		JOIN 	 TRANSACTIONSETDIM@Repprod1.REPORTDB TRN ON DOC.TRANSACTIONSETID =   TRN.TRANSACTIONSETID
		JOIN	 DIRECTIONDIM@Repprod1.REPORTDB DIR		ON DOC.DIRECTION		=	DIR.DIRECTION
		LEFT JOIN	COBAIDDIM@Repprod1.REPORTDB COBA ON DOC.COBAIDID = COBA.COBAIDID
		LEFT JOIN CLAIMSYSTEMBYSTATEDIM@Repprod1.REPORTDB STATESYS ON DOC.CLAIMSYSTEMBYSTATEID = STATESYS.CLAIMSYSTEMBYSTATEID
		LEFT JOIN CLAIMSYSTEMDIM@Repprod1.REPORTDB CLMSYS ON DOC.CLAIMSYSTEMID = CLMSYS.CLAIMSYSTEMID
 
WHERE    
	     DOC.DIRECTION = 'I' 
AND      DOC.SUBMISSIONDATE between to_date('2009-04-29', 'YYYY-MM-DD') and to_date('2009-04-30', 'YYYY-MM-DD')  
and 	 DOC.USAGEINDICATORID = '0'

Open in new window

0
 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 24358369
2 things:
§ what is the data type of DOC.SUBMISSIONDATE ?
§ you might consider creating a (materialized) view of the data on the linked server, and just query that one... performance will be much better...
 
0
Survive A High-Traffic Event with Percona

Your application or website rely on your database to deliver information about products and services to your customers. You can’t afford to have your database lose performance, lose availability or become unresponsive – even for just a few minutes.

 

Author Comment

by:pandkyon
ID: 24358691
AngelIII

Thanks,

submissiondate is DATE datatype.  i don't know what a materialized view is
0
 

Author Comment

by:pandkyon
ID: 24363445
Any idea why it's erroring out when using the where clause?

0
 
LVL 143

Accepted Solution

by:
Guy Hengel [angelIII / a3] earned 1500 total points
ID: 24363486
my next check would be this:
ON DOC.SUBMISSIONDATE      =      DAT.CALENDARDATE

you said that DOC.SUBMISSIONDATE is datetime, so what about DAT.CALENDARDATE ?
0
 

Author Closing Comment

by:pandkyon
ID: 31580299
Points awarded for the assistance and pointing me in the right direction.

thanks
Answer:
ORA-00600: internal error code, arguments: [qerrmObnd1], [1084], [ORA-01084: invalid argument in OCI call
I checked the oracle support site and I can confirm that this is an Oracle bug Bug 4456478 - OERI:[qerrmObnd] from remote mapped queries
which has been fixed in Oracle 10.1.0.5 and 10.2.0.2
0
 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 24375784
Author Comments:
Points awarded for the assistance and pointing me in the right direction.

thanks
Answer:
ORA-00600: internal error code, arguments: [qerrmObnd1], [1084], [ORA-01084: invalid argument in OCI call
I checked the oracle support site and I can confirm that this is an Oracle bug Bug 4456478 - OERI:[qerrmObnd] from remote mapped queries
which has been fixed in Oracle 10.1.0.5 and 10.2.0.2



note that you did not initially post the ora-00600 initially, which would have made me to suggest the metalink/oracle support immediately...
0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article describes how to use the timestamp of existing data in a database to allow Tableau to calculate the prior work day instead of relying on case statements or if statements to calculate the days of the week.
In our personal lives, we have well-designed consumer apps to delight us and make even the most complex transactions simple. Many enterprise applications, however, are a bit behind the times. For an enterprise app to be successful in today's tech wo…
Video by: ITPro.TV
In this episode Don builds upon the troubleshooting techniques by demonstrating how to properly monitor a vSphere deployment to detect problems before they occur. He begins the show using tools found within the vSphere suite as ends the show demonst…
In a question here at Experts Exchange (https://www.experts-exchange.com/questions/29062564/Adobe-acrobat-reader-DC.html), a member asked how to create a signature in Adobe Acrobat Reader DC (the free Reader product, not the paid, full Acrobat produ…

656 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question