[WLS 9.2] Intermittent performance glitch creating InitialContext

Hi,
We are experiencing a peculiar problem with our WLS 9.2 installations: the time taken to create an InitialContext on a remote host has extremely variable performance.
The setup is that we have a gateway server running WLS 9.2 on Solaris 10 that is sends JMS messages to a number of application servers (all running WLS 9.2/Solaris 10). This is done, in the usual fashion, by creating an InitialContext from which we can lookup the ConnectionFactory and Queue. The gateway server is very sensitive to delays in sending the JMS message and any message that cannot be delivered within a specified time triggers a failover scenario and the message is routed to another server.
Investigation of the what was causing the failover to trigger showed that it is that the creating of the InitialContext that occassionally takes significantly longer than we expected. We set up a simple test in isolation to our system that schedules a task every 30 seconds that only creates an InitialContext and times how long it takes. Here are the stats from two sample runs:
Run 1
Mean: 13 ms
Average: 55.54 ms
Min: 11ms
Max: 5086 ms (5 s)
Sample size: 1566
Run 2
Mean: 22 ms
Avgerage: 139.7 ms
Min: 14 ms
Max: 11444 ms (11 s)
Sample size: 1733
Interestingly, when we run this same test from a Windows-based WLS 9.2 installation, the time reported by the test is 0 ms. I can only assume that there is an underlying
We are working around the problem by creating a pool of message dispatchers that already have an initialised InitialContext but we still run into this problem when the pool needs to grow and additional dispatchers are created.
A smaller scale test on using a Windows-based gateway connection to the same Solaris-based application server did not experience the sample problem.
Any ideas?
The code used for the test:
public class InitialContextTest implements Runnable {
    private static final Logger LOG = Logger.getAnonymousLogger();
    private Hashtable<String, String> _environment = new Hashtable<String, String>();
    public void run() {
        final long start = System.currentTimeMillis();
        weblogic.security.Security.runAs(new Subject(), new PrivilegedAction<Void>() {
            public Void run() {
                InitialContext context = null;
                try {
                    context = new InitialContext(_environment);
                } catch (NamingException e) {
                    LOG.log(Level.SEVERE, "test: Cannot create initial context", e);
                } finally {
                    try {
                        if (context != null) {
                            LOG.log(Level.INFO, "test: Closing initial context");
                            context.close();
                    } catch (NamingException e) {
                        LOG.log(Level.SEVERE, "test: Cannot close initial context", e);
                return null;
        final long end = System.currentTimeMillis();
        LOG.log(Level.INFO, "test: t=" + (end - start));
    public void setEnvironment(Map<String, String> environment) {
        _environment.putAll(environment);
}Edited by: Marcus Edwards on Oct 16, 2009 5:16 PM
remove standard deviation figures at they are invalid

Hi,
I don't know what the issue is, but I imagine there could be any number of causes. Overwhelmed DNS servers, network issues, or a even a very long GC. Or there could be a competing process somewhere local or remote that consuming 100% CPU intermittently (which would freeze out or slow other work).
In case you don't already know:
1 - Contexts are thread safe.
2 -There's usually no need to have multiple contexts if they all resolve to the same remote JNDI host, or even the same cluster (usually no performance benefit).
3 - Multiple WebLogic Java contexts on a local JMS that all connect to the same remote JVM will all multiplex over the same socket. When a new context is created, WebLogic sets up a new network connection, checks to see if the local JVM already is talking to the same server (by comparing data returned from the new connection to data from current connections), and, if so, tears down the new network connection and routes traffic for the new Context over the old pre-existing connection.
4 - As you've already discovered, its best practice to cache contexts. In addition, it's best practice to cache JNDI lookup results, as well as JMS connections, sessions, producer, and consumers.
5 - The test you posted below has a memory leak: it should call context.close() when its done with the context.
Tom

Similar Messages

  • How to create InitialContext for JNDI lookup in a cluster?

              I am new to clusters in WL7 and I wanted to know how a client would create an InitialContext
              object to perform a JNDI lookup for a remote object deployed across serveral servers
              in the cluster. Is the following correct?
              Physcial Servers in the cluster
              machine1:9001
              machine2:9001
              machine3:9001
              Code for creating InitialContext
              Properties p = new Properties();
              p.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
              p.put(Context.PROVIDER_URL, "machine1:9001,machine2:9001,machine3:9001");
              Context c = new InitialContext( p);
              Thanks,
              Raffi
              

    Hi Ivaylo,
    There's another alternative solution to your problem. You can have the screen 120 as a user-defined selection screen. i.e., instead of creating this screen through the screen painter, you can create it from within your ABAP Program. This way, you can directly use the SELECT-OPTIONS statement within your screen. You then will no longer have to bother about how to handle the data for the field.
    Especially in the case where your screen 120 has few elements, this approach, in my opinion, will be the best.
    Please let me know if you need any further clarifications on how to go about it if you choose to follow this approach.
    Regards,
    Anand Mandalika.

  • Exception trying to create InitialContext

    I am using the following code for trying to post a message to JMS queue using JDeveloper 11.1.1.5. Sometimes i get exception at the step of creating InitialContext.
    Hashtable env = new Hashtable();
    env.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
    env.put(Context.PROVIDER_URL,"t3://xxxx:yyyy");
    env.put(Context.SECURITY_PRINCIPAL,"username");
    env.put(Context.SECURITY_CREDENTIALS,"password");
    Context jndiContext = null;
    try {
    jndiContext = new InitialContext(env);
    } catch (NamingException e) {
    System.out.println("Could not create JNDI API context: " +
    e.toString());
    System.exit(1);
    When i run the above code i get the following exception(seen in log window)
    Could not create JNDI API context: javax.naming.CommunicationException [Root exception is weblogic.socket.UnrecoverableConnectException: [Login failed for an unknown reason: ]
    When i checked the request and response using http analyzer the response is as follows.
    JDeveloper HTTP Analyzer encountered an error retrieving:
    CONNECT https://140.84.233.133:8001 HTTP/1.0
    An exception occurred while retrieving the response for https://140.84.233.133:8001.
    javax.net.ssl.SSLException: Connection has been shutdown: javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.checkEOF(SSLSocketImpl.java:1293)
         at com.sun.net.ssl.internal.ssl.AppInputStream.read(AppInputStream.java:65)
         at com.sun.net.ssl.internal.ssl.AppInputStream.read(AppInputStream.java:50)
         at oracle.jdevimpl.webservices.tcpmonitor.model.HttpMessageBase.readLine(HttpMessageBase.java:658)
         at oracle.jdevimpl.webservices.tcpmonitor.model.HttpRequest.read(HttpRequest.java:327)
         at oracle.jdevimpl.webservices.tcpmonitor.ConnectionHandler.getResponse(ConnectionHandler.java:405)
         at oracle.jdevimpl.webservices.tcpmonitor.ConnectionHandler.run(ConnectionHandler.java:331)
    Caused by: javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
         at com.sun.net.ssl.internal.ssl.InputRecord.handleUnknownRecord(InputRecord.java:523)
         at com.sun.net.ssl.internal.ssl.InputRecord.read(InputRecord.java:355)
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:798)
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1138)
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1165)
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.getSession(SSLSocketImpl.java:1916)
         at oracle.jdevimpl.webservices.tcpmonitor.ConnectionHandler.negotiateSSL(ConnectionHandler.java:707)
         at oracle.jdevimpl.webservices.tcpmonitor.ConnectionHandler.negotiateForwardedSSLConnection(ConnectionHandler.java:672)
         at oracle.jdevimpl.webservices.tcpmonitor.ConnectionHandler.run(ConnectionHandler.java:311)
    I have included weblogic.jar,wlclient.jar files in project libraries. The server is up and its listening port is running fine. Should i make any changes to my project settings?
    Any help is greatly appreciated.
    Thanks
    Sai Ram
    Edited by: 902262 on Mar 20, 2012 9:28 PM
    Edited by: 902262 on Mar 20, 2012 9:45 PM
    Edited by: 902262 on Mar 28, 2012 1:59 AM

    The explanation is probably that the weblogic.jar and wlclient.jar are not meant to be compatible. For a description of different client options, see [WebLogic Server Client Types and Features|http://docs.oracle.com/cd/E17904_01/web.1111/e13717/basics.htm#SACLT126]. I highly recommend using the "thin t3 client" option for most use cases.
    HTH,
    Tom

  • Create InitialContext error under jre1.5

    I have a JMS client application need to run under the jre1.5 environment. I put the wljmsclient.jar and wlclient.jar into my application's . but throw java.lang.NoClassDefFoundError: com/sun/corba/se/connection/ORBSocketFactory on create InitialContext. How I can do?
    Hashtable props = new Hashtable();
    props.put(InitialContext.INITIAL_CONTEXT_FACTORY, getInitContextFactoryName());
    props.put(InitialContext.PROVIDER_URL, getProviderURL());
    InitialContext initialContext = new InitialContext(props); //here throw a NoClassDefFoundError

    z l <[email protected]> writes:
    Its not supported under 8.1. You need to use the 9.0 client which you can get by downloading the 9.0 beta.
    andy
    I have a JMS client application need to run under the jre1.5 environment. I put the wljmsclient.jar and wlclient.jar into my application's . but throw java.lang.NoClassDefFoundError: com/sun/corba/se/connection/ORBSocketFactory on create InitialContext. How I can do?
    Hashtable props = new Hashtable();
    props.put(InitialContext.INITIAL_CONTEXT_FACTORY, getInitContextFactoryName());
    props.put(InitialContext.PROVIDER_URL, getProviderURL());
    InitialContext initialContext = new InitialContext(props); //here throw a NoClassDefFoundError--

  • Captivate 6 Output intermittent performance issues

    I am getting feedback from users that some of my captivate e-learning is having intermittent performance issues when being run via our LMS. I am hearing of slow down and pausing between slides and questiosn in quizs. I have seen this in action and I cannot pin point what is causing this. The problem doesnt affect most users, then some will report these extreme slow downs.
    I have ruled out any specific browser or OS. Does anyone have similar experiences and any ideas around what may be causing it? I want to rule out Captivate if possible and potentially point the finger at our LMS. However I dont know how the content within Captivate is cached/downloaded when being played.
    Does anyone know how Captviate operates when run via an LMS. Does it download in full, or buffer content and download progressively as the person moves through the content? If I can work this out I may be able to pinpoint the problem.
    Sorry if this is a bit vague, any help or additional experiences would be greatly appreciated.
    Jay

    There is also network latency to consider, in addition to server latency.  In our building, network bandwidth availablity can surge or slow down depending on which subnetwork we're on, if there is several VOiP or web video conferencing sessions taking up bandwidth.  If you're distributing to geographically separated organizations, then you may also experience latency issues related to the local infrastructure.
    Just a thought...

  • Javax.naming.NoInitialContextException: Failed to create InitialContext usi

    Hi All,
    we are passing few messages from Peoplesoft--Weblogic----Notes, and then it returns from Lotus Notes---Weblogic---peoplesoft, but we're getting few java exceptions on the lotus notes side..........
    can anyone help me out.
    Java Exception Thrown
    javax.naming.NoInitialContextException: Failed to create InitialContext using factory specified in hashtable {java.naming.provider.url=t3://managedserver1:8001, java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory} [Root exception is java.lang.NullPointerException]
         at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:243)
         at javax.naming.InitialContext.initializeDefaultInitCtx(InitialContext.java:327)
         at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:357)
         at javax.naming.InitialContext.internalInit(InitialContext.java:295)
         at javax.naming.InitialContext.<init>(InitialContext.java:212)
         at DominoJMSQMessagePump.<init>(DominoJMSQMessagePump.java:43)
         at JavaAgent.NotesMain(JavaAgent.java:29)
         at lotus.domino.AgentBase.runNotes(Unknown Source)
         at lotus.domino.NotesThread.run(Unknown Source)
    Caused by: java.lang.NullPointerException
    at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:235)

    java_2006 wrote:
    You can't access a jdbc pool like that (simply with a main method).
    The Database connection pool must be managed by a container (a servlet or application server) like tomcat.
    That is not entirely true but it certainly helps and is generally the only way it is used anyway so one might as well do it.

  • Supply recommendations for Improvement of portal performance and create POC

    HI All
    i am not aware of Supply recommendations for Improvement of portal performance and create POC*s, any body let me know wht POC means.
    thanks
    Udhaya.

    POC can stand for a lot of different things: http://www.answers.com/topic/poc
    In a supply management context, it could be Purchase Order Change or Purchase Order Confirmation.
    Regards,
    Sean

  • Report performance while creating report on BEx

    All all!
    I am creating a report on BOE 4.0 on top of BEx connection as a source. I have developed reports on top of universe in the past and i know that if we keep calculations on reporting end it hampers the report performance. Is this the same case with BEx? if we are following the best practices is it ok to say that we should keep all heavy calculations/ aggregation on BEx or backend for better report performance.
    Can you guys please provide your opinion based on your experiance and knowledge.  Any feedbacks will help! Thanks.

    Hi,
    Definitely  best-practice to delegate a maximum of CKF to the Cube where possilble,  put RKF in the BEx query, and Filters too.
    also, add Default Values to your Variables (this will speed up generation of the bics transient universe)
    also, since Patch2.10, we are seeing some significant performance improvements  reducing 'document initialization' and  'time to prompts'  by up to 50% (step such as these often took 1.5 minutes, even on sized systems)
    Also, make sure you have BW corrections like this implemented:  1593802    Performance optimization when loading query views 
    In the BusinessObjects landscape - especially with BI 4.0 - it's all about Sizing and Tuning . Here is your bible the 'sizing companion' guide : http://service.sap.com/~form/sapnet?_SHORTKEY=01100035870000738725&_OBJECT=011000358700000307202011E
    Pay particular attention to BICSChunkSize registry settings
    Also, the  -Xmx JVM Heap Size for the Adaptive Processing Server  that is running the DSL_Bridge service.
    Regards,
    H

  • Performance problem creating rows on viewobject

    Hi,
    When a user pushes a button in my Oracle ADF 11.1.1.3.0 GUI,
    he triggers a method in my backing bean.
    This method is called insertNewForecastTable, that takes a (Tree)Map called forecastMap as input. (see below)
    ( The key of this map is a Timestamp,
    the value of this map is an object ForecastEntry.
    A ForecastEntry consists out of 10 ForecastParts, and each Forecastpart contains 4 long values. )
    private void insertNewForecastTable(Map forecastMap) {
    DCBindingContainer bc = (DCBindingContainer)getBindings();
    DCIteratorBinding ForecastIter = bc.findIteratorBinding("ForecastViewIterator");
    DCDataControl dc = ForecastIter.getDataControl();
    ApplicationModule am = (ApplicationModule)dc.getDataProvider();
    ViewObject forecastVO = am.findViewObject("ForecastView");
    Set keys = forecastMap.keySet();
    Iterator keyIter = keys.iterator();
    RowSetIterator it = ForecastIter.getRowSetIterator();
    while (keyIter.hasNext()) {
    Long timestamp = (Long)keyIter.next();
    Timestamp ts = new Timestamp(timestamp);
    Row r = it.createRow();
    r.setAttribute(0, ts);
    ForecastEntry forecastentry = (ForecastEntry)forecastMap.get(timestamp);
    int j = 1;
    for (int i=0;i<10;i++) {
    ForecastPart forecastPart = forecastentry.getForecastPart(i);
    r.setAttribute(j,forecastPart.getHistory());
    j++;
    r.setAttribute(j,forecastPart.getForecast());
    j++;
    r.setAttribute(j,forecastPart.getTrend());
    j++;
    r.setAttribute(j,forecastPart.getLimit());
    j++;
    forecastVO.insertRow(r);
    am.getTransaction().commit();
    Configuration.releaseRootApplicationModule(am,true);
    Problem is : for 3360 entries in this table or viewobject, it takes 10 minutes (!!!) to complete this code.
    Bottleneck is the for-loop and the forecastVO.insertRow(r);
    Both timings are rising from 15 msec in the beginning to 500 msec at the end.
    Anyone has some ideas how to improve my performance ?
    Am I doing something wrong trying to create and insert 3360 rows in this table ?
    Thanks.

    Ok,
    My binding is back ok, so the nullpointer is gone.
    But the speed of processing 1000+ inserts into a table is still very poor.
    This is my code at the moment :
      +private void insertNewForecastTable(Map forecastMap) {+
        +DCBindingContainer bc = (DCBindingContainer)getBindings();+
        +DCIteratorBinding ForecastIter = bc.findIteratorBinding("ForecastViewIterator");+
        +DCDataControl dc  = ForecastIter.getDataControl();+
        +ApplicationModule am = (ApplicationModule)dc.getDataProvider();+
        +ViewObject forecastVO = am.findViewObject("ForecastView");+ 
        +RowSetIterator it = ForecastIter.getRowSetIterator();+
        +Set keys = forecastMap.keySet();+        
        +Iterator keyIter = keys.iterator();+
        +List nameList = new ArrayList();+
        +nameList.add("Timestamp");+
        +for (int i=1 ; i<=10; i ++) {+
          +String H = "H"+i;+
          +String F = "F"+i;+
          +String T = "T"+i;+
          +String L = "L"+i;+
          +nameList.add(H);+
          +nameList.add(F);+
          +nameList.add(T);+
          +nameList.add(L);+
        +}+
        +long time_begin = System.currentTimeMillis();+
        +int counter = 0;+
        +// for each timestamp+
        +while (keyIter.hasNext()) {+
          +// Get the timestamp.+
           +Long timestamp = (Long)keyIter.next();+
           +// convert long to timestamp+
           +Timestamp ts = new Timestamp(timestamp);+
           +// create new row in table+
           +Row r = it.createRow();+
          +List valueList = new ArrayList();+
          +valueList.add(ts);+
          +ForecastEntry forecastentry = (ForecastEntry)forecastMap.get(timestamp);+
          +for (int i=0;i<10;i++) {+
              +ForecastPart forecastPart = forecastentry.getForecastPart(i);+
              +valueList.add(forecastPart.getHistory());+
              +valueList.add(forecastPart.getForecast());+
              +valueList.add(forecastPart.getTrend());+
              +valueList.add(forecastPart.getLimit());+
          +}+
          +r.setAttributeValues(nameList, valueList);+
          +forecastVO.insertRow(r);+
          +counter++;+
          +if (counter % 100 == 0) {+
            +am.getTransaction().commit();+
            +System.out.println("Committing rows " + (counter-100) + " to " + counter );+
          +}+
        +}+
        +long time_end = System.currentTimeMillis();+
        +// commit+
        +am.getTransaction().commit();+
       +// Configuration.releaseRootApplicationModule(am,true);+
        +System.out.println("Total time to insert all rows : " + (time_end-time_begin ));+
      +}+It takes up to 500 seconds to insert 3000 rows !
    I also changed the update batch value from 100 to 5, but no difference.
    I'm now also committing every 100 rows.
    And at the end, I get a nullpointer exception at RowDataManager.getRowIndex(RowDataManager.java:191)
    All help welcome.

  • Wls 10.0 - intermittent 401 errors

    I have a simple HelloWorld servlet that is configured to use CLIENT-CERT as the authentication mechanism.
    I am attempting to deploy this to a WLS 10.0 instance (though the problem I'm seeing also occurs under 9.2)
    When I access the servlet once from my web browser everything works fine, the 2-way SSL handshake takes place and I get the output from my servlet.
    However, if I attempt to access the servlet from multiple tabs concurrently, I get 401 errors intermittently. I can pick any one of the tabs that has a 401 error, hit 'reload' and get the correct output from the servlet.
    I'm concluding that this problem shows up when too many concurrent authentication attempts are made I get the 401 errors.
    This problem disappears if I remove the <security-contraint> section from the web.xml. This leads to the following questions:
    1) If the <security-constraint> configures the servlet to allow any authenticated user (i.e the role specified maps to <principal-name>users</principal-name> in weblogic.xml) AND my WebLogic server is configured to require client certificates (and only listen on the SSL port), is the <security-constraint> serving any purpose?
    2) How do I go about debugging this? Is this some sort of thread/resource issue that can be tweaked through WebLogic server settings somewhere?
    Thanks in advance,
    Bruce

    Probably too late for an answer but I try,
    We are not able to build our J2EE 1.4 application with weblo 10, we have to build them with weblo 8 which contains the xdoclet. then we deploy it in WL10. then sometimes we have to fix some build constraints that WL10 doesn't allow anymore.

  • Performance of Creating Spatial Indexes

    I have a spatial database with about 75GB of data in it. When I load this data initially it takes about 6 hours to load using 6 processes. To get this performance level I did not create any of the indexes or contsraints. So after the load I have to run the scripts to create the indexes and constraints.
    To improve the performance of this I have written a script on UNIX which parses my SQL files and runs each create or alter statement in a separate process. The script makes sure that there are only a certain number of concurrent processes (10).
    Creating the indexes is taking longer than the database load itself. There is one point layer in particular which has serveral hundred million rows which takes around 6 hours to complete. Are the any ways you can improve the performance of index creation. I did try the parallel option once but it did not reliably complete when I did my testing.
    Does using Oracle Partitioning improve the performance of index creation? I do have a mapsheet attribute which could be used for the partitioning.
    Paul

    Hi Paul,
    Parallelism should have reliably helped. I've heard a lot of good things about it more recently (i.e. if you tested on an earlier version you may want to upgrade/patch and check it out).
    Partitioning should improve index creation speed as well. If you tend to query by an attribute, use that attribute as the partition key. If you tend to query by location (spatial query), try to use a partition key that reflects location (state, county, etc).
    When you first create the index, create it local (partitioned) as unusable, then create each partition's index separately in parallel - you can use the script you've already written to do this.
    Since it is point data, make sure to use layer_gtype=point
    Here is a quick example:
    CREATE INDEX partn_table_sidx ON partn_table(geom)
      INDEXTYPE IS MDSYS.SPATIAL_INDEX
      PARAMETERS ('LAYER_GTYPE=POINT')
    LOCAL (
      PARTITION P1 PARAMETERS (TABLESPACE=’P1_TBS’),
      PARTITION P2 PARAMETERS (TABLESPACE=’P2_TBS’),
      PARTITION P3 PARAMETERS (TABLESPACE=’P3_TBS’),
      PARTITION P4 PARAMETERS (TABLESPACE=’P4_TBS’))
    UNUSABLE;
    ALTER INDEX partn_table_sidx REBUILD PARTITION P1;
    ALTER INDEX partn_table_sidx REBUILD PARTITION P2;
    ALTER INDEX partn_table_sidx REBUILD PARTITION P3;
    ALTER INDEX partn_table_sidx REBUILD PARTITION P4;

  • Performance Tuning (creating Descending Indexes)

    Hi,
    There is a huge table about 70 million Records. Huge data pool happens daily for the sysdate.
    For this table there is composite Primary key of c1,c2,c3 and hence the index is created (asc default).
    On Online Screen the latest data is queried from this table. Hence the Query is having order by c1 desc, order by c2 desc, order by c3 will there be any performance improvement if the indexes are created for the PK Columns in descending order?
    Thanking in anticipation.
    Edited by: user505907 on Jan 5, 2010 3:25 AM

    The Query returns roughly 2000 Records and display 50 Rows at a time on the screen.
    The Optimizer Mode is ALL_ROWS. I'm running the query in Oracle 10g
    Here is the Query and the Explain plan for the same. Pls Note that to maintain information integrity I masked the exact table and column names with the dummy names.
    SELECT DISTINCT
    TABLE01.UNIQU,
    TABLE01.SNO,
    TO_CHAR(TABLE02.CREATE_DATE,'YYYY-MM-DD'),
    TABLE02.TYPE,
    TABLE02.RDN,
    TABLE02.C_RDN,
    TABLE02.UNC_RDN,
    TABLE02.UNIQU,
    TABLE03.MODEL_ID,
    TABLE03.INDI.
    TABLE02.RD_DATE
    FROM
    TABLE01,
    TABLE02,
    TABLE03,
    TABLE04
    WHERE
    TABLE04.ID = 1234 AND TABLE04.UNIQU =TABLE01.UNIQU AND
    TABLE02.UNIQU = TABLE01.UNIQU AND
    TABLE02.RD_DATE <=TO_DATE('20101231','YYYY-MM-DD') AND
         TABLE01.MODEL_ID = TABLE03L.MODEL_ID
    ORDER BY TABLE02.RD_DATE DESC,
    TABLE01.UNIQU DESC,
    TABLE02.TYPE DESC
    SQL> SELECT PLAN_TABLE_OUTPUT FROM TABLE(DBMS_XPLAN.DISPLAY(NULL,NULL,'TYPICAL'));
    PLAN_TABLE_OUTPUT
    Plan hash value: 2353636552
    | Id | Operation | Name | Rows| Bytes | Cost (%CPU)| Time |
    | 0 | SELECT STATEMENT | | 6 | 516 | 1462 (1) | 00:00:21 |
    | 1 | SORT UNIQUE | | 6 | 516 | 1461 (1) | 00:00:21 |
    | 2 | TABLE ACCESS BY INDEX ROWID | TABLE02 | 2 | 84 | 1429 (1) | 00:00:21 |
    | 3 | NESTED LOOPS | | 6 | 516 | 1460 (1) | 00:00:21 |
    | 4 | NESTED LOOPS | | 4 | 176 | 19 (0) | 00:00:01 |
    | 5 | NESTED LOOPS | | 4 | 148 | 15 (0) | 00:00:01 |
    | 6 | TABLE ACCESS BY INDEX ROWID | TABLE04 | 4 | 56 | 7 (0) | 00:00:01 |
    |* 7 | INDEX RANGE SCAN |TAB04_IND | 4 | | 3 (0) | 00:00:01 |
    | 8 | TABLE ACCESS BY INDEX ROWID | TABLE01 | 1 | 23 | 2 (0) | 00:00:01 |
    |* 9 | INDEX UNIQUE SCAN |TAB01_IND | 1 | | 1 (0) | 00:00:01 |
    | 10 | TABLE ACCESS BY INDEX ROWID | TABLE03 | 1 | 7 | 1 (0) | 00:00:01 |
    |* 11 | INDEX UNIQUE SCAN |TAB03_IND | 1 | | 0 (0) | 00:00:01 |
    |* 12 | INDEX RANGE SCAN |TAB02_IND | 1468 | | 4 (0) | 00:00:01 |
    Predicate Information (identified by operation id):
    7 - access("TABLE04"."ID"=1234)
    9 - access(""TABLE04"."UNIQU"="TABLE01"."UNIQU")
    11 - access("TABLE01"."MODEL_ID"="TABLE03"."MODEL_ID")
    12 - access("TABLE02"."UNIQU"="TABLE01"."UNIQU" AND
    "TABLE02"."RD_DATE"<=TO_DATE('20101231','YYYY-MM-DD'))
    Edited by: user505907 on Jan 6, 2010 9:02 AM
    Edited by: user505907 on Jan 6, 2010 9:06 AM

  • ISSUE: Visual Glitches created when file transferring with Project Manager.

    I am color grading a feature film in DaVinci and the person who edited the film only logged the footage in premiere and not even all of it. So, as far as I know, the only simple solution is to use project manager to transfer all the files with their in project labels and duplicates with unique names. BUT, when I do this, I end up with visual glitches all over the transferred files. Some are minor and others are huge and for multiple frames. I have no idea what could be causing this or what I could do to fix it. Please help, I have a very close deadline and need to get this resolved!

    As a bit of further info I noticed these warnings when running the command - emca -deconfig dbconrtol db -repos drop
    Do you wish to continue? [yes(Y)/no(N)]: Y
    Aug 5, 2011 4:26:26 PM oracle.sysman.emcp.EMConfig perform
    INFO: This operation is being logged at C:\app\server\cfgtoollogs\emca\GODW\emca_2011_08_05_16_25_58.log.
    Aug 5, 2011 4:26:27 PM oracle.sysman.emcp.util.DBControlUtil stopOMS
    INFO: Stopping Database Control (this may take a while) ...
    Aug 5, 2011 4:26:28 PM oracle.sysman.emcp.util.PlatformInterface executeCommand
    WARNING: Error executing CMD /C C:\app\server\product\11.2.0\dbhome_2\bin\nmesrvops.exe delete OracleDBConsoleGODW
    Aug 5, 2011 4:26:32 PM oracle.sysman.emcp.EMReposConfig invoke
    WARNING: Unable to remove DBMS jobs.
    Aug 5, 2011 4:26:33 PM oracle.sysman.emcp.EMReposConfig invoke
    INFO: Dropping the EM repository (this may take a while) ...

  • Is creating InitialContext an expensive process?

    hi guys
    i have a question about the initial context. you see, i need to look up several EJBs from different servers. so i need to set up correct URL in the context when i want to lookup EJBs that are deployed on that server, i also need to change the url to a different server in order to lookup other EJBs. so, is it logic to have seperate initialcontext initialized for each server url from the start, or create it as i need it along the way.
    right now, what i did is in the servicelocator class, i have a lookupHome method that takes url, ejbName and class as parameters. so, it will check the cache to see if there is already a home object, if not, use the url to create a context and lookup with the ejbName. i don't know if this is very costly. thanks

    It is costly to have EJBs on different servers.
    (First Law of Distributed Object Design: Don�t
    distribute your objects)this is out of my hand. we have EJBs all over the place.
    As for the initial context per say, it is a
    resource-intensive operation, otherwise there would
    be no need for Service Locator. i thought the service locator is used to cache the home or remote objects since they are costly to get.
    The difference between eager and lazy lookups is not
    that important, as long as those lookups are cached.so what are u trying to say? should i cache the context as well for each server?

  • I have a digital performer file created on os9 that wont open in OSX the file looks like a unix file.

    Is there a way to convert old os9 files so OSX can use them? The only apps that will open it is Text edit and Terminal.
    jimi

    Many document types created in OS 9 apps are openeable in OS X, depending on the OS X version.
    For example, AppleWorks 6 documents are usable directly in OS X by using the OS X version of AppleWorks 6 (runs in all versions of OS X except Lion). In addition, AW6 text docs and spreadsheet docs can be opened in Pages and Numbers, respectively, in all versions of OS X.
    Image files from OS 9 (jpeg, tiff, etc.) are openable by most image-capable apps in OS X.
    As for a Digital Performer file, its format is probably proprietary; if that's the case, you'll need to acquire the OS X version of that app in order to open/use it in OS X.
    If it's the program itself you talking about, rather than a document created by it -
    No OS 9 app can be used directly in OS X, and such an app will often be reported by OS X as being a Unix executable.
    In some versions of OS X (OS X 10.4 and earlier) OS 9 (9.1 minimum, 9.2.x is best) can be used as Classic in order to provide an environment in which many (but not all) OS 9 programs can be used. OS X 10.5 and later do not support Classic.

Maybe you are looking for

  • Issue with HP 3600n, NetGear Wireless Router and SUBNETS!!

    Hello All, I want to say (admit) first off that I am a PC person. The school I work for has recently acquired some new iMacs and I have to say I am very impressed with the design, ease of use and reliability. I can't believe I am saying these things

  • Saving a WORD or PDF document in the database?

    Hello, If I have a WORD document, PDF document or EXCEL document. How can I save them in the database? What type of LOB I should use. What I would like to do is have a webpage with a text box and a browse button. The user can then use the browse butt

  • Samsung SME1920x can't get max resolution

    Hello - I'm running a new Mac Mini with dual displays: Samsung 192N via VGA connection, and a Samsung SME1920x with an HDMI to DVI cable. In theory, the SME1920x can do 1900x1080, but the most I can select via the control panel is 1366x768. The Mini

  • Syncing/Streaming Photo's from iPhoto

    Good evening I'm attempting to sync my iPhoto library with my Atv and it says that I have insufficient space to sync the photo's. Elsewhere in support I came across a note that effectively said if your Atv is full of movies and tv episodes the photo

  • Can i stop the columns in a JTable from re-ordering?

    Hi, As we know, JTable by default allows re-ordering of the columns within it. I mean to say that the columns in a JTable can be interchanged, by drag and drop utility. I want to refrain my JTable from doing so. Can someone please suggest me how can