Oracle Database TNSListener is not running
Hi,
Oracle Database 11gR2 Enterprise edition
I am unable to start TNSListener sever on my local machine. I also watched other related thread but could not resolve this issue. Please help me to resolve this issue, before it was running fine but i dont know what happened. Please see the following snap
http://2.bp.blogspot.com/-mPjl2jlaWk4/UWP2MjtMIHI/AAAAAAAAAh4/0ctJ2OsNb3A/s1600/dberror.JPG
Thanks
Nasir
Edited by: User129 on Apr 9, 2013 4:06 AM
Hi Osama
Listener.ora file
# listener.ora Network Configuration File: D:\app\Admin\product\11.2.0\dbhome_2\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = D:\app\Admin\product\11.2.0\dbhome_2)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:D:\app\Admin\product\11.2.0\dbhome_2\bin\oraclr11.dll")
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
ADR_BASE_LISTENER = D:\app\Admin
Regards
Nasir
Similar Messages
-
Oracle Grid Infrastructure is not running.
Hi All,
I installed and configured oracle Linux 6.0,Oracle Database 11gR2 and Oracle Grid Infrastructure 11gR2. And then I went to create ASM with asmca it given me an error, saying Oracle Grid Infrastructure is not running. ASMCA needs Oracle Grid Infrastructure to configure ASM.+ I cannot create ASM and I do not know how to start ASM Instance.
Please anyone knows this help me.
Thanks,
Tharaka
Edited by: tharakaya on Jul 21, 2011 1:28 PM
Edited by: tharakaya on Jul 21, 2011 1:29 PMtharakaya wrote:
Hi All,
I installed and configured oracle Linux 6.0,Oracle Database 11gR2 and Oracle Grid Infrastructure 11gR2. And then I went to create ASM with asmca it given me an error, saying Oracle Grid Infrastructure is not running. ASMCA needs Oracle Grid Infrastructure to configure ASM.+ I cannot create ASM and I do not know how to start ASM Instance.
Please anyone knows this help me.
Thanks,
Tharaka
HI,
Before you proceed any further you need to know that Linux 6.0 is not certified yet against 11gR2
Cheers -
The Oracle BI server is not running. The repositiry had to be closed
Hi guys,
I have a OBI Standard Edition 10.1.3.4.1.
I have modify the rpd and if I try to "Check In Changes", the error appears: "The Oracle BI server is not running. The repositiry had to be closed".
In the nQServer.log this error appears:
[nQSError: 12002] Socket communication error at call=recv: (Number=10055) An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full.
Why?
The problem persist if I restart the services.
The problem only occurs if I make a change in the Business Model Layer. The changes in the Physical Layer do not generate errors.
Thank you,
SaraHi Sara,
Can you please let us know, if there are any other messages in the NQServer.out.log ? I just googled around with this code to hit at the following link : http://www.bookmark-master.com/socket-error-10055.html
Socket error (#10055): No buffer space available.
Analyse & Solutions:
An operation on a socket or pipe was not performed because the system lacked sufficient buffer space or because a queue was full. This error indicates a shortage of resources on your system. It can occur if you're trying to run too many applications (of any kind) simultaneously on your machine. If this tends to occur after running certain applications for a while, it might be a symptom of an application that doesn't return system resources (like memory) properly. It may also indicate you are not closing the applications properly. If it persists, exit Windows or reboot your machine to remedy the problem.
From the above information, I understand that this is a system resource issue. Can you please recheck if your system has got enough resources?
Hope this helps.
Thank you,
Dhar -
The course I did to gain OCP certification in Oracle Database 11g does not appear on the courses submission list on the website of pearson vue, I sent an email to [email protected] from < email address deleted by moderator >, without an answer in 7 days since 01/28/2015, the email is below, the title of my course is in Portuguese. What should I do in this case ?
Dear Oracle.
I am sending this email because recently I passed in the exam 1Z0-053 Oracle Database 11g: Administration II, which is the last examination necessary to acquire the OCP Certification. However, in the path to the certification I need to prove that I participated in an Oracle Official Training.
Searching for the course on the pearson vue site, I have not found the course name on the list. So I am sending this email with the course information required for certification. I attended to the course in college FIAP (http://www.fiap.com.br/en/conheca-a-fiap/parcerias-estrategicas/), in the city of São Paulo, Brazil, from March/2010 to March/2011. Accessing the link above is possible to verify that the educational institution is an Oracle Partner. The title that I got was "Graduate in Oracle Database Management".
In this email I attached a copy of the FIAP Certified Course (front.jpg certificate, certificate back.jpg). I’m also sending the data from my profile in the pearson vue site (Pearson VUE - My profile.pdf), and my scores in the exams for OCP certification (1Z0-051.pdf, 1Z0-052.pdf, 1Z0-053.pdf ).
If you need any further information just let me know and I will provide.
Please acknowledge this information and grant me the OCP certification (Oracle Database 11g Administrator Certified Professional).
Regards.
Italo Moisés dos Santos.
Oracle Testing ID: < deleted by moderator >Sorry, I expressed myself badly.
When I access http://www.pearsonvue.com/oracle/course/ and start submission process of the course, in the first step “Select the track for which you have completed a certification requirement” I selected the option “Oracle Database 11g Administrator OCP”, in the second step I selected “ILT = Instructor Led Training”, but when I got on the third step “Which course or requirement did you complete?” I have to choose the course name that I did, the course name that I did does not appears in that list, so I do not know which one to select, even having at the end of the form the option “Other ...(Course or requirement is not shown above. Please enter title below.)” the course name I did is in Portuguese/Brazil, the name is “MBA em gestão de banco de dados oracle” in Portuguese, which in English would look like "Graduate in Oracle Database Management".
I sent an email to [email protected] containing the information that I found necessary to obtain certification.
But if I have to do the process in the pearson vue site, should I put the course name in Portuguese or in English ?
Only the email I sent is not enough ?
Thanks for the help, and sorry for my english ! -
Oracle 9i database configuration assisstant not running
Hi All,
My database is Oracle 9i.The configuration assisstant not running in this .can any body help?
ReenaHi Reena, this got lost in the wrong forum. try the database forum
Barry -
Oracle discoverer 9i can not running at windows 2003 server
Hi, Please help me.
When I upgrade from windows 2000 advance server to windows 2003 server the oracle discoverer 9i can not be open. When I open it there is a error "Failed to open document"
How to make it run smoothly at windows 2003 server?
Thank YouHi,
This is a bug in your version of Discoverer. There is a patch to make it work with windows 2003 or you can upgrade your Discoverer to a later version. The patch should be available from Oracle support. I don't know of anyway to make your version work with 2003.
Rod West -
Oracle Software Packager is not Running!!! Help me....
Hello,
I have Installed Oracle Software PAckager on Windows 2000 but it is not running... No Error message just the WIndow disappear without Any Error...
I Have JDK 1.3.1 installed on my machine.. Please Help me... Out at your earliest........
Thanks In Advance..
ShanEnvironment variables:
CLASSPATH = <drive:>\jdk1.1.8\lib\classes.zip
PATH = <drive:>\jdk1.1.8\bin;......
Best to have jdk first in path.
HTH,
Ed. -
Oracle 10g Universal Installer not running in HP-UX itanium
<span class="MsgBodyText">I am installing Oracle 10.2 to HP-UX itanium 11i (11.23).
I followed all the necessary steps mentioned in oracle installation guide.
I update kernel parameter, oracle home directory creation, permission, oracle user and dba,oinstall group creation.
But when i run the runinstaller i got some error so that i cant go forward to database installation. here are the errors
<span class="MsgBodyText">bash-3.2$ uname -a
HP-UX incbk B.11.23 U ia64 0831792644 unlimited-user license
bash-3.2$ /test_archive/10g_HP-UX/database/runInstaller
Starting Oracle Universal Installer...
Checking installer requirements...
Checking operating system version: must be B.11.23. Actual B.11.23
Passed
Checking swap space: must be greater than 250 MB. Actual 4095 MB Passed
Checking Temp space: must be greater than 250 MB. Actual 1955 MB Passed
All installer requirements met.
Preparing to launch Oracle Universal Installer from
/tmp/OraInstall2009-02-10_10-42-00AM. Please wait ...bash-3.2$
Unhandled signal occurred at 0x60000000c8366780
SIGSEGV 11* segmentation violation
si_signo [11]: SIGSEGV 11* segmentation violation
si_errno [0]: Error 0
si_code [2]: SEGV_ACCERR [addr: 0x0]
Aborting...
Another exception has been detected while we were handling last error.
Dumping information about last error:
ERROR REPORT FILE = (N/A)
PC = c8366780
SIGNAL = 11
FUNCTION NAME = (N/A)
OFFSET = 0xFFFFFFFF
LIBRARY NAME = (N/A)
Please check ERROR REPORT FILE for further information, if there is any.
Good bye.
<span class="MsgBodyText">Please help me...
Is the problem in OS level or any patch problem??
I have no idea. Please give some idea.
Shafiul
Novotel-bdhi,
Please check metalink note 169706.1 fro OS requirements -
Oracle Database Console Service not starting on Windows 2008 R2
I am installing Oracle 11G
The database installs fine, however Database Console service will not start. The java process is launched and I get the login screen, however after logging in I see: Error: Internal Error has occurred. Check the log file for details.
I check emoms.trc and I found the following:
2011-07-08 11:22:16,037 [OC4J Launcher] ERROR app.ContextInitializer contextInitialized.420 - Integration Class not found: oracle.sysman.pp.asprov.ui.intg.ASProvisioningIntegration
2011-07-08 11:22:16,037 [OC4J Launcher] ERROR app.ContextInitializer contextInitialized.420 - Integration Class not found: oracle.sysman.pp.paf.sample.ui.intg.PAFDemoIntegration
2011-07-08 11:22:16,037 [OC4J Launcher] ERROR app.ContextInitializer contextInitialized.420 - Integration Class not found: oracle.sysman.emCLI.CLIIntg
2011-07-08 11:22:16,037 [OC4J Launcher] ERROR app.ContextInitializer contextInitialized.420 - Integration Class not found: oracle.sysman.emCLI.CLIDownloadIntg
2011-07-08 11:22:17,285 [OC4J Launcher] ERROR app.ContextInitializer contextInitialized.420 - Integration Class not found: oracle.sysman.eml.target.slb.common.SLBIntegration
2011-07-08 11:22:22,808 [OC4J Launcher] ERROR app.ContextInitializer contextInitialized.420 - Integration Class not found: oracle.sysman.pp.sidb.ui.intg.SIDBProvisioningIntegration
2011-07-08 11:22:23,089 [OC4J Launcher] ERROR app.ContextInitializer contextInitialized.420 - Integration Class not found: oracle.sysman.pp.racprov.ui.intg.RACProvIntegration
2011-07-08 11:22:23,089 [OC4J Launcher] ERROR app.ContextInitializer contextInitialized.420 - Integration Class not found: oracle.sysman.pp.ec.ui.intg.ExtendClusterIntegration
2011-07-08 11:22:23,135 [OC4J Launcher] ERROR app.ContextInitializer contextInitialized.420 - Integration Class not found: oracle.sysman.pp.dn.ui.intg.DltNodeIntegration
2011-07-08 11:22:23,135 [OC4J Launcher] ERROR app.ContextInitializer contextInitialized.420 - Integration Class not found: oracle.sysman.pp.common.ui.intg.ProvCommonIntegration
2011-07-08 11:22:23,135 [OC4J Launcher] ERROR app.ContextInitializer contextInitialized.420 - Integration Class not found: oracle.sysman.pp.bpelprov.ui.intg.BPELProvisioningIntegration
2011-07-08 14:41:07,079 [EMUI_14_41_06_/console/database/instance/sitemap] ERROR perf.sitemap initializeGeneral.580 - Failed to initialize object: ORA-20206:
ORA-06512: at "SYSMAN.EMD_DATABASE", line 1297
ORA-01403: no data found
ORA-06512: at line 1
2011-07-08 14:41:08,779 [MetricCollector:HOMETAB_THREAD600:60] ERROR rt.DbMetricCollectorTarget _getAllData.344 - java.lang.NullPointerException
java.lang.NullPointerException
at oracle.sysman.emSDK.emd.comm.EMDClient.getURL(EMDClient.java:1570)
at oracle.sysman.emSDK.emd.comm.EMDClient.getConnection(EMDClient.java:1266)
at oracle.sysman.emSDK.emd.comm.EMDClient.getConnection(EMDClient.java:1242)
at oracle.sysman.emSDK.emd.comm.EMDClient.getResponseForRequest(EMDClient.java:1689)
at oracle.sysman.emSDK.emd.comm.EMDClient.getMetrics(EMDClient.java:981)
at oracle.sysman.emo.perf.metric.rt.DbHomeTab._getAllData(DbHomeTab.java:340)
at oracle.sysman.emo.perf.metric.rt.DbHomeTab.getData(DbHomeTab.java:154)
at oracle.sysman.emo.perf.metric.eng.MetricCached.collectCachedData(MetricCached.java:416)
at oracle.sysman.emo.perf.metric.eng.MetricCollectorThread._collectCachedData(MetricCollectorThread.java:605)
at oracle.sysman.emo.perf.metric.eng.MetricCollectorThread.run(MetricCollectorThread.java:325)
at java.lang.Thread.run(Thread.java:595)
I went here SYSMAN.EMD_DATABASE", line 1297 and found the below query:
SELECT target_guid, type_display_name, last_load_time,
TYPE_META_VER, CATEGORY_PROP_1, CATEGORY_PROP_2, CATEGORY_PROP_3,
CATEGORY_PROP_4, CATEGORY_PROP_5,
NVL(to_char(from_tz(CAST(last_load_time AS TIMESTAMP),
timezone_region),
'TZD'),
'GMT ' || to_char(from_tz(CAST(last_load_time AS TIMESTAMP),
timezone_region),
'TZR'))
INTO targetGuid, typeDisplayName, lastUpdatedTime,
meta_ver, cat_prop_1, cat_prop_2, cat_prop_3,
cat_prop_4, cat_prop_5,
timeZone
FROM mgmt_targets
WHERE target_name = targetName
AND target_type = targetType;
I do not know what is being passed for variables, however there is only one row in that table (Target_name=Management Services and Repository) and in another database instance I have 5.
I have tried uninstalling the entire database several times and I have also used emca -deconfig dbcontrol db -repos drop and emca -config dbcontrol db -repos create several times after updating my host file (even though I have a static IP). Any assistance would be greatly appreciated.
Thanks,
BenHi Eric,
Thanks for the reply. I do have enough disk space. This is a new server with over a TB of free space on the drive where I am installing.
Thanks,
Ben -
Hi - I'm new to this group and wonders whether you guys can help me.
I'm trying to connect to my Oracle9i database via a Java servlet but
got the following error message in the web browser:
Internal error: exception thrown from the servlet service function
(uri=/servlet/HelloWWW6): java.lang.NullPointerException, Stack:
java.lang.NullPointerException
at oracle.jdbc.oci8.OCIDBAccess.check_error(OCIDBAccess.java:1743)
at oracle.jdbc.oci8.OCIEnv.getEnvHandle(OCIEnv.java:69)
at oracle.jdbc.oci8.OCIDBAccess.logon(OCIDBAccess.java:452)
at oracle.jdbc.driver.OracleConnection.(OracleConnection.java:287)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance
(OracleDriver.java:442)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:321)
at java.sql.DriverManager.getConnection(DriverManager.java:512)
at java.sql.DriverManager.getConnection(DriverManager.java:172)
at HelloWWW6.doGet(HelloWWW6.java:40)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
com.iplanet.server.http.servlet.NSServletRunner.invokeServletService
(NSServletRunner.java:897)
at com.iplanet.server.http.servlet.NSServletRunner.Service
(NSServletRunner.java:464)
My class path is:
Java VM
classpath: /u01/iplanet/servers/plugins/servlets/examples/legacy/beans
.10/SDKBeans10.jar:/usr/local/javamail-1.2/mail.jar:/usr/local/jaf-
1.0.1/activation.jar:/u02/app/oracle/product/9i/lib:/u02/app/oracle/pr
oduct/9i/jdbc/lib:/u02/app/oracle/product/9i/jdbc/lib/classes12.zip:/u
02/app/oracle/product/9i/jdbc/lib/nls_charset12.zip:/u01/iplanet/serve
rs/bin/https/jar/NSServletLayer.jar:/u01/iplanet/servers/bin/https/jar
/NSJavaUtil.jar:/u01/iplanet/servers/bin/https/jar/NSJavaMiscUtil.jar:
/u01/iplanet/servers/bin/https/jar/servlet.jar:/u01/iplanet/servers/bi
n/https/jar/servlet-2.3-filters-
api.jar:/u01/iplanet/servers/bin/https/jar/jsp092.jar:/u01/iplanet/ser
vers/bin/https/jar/jaxp.jar:/u01/iplanet/servers/bin/https/jar/crimson
.jar:/u01/iplanet/servers/bin/https/jar/xalan.jar:/u01/iplanet/servers
/bin/https/jar/jspengine.jar:
My LD_LIBRARY_PATH is:
/u02/app/oracle/product/9i/lib:/u02/app/oracle/product/9i/jdbc/lib:/u0
2/app/oracle/product/9i/jdbc/lib/classes12.zip:/u02/app/oracle/product
/9i/jdbc/lib/nls_charset12.zip
Can anyone help? This is currently driving me nuts. I was able to
connect when I changed it to an application.
I am using the Iplanet Webserver 6.0 on a Linux 7.2 platform. Like I
said, sqlplus works fine, standard java application works fine but
when I change it to a servlet (which means it now goes through the
webserver, I get this error message)
Does anyone know what the source code is trying to do at
OCIDBAccess.java:1743 ?
Thanks guys!Tony, could you please explain me better the procedure that you wrote?
What are the boxes? My situation is similar:
| ServerSocket (1) |
| (192.168.1.100, 5555) |
|
|
|
|
| Proxy |
| Someone wants to connect to the ServerSocket (1) |
That is not true. You CAN do it but you need a box
outside the firewall with proper IP address to help
you. I am not sure if Sergio still wants the answer
today after more than a year from the original post (I
did not see the post until today when I try to search
for something else). Anyway, if such a box is
available (I call it 2nd box), you could first
establish a socket between the two boxes by HTTP
tunneling (I assume it is a http proxy). You have to
initiate the socket from the 1st box. Then start
another server socket on the 2nd box, forwarding the
traffic it gets from outside back to the 1st box using
the established channel. That is it.
Tony -
Oracle 8.0.5 not run on RedHat 5.9
I have used Oracle 8.0.5 on RedHat 5.2 well.
But I try to install it on another machine with RedHat 5.9,
and the server halt with segment fault.
Anyone know what is the problem?
nullI cannot seem to find that patch anywhere. Can someone direct
me to it?
Thanks.
Rick Jolley (guest) wrote:
: Oracle8i is being designed to work with glibc2.1. There is
also a
: patch for Oracle8 to work with glibc2.1 as well.
: Michael Pilgrim (guest) wrote:
: : RedHat's newest version 6.0 (or the beta version of 6.0,
: : which is what 5.9 is) uses glibc 2.1. I haven't tried
Oracle8
: : on glibc 2.1 myself, but from what I've seen from others is
: that
: : Oracle8 is not compatible with glibc 2.1, and you must use
: : something from the 2.0 series of glibc (and it must be at
least
: : 2.0.6). You'd have to use something like RedHat 5.2, which
: comes
: : with glibc 2.0.7. It would be interesting to see whether
: : Oracle8i will work with glibc 2.1 and RedHat 6.0, especially
: : since Oracle has become an investor/parter with RedHat.
: : Maro (guest) wrote:
: : : I have used Oracle 8.0.5 on RedHat 5.2 well.
: : : But I try to install it on another machine with RedHat 5.9,
: : : and the server halt with segment fault.
: : : Anyone know what is the problem?
null -
Is there any Oracle database that can run on Windows ME?
For the millions of us who have computers running Windows ME, particularly laptops, and don't want to switch to memory hog XP, is there any Oracle database software that will run? Any workarounds out there? Currently, you get problems with the products.jar file and staging area when you try to install.
All,
Normally I just help with pl/sql Q&A forum but being a Friday I thought I might check this forum to see what issues are happening here. I'm seeing this question ALLOT of what is the solution to get Oracle (oracle 7.x thru to 9.x) to both install and run on Windows ME (and even win950b). I have not tried this yet myself but I would have assumed that it would install no problem. From what I've been seeing it's the installer (now all java, NO idea why) that's bombing. So for you folks reading this and if you can help, what are the exact instructions to get Oracle to install on Windows ME/95? Thus far I've seen this some someone one ...
Common Error : Jrew has caused and error in JAVAI.DLL Jrew will now close.
Solution : Change/add in WIN.INI ... [compatiblity95] jrew=0x00080000
Some has said they tried this and it didn't work either. I would like to see a solution to this as I have no intention of doing win nt, 2k, or XP either. Even if someone can post the solution to above error, what are all the errors and all the work arounds to get Oracle (yes from 7.x thru 9.x) to install on Win ME/95? Please post some responses as I know allot of people out there have been asking for this.
Have a great weekend folks and thanks for helping on this one if you can !
Tyler -
Oracle database not able to connect in network
Hi all,
I have one problem.I have created a new database in Oracle 9i.This database I am trying to connect as system user,with a password.I am able to connect the darabase
locally,but I am not able to connect to this database in network.Lan connection and everything is oK.Its giving error as
An error occurred while establishing the connection:
Type: java.sql.SQLException Error Code: 17002
Message:
Io exception: The Network Adapter could not establish the connection
can anyone help me out in this issue?
thanks and regards
DhaneshYou are attempting to connect to an Oracle instance using JDBC and you are receiving the following error.
java.sql.SQLException: Io exception:
The Network Adapter could not establish connection
SQLException: SQLState (null) vendor code (17002)
Any or all of the following conditions may also apply:
1) You are able to establish a SQL*Plus connection from the same
client to the same Oracle instance.
2) You are able to establish a JDBC OCI connection, but not a Thin
connection from the same client to the same Oracle instance.
3) The same JDBC application is able to connect from a different
client to the same Oracle instance.
4) The same behavior applies whether the initial JDBC connection
string specifies a hostname or an IP address.
Also
The Network Adapter exception is caused because:
1. The database host name or port number is wrong.
2. The database TNSListener has not been started. The TNSListener may be started with the lsnrctl utility.
Please let us know where is the actual problem , then we can help you out.
HTH
Amkotz -
Oracle 10g Enterprise Manager is not Running
Oracle Enterprise Manager is not running through web browser and not from command prompt. I have check all things everything is right.
C:\Documents and Settings\Fizzi>cdd.
'cdd.' is not recognized as an internal or external command,
operable program or batch file.
C:\Documents and Settings\Fizzi>cd..
C:\Documents and Settings>cd..
C:\>f:
F:\>cd Oracle10g
F:\Oracle10g>cd bin
F:\Oracle10g\BIN>emctl status dbconsole
Environment variable ORACLE_SID not defined. Please define it.
F:\Oracle10g\BIN>set ORACLE_SID=orclniazi
F:\Oracle10g\BIN>emctl status dbconsole
OC4J Configuration issue. F:\Oracle10g/oc4j/j2ee/OC4J_DBConsole_hafeez_orclniazi
not found.Is it working earlier ? If it is new installation then you can configure EM manually.
emca -repos create
emca -config dbcontrol db
emctl start dbconsole
- Virag Sharma
http://virag.sharma.googlepages.com
http://viragsharma.blogspot.com -
Pagination support for non-Oracle databases?
Hi,
I just read this thread (Pagination Support on pagination support. Is there any way to get pagination with non-Oracle databases? We are using an IBM iSeries / AS/400 DB2 database right now, and we're planning to use some local lightweight database in the near future as well (probably Cloudscape/Derby or "IBM Everyplace database".)
We currently use code like this:
String sql = "SELECT art FROM Artikel art" +
/* dynamically generated where statement is added here */
+ "ORDER BY art.artikelNummer";
Query q = em.createQuery(sql);
q.setFirstResult(firstResult);
q.setMaxResults(maxResults);If I look in the TopLink logs, I see queries like this:
SELECT ARTNR, ARALT, ARAFJ, ARXII, ARAVJ, ARXIV, ARANJ, AHGCD, ARNVJ, ARCRJ, ARARK, ARFKJ, ARTNK, ARGP1, ASGCD, ARGP2, ARPR1, ARGP3, ARPR2, AREX1, ARPR3, AREX2, ARPR4, AREX3, ARASA, ARINA, ASSCD, ARIA1, ARBAN, ARIN1, ARBAV, ARIA2, ARBAK, ARIN2, ARCES, ARIA3, ARCDT, ARIN3, ARCRE, ARIA4, ARCWK, ARIN4, ARHBH, ARIA5, ARDFA, ARIN5, ARDFG, ARIA6, ARDOS, ARIN6, AREPW, ARINN, ARFOD, ARIAS, ARFOE, ARINS, ARFOF, ARNAB, ARFOI, ARNIB, ARFON, ARNIA, ARFOS, ARNN1, ARFTA, ARNA2, ARVIV, ARNO2, ARGAP, ARNN3, ARGPT, ARNA4, ARGPD, ARNO4, ARGPA, ARNN5, ARGPO, ARNA6, ARHIS, ARNN6, ARISP, ARNIO, ARKHM, ARNNS, MAGCD, AROVJ, MTGCD, ARPL1, ARMXM, ARPL2, MRKCD, ARPL3, ARMVR, ARVKJ, ARMIM, ARV12, ARMDT, ARVVJ, ARMTE, AR#VR, ARMTU, ARZLS, ARMTM, ARIAT, ARMWK, ARAVS, MPCCD, ARNVS, ARBTW, ARFJS, ARXI2, ARG2S, ARXI3, ARE1S, ARXI4, ARE3S, ARXI6, ARIB1, ARXI1, ARIB2, ARXI5, ARIB3, AROPI, ARIB4, ARPRV, ARIB5, SZGCD, ARIB6, ARSPC, ARINO, ARSMF, ARIOS, VEAAN, ARNIS, ARSYN, ARNO1, ARVR1, ARNA3, ARV1S, ARNN4, ARVR2, ARNO5, ARV2S, ARNIN, ARVR3, ARNOS, ARV3S, ARP1S, ARTFA, ARP3S, ARTFG, ARS12, ARUVC, ARZLD, ARUCW, ARAJS, ARBKV, ARCJS, ARVVI, ARG3S, ARVVP, ARINB, VPOCD, ARIO2, VPECD, ARIO4, ARVIH, ARIO6, ARVHG, ARNBS, ARVRW, ARNN2, ARVPR, ARNA5, ARVVR, ARNAS, ARVVS, ARP2S, ARVV1, ARSVV, ARZK1, ARNJS, ARNA1, ARNO3, ARIO1, ARNO6, ARIO5, AROJS, ARE2S, ARVJS, ARIBS, ARIAD, ARIO3, ARG1S FROM ART WHERE ((((ARUVC = 'N') AND (ARHIS = 'N')) AND (ASGCD = 7)) AND (AHGCD = 15)) ORDER BY ARTNR ASC
(Yeah, I know we have too much columns in the table...)
So, no pagination in the query. As you can see, we have a mechanism in place to dynamically generate a where clause. This is because the user can set filters. The problem is, if our user sets a filter that causes the result set to be significantly smaller, the performance is way better than when he sets no filter at all. We suppose this is because the whole result set is sent to TopLink, regardless of the values of firstResult and maxResults.
We are using TopLink Essentials 2.1-10, by the way.
Message was edited by:
Bart KummelHi all,
I'm trying to subclass <tt>DatabasePlatform</tt> to add pagination support for the AS/400 DB2 database of my customer. To be fair, it is not going very well so far.
The first problem is, the query Chris found by googling (Re: Pagination support for non-Oracle databases?), does not work for AS/400s version of DB2. In fact, although it is called "DB2", the database on the AS/400 system is a whole other database than the "normal" DB2 database that runs on Windows and *nix. The AS/400 DB2 simply does not have a "ROW_NEXT" function.
Another option would be to use the <b>row_number() over()</b> mehtod. But, as can be read here, this function is only available from version V5R4 of OS/400. And guess what? We're stuck on V5R3 at this client. (We cannot upgrade, because there's an application in use that's written in Delphi and IBM dropped the Delphi binding from V5R4...)
So I pretty much ran out of options. On the mailing list I linked to above, someone mentions the option to make a sort of stored procedure that generates a row count number. An example of how to do this can be found here. I implemented it, and ended up with this code:
package com.myclientsname.persistence;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.eclipse.persistence.expressions.ExpressionBuilder;
import org.eclipse.persistence.internal.databaseaccess.DatabaseCall;
import org.eclipse.persistence.internal.expressions.ExpressionSQLPrinter;
import org.eclipse.persistence.internal.expressions.SQLSelectStatement;
import org.eclipse.persistence.internal.sessions.AbstractSession;
import org.eclipse.persistence.logging.SessionLog;
import org.eclipse.persistence.platform.database.DatabasePlatform;
import org.eclipse.persistence.sessions.SessionProfiler;
public class AS400Platform extends DatabasePlatform {
private static final long serialVersionUID = 0L;
public AS400Platform(){
super();
super.setShouldBindAllParameters(false);
public void printSQLSelectStatement(DatabaseCall call, ExpressionSQLPrinter printer, SQLSelectStatement statement) {
int max = 0;
int firstRow = 0;
if (statement.getQuery()!=null){
max = statement.getQuery().getMaxRows();
firstRow = statement.getQuery().getFirstResult();
if ( !(max>0) && !(firstRow>0) ){
super.printSQLSelectStatement(call, printer,statement);
return;
} else {
statement.setUseUniqueFieldAliases(true);
ExpressionBuilder builder = new ExpressionBuilder();
statement.addField(builder.getField("COUNTER() AS CNTR"));
printer.printString("SELECT * FROM (");
call.setFields(statement.printSQL(printer));
printer.printString(") AS R WHERE R.CNTR >= ");
printer.printParameter(DatabaseCall.FIRSTRESULT_FIELD);
if ( max > 0 ){
// Use of binding parameters is not allowed here, so use
// String concatenation instead...
printer.printString(" FETCH FIRST " + max + " ROWS ONLY");
call.setIgnoreFirstRowMaxResultsSettings(true);
public boolean wasFailureCommunicationBased(SQLException exception, Connection connection, AbstractSession sessionForProfile){
if (connection == null || this.pingSQL == null){
//Without a connection we are unable to determine what caused the error so return false.
//The only case where connection will be null should be External Connection Pooling so
//returning false is ok as there is no connection management requirement
//If there is no ping sql then we can not perform the ping.
return false;
PreparedStatement statement = null;
try{
sessionForProfile.startOperationProfile(SessionProfiler.ConnectionPing);
if (sessionForProfile.shouldLog(SessionLog.FINE, SessionLog.SQL)) {// Avoid printing if no logging required.
sessionForProfile.log(SessionLog.FINE, SessionLog.SQL, getPingSQL(), (Object[])null, null, false);
statement = connection.prepareStatement(getPingSQL());
ResultSet result = statement.executeQuery();
result.close();
statement.close();
}catch (SQLException ex){
try{
// Had to add this check because of NullPointerExceptions
// (maybe a bug?)
if(statement != null){
//try to close statement again in case the query or result.close() caused an exception.
statement.close();
} catch (SQLException exception2) {
//ignore;
return true;
}finally{
sessionForProfile.endOperationProfile(SessionProfiler.ConnectionPing);
return false;
}(As you can see, I had to override the <tt>wasFailureCommunicationBased()</tt> method as well, due to some unexpected NPE's. (A bug, perhaps?))
This code does work. However, the performance is not very well. The first page comes relatively fast, but as you browse further in the table, each page comes slower. I assume this is because the counter() method has to be evaluated for each row in the table.
I have to get the performance better and constant. Does anyone have an idea how to optimize this further?
Best regards,
Bart Kummel
Maybe you are looking for
-
Error in ST05 - trace record pair error block. How to resolve/tackle issue?
Hello, Someone approached me last week in asking me how to resolve an issue in ST05. Basically I used the transaction to filter "inclusive VBPA". The error is .... Internal error - trace record pair error block 8 link no. 0 Message no. 0S 026 Diagnos
-
Ironically, I made this support account just to ask this question and had to go to IE to verify. Anyway, Yahoo! Mail use to work almost flawlessly before a couple days ago. Basically, the page loads like normal when I have a good connection except th
-
Why do PDFs in iBooks not sync across my devices
PDFs that I create on my MacBook Air and save in iBooks do not sync to my other iOS devices.
-
Removing navigation bar from homepage....
I've noticed on a few iWeb sites that fellow users have created that it's possible to remove the navigation bar that usually resides at the top of the page. I similarly wish to do this as they have done - on my homepage. Can somebody tell me how?
-
The agent inbox doesnu2019t display email
Hi Gurus, I need to customizing the email inbound in agent inbox, but I cannot see the email in agent inbox only can see it in the E-mail Inbox with salespro business rol. I did the following: 1.- I created a user MAILADM with the Email (emailin@comp