How to corret an execution plan that shows wrong number of rows?

Using Oracle 10gR2 RAC (10.2.0.3) on SUSE Linux 9 (x86_64).
I have a partition table that has 5 million rows (5,597,831). However an execution plan against the table show that the table has 10 million rows.
Execution plan:
SELECT STATEMENT ALL_ROWS Cost : 275,751 Bytes : 443 Cardinality : 1
3 HASH GROUP BY Cost : 275,751 Bytes : 443 Cardinality : 1
     2 PARTITION RANGE ALL Cost : 275,018 Bytes : 4,430,000,000 Cardinality : *10,000,000* Partition # : 2 Partitions accessed #1 - #6
          1 TABLE ACCESS FULL TRACESALES.TRACE_BUSINESS_AREA Cost : 275,018 Bytes : 4,430,000,000 Cardinality : 10,000,000 Partition # : 2 Partitions accessed #1 - #6
Plan hash value: 322783426
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | Pstart| Pstop |
| 0 | SELECT STATEMENT | | 1 | 443 | 275K (2)| 00:55:10 | | |
| 1 | HASH GROUP BY | | 1 | 443 | 275K (2)| 00:55:10 | | |
| 2 | PARTITION RANGE ALL| | 10M| 4224M| 275K (2)| 00:55:01 | 1 | 6 |
| 3 | TABLE ACCESS FULL | TRACE_BUSINESS_AREA | 10M| 4224M| 275K (2)| 00:55:01 | 1 | 6 |
How does one correct the explain plan?
The problem: Queries against the table are taking hours to complete. The problem started when the table was dropped then recreated with a new partition.
I have complete the drop and creation against several tables for several years without problems until now.
I have done the following: Analyzed statistics against the table, flushed buffer cache. Created a materialized view.
However users queries are taking several hours to complete, where before the addition of the partition the queries where taking 5 minutes to complete.
Thanks. BL.

Yes, complete analysis of statistic was complete on indexes and against partitions.
Table creation statement:
CREATE TABLE TRACESALES.TRACE_BUSINESS_AREA
... *(400 columns)*
TABLESPACE "trace_OLAPTS"
PCTUSED 0
PCTFREE 15
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 1M
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL KEEP
PARTITION BY RANGE (YEAR)
PARTITION TRACE_06 VALUES LESS THAN ('2007')
NOLOGGING
NOCOMPRESS
TABLESPACE TRACE_2006
PCTFREE 15
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 1M
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
PARTITION TRACE_07 VALUES LESS THAN ('2008')
NOLOGGING
NOCOMPRESS
TABLESPACE TRACE_2007
PCTFREE 15
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 1M
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
PARTITION TRACE_08 VALUES LESS THAN ('2009')
NOLOGGING
NOCOMPRESS
TABLESPACE TRACE_2008
PCTFREE 15
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 1M
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
PARTITION TRACE_09 VALUES LESS THAN ('2010')
NOLOGGING
NOCOMPRESS
TABLESPACE TRACE_2009
PCTFREE 15
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 1M
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
PARTITION TRACE_10 VALUES LESS THAN ('2011')
NOLOGGING
NOCOMPRESS
TABLESPACE TRACE_2010
PCTFREE 15
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 1M
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
PARTITION TRACE_11 VALUES LESS THAN (MAXVALUE)
NOLOGGING
NOCOMPRESS
TABLESPACE TRACE_2011
PCTFREE 15
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 1M
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
NOCOMPRESS
CACHE
PARALLEL ( DEGREE DEFAULT INSTANCES DEFAULT )
MONITORING;
*(index statements, constraints, triggers and security)*
Table caching is on and running in parallel degree 4 instances 1.

Similar Messages

  • Avoid execution plan that resolves unused join

    There are two tables Master and LookUp.
    Master references LookUp by its indexed primary key.
    CREATE TABLE "LookUp" (
    ID_LU NUMBER NOT NULL,
    DATA VARCHAR2(100) );
    CREATE UNIQUE INDEX LOOKUP_PK ON "LookUp"(ID_LU);
    ALTER TABLE "LookUp" ADD (
    CONSTRAINT LOOKUP_PK
    PRIMARY KEY (ID_LU)
    USING INDEX );
    CREATE TABLE "Master" (
    ID NUMBER NOT NULL,
    DATA VARCHAR2(100),
    ID_LU NUMBER );
    CREATE UNIQUE INDEX MASTER_PK ON "Master"(ID);
    ALTER TABLE "Master" ADD (
    CONSTRAINT MASTER_PK
    PRIMARY KEY (ID)
    USING INDEX );
    ALTER TABLE "Master" ADD (
    CONSTRAINT FK_MASTER
    FOREIGN KEY (ID_LU)
    REFERENCES "LookUp" (ID_LU));
    Selecting rows from LookUp with LEFT OUTER JOIN Master produces a query execution plan that does not consider Master as it is not used.
    SELECT t1.ID_LU FROM "LookUp" t1
    LEFT OUTER JOIN "Master" t2
    ON t1.ID_LU = t2.ID_LU;
    PLAN_ID     ID     PARENT_ID     DEPTH     OPERATION     OPTIMIZER     OPTIONS     OBJECT_NAME     OBJECT_ALIAS     OBJECT_TYPE
    2     0          0     SELECT STATEMENT     ALL_ROWS                    
    2     1     0     1     TABLE ACCESS          FULL     Master     T1@SEL$2     TABLE
    But selecting rows from Master with LEFT OUTER JOIN LookUp produces a not specular query execution plan that considers LookUp table although it is not used.
    SELECT t1.ID_LU FROM "Master" t1
    LEFT OUTER JOIN "LookUp" t2
    ON t1.ID_LU = t2.ID_LU;
    PLAN_ID     ID     PARENT_ID     DEPTH     OPERATION     OPTIMIZER     OPTIONS     OBJECT_NAME     OBJECT_ALIAS     OBJECT_TYPE
    1     0          0     SELECT STATEMENT     ALL_ROWS                    
    1     1     0     1     HASH JOIN          OUTER               
    1     2     1     2     INDEX          FAST FULL SCAN     LOOKUP_PK     T1@SEL$2     INDEX (UNIQUE)
    1     3     1     2     TABLE ACCESS          FULL     Master     T2@SEL$1     TABLE
    For example Sql Server 2005 does not make distiction between the two query execution plans.
    I would like to know why sql optimizer behaves this way and especially if there is a hint or an option that helps optimizer to avoid involving unused join tables.

    Actually, something does not add up. Left outer join selects all rows in left table even if there is no matching row in right table. Left table in first query is Lookup table. So I can not understand how execution plan:
    SELECT t1.ID_LU FROM "LookUp" t1
    LEFT OUTER JOIN "Master" t2
    ON t1.ID_LU = t2.ID_LU;
    PLAN_ID ID PARENT_ID DEPTH OPERATION OPTIMIZER OPTIONS OBJECT_NAME OBJECT_ALIAS OBJECT_TYPE
    2 0 0 SELECT STATEMENT ALL_ROWS
    2 1 0 1 TABLE ACCESS FULL Master T1@SEL$2 TABLEbypasses Lookup table. On my 10.2.0.4.0 I get:
    SQL> SELECT t1.ID_LU FROM "LookUp" t1
      2  LEFT OUTER JOIN "Master" t2
      3  ON t1.ID_LU = t2.ID_LU;
    no rows selected
    Execution Plan
    Plan hash value: 3482147238
    | Id  | Operation          | Name   | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT   |        |     1 |    26 |     5  (20)| 00:00:01 |
    |*  1 |  HASH JOIN OUTER   |        |     1 |    26 |     5  (20)| 00:00:01 |
    |   2 |   TABLE ACCESS FULL| LookUp |     1 |    13 |     2   (0)| 00:00:01 |
    |   3 |   TABLE ACCESS FULL| Master |     1 |    13 |     2   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
       1 - access("T1"."ID_LU"="T2"."ID_LU"(+))
    Note
       - dynamic sampling used for this statement
    Statistics
            209  recursive calls
              0  db block gets
             48  consistent gets
              0  physical reads
              0  redo size
            274  bytes sent via SQL*Net to client
            385  bytes received via SQL*Net from client
              1  SQL*Net roundtrips to/from client
              6  sorts (memory)
              0  sorts (disk)
              0  rows processedI do question this plan. I would expect FULL INDEX SCAN of LOOKUP_PK index. And for second query I get plan same a OP:
    SQL> SELECT t1.ID_LU FROM "Master" t1
      2  LEFT OUTER JOIN "LookUp" t2
      3  ON t1.ID_LU = t2.ID_LU;
    no rows selected
    Execution Plan
    Plan hash value: 3856835961
    | Id  | Operation          | Name      | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT   |           |     1 |    26 |     2   (0)| 00:00:01 |
    |   1 |  NESTED LOOPS OUTER|           |     1 |    26 |     2   (0)| 00:00:01 |
    |   2 |   TABLE ACCESS FULL| Master    |     1 |    13 |     2   (0)| 00:00:01 |
    |*  3 |   INDEX UNIQUE SCAN| LOOKUP_PK |     1 |    13 |     0   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
       3 - access("T1"."ID_LU"="T2"."ID_LU"(+))
    Note
       - dynamic sampling used for this statement
    Statistics
              1  recursive calls
              0  db block gets
              7  consistent gets
              0  physical reads
              0  redo size
            274  bytes sent via SQL*Net to client
            385  bytes received via SQL*Net from client
              1  SQL*Net roundtrips to/from client
              0  sorts (memory)
              0  sorts (disk)
              0  rows processed
    SQL> SY.

  • How to create a popup window that shows detail information when press submi

    hi,all
    how to create a popup window that shows detail information when press the submit button ?I mean,when I press the button "Sumit"there will appear a popup window that shows the detail information you typed before.it means are u sure to submit,it is like some confirmation window.
    how to do achieve this ?help plz .
    best regards
    hlee
    Edited by: hlee on 2011-4-15 上午1:26

    hey,vee
    thanks for your response,but i had already read this thread before i put up a new question.any way,thanks.
    best regards
    hlee

  • How to completely delete the apps that showed as purchased in the apps store.

    How to completely delete the apps that showed as purchased in our apps store.

    You can't permanently delete any item from your purchase history, all you can do is hide them via your computer's iTunes so that they won't show in the Purchased links : http://support.apple.com/kb/HT4919

  • When using iMessage how can I make it so it shows my number not my Apple ID?

    When using iMessage how can I make it so it shows my number not my Apple ID?

    SETTINGS - MESSAGES - RECEIVE AT - CALLER ID (select your number, instead of your email address)

  • How to force a execution plan

    Hello ,
    I am working on oracle 11g R2 on AIX.
    One query was performing good around 20 sec. but suddenly it took more then 15 min.
    We check that the sql executoin plan changes , it showing that order of operation changed like order of using indexes is different.
    Now the new plan is not good.
    we want to force the old plan of sql to use in future.
    I read about sql plan management , it shows a manual method to create baseline and evolve the all plan. In one texample we found that
    first query execution plan was created using with out index and then with index So, second plan was good and accepted.
    But in this case we do not need to change any thing ,query is performing bad may be becasue changes order of operation ..
    One other way to use hint , but for this we need to change sqls , which is not possiable in production now.
    The issue is
    For this we need to run the sql again and oracle may not create plan like old one.So we will not be having old good plan to accept.
    All 2 execution plan are already in cache .
    I am looking for a way using that we can set sql plan hash value ( of good plan) or any other id of that sql plan to force to use that plan only.
    any idea how to do it ..

    Stored Outlines are deprecated.
    OP:
    To fix a specific plan you have two choices:
    1. SQL Plan Baselines - assuming the "good" plan is in AWR still then the steps are along the lines of load old plan from AWR into sql tuning set using DBMS_SQLTUNE.SELECT_WORKLOAD_REPOSITORY and DBMS_SQLTUNE.LOAD_SQLSET then load plans from sqlset into sql plan baseline using DBMS_SPM.LOAD_PLANS_FROM_SQLSET.
    2. Using SQL Profiles to fix the outline hints - so similar to a stored outline but using the sql profile mechanism - using the coe_xfr_sql_profile.sql script, part of an approach in Oracle support doc id 215187.1
    But +1 for Nikolay's recommendation of understanding whether there is a root cause to this problem instability (plan instability being "normal", but flip flopping between "good" and "bad" being a problem). Cardinality feedback is an obvious possible influence, different peeked binds another, stat changes, etc.

  • How to delete stored execution plan?

    Hello!
    Version: 11.1.0.7.0
    I need a function, which deletes a stored execution plan from the CBO by sql_id, to force a new hard-parse.
    Background:
    I have an application, which calles a lot of a select-statement (with bind), using a specific execution plan, lets say 'A'. This application will run and call in the next three days.
    Now, I have recalculated the statistics of the table (by DBMS_STATS.GATHER_TABLE_STATS)
    which is used for the query, to improve performance.
    Now, the exexcution plan is good (say 'B'), and the query is fast, IF I copy the sql from the OEM to (any) other tool to get the execution plan...
    But: The application still uses the plan 'A' (which still runs slow..).
    (To opposite of the documentation! see Performance Tuning Guide, Chater 13.3.1 "When statistics are updated for a database object, Oracle invalidates any currently parsed SQL statements that access the object. The next time such a statement executes, the statement is re-parsed and the optimizer automatically chooses a new execution plan based on the new statistics.")
    A short look into v$sql, v$sql_plan shows, that the application still uses the old sql_id, which has the wrong execution plan "A" stored.
    The tested statements with plan B have the same sql, but other sql_id...

    Thank you for reading!
    The solution is:
    Add parameter no_invalidate => FALSE at the gather_table_stats call:
    exec dbms_stats.gather_table_stats(ownname=>'xxxx', tabname=>'yyyy', no_invalidate=>FALSE);

  • How to fix different execution plan for different bind variable values?

    Please find the below query. The execution plan is fine. The problem That I am facing is in some cases for different bind variable values execution plan gets changed and degrades performance. I have used 6 tables here and all of the tables have histogram on all columns. Database version is Oracle 10g and the value of method_opt is 'For all columns size auto'
    SELECT l.LineNumber INTO :b0
    FROM Lines l ,LineVersions lv ,Statuses s
    WHERE (((((((((((l.serviceContractId=:b1 AND l.LineId<>:b2)
    AND lv.LineId=l.LineId) AND lv.StatusId=s.StatusId)
    AND s.Code IN ('EPR','ERE','EEP','ERP','PRP','PRD','AAC'))
    AND NOT (s.CODE='AAC' AND lv.activeto<TO_DATE(:b3,:b4)))
    AND lv.EquipmentDetailId=:b5) AND lv.RouteDetailId=:b6)
    AND (lv.cargoDetailId=:b7 OR lv.cargoDetailId IN
    (SELECT i_cd1.cargoDetailId
    FROM CargoDetails i_cd1 ,CargoDetails i_cd2 ,CargoCommodities i_cc1 ,
    CargoCommodities i_cc2 WHERE
    ((((((i_cd2.cargoDetailId=:b7 AND i_cd1.cargoDetailId<>:b7)
    AND i_cd1.ServiceContractId=:b1) AND i_cd1.cargoTypeId=i_cd2.cargoTypeId)
    AND i_cc1.cargoDetailId=i_cd1.cargoDetailId)
    AND i_cc2.cargoDetailId=i_cd2.cargoDetailId)
    AND i_cc1.commodityId=i_cc2.commodityId))))
    AND ((lv.customerGroupId IS NULL AND :b11=0) OR lv.customerGroupId IN
    (SELECT cgm1.customerGroupId
    FROM CustomerGroupMembers cgm1 ,CustomerGroupMembers cgm2 ,CustomerGroups cg1
    WHERE (((cgm2.customerGroupId=:b11 AND cgm1.customerNoId=cgm2.customerNoId)
    AND cg1.CustomerGroupId=cgm1.CustomerGroupId)
    AND cg1.ServiceContractId=l.ServiceContractId)))) AND lv.linetype='C')
    AND ROWNUM=1)
    After searching in several blogs I have found the below solutions. Please see it and let me know it is correct or not
    Solution 1:-Get rid of histogram that does nothing but messes up execution plan by giving below command
    exec dbms_stats.gather_table_stats(owner, tablename, method_opt => 'for all columns size 1', cascade => true);
    As 6 tables are there I need to execute above command 6 times.
    Solution 2:- Use stored outline. Not sure how to get the best execution plan.
    I am looking for answers ASAP. Thanks in advance

    As you have probably read, bind variables and histograms do not mix well.
    Histograms suggest that you have skew in your data such that different values should get different plans
    Bind variables exist so that SQL with different supplied values can be shared.
    Mix the two together and at parse time with bind variable peeking you get plans for specific values shared for all values.
    The solutions you have mentioned are the common approaches, together with a third - use literals not binds if you've got data skew (i.e. your histograms are justified) and don't want shared SQL.
    I would have thought that getting rid of some of these histograms may be the right approach if you're none of your application SQL is using literals to benefit from them.
    Can you confirm your version of Oracle.
    Further reading:
    http://jonathanlewis.wordpress.com/2009/05/06/philosophy-1/
    http://structureddata.org/2008/03/26/choosing-an-optimal-stats-gathering-strategy/
    http://richardfoote.wordpress.com/2008/01/04/dbms_stats-method_opt-default-behaviour-changed-in-10g-be-careful/

  • How do I make apples loops that show up in the loop browser

    How do I make apples loops from my audio files that show up in the loop browser, and where do they reside on the computer so that I know they are there.

    Refer to Logic manual page 848 where it is well explained.
    Regarding the path you can search:
    localdrive\Users\your_ user_account\Library\Audio\Apple Loops\User Loops
    !http://img59.imageshack.us/img59/4967/aglogo45.gif!

  • Mail, how can you remove an image that shows up in the header?

    I have no idea how this image got where it is, but I would like to remove it. When I open Mail, I see in the address area of the email as it displays in the message viewer, to the very right of that area, there is an image, that I have no idea how it got there or how to remove. The following is a link (I think) Mail/Users/alaska_juliens/Desktop/Picture 7.png ...... that shows what I am talking about. I have gone through my signatures and made sure that image isn't in there and it isn't. Please help, it is driving my husband nuts, we would love to change the image to his company logo if possible, but we don't know if that image even shows up when others receive email from us or not (we email ourselves and it is right there in the address header of the email). Thank you for your time and help.
    Mail/Users/alaska_juliens/Desktop/Picture 7.png

    Typically what shows up there is the address book picture for that contact. If they attach an image it will be added to the address book.
    So go to the contact in address book and change or delete the image.

  • How to add links in FrameMaker that show up unchanged in PDF

    When I add a Hypertext marker (newlink <linkname>) to a Frame 8 doc, then make a PDF, the link shows up in the PDF in View>Navigation Panels>Destinations, but the link is re-named from "test1" to "M8.newlink.test1".<br /><br />How can I add hypertext links in FrameMaker that show up unchanged in a PDF?<br /><br />Thanks.<br /><br />best,<br />Paul

    I don't think you can force the links through unchanged. FM adds the extra info so it can tell the difference between targets that have identical names but came from different files in the book. I also think your example is missing one of the arguments. A typical newlink marker for me comes out as M7.8.newlink.test1
    The first argument can be Mn or Fn, where:
    Mn indicates a Marker in the nth file in the book (7 in this case).
    Fn indicates the First page of the nth file in the book.
    The second argument, which is numeric, indicates the marker type: 8 for hypertext marker, 9 for cross-reference marker.
    The last argument (which includes the "newlink" text) is the mangled marker text, in which any periods, underlines, and colons are deleted, and all spaces are then replaced by periods.
    newlink t.e_s:t1 becomes
    M7.8.newlink.test1
    FM adjust both links and targets in the same way, so they both match up in the final PDF document. It's just the way it is. If you're using the targets for other things then you'll just have to adjust those other things so they look for the finished targets in their final syntax.

  • How to capture the execution plan for a query

    HI All,
    Can anyone please help me in finding out the command to capture the execution plan for a query.
    Execution plan for select * from EMP where <Condtions>
    it is getting executed successfully but i need to get the proper execution plan for the same.
    Thanks

    971830 wrote:
    i want to know where execution plan gets generated??
    in PMON of server process or in shared pool??
    i know that optimixer create execution plan..It is stored in Library Cache (present inside Shared Pool ).
    select * from v$sql_plan;An absolute beautiful white paper :
    Refer this -- www.sagelogix.com/sagelogix/SearchResults/SAGE015052
    Also -- http://www.toadworld.com/KNOWLEDGE/KnowledgeXpertforOracle/tabid/648/TopicID/XPVSP/Default.aspx
    HTH
    Ranit B.

  • How to skip existing execution plan for a query

    Hi,
    I want to skip existng execution plan for a query which I am executing often. I dont want it to use the same execution plan everytime. Please let me know if any method is there skip the existing execution plan.
    Thanks in advance.......
    Edited by: 900105 on Dec 1, 2011 4:52 AM

    Change the query so it is syntactically different, but has the same semantics (meaning). That way CBO will reparse it and you might get a new execution plan.
    One simple way to do that is to add a dummy predicate ( 45=45) to the where clause. The predicate must be changed every time the query is executed ( 46=46 , 47=47 ,… ).
    Iordan Iotzov
    http://iiotzov.wordpress.com/

  • How to create custom splash screen that shows loading %?

    I'd like to add a splash screen to my app. that shows the loading as a percentage.  I have flashbuilder 4.6.  How can I do this?

    You might need to consider adding your child elements in application manually. Displatch a new event back to the application when the child is created (from creationComplete) and update progress bar.

  • HT3965 How do I change the ID that shows on other people's phones when I call from my iPhone five

    How do I change ID that shows on other people's phones when I call from my iPhone5?

    my son had this problem.  I went to the apple store and they wiped out and restored the phone..  They said that was all they could do but that I should call our phone carrier and ask them.  I did.  They asked if in the top left side, next to battery power there was a icon of a half moon.  There was. They said to go in to settings and go to "Do not Disturb" and turn it off.  I did.....problem solved!!! Somehow "do not disturb" was turned on and that is what happens if it is!!
    I hope this helps.

Maybe you are looking for

  • Events & Booleans

    I have a problem with booleans. I am using an event structure within a while loop. This while loop has image acquistion going on. The event structure has two events which are triggered by value changed event using boolean controls. The first of the e

  • Serial numbers problem

    Hi Guys I have 10 stock of material A in 001 Storage location ,which all the quantity is serial number managed I have transfered 10 quantity of Material A to 002 location from 001 location using 311 MIGO But serial numbers are not copied to 002 locat

  • Authorization Object required to run VL01N

    Dear All, Recently we were asked to assign VL01n T-code to a user. We have created a role and added the t-code and assigned to the user.By default there is only one auth. object comes with the tcode ie:(V_LIKP_VST)  at the time when we have assigned

  • Which process/application is requesting 'elevated privileges'?

    Every hour or so, I get a pop-up screen that asks for an administrator password and tells me: "Elevated privileges are required in order to complete installation. Type an administrator's name and password to allow this.", see screenshot below. The po

  • Regards , I have problems with the OATS test.

    ThnBrowserException ---- SolveException occured. Failed to solve variable web.formaction.jidt31 using path .//form[@name='j_idt31']/@action ---  ScriptException occured. The attempt to connect to the server 192.168.55.44 on port 8001 failed. Comparab