After Upgrade OBI 10g to 11g:Odbc driver returned an error - SQLExecDirectW
Hi all,
for an OBI upgrade from 10g to 11g I used a RPD and Webcatalog based on a remote machine other than my local machine. Firstable I am making the tests on a Linux Virtual machine, which uses the Sample Lite version from Oracle.
I made the following steps:
1. I upgraded the RPD and Webcatalog. It worked without any errors.
2. I set the static variable BI_EE_HOME via Administration Tool to the path in the Linux machine.
--> Here I am not sure if the set path is correct. It begins with: \bi\ ...\instances\...\coreapplication_obis1 (... : I can't mention here the whole path name).
--> When the OBI Server is installed in Windows, the mentioned static variable points to something like 'C:\<install folder>\...\coreapplication_obis1'
--> Question: is the begin of my set path correct?. I set that pointing to the Linux OBI Server, because the OBI Server is installed on Linux.
Problem:
After login as the user in RPD: Administrator/<Password for my upgraded RPD> I can see the links in the Catalog and the Dashboards links. But I can not see any values, any Reports when going through the links.
For example when trying to see a Dashboard with date 12.02.2011it happens:
Odbc driver returned an error (SQLExecDirectW).
Status: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] general error.
[nQSError: 43113] Message returned from OBIS.
[nQSError: 43119] Query Failed:
[nQSError: 17001] Oracle Error code: 12154, message: ORA-12154: TNS:could not resolve the connect identifier specified
at OCI call OCIServerAttach.
[nQSError: 17014] Could not connect to Oracle database. (HY000)
SQL Issued: SELECT "Dimension_-_My Dimension"."MyDimension" saw_0 FROM "Accounting (ACC)" WHERE "Dimension_-_My Dimension"."MyDimension" LIKE 'J%' ORDER BY saw_0
I think its not retrieving the data from the remote database, because I don't have the data of the remote database in my local. I think the OBI Server still is pointing to the local virtual machine Oracle database.
Can anybody tell me what happens here and how can I solve this problem?.
I would appreciate any help....
Hi gerardnico,
I've tried many things and did as in your articles, but I don't have success with that.
These are the things I did:
1. I searched for the file tnsnames.ora in my Linux virtual machine. I could find it in many paths:
/.../Oracle_BI1/network/admin/samples/tnsnames.ora
/.../oracle/xe/app/oracle/product/10.2.0/server/hs/admin/tnsnames.ora.sample
/.../oracle/xe/app/oracle/product/10.2.0/server/network/admin/tnsnames.ora
/.../oracle/xe/app/oracle/product/10.2.0/server/network/admin/samples/tnsnames.ora
/.../oracle/xe/app/oracle/product/10.2.0/server/network/admin/temp/tnsnames.ora
/.../usr/lib/oracle/xe/app/oracle/product/10.2.0/server/network/admin
in the last path I found the listener.ora as well.
2. I took the tnsnames.ora from the last path, because the ORACLE_HOME points to /.../usr/lib/oracle/xe/app/oracle/product/10.2.0/server
3. I edited the tnsnames.ora this way:
# tnsnames.ora Network Configuration File:
XE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = host_of_the_remote_machine)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = database_name_of_the_remote_machine)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
(CONNECT_DATA =
(SID = database_SID_of_the_remote_machine)
(PRESENTATION = RO)
4. I made a backup of the tnsnames.ora in path /.../Oracle_BI1/network/admin/samples/tnsnames.ora
and copied the tnsnames.ora from /.../usr/lib/oracle/xe/app/oracle/product/10.2.0/server/network/admin to the Oracle_BI1 path
5. I set the TNS_ADMIN to /.../usr/lib/oracle/xe/app/oracle/product/10.2.0/server/network/admin
6. I restarted the BI Server
No success in what I did. The error is still there.
7. I've tried also: sqlplus database_user_remote_machine/database_password_remote_machine@database_SID_remote_machine
I didn't get the connection:
SQL*Plus: Release 10.2.0.1.0 - Production on Thu Jun 16 04:36:10 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
ERROR:
ORA-12154: TNS:could not resolve the connect identifier specified
Enter user-name: database_user_remote_machine
Enter password:
ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux Error: 2: No such file or directory
What am I doing wrong here?. I am still thinking that I need the import of the database.
Additional SID=Service-Name=Database-name in the remote machine.
Similar Messages
-
OBIEE: Odbc driver returned an error
Hello All,
While creating an answers on Oracle BI Answers, we are encountering the following error:
Odbc driver returned an error (SQLExecDirectW).
Error Details
Error Codes: OPR4ONWY:U9IM8TAC I2DL65P
State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 17001] Oracle Error code: 29275, message: ORA-29275: partial multibyte character at OCI call OCIStmtFetch. [nQSError: 17012] Bulk fetch failed. (HY000)
You can find the screenshot of the error:
http://dl.dropbox.com/u/4734785/Image.jpg
Thanks for your help,
VikramYou have a conversion problem with your character set between the database and OBIEE.
You have to set your NSL_LANG as you can see in this thread:
ORA-29275: partial multibyte character
To do this, you can do it in your connexion pool with an alter command. Check here for an image example:
http://gerardnico.com/wiki/_detail/dat/obiee/presentation_service/obiee_connexion_alter_nls_date_format.jpg?id=dat%3Aobiee%3Acast_as_date
Cheers
Nico -
Images after upgrade from 10g to 11g
We recently upgraded from 10g to 11g and all the images are broke in the dashboard.
Can anyone provide the steps needs to be done in order to fix the broken images?
Thanks.Put image files at
Drive:\Oracle\Middleware\Oracle_BI1\bifoundation\web\app\res\s_blafp\images
Drive:\Oracle\Middleware\user_projects\domains\bifoundation_domain\servers\bi_server1\tmp\_WL_user\analytics_11.1.1\7dezjl\war\res\s_blafp\images
If required
Drive:\Oracle\Middleware\user_projects\domains\bifoundation_domain\servers\AdminServer\tmp\.appmergegen_1291264099332\analytics.ear\ukjjdc\res\s_blafp\images
Call them using fmap
Syntax: fmap:images/imagename.imageformat
for e.g: fmap:images/geograph.jpg
Pls mark correct/helpful if helps -
ODI Procedures not working after upgrading from 10G to 11G
Hello Gurus,
We have run into a scenario where the procedures in ODI are not working after we upgraded it from 10G to 11G (11.1.1.6). However we can make it to run if we create the procedure from scratch.
Also we are having issues related to packages where in the packages were running before we applied the patch 11.1.1.6.3. And after applying the patches they are not running.
Any help will be appreciated.
ThanksIf you want someone to help you, please be elaborate in the exact errors you are getting.
A general statement would do nothing but guess work.
What is the error that you get while executing the procedure.
What are the exact issues that you get while executing packages ? -
Report Navigation Issue after upgrading from 10g to 11g
Hi Experts
I have recently upgarded my solution from 10g to 11g. Issue is when I click on column value for navigation it doen't navigate the display remains unchanged
1) I have created new dashboard and placed this report in new dashboard the navigation works fine.
2) I have created new report and placed that report in old dashboard it doesn't work
why is it so I undertand that there is problem with Dashboard and not with report but I am unable to figure it out
what can be the problem? any suggestions
Thanks
SameerHi Experts
I have recently upgarded my solution from 10g to 11g. Issue is when I click on column value for navigation it doen't navigate the display remains unchanged
1) I have created new dashboard and placed this report in new dashboard the navigation works fine.
2) I have created new report and placed that report in old dashboard it doesn't work
why is it so I undertand that there is problem with Dashboard and not with report but I am unable to figure it out
what can be the problem? any suggestions
Thanks
Sameer -
Dear all,
When I use SH schema as given Oracle Tutorial..i didn't get any problem.
in real work when i try to show data individualy(fact/dimension ) table in Oracle answer , the data showing without error.
But when i try to display data with the combination of fact and dimension table then it show an error.
Error Codes: OPR4ONWY:U9IM8TAC:OI2DL65P
*State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 15018] Incorrectly defined logical table source (for fact table P05 Waived Loan Interest) does not contain mapping for [D02 FI Hierarchy.FI Name]. (HY000)*
SQL Issued: SELECT "D02 FI Hierarchy"."FI Name" saw_0, "P05 Waived Loan Interest"."Charged via Income/Provision" saw_1 FROM "BBDW" ORDER BY saw_0, saw_1
My database version Oracle 10.2.
Oracle BI Version 10.1.3.2
Edited by: user2259460 on Jun 6, 2010 3:31 AMFor one logical fact table, you can have several logical table source (which is a representation of the physical table)
For one logical dimension table, you can have several logical table source (which is a representation of the physical table)
When you create a logical join (complex join) between the logical fact table and dimension, you say that OBIEE must search in the physical layer a join relation between one of the fact logical table source and one of the dimension logical table source.
Then your dimension physical table (D02 FI Hierarchy) must have minimum a connection with one of the fact logical table source.
Otherwise, if OBIEE can't find one, you get your error.
I hope that it's clear.
Cheers
Nico
Edited by: gerardnico on Jun 7, 2010 12:34 PM can't and not can .. pffff -
Unable to run Direct SQL Query - Error Odbc driver returned an error (SQLEx
Hi,
I have created some answers/reports and dashboards which are working fine.
However when I try to run an SQL statement on "Create Direct Request" under "Direct Database Request" I get the following error:
error : State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 27022] Unresolved Connection Pool object: "rnd1.Connection Pool". (HY000)
error : SQL Issued: {call NQSGetQueryColumnInfo('EXECUTE PHYSICAL CONNECTION POOL "rnd1.Connection Pool" select count(*) from dim_issue')}
I am working as an admin user who has the rights to create direct sql query.
Any help here will be highly appreciated.
Thanks, Rohithi,
27022 Unresolved Connection Pool object: "rnd1.Connection Pool". (HY000
have you declared correctly your Connention Pool?Or the query you write is it correct?
check again you connection pool -
After Migrating from 10g to 11g Geeting problems with Guided navigations.
After Migrating from 10g to 11g Geeting problems with Guided navigations and section navigations not working.
And we are getting the following error <<odbc driver returned an error (SQLExecDirectW)>> where we have used navigations.
In 10G we have Guided navigation Reports to display the Reports links and intermediate reports for conditionally displaying the Dashboard section(Reports) but after migrating to 11g Guided navigation reports and conditional reports are not working..
We know that in 11g section navigation replaced with conditions and Guided navigation replaced with action link.. but
do we need to recreate those reports in actions and condition or is there any work around avoid reworking.Hi Both,
Thanks for the reply ...
For Guided navigation we are getting like below error:
Odbc driver returned an error (SQLExecDirectW).
For Conditional dashboard section we are getting like below error:
"saw.aViewsToRefresh = [];saw.aViewsToRefresh['d:dashboard~p:1egt6il5utl0uu8n~s:3jsmgfs3c1r4tn7c~n:condition'] = true;saw.aViewsToRefresh['d:dashboard~p:1egt6il5utl0uu8n~s:nos5q43jvjmi643b~n:condition'] = true;" -
Oracle Upgrade from 10g to 11g [BRANCHED BY MODERATOR]
Hi Deepak/Folks,
Another question that I have is that while doing the Oracle Upgrade on an EP server, the patches were not installed properly and I had to shut down the Patches installation after it did not do anything for a while.
Now when I try to install the patches it fails telling me that the Installed patches cannot be verified, I had written to SAP and they told me to follow the
SAP note 1862446 - Inventory
load failed... OPatch cannot load inventory for the given Oracle Home
and re-create the oracle inventory.
This has also not helped in anyway.
Is there a solution to this problem.
Following is the error that I am getting when I try to Install the patches
Getting pre-run patch inventory...
Getting pre-run patch inventory...failed.
Cannot get pre-run patch inventory.
Refer to log file
$ORACLE_HOME/cfgtoollogs/mopatch/mopatch-2014_08_06-14-52-51.log
when I open the log file specified here I get the following
more mopatch-2014_08_06-14-52-51.log
more /oracle/<SID>/11203/cfgtoollogs/mopatch/mopatch-2014_08_06-15-01-51.log
MOPatch - Install Multiple Oracle Patches in One Run - 2.1.15.
Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
Version: 2.1.15
Revision: 5.1.2.26
Command-line: /oracle/<SID>/11203/MOPatch/mopatch.sh -v -s SAP11203P_1312-20009978.zip
Oracle Home: /oracle/<SID>/11203
RDBMS version: 11.2.0.3.0
OPatch version:11.2.0.3.3
Clean-up: supported
PSUs: supported
Log file: $ORACLE_HOME/cfgtoollogs/mopatch/mopatch-2014_08_06-15-01-51.log
Patch base: .
Patch source: SAP11203P_1312-20009978.zip
Link script: ./link.mts<SID>ua.sh
Readmes: <none>
Strpd. Readmes:<none>
make utility: /usr/ccs/bin/make
unzip utility: /oracle/<SID>/11203/bin/unzip
User name: ora<SID>
Working dir: /oracle/stage
System: HP-UX mts<SID>ua B.11.31 U ia64 2468369872 unlimited-user license
Disk free: 11734549 KBytes on /oracle/<SID>
Disk required: 886496 KBytes on /oracle/<SID>
Getting pre-run patch inventory...
executing: "/oracle/<SID>/11203/OPatch/opatch" lsinventory -retry 0 -xml "./mopatch-187-21696-tmpdir/preinv.xml"
========================================================
GENERIC OPATCH VERSION - FOR USE IN SAP ENVIRONMENT ONLY
========================================================
Oracle Interim Patch Installer version 11.2.0.3.3
Copyright (c) 2012, Oracle Corporation. All rights reserved.
Oracle Home : /oracle/<SID>/11203
Central Inventory : /oracle/<SID>/oraInventory
from : /oracle/<SID>/11203/oraInst.loc
OPatch version : 11.2.0.3.3
OUI version : 11.2.0.3.0
Log file location : /oracle/<SID>/11203/cfgtoollogs/opatch/opatch2014-08-06_15-01-56PM_1.log
List of Homes on this system:
Inventory load failed... OPatch cannot load inventory for the given Oracle Home.
Possible causes are:
Oracle Home dir. path does not exist in Central Inventory
Oracle Home is a symbolic link
Oracle Home inventory is corrupted
LsInventorySession failed: OracleHomeInventory gets null oracleHomeInfo
OPatch failed with error code 73
Getting pre-run patch inventory...failed.
Cannot get pre-run patch inventory. Exiting.
I would appreciate if you folks can help me out on this
Thanks
APSFOLLOW UP QUESTION BRANCHED:
Oracle Upgrade from 10g to 11g [BRANCHED BY MODERATOR] -
Sudden failure of 32-bit Oracle 11g ODBC driver in 64-Bit Win7 box
I had a working ODBC connection to an Oracle DB using the 32-bit 11g ODBC driver. Suddenly I was unable to connect, getting the error:
Testing Connection
Unable to connect
SQLState=S1000
[Oracle][ODBC][Ora]ORA-00604: error occurred at recursive SQL level 1
ORA-12899: value too large for column "SYSTEM"."LOGON_AUDIT"."PROCESS" (actual: 13, maximum: 12)
ORA-06512: at line 51
OK
For a strange twist, the connection works perfectly with the workstation in Safe Mode. I've tried disabling Symantec Endpoint Protection, and adjusting the Firewall, but so far no dice. Any advice I can get will be appreciated!
Thanks
KeithHow do you get the 32bit client to communicate with the 64bit Oracle instance on the same windows box? After installing the 64 bit db and client (on a developer desktop), I installed the 32 bit client to a different oracle home. I could not get it to connect to the listener - what am I doing wrong? Should I reinstall it to the 64bit home - I'm afraid that'll kill everything though.
Also, I think I'm correct in this, but not sure: any 32bit app must use the 32bit client on the 64bit box. MS Access needs 32bit ODBC, which needs 32bit client, etc.
Thx,
Jeff -
NQS ERROR:14025 NO FACT TABLE EXISTS -after migrating from 10g to 11g
NQS ERROR:14025 NO FACT TABLE EXISTS AT THE REQUESTED LEVEL OF DETAIL in all the reports after migrating from 10g to 11g ...
then we applied the patch (One-off Patch for Bug: 11850704) for the error <<NQS ERROR:14025 NO FACT TABLE EXISTS AT THE REQUESTED LEVEL OF DETAIL>>
But after applying the above the above patch we are still getting the same error.
but in the above patch instructions file - Post deployment instructions to create the Variable
Post Install Instructions:
- To revert to the 10g navigator behavior for handling conforming dimensions,
you must set the following session variable via an init block in the RPD:
NO_FORCE_TO_DETAIL_BIN=1
The default value for the above variable is 0.
- Restart all servers (Admin Server and all Managed Server(s))
but we didn’t find the process to create the specified variable and Initialization block in the RPD
Can you please suggest us how to go further.
Our questions are:Hi
Refer the below thread.
obiee 11g non-conforming dimensions and nQSError 14025
Might be help you/
Thanks,
satya -
Problem with Java Application after upgrade to 10g
after upgrading to 10g if I enable coloumn of varchar255 to load into memory of my middleware orm following error is thrown,
javax.servlet.jsp.JspException at jsp.viewsinglerecord.throwError(_viewsinglerecord.java:31) [SRC:/jsp/standardinclude.jsp:84] at jsp.viewsinglerecord._jspService(_viewsinglerecord.java:1185) [SRC:/jsp/displaymultiplerecords.jsp:461] at com.orionserver[Oracle Application Server Containers for J2EE 10g (10.1.2.3.0)].http.OrionHttpJspPage.service(OrionHttpJspPage.java:56) at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:356) at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:498) at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:402) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.3.0)].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:835) at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.3.0)].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:341) at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.3.0)].server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:230) at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.3.0)].server.http.GetParametersRequestDispatcher.forward(GetParametersRequestDispatcher.java:257) at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069) at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.3.0)].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:835) at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.3.0)].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:341) at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.3.0)].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:816) at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.3.0)].server.http.AJPRequestHandler.run(AJPRequestHandler.java:231) at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.3.0)].server.http.AJPRequestHandler.run(AJPRequestHandler.java:136) at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.3.0)].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192) at java.lang.Thread.run(Thread.java:534)
Any lights on this issue ?after upgrading to 10g if I enable coloumn of varchar255 to load into memory of my middleware orm following error is thrown,
javax.servlet.jsp.JspException at jsp.viewsinglerecord.throwError(_viewsinglerecord.java:31) [SRC:/jsp/standardinclude.jsp:84] at jsp.viewsinglerecord._jspService(_viewsinglerecord.java:1185) [SRC:/jsp/displaymultiplerecords.jsp:461] at com.orionserver[Oracle Application Server Containers for J2EE 10g (10.1.2.3.0)].http.OrionHttpJspPage.service(OrionHttpJspPage.java:56) at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:356) at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:498) at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:402) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.3.0)].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:835) at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.3.0)].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:341) at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.3.0)].server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:230) at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.3.0)].server.http.GetParametersRequestDispatcher.forward(GetParametersRequestDispatcher.java:257) at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069) at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.3.0)].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:835) at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.3.0)].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:341) at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.3.0)].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:816) at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.3.0)].server.http.AJPRequestHandler.run(AJPRequestHandler.java:231) at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.3.0)].server.http.AJPRequestHandler.run(AJPRequestHandler.java:136) at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.3.0)].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192) at java.lang.Thread.run(Thread.java:534)
Any lights on this issue ? -
Select after upgrade 9i - 10g runs slowly thousand times - urgent
I have select which runs around one second on Oracle 9. After upgrade to 10g this select runs more than two hours. I compute statistics on all tables, all columns and all indexes. This select consist from two parts - every part run on oracle 10g around 0.5 second but together more than 2 hours. When I rewrite it using WITH clausule, it runs 2 second. But I don't want to rewrite selects .. I want to find why it runs slow on 10g.
Below are original and rewrited select with their execution plans.
Any idea or recomendation?
Select:
SELECT * FROM (
SELECT DISTINCT from_fix_ident ident, from_ident_icao icao
, latitude1 latitude, longitude1 longitude, from_fix_fea_pk src
, -1 mslink
FROM l_sky_airway, l_dgn_airway
WHERE l_sky_airway.mslink=l_dgn_airway.mslink
UNION ALL
SELECT DISTINCT to_fix_ident ident, to_ident_icao icao
, latitude2 latitude, longitude2 longitude, to_fix_fea_pk src
, -2 mslink
FROM l_sky_airway, l_dgn_airway
WHERE l_sky_airway.mslink=l_dgn_airway.mslink
UNION ALL
SELECT ident, icao, latitude, longitude, 5 src, mslink FROM l_sky_navaid
UNION ALL
SELECT ident, icao, latitude, longitude, 6 src, mslink FROM l_sky_waypoint)
WHERE ident||';'||icao||';'||src IN (
SELECT ident||';'||icao||';'||src FROM (
SELECT from_fix_ident ident
, from_ident_icao icao
, latitude1 latitude
, longitude1 longitude
, from_fix_fea_pk src
FROM l_sky_airway, l_dgn_airway
WHERE l_sky_airway.mslink = l_dgn_airway.mslink
UNION ALL
SELECT to_fix_ident ident
, to_ident_icao icao
, latitude2 latitude
, longitude2 longitude
, to_fix_fea_pk src
FROM l_sky_airway, l_dgn_airway
WHERE l_sky_airway.mslink = l_dgn_airway.mslink
MINUS
SELECT ident
, icao
, latitude
, longitude
, 5 src
FROM l_sky_navaid
MINUS
SELECT ident
, icao
, latitude
, longitude
, 6 src
FROM l_sky_waypoint
ORDER BY ident, icao, src, mslink, latitude, longitude;Execution plan:
Plan
SELECT STATEMENT ALL_ROWSCost: 2 003 Bytes: 1 572 402 240 Cardinality: 24 568 785
29 SORT ORDER BY Cost: 2 003 Bytes: 1 572 402 240 Cardinality: 24 568 785
28 FILTER
12 VIEW EUS. Cost: 825 Bytes: 3 522 880 Cardinality: 55 045
11 UNION-ALL
4 HASH UNIQUE Cost: 398 Bytes: 981 948 Cardinality: 22 317
3 HASH JOIN Cost: 142 Bytes: 981 948 Cardinality: 22 317
1 TABLE ACCESS FULL TABLE EUS.L_SKY_AIRWAY Cost: 85 Bytes: 290 121 Cardinality: 22 317
2 TABLE ACCESS FULL TABLE EUS.L_DGN_AIRWAY Cost: 56 Bytes: 691 827 Cardinality: 22 317
8 HASH UNIQUE Cost: 398 Bytes: 981 948 Cardinality: 22 317
7 HASH JOIN Cost: 143 Bytes: 981 948 Cardinality: 22 317
5 TABLE ACCESS FULL TABLE EUS.L_SKY_AIRWAY Cost: 85 Bytes: 290 121 Cardinality: 22 317
6 TABLE ACCESS FULL TABLE EUS.L_DGN_AIRWAY Cost: 56 Bytes: 691 827 Cardinality: 22 317
9 TABLE ACCESS FULL TABLE EUS.L_SKY_NAVAID Cost: 6 Bytes: 57 225 Cardinality: 1 635
10 TABLE ACCESS FULL TABLE EUS.L_SKY_WAYPOINT Cost: 22 Bytes: 324 712 Cardinality: 8 776
27 VIEW EUS. Cost: 325 Bytes: 12 042 Cardinality: 446
26 MINUS
23 MINUS
20 SORT UNIQUE Cost: 325 Bytes: 23 128 Cardinality: 446
19 UNION-ALL
15 HASH JOIN Cost: 145 Bytes: 9 812 Cardinality: 223
13 TABLE ACCESS FULL TABLE EUS.L_SKY_AIRWAY Cost: 89 Bytes: 2 899 Cardinality: 223
14 TABLE ACCESS FULL TABLE EUS.L_DGN_AIRWAY Cost: 56 Bytes: 691 827 Cardinality: 22 317
18 HASH JOIN Cost: 146 Bytes: 9 812 Cardinality: 223
16 TABLE ACCESS FULL TABLE EUS.L_SKY_AIRWAY Cost: 89 Bytes: 2 899 Cardinality: 223
17 TABLE ACCESS FULL TABLE EUS.L_DGN_AIRWAY Cost: 56 Bytes: 691 827 Cardinality: 22 317
22 SORT UNIQUE Bytes: 512 Cardinality: 16
21 TABLE ACCESS FULL TABLE EUS.L_SKY_NAVAID Cost: 6 Bytes: 512 Cardinality: 16
25 SORT UNIQUE Bytes: 2 992 Cardinality: 88
24 TABLE ACCESS FULL TABLE EUS.L_SKY_WAYPOINT Cost: 24 Bytes: 2 992 Cardinality: 88 Rewrited select which run fast:
WITH inselect AS
(SELECT ident || ';' || icao || ';' || src
FROM (SELECT from_fix_ident ident, from_ident_icao icao,
latitude1 latitude, longitude1 longitude,
from_fix_fea_pk src
FROM l_sky_airway, l_dgn_airway
WHERE l_sky_airway.mslink = l_dgn_airway.mslink
UNION ALL
SELECT to_fix_ident ident, to_ident_icao icao,
latitude2 latitude, longitude2 longitude,
to_fix_fea_pk src
FROM l_sky_airway, l_dgn_airway
WHERE l_sky_airway.mslink = l_dgn_airway.mslink
MINUS
SELECT ident, icao, latitude, longitude, 5 src
FROM l_sky_navaid
MINUS
SELECT ident, icao, latitude, longitude, 6 src
FROM l_sky_waypoint)),
mainselect AS
(SELECT DISTINCT from_fix_ident ident, from_ident_icao icao,
latitude1 latitude, longitude1 longitude,
from_fix_fea_pk src, -1 mslink
FROM l_sky_airway, l_dgn_airway
WHERE l_sky_airway.mslink = l_dgn_airway.mslink
UNION ALL
SELECT DISTINCT to_fix_ident ident, to_ident_icao icao,
latitude2 latitude, longitude2 longitude,
to_fix_fea_pk src, -2 mslink
FROM l_sky_airway, l_dgn_airway
WHERE l_sky_airway.mslink = l_dgn_airway.mslink
UNION ALL
SELECT ident, icao, latitude, longitude, 5 src, mslink
FROM l_sky_navaid
UNION ALL
SELECT ident, icao, latitude, longitude, 6 src, mslink
FROM l_sky_waypoint)
SELECT *
FROM mainselect
WHERE ident || ';' || icao || ';' || src IN (SELECT *
FROM inselect)
ORDER BY ident, icao, src, mslink, latitude, longitude;
Plan
SELECT STATEMENT ALL_ROWSCost: 550 336 Bytes: 2 383 172 145 Cardinality: 24 568 785
31 SORT ORDER BY Cost: 550 336 Bytes: 2 383 172 145 Cardinality: 24 568 785
30 HASH JOIN Cost: 2 647 Bytes: 2 383 172 145 Cardinality: 24 568 785
17 VIEW VIEW SYS.VW_NSO_1 Cost: 1 173 Bytes: 1 472 922 Cardinality: 44 634
16 HASH UNIQUE Cost: 1 173 Bytes: 1 205 118 Cardinality: 44 634
15 VIEW EUS. Cost: 828 Bytes: 1 205 118 Cardinality: 44 634
14 MINUS
11 MINUS
8 SORT UNIQUE Cost: 828 Bytes: 2 314 600 Cardinality: 44 634
7 UNION-ALL
3 HASH JOIN Cost: 142 Bytes: 981 948 Cardinality: 22 317
1 TABLE ACCESS FULL TABLE EUS.L_SKY_AIRWAY Cost: 85 Bytes: 290 121 Cardinality: 22 317
2 TABLE ACCESS FULL TABLE EUS.L_DGN_AIRWAY Cost: 56 Bytes: 691 827 Cardinality: 22 317
6 HASH JOIN Cost: 143 Bytes: 981 948 Cardinality: 22 317
4 TABLE ACCESS FULL TABLE EUS.L_SKY_AIRWAY Cost: 85 Bytes: 290 121 Cardinality: 22 317
5 TABLE ACCESS FULL TABLE EUS.L_DGN_AIRWAY Cost: 56 Bytes: 691 827 Cardinality: 22 317
10 SORT UNIQUE Bytes: 52 320 Cardinality: 1 635
9 TABLE ACCESS FULL TABLE EUS.L_SKY_NAVAID Cost: 6 Bytes: 52 320 Cardinality: 1 635
13 SORT UNIQUE Bytes: 298 384 Cardinality: 8 776
12 TABLE ACCESS FULL TABLE EUS.L_SKY_WAYPOINT Cost: 22 Bytes: 298 384 Cardinality: 8 776
29 VIEW EUS. Cost: 825 Bytes: 3 522 880 Cardinality: 55 045
28 UNION-ALL
21 HASH UNIQUE Cost: 398 Bytes: 981 948 Cardinality: 22 317
20 HASH JOIN Cost: 142 Bytes: 981 948 Cardinality: 22 317
18 TABLE ACCESS FULL TABLE EUS.L_SKY_AIRWAY Cost: 85 Bytes: 290 121 Cardinality: 22 317
19 TABLE ACCESS FULL TABLE EUS.L_DGN_AIRWAY Cost: 56 Bytes: 691 827 Cardinality: 22 317
25 HASH UNIQUE Cost: 398 Bytes: 981 948 Cardinality: 22 317
24 HASH JOIN Cost: 143 Bytes: 981 948 Cardinality: 22 317
22 TABLE ACCESS FULL TABLE EUS.L_SKY_AIRWAY Cost: 85 Bytes: 290 121 Cardinality: 22 317
23 TABLE ACCESS FULL TABLE EUS.L_DGN_AIRWAY Cost: 56 Bytes: 691 827 Cardinality: 22 317
26 TABLE ACCESS FULL TABLE EUS.L_SKY_NAVAID Cost: 6 Bytes: 57 225 Cardinality: 1 635
27 TABLE ACCESS FULL TABLE EUS.L_SKY_WAYPOINT Cost: 22 Bytes: 324 712 Cardinality: 8 776 Reformated
Message was edited by:
Vlada
Message was edited by:
VladaVlada,
could you please post an properly formatted explain plan output using DBMS_XPLAN.DISPLAY including the "Predicate Information" section below the plan to provide more details regarding your statement. Please use the \[code\] and \[code\] tags to enhance readability of the output provided:
In SQL*Plus:
SET LINESIZE 130
EXPLAIN PLAN FOR <your statement>;
SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);In order to get a better understanding where your statement spends the time you might want to turn on SQL trace as described here:
[When your query takes too long|http://forums.oracle.com/forums/thread.jspa?threadID=501834]
and post the "tkprof" output here, too.
Could you also provide the information which version of 10g you're currently using? (4-digit version number). Note that 10g introduced a couple of significant changes including CPU costing enabled by default and a different default setting of DBMS_STATS regarding column histograms.
So you might want to re-gather the statistics using the method_opt parameter of the DBMS_STATS.GATHER__STATS procedures explicitly defined as "FOR ALL COLUMNS SIZE 1" to mimic the 9i behaviour.
You also might want to try the "OPTIMIZER_FEATURES_ENABLE" session setting set to "9.2.0" in order to find out if any of the new optimizer features could be causing the issue if re-gathering the statistics as suggested above doesn't make a difference.
Do you know if the tables/indexes in your 9i database also had reasonable statistics?
Regards,
Randolf
Oracle related stuff blog:
http://oracle-randolf.blogspot.com/
SQLTools++ for Oracle:
http://www.sqltools-plusplus.org:7676/
http://sourceforge.net/projects/sqlt-pp/
Edited by: Randolf Geist on Sep 8, 2008 9:32 AM
Added some specific suggestions -
After upgrading to Lion the bookmarks in Preview returns error message.
After upgrading to Lion the bookmarks in Preview returns error message : The File "****" couldn't be opened because you don't have permission to view it. To change the perimssion, select the item in finder and Choose File info. I have bookmarked plenty of files in Preview. How to overcome this error message???
Doesn't work Steve. I think it is an issue with Preview being sandboxed (check the sandbox column in Activity Monitor: Preview = Yes). Sandboxed apps restrict file access to those the user has explicitly selected. My theory is that this causes the unfortunate side effect of bookmarked or linked PDFs not working. A simple test: open a file with bookmarks, manually open the bookmarked file and then select the bookmark in the first file - it should open with no complaints about permissions (which leads to a weak workaround: open all the PDFs you intend to work with!).
-
Forms HOST command no longer works after database upgrade from 10g to 11g
Hi,
After upgrading the database 10g to 11g the forms HOST command no longer works on Unix server. The form used to work fine prior the upgrade. I read all the threads I could find and did not see any solutions. Adding PATH and LD_LIBRARY_PATH does not work because it does not even run a basic shell script. (I saw this solution, adding PATH and LD_LIBRARY_PATH, in many questions / threads).
1. I wouldn't expect the database upgrade to be an issue, but it is the only change we had.
2. Note, 11g is Oracle Fusion Middleware which is quite a bit different than 10g.
I even tried the most basic commands like "echo" which is a build-in Unix command and there is no directory for it (ie. no /usr/bin - so variable PATH is irrelvent). i.e HOST('echo hi'); and HOST('echo "hi" '); and even HOST ('echo hi > /my_file.txt'); all returns FORMS_FAILURE (actually the if is IF FORM_SUCCESS THEN ... else ... and the else part always runs now - whereas it didn't before.).
Or basic commands like /usr/bin/ls as in HOST(/usr/bin/ls). At that point I was just testing the Unix command would return FORM_SUCCESS even though I could not see the results (because they weren't writing to a log file). Notice that I'm using the direct path /usr/bin so no Unix environment variables were needed.
The form does use webutil but that part works. For example, we have webutil_file_transfer( ....) The file shows up on the application server and in the expected directory.
Here's the main goal. Upload a file from clients local PC to the datebase server. The form uploads the file to the Application server, then we have a Unix script to scp (secure copy) the file from the application server to the database server. IF webutil, or any other Oracle functions could put the file on the database server that would be better. But, I don't know of any procedures that do that - or would have done it cleanly (i.e. storing to database and write back to server and then using a blob etc. )
Anyway, I was hoping someone would help with either of these.
1) Get the HOST command to work. - If we can get that to work then I wouldn't need any more help. We can just call the already existing Unix script to copy the file from the application server to the database.
2) OR be able to upload directly to the database server - wanted to do that originally
Any help would be appreciatedSolution for those interested and for anyone else searching this forum for a solution
I found this on My Oracle Support:
<h3>Host Command from Forms Not Working in 11g in Sun Solaris Sparc OS [ID 1157346.1]</h3>
Applies To: Oracle Forms - Version 11.1.1.1.0 and later
Sun SPARC Sun OS
Symptoms:
When trying to execute a Shell script or any OS command using the host() Built-in from Forms 11g, the host()command is not getting executed. The same functionality works on other operating systems and in previous versions like 10gR2.
Steps to be followed:
1) Take a backup and edit the $DOMAIN_HOME/config/fmwconfig/servers/WLS_FORMS/applications/formsapp_11.1.1/config/default.env or any custom environment file.
2) Locate the following environment variable:
LD_PRELOAD=/ora10gas/app/11.1.0/Middleware/as_1/jdk/jre/lib/sparcv9/libjsig.so
3) Comment out this variable. After the changes, it will look like the following:
#LD_PRELOAD=/ora10gas/app/11.1.0/Middleware/as_1/jdk/jre/lib/sparcv9/libjsig.so
3) a) Instead of LD_PRELOAD, kindly use LD_PRELOAD_64 as given below :
LD_PRELOAD_64=/ora10gas/app/11.1.0/Middleware/as_1/jdk/jre/lib/sparcv9/libjsig.so
(This makes HOST AND RUN_REPORT_OBJECT work fine).
4) Save the file and execute your forms. The Host() built-in will work as expected
The LD_PRELOAD setting in default.env is only required for the working of signal chaining facility in JVM version 1.5 and later. If you are not using theSignal chaining facility, this variable is not required. For more information, refer to the following documentation
http://download.oracle.com/docs/cd/E14571_01/doc.1111/e14772/forms.htm#CJAJGAFF
Maybe you are looking for
-
Getting Serial Number using BlackBerry PIn
Hi guys does anyone know how to generate the device serial number using the PIN? My precious limited edition just got stolen at an accident a few minutes ago. BlackBerry Protect on location it's shaded out, likely won't be able to see it's location o
-
I've contracted the grey square issue on iTunes (from fannying about trying to figure out how to rename image files so that they correspond on iTunes and Finder). I've followed the instructions which appear in duplicate throughout this section howeve
-
Hi guys, my problem is this: when I run the transaction MIRO and I insert the PO I don't want to see all that items which have already been register as a invoice but by FB60:that is these items are already registered in area FI but when I execute the
-
Security issues - where is the correct place to post topics ?
I am a security consultants. I am not sure where is the correct forums area to post the topics on Security. Any suggestions ? Thanks Andrea
-
I just upgraded to Garage Band 10.2 and now cannot convert my projects - a radio program to MP3. It converts to AAC. I need to be able to convert to MP3 to upload to station. Help!