Querying its own SQL plan

Hi,
Maybe it's not worth a thread but I've just noticed a funny (but rather obvious) thing with V$SQL queries : they're kind of "self-queryable" :
SQL> select /*+ test_1 */ p.operation, p.options, p.object_owner, p.object_name
  2  from v$sql s
  3       join v$sql_plan p on p.sql_id = s.sql_id
  4  where s.sql_text like 'select /*+ test_1 */%'
  5  order by p.id;
OPERATION                      OPTIONS                        OBJECT_OWNER                   OBJECT_NAME
SELECT STATEMENT
SORT                           ORDER BY
NESTED LOOPS
FIXED TABLE                    FULL                           SYS                            X$KGLCURSOR_CHILD
FIXED TABLE                    FIXED INDEX                    SYS                            X$KQLFXPL (ind:4)
SQL> select /*+ test_2 */ sql_text
  2  from v$sql
  3  where sql_text like 'select /*+ test_2 */%';
SQL_TEXT
select /*+ test_2 */ sql_text from v$sql where sql_text like 'select /*+ test_2 */%'Regards.

Hi,
Maybe it's not worth a thread but I've just noticed a funny (but rather obvious) thing with V$SQL queries : they're kind of "self-queryable" :
SQL> select /*+ test_1 */ p.operation, p.options, p.object_owner, p.object_name
  2  from v$sql s
  3       join v$sql_plan p on p.sql_id = s.sql_id
  4  where s.sql_text like 'select /*+ test_1 */%'
  5  order by p.id;
OPERATION                      OPTIONS                        OBJECT_OWNER                   OBJECT_NAME
SELECT STATEMENT
SORT                           ORDER BY
NESTED LOOPS
FIXED TABLE                    FULL                           SYS                            X$KGLCURSOR_CHILD
FIXED TABLE                    FIXED INDEX                    SYS                            X$KQLFXPL (ind:4)
SQL> select /*+ test_2 */ sql_text
  2  from v$sql
  3  where sql_text like 'select /*+ test_2 */%';
SQL_TEXT
select /*+ test_2 */ sql_text from v$sql where sql_text like 'select /*+ test_2 */%'Regards.

Similar Messages

  • Does Ipad - 2 require its own data plan

    Does an ipad 2 require its own data plan? 

    Yes - if it is a 3G iPad. Each 3G device requires its own data plan. You do not have to activate a data plan - you can just use the WiFi and get a data plan if and when you need it.

  • Does tethering my iPad to my iPhone 4s use more data than using an iPad that has its own data plan?

    Does tethering my iPad to my iPhone 4s use more data than using an iPad that has it's own data plan?

    No, it won't work.. the Airports are not media devices.. they have no brains .. no media extensions.. and itunes must be running on a computer.
    You can however watch movies from storage but not with itunes..
    See how people use tools like VLC to get around Apple's built in iTunes limitations.
    http://www.videolan.org/vlc/download-ios.html
    https://itunes.apple.com/gb/app/vlc-streamer/id410031728?mt=8

  • Oracle not using its own explain plan

    When I run a simple select query on an indexed column on a large (30 million records) table oracle creates a plan using the indexed column and at a cost of 4. However, what it actually does is do a table scan (I can see this in the 'Long Operations' tab in OEM).
    The funny thing is that I have the same query in a ADO application and when the query is run from there, the same plan is created but no table scan is done - and the query returns in less than a second. However, with the table scan it is over a minute.
    When run through SQL plus Oracle creates a plan including the table scan at a cost of 19030.
    In another (dot net) application I used the: "Alter session set optimizer_index_caching=100" and "Alter session set optimizer_index_cost_adj=10" to try to force the optimizer to use the index. It creates the expected plan, but still does the table scan.
    The query is in the form of:
    "Select * from tab where indexedcol = something"
    Im using Oracle 9i 9.2.0.1.0
    Any ideas as I'm completely at a loss?

    Hello
    It sounds to me like this has something to do with bind variable peeking which was introduced in 9i. If the predicate is
    indexedcolumn = :bind_variablethe first time the query is parsed by oracle, it will "peek" at the value in the bind variable and see what it is and will generate an execution plan based on this. That same plan will be used for matching SQL.
    If you use a litteral, it will generate the plan based on that, and will generate a separate plan for each litteral you use (depending on the value of the cursor_sharing initialisation parameter).
    This can cause there to be a difference between the execution plan seen when issuing EXPLAIN PLAN FOR, and the actual exectuion plan used when the query is run.
    Have a look at the following example:
    tylerd@DEV2> CREATE TABLE dt_test_bvpeek(id number, col1 number)
      2  /
    Table created.
    Elapsed: 00:00:00.14
    tylerd@DEV2> INSERT
      2  INTO
      3      dt_test_bvpeek
      4  SELECT
      5      rownum,
      6      CASE
      7          WHEN MOD(rownum, 5) IN (0,1,2,3) THEN
      8              1
      9          ELSE
    10              MOD(rownum, 5)
    11          END
    12      END
    13  FROM
    14      dual
    15  CONNECT BY
    16      LEVEL <= 100000
    17  /
    100000 rows created.
    Elapsed: 00:00:00.81
    tylerd@DEV2> select count(*), col1 from dt_test_bvpeek group by col1
      2  /
      COUNT(*)       COL1
         80000          1
         20000          4
    2 rows selected.
    Elapsed: 00:00:00.09
    tylerd@DEV2> CREATE INDEX dt_test_bvpeek_i1 ON dt_test_bvpeek(col1)
      2  /
    Index created.
    Elapsed: 00:00:00.40
    tylerd@DEV2> EXEC dbms_stats.gather_table_stats( ownname=>USER,-
    tabname=>'DT_TEST_BVPEEK',-
    method_opt=>'FOR ALL INDEXED COLUMNS SIZE 254',-
    cascade=>TRUE -
    );PL/SQL procedure successfully completed.
    Elapsed: 00:00:00.73
    tylerd@DEV2> EXPLAIN PLAN FOR
      2  SELECT
      3      *
      4  FROM
      5      dt_test_bvpeek
      6  WHERE
      7      col1 = 1
      8  /
    Explained.
    Elapsed: 00:00:00.01
    tylerd@DEV2> SELECT * FROM TABLE(DBMS_XPLAN.display)
      2  /
    PLAN_TABLE_OUTPUT
    Plan hash value: 2611346395
    | Id  | Operation         | Name           | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT  |                | 78728 |   538K|    82  (52)| 00:00:01 |
    |*  1 |  TABLE ACCESS FULL| DT_TEST_BVPEEK | 78728 |   538K|    82  (52)| 00:00:01 |
    Predicate Information (identified by operation id):
       1 - filter("COL1"=1)
    13 rows selected.
    Elapsed: 00:00:00.06The execution plan for col1=1 was chosen because oracle was able to see that based on the statistics, col1=1 would result in most of the rows from the table being returned.
    tylerd@DEV2> EXPLAIN PLAN FOR
      2  SELECT
      3      *
      4  FROM
      5      dt_test_bvpeek
      6  WHERE
      7      col1 = 4
      8  /
    Explained.
    Elapsed: 00:00:00.00
    tylerd@DEV2> SELECT * FROM TABLE(DBMS_XPLAN.display)
      2  /
    PLAN_TABLE_OUTPUT
    Plan hash value: 3223879139
    | Id  | Operation                   | Name              | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT            |                   | 21027 |   143K|    74  (21)| 00:00:01 |
    |   1 |  TABLE ACCESS BY INDEX ROWID| DT_TEST_BVPEEK    | 21027 |   143K|    74  (21)| 00:00:01 |
    |*  2 |   INDEX RANGE SCAN          | DT_TEST_BVPEEK_I1 | 21077 |       |    29  (28)| 00:00:01 |
    Predicate Information (identified by operation id):
       2 - access("COL1"=4)
    14 rows selected.
    Elapsed: 00:00:00.04This time, the optimiser was able to see that col1=4 would result in far fewer rows so it chose to use an index. Look what happens however when we use a bind variable with EXPLAIN PLAN FOR - especially the number of rows the optimiser estimates to be returned from the table
    tylerd@DEV2> var an_col1 NUMBER
    tylerd@DEV2> exec :an_col1:=1;
    PL/SQL procedure successfully completed.
    Elapsed: 00:00:00.00
    tylerd@DEV2>
    tylerd@DEV2> EXPLAIN PLAN FOR
      2  SELECT
      3      *
      4  FROM
      5      dt_test_bvpeek
      6  WHERE
      7      col1 = :an_col1
      8  /
    Explained.
    Elapsed: 00:00:00.01
    tylerd@DEV2> SELECT * FROM TABLE(DBMS_XPLAN.display)
      2  /
    PLAN_TABLE_OUTPUT
    Plan hash value: 2611346395
    | Id  | Operation         | Name           | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT  |                | 49882 |   340K|   100  (60)| 00:00:01 |
    |*  1 |  TABLE ACCESS FULL| DT_TEST_BVPEEK | 49882 |   340K|   100  (60)| 00:00:01 |
    Predicate Information (identified by operation id):
       1 - filter("COL1"=TO_NUMBER(:AN_COL1))
    13 rows selected.
    Elapsed: 00:00:00.04
    tylerd@DEV2>
    tylerd@DEV2> exec :an_col1:=4;
    PL/SQL procedure successfully completed.
    Elapsed: 00:00:00.01
    tylerd@DEV2>
    tylerd@DEV2> EXPLAIN PLAN FOR
      2  SELECT
      3      *
      4  FROM
      5      dt_test_bvpeek
      6  WHERE
      7      col1 = :an_col1
      8  /
    Explained.
    Elapsed: 00:00:00.01
    tylerd@DEV2> SELECT * FROM TABLE(DBMS_XPLAN.display)
      2  /
    PLAN_TABLE_OUTPUT
    Plan hash value: 2611346395
    | Id  | Operation         | Name           | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT  |                | 49882 |   340K|   100  (60)| 00:00:01 |
    |*  1 |  TABLE ACCESS FULL| DT_TEST_BVPEEK | 49882 |   340K|   100  (60)| 00:00:01 |
    Predicate Information (identified by operation id):
       1 - filter("COL1"=TO_NUMBER(:AN_COL1))
    13 rows selected.
    Elapsed: 00:00:00.07For both values of the bind variable, the optimiser has no idea what the value will be so it has to make a calculation based on a formula which results in it estimating that the query will return roughly half of the rows in the table, and so it chooses a full scan.
    Now when we actually run the query, the optimiser can take advantage of bind variable peeking and have a look at the value the first time round and base the execution plan on that:
    tylerd@DEV2> exec :an_col1:=1;
    PL/SQL procedure successfully completed.
    Elapsed: 00:00:00.00
    tylerd@DEV2> SELECT
      2      *
      3  FROM
      4      dt_test_bvpeek
      5  WHERE
      6      col1 = :an_col1
      7  /
    80000 rows selected.
    Elapsed: 00:00:10.98
    tylerd@DEV2> SELECT prev_sql_id FROM v$session WHERE audsid=SYS_CONTEXT('USERENV','SESSIONID')
      2  /
    PREV_SQL_ID
    9t52uyyq67211
    1 row selected.
    Elapsed: 00:00:00.00
    tylerd@DEV2> SELECT
      2      operation,
      3      options,
      4      object_name
      5  FROM
      6      v$sql_plan
      7  WHERE
      8      sql_id = '9t52uyyq67211'
      9  /
    OPERATION                      OPTIONS                        OBJECT_NAME
    SELECT STATEMENT
    TABLE ACCESS                   FULL                           DT_TEST_BVPEEK
    2 rows selected.
    Elapsed: 00:00:00.03It saw that the bind variable value was 1 and that this would return most of the rows in the table so it chose a full scan.
    tylerd@DEV2> exec :an_col1:=4
    PL/SQL procedure successfully completed.
    Elapsed: 00:00:00.00
    tylerd@DEV2> SELECT
      2      *
      3  FROM
      4      dt_test_bvpeek
      5  WHERE
      6      col1 = :an_col1
      7  /
    20000 rows selected.
    Elapsed: 00:00:03.50
    tylerd@DEV2> SELECT prev_sql_id FROM v$session WHERE audsid=SYS_CONTEXT('USERENV','SESSIONID')
      2  /
    PREV_SQL_ID
    9t52uyyq67211
    1 row selected.
    Elapsed: 00:00:00.00
    tylerd@DEV2> SELECT
      2      operation,
      3      options,
      4      object_name
      5  FROM
      6      v$sql_plan
      7  WHERE
      8      sql_id = '9t52uyyq67211'
      9  /
    OPERATION                      OPTIONS                        OBJECT_NAME
    SELECT STATEMENT
    TABLE ACCESS                   FULL                           DT_TEST_BVPEEK
    2 rows selected.
    Elapsed: 00:00:00.01Even though the value of the bind variable changed, the optimiser saw that it already had a cached version of the sql statement along with an execution plan, so it used that rather than regenerating the plan. We can check the reverse of this by causing the statement to be invalidated and re-parsed - there's lots of ways, but I'm just going to rename the table:
    Elapsed: 00:00:00.03
    tylerd@DEV2> alter table dt_test_bvpeek rename to dt_test_bvpeek1
      2  /
    Table altered.
    Elapsed: 00:00:00.01
    tylerd@DEV2>
    20000 rows selected.
    Elapsed: 00:00:04.81
    tylerd@DEV2> SELECT prev_sql_id FROM v$session WHERE audsid=SYS_CONTEXT('USERENV','SESSIONID')
      2  /
    PREV_SQL_ID
    6ztnn4fyt6y5h
    1 row selected.
    Elapsed: 00:00:00.00
    tylerd@DEV2> SELECT
      2      operation,
      3      options,
      4      object_name
      5  FROM
      6      v$sql_plan
      7  WHERE
      8      sql_id = '6ztnn4fyt6y5h'
      9  /
    OPERATION                      OPTIONS                        OBJECT_NAME
    SELECT STATEMENT
    TABLE ACCESS                   BY INDEX ROWID                 DT_TEST_BVPEEK1
    INDEX                          RANGE SCAN                     DT_TEST_BVPEEK_I1
    3 rows selected.
    80000 rows selected.
    Elapsed: 00:00:10.61
    tylerd@DEV2> SELECT prev_sql_id FROM v$session WHERE audsid=SYS_CONTEXT('USERENV','SESSIONID')
      2  /
    PREV_SQL_ID
    6ztnn4fyt6y5h
    1 row selected.
    Elapsed: 00:00:00.01
    tylerd@DEV2> SELECT
      2      operation,
      3      options,
      4      object_name
      5  FROM
      6      v$sql_plan
      7  WHERE
      8      sql_id = '6ztnn4fyt6y5h'
      9  /
    OPERATION                      OPTIONS                        OBJECT_NAME
    SELECT STATEMENT
    TABLE ACCESS                   BY INDEX ROWID                 DT_TEST_BVPEEK1
    INDEX                          RANGE SCAN                     DT_TEST_BVPEEK_I1
    3 rows selected.This time round, the optimiser peeked at the bind variable the first time the statement was exectued and found it to be 4, so it based the execution plan on that and chose an index range scan. When the statement was executed again, it used the plan it had already executed.
    HTH
    David

  • Stored procedure serves up its own code

    I have a stored procedure in Oracle with no in, out or inout
    parameters and it works but . . ..
    it also serves up its own sql code as content!?!
    How can I prevent this?
    Thanks

    quote:
    it also serves up its own sql code as content
    What do you mean by that, exactly? Do you have
    an example of what it is doing or some code from the SP?
    Phil

  • SQL Query C# Using Execution Plan Cache Without SP

    I have a situation where i am executing an SQL query thru c# code. I cannot use a stored procedure because the database is hosted by another company and i'm not allowed to create any new procedures. If i run my query on the sql mgmt studio the first time
    is approx 3 secs then every query after that is instant. My query is looking for date ranges and accounts. So if i loop thru accounts each one takes approx 3 secs in my code. If i close the program and run it again the accounts that originally took 3 secs
    now are instant in my code. So my conclusion was that it is using an execution plan that is cached. I cannot find how to make the execution plan run on non-stored procedure code. I have created a sqlcommand object with my queary and 3 params. I loop thru each
    one keeping the same command object and only changing the 3 params. It seems that each version with the different params are getting cached in the execution plans so they are now fast for that particular query. My question is how can i get sql to not do this
    by either loading the execution plan or by making sql think that my query is the same execution plan as the previous? I have found multiple questions on this that pertain to stored procedures but nothing i can find with direct text query code.
    Bob;
     

    I did the query running different accounts and different dates with instant results AFTER the very first query that took the expected 3 secs. I changed all 3 fields that i've got code for parameters for and it still remains instant in the mgmt studio but
    still remains slow in my code. I'm providing a sample of the base query i'm using.
    select i.Field1, i.Field2, 
    d.Field3  'Field3',
    ip.Field4 'Field4', 
    k.Field5 'Field5'
    from SampleDataTable1 i, 
    SampleDataTable2 k, 
    SampleDataTable3 ip,
    SampleDataTable4 d 
    where i.Field1 = k.Field1 and i.Field4 = ip.Field4 
    i.FieldDate between '<fromdate>' and  '<thrudate>' 
    and k.Field6 = <Account>
    Obviously the field names have been altered because the database is not mine but other then the actual names it is accurate. It works it just takes too long in code as described in the initial post. 
    My params setup during the init for the connection and the command.
    sqlCmd.Parameters.Add("@FromDate", SqlDbType.DateTime);
            sqlCmd.Parameters.Add("@ThruDate", SqlDbType.DateTime);
            sqlCmd.Parameters.Add("@Account", SqlDbType.Decimal);
    Each loop thru the code changes these 3 fields.
        sqlCommand.Parameters["@FromDate"].Value = dtFrom;
        sqlCommand.Parameters["@ThruDate"].Value = dtThru;
        sqlCommand.Parameters["@Account"].Value = sAccountNumber;
    SqlDataReader reader = sqlCommand.ExecuteReader();
            while (reader.Read())
                reader.Close();
    One thing i have noticed is that the account field is decimal(20,0) and by default the init i'm using defaults to decimal(10) so i'm going to change the init to 
       sqlCmd.Parameters["@Account"].Precision = 20;
       sqlCmd.Parameters["@Account"].Scale = 0;
    I don't believe this would change anything but at this point i'm ready to try anything to get the query running faster. 
    Bob;

  • Installing SQL server for SCCM 2012 local vs on its own server (primary site enviorment only)

    Hello,
    When building a primary stand alone site server does Microsoft consider it best practice to install sql locally or on its own server. Is there an official statement from Microsoft suggesting this?
    Thanks ins advance
    Phil
    Phil Balderos

    There is no official statement either way from Microsoft as both configurations are fully supported.  Generally speaking, it is easier to collocate SQL on the same system as the Primary Site so long as the server meets the hardware recommendations. 
    Among the trade-offs are reduced network traffic vs avoiding a single point of failure for the site itself.  Since the CM site license also includes the license for SQL, licensing is not really an issue.

  • Putting your number on its own plan

    i am on a family plan and want to know how i can put my phone on its own plan and not be part of the family plan anymore

        @zachm89
    It sounds as though you want to become independent from the family plan you're currently a part of!  I would love to provide more information on the process of assuming liability of your line.  http://bit.ly/RI6Tyh  Let me know if you have any further questions or concerns.  Thanks!
    AnthonyTa_VZW
    VZW Support
    Follow us on Twitter @VZWSupport

  • SQL Query to get Project Plan Name and Resource Name from Reporting database of Project Server 2007

    Can you please help me to write an SQL Query to get Project Plan Name and Resource Name from Reporting database of Project Server 2007. Thanks!!

    Refer
    http://gallery.technet.microsoft.com/projectserver/Server-20072010-SQL-Get-a99d4bc6
    SELECT
    dbo.MSP_EpmAssignment_UserView.ProjectUID,
    dbo.MSP_EpmAssignment_UserView.TaskUID,
    dbo.MSP_EpmProject_UserView.ProjectName,
    dbo.MSP_EpmTask_UserView.TaskName,
    dbo.MSP_EpmAssignment_UserView.ResourceUID,
    dbo.MSP_EpmResource_UserView.ResourceName,
    dbo.MSP_EpmResource_UserView.ResourceInitials
    INTO #TempTable
    FROM dbo.MSP_EpmAssignment_UserView INNER JOIN
    dbo.MSP_EpmProject_UserView ON dbo.MSP_EpmAssignment_UserView.ProjectUID = dbo.MSP_EpmProject_UserView.ProjectUID INNER JOIN
    dbo.MSP_EpmTask_UserView ON dbo.MSP_EpmAssignment_UserView.TaskUID = dbo.MSP_EpmTask_UserView.TaskUID INNER JOIN
    dbo.MSP_EpmResource_UserView ON dbo.MSP_EpmAssignment_UserView.ResourceUID = dbo.MSP_EpmResource_UserView.ResourceUID
    SELECT
    ProjectUID,
    TaskUID,
    ProjectName,
    TaskName,
    STUFF((
    SELECT ', ' + ResourceInitials
    FROM #TempTable
    WHERE (TaskUID = Results.TaskUID)
    FOR XML PATH (''))
    ,1,2,'') AS ResourceInitialsCombined,
    STUFF((
    SELECT ', ' + ResourceName
    FROM #TempTable
    WHERE (TaskUID = Results.TaskUID)
    FOR XML PATH (''))
    ,1,2,'') AS ResourceNameCombined
    FROM #TempTable Results
    GROUP BY TaskUID,ProjectUID,ProjectName,TaskName
    DROP TABLE #TempTable
    -Prashanth

  • Report builder closes on its own saying it has encountered an error

    hi
    i am using reports 6i ,i changed an existing query in data model with a query consiting of union statements
    eg earlier the column names(just giving eg of one column) were DT_TRANSACTION_DATE
    now
    after giving the modified query consisting of union clause the column name comes as DT_TRANSACTION_DATE1
    why is this happening ? in the modified query i havent changed th existing column names ,just included a new column
    why do the existing columns get a 1 as suffix
    now when i try to run the report ,report builder closes on its own saying it has encountered an error
    kindly guide
    thanking in advance

    This "changing" of field-names, in general, happens when the column-names in the SQL-query are not written with proper aliases, so that reports creates aliases on its own.

  • SQL PLAN MANAGEMENT - Locking in a more 'expensive', better plan.?

    Environment: 11.2.0.3 on HP-UX Itanium.
    We're preparing for an upgrade of our main production database from 10.2.0.3 to 11.2.0.3. We're using SQL Tuning Sets to capture execution plans from the 10G environment and load them into the upgraded (test) environment as SQL Plan Baselines. We've been using SQL Performance Analyzer to identify plans which have regressed from 10G to 11G. For these regressed plans we wish to use SPM to lock in the better 10G plan.
    We've been successful in locking in the 10G plans for those regressed queries where the 11g CBO "Cost" of the query is higher than it is in 10g, however we have some examples where SPA has shown a performance regression for queries (measured in terms of elapsed time, or buffer gets or CPU time), but the 11G explain plan has a lower "cost" as identified by the CBO. Ie: the 11G "cost" is lower, but the plan is worse.
    For these small number of queries, I have not been able to get the 11G optimiser to choose the 10G plans even though they are "fixed, enabled and accepted" within SPM. The optimiser consistently chooses what it considers its "lower cost" plan, even though it is a worst plan. Am I missing something here or should it be possible, with the use of SPM to have the optimiser chose the 10G plan, regardless of what its internal cost says?
    SQL> show parameter baseline
    NAME                                 TYPE        VALUE
    optimizer_capture_sql_plan_baselines boolean     FALSE
    optimizer_use_sql_plan_baselines     boolean     TRUE

    I'm at a bit of a loss now as to where to proceed without posting the entire SPM Trace file, so excuse me for taking up so much bandwidth.
    But first some background. Our test databases should be identical in terms of schemas. That is we have a 10G prod database. From that we clone it to two test databases. One we leave at 10G, the other we upgrade to 11G. So there should be no schema differences between the 11G and 10G databases.
    h5.
    *** 2013-02-12 15:41:27.671
    SPM: statement found in SMB
    *** 2013-02-12 15:41:27.881
    SPM: fixed planId's of plan baseline are: 386463207
    SPM: using qksan to reproduce, cost and select accepted plan, sig = 17844158604836855983
    SPM: plan reproducibility round 1 (plan outline + session OFE)
    SPM: using qksan to reproduce accepted plan, planId = 386463207
    SPM: plan reproducibility - session OFE = 11020003, hinted OFE = 10020003
    SPM: planId in plan baseline = 386463207, planId of reproduced plan = 3080367404
    ------- START SPM Plan Dump -------
    SPM: failed to reproduce the plan using the following info:
      parse_schema name        : CARADM
      plan_baseline signature  : 17844158604836855983
      plan_baseline plan_id    : 386463207
      plan_baseline hintset    :
        hint num  1 len 27 text: IGNORE_OPTIM_EMBEDDED_HINTS
        hint num  2 len 37 text: OPTIMIZER_FEATURES_ENABLE('10.2.0.3')
        hint num  3 len 36 text: OPT_PARAM('_always_anti_join' 'off')
        hint num  4 len 36 text: OPT_PARAM('_always_semi_join' 'off')
        hint num  5 len 40 text: OPT_PARAM('_index_join_enabled' 'false')
        hint num  6 len 43 text: OPT_PARAM('_optim_peek_user_binds' 'false')
        hint num  7 len 49 text: OPT_PARAM('_optimizer_skip_scan_enabled' 'false')
        hint num  8 len 39 text: OPT_PARAM('optimizer_index_cost_adj' 1)
        hint num  9 len 40 text: OPT_PARAM('optimizer_index_caching' 100)
        hint num 10 len 10 text: FIRST_ROWS
        hint num 11 len 29 text: OUTLINE_LEAF(@"SEL$EE94F965")
        hint num 12 len 22 text: MERGE(@"SEL$9E43CB6E")
        hint num 13 len 17 text: OUTLINE(@"SEL$4")
        hint num 14 len 24 text: OUTLINE(@"SEL$9E43CB6E")
        hint num 15 len 22 text: MERGE(@"SEL$58A6D7F6")
        hint num 16 len 17 text: OUTLINE(@"SEL$3")
        hint num 17 len 24 text: OUTLINE(@"SEL$58A6D7F6")
        hint num 18 len 15 text: MERGE(@"SEL$1")
        hint num 19 len 17 text: OUTLINE(@"SEL$2")
        hint num 20 len 17 text: OUTLINE(@"SEL$1")
        hint num 21 len 36 text: FULL(@"SEL$EE94F965" "CPGR"@"SEL$1")
        hint num 22 len 153 text: INDEX(@"SEL$EE94F965" "CPGP"@"SEL$1" ("CL_PROVIDER_GROUP_PERIOD"."CPGR_ID" "CL_PROVIDER_GROUP_PERIOD"."CPDE_ID" "CL_PRO
    VIDER_GROUP_PERIOD"."START_DATE"))
        hint num 23 len 77 text: INDEX_RS_ASC(@"SEL$EE94F965" "CPDE"@"SEL$2" ("CL_PROVIDER_DETAIL"."CPDE_ID"))
        hint num 24 len 62 text: INDEX(@"SEL$EE94F965" "CFCO"@"SEL$3" ("FN_ACCOUNT"."CPDE_ID"))
        hint num 25 len 84 text: LEADING(@"SEL$EE94F965" "CPGR"@"SEL$1" "CPGP"@"SEL$1" "CPDE"@"SEL$2" "CFCO"@"SEL$3")
        hint num 26 len 38 text: USE_NL(@"SEL$EE94F965" "CPGP"@"SEL$1")
        hint num 27 len 38 text: USE_NL(@"SEL$EE94F965" "CPDE"@"SEL$2")
        hint num 28 len 38 text: USE_NL(@"SEL$EE94F965" "CFCO"@"SEL$3")
    SPM: generated non-matching plan:
    ----- Explain Plan Dump -----
    ----- Plan Table -----
    ============
    Plan Table
    ============
    -------------------------------------------------------------+-----------------------------------+
    | Id  | Operation                        | Name              | Rows  | Bytes | Cost  | Time      |
    -------------------------------------------------------------+-----------------------------------+
    | 0   | SELECT STATEMENT                 |                   |       |       |    22 |           |
    | 1   |  SORT UNIQUE                     |                   |    41 |  3116 |    21 |  00:00:01 |
    | 2   |   NESTED LOOPS                   |                   |       |       |       |           |
    | 3   |    NESTED LOOPS                  |                   |    41 |  3116 |    20 |  00:00:01 |
    | 4   |     NESTED LOOPS                 |                   |   826 |   50K |    11 |  00:00:01 |
    | 5   |      NESTED LOOPS                |                   |   826 |   26K |     3 |  00:00:01 |
    | 6   |       TABLE ACCESS FULL          | CL_PROVIDER_GROUP |   116 |  2668 |     2 |  00:00:01 |
    | 7   |       INDEX RANGE SCAN           | CPGP_UK           |     7 |    63 |     1 |  00:00:01 |
    | 8   |      TABLE ACCESS BY INDEX ROWID | CL_PROVIDER_DETAIL|     1 |    30 |     1 |  00:00:01 |
    | 9   |       INDEX UNIQUE SCAN          | CPDE_PK           |     1 |       |     1 |  00:00:01 |
    | 10  |     INDEX RANGE SCAN             | FACC_CPDE_FK_I    |     1 |       |     1 |  00:00:01 |
    | 11  |    TABLE ACCESS BY INDEX ROWID   | FN_ACCOUNT        |     1 |    14 |     1 |  00:00:01 |
    -------------------------------------------------------------+-----------------------------------+
    Predicate Information:
    7 - access("CPGR"."CPGR_ID"="CPGP"."CPGR_ID")
    9 - access("CPDE"."CPDE_ID"="CPGP"."CPDE_ID")
    10 - access("CPDE"."CPDE_ID"="CFCO"."CPDE_ID")
    10 - filter("CFCO"."CPDE_ID" IS NOT NULL)
    11 - filter((UPPER("CPGR"."NAME") LIKE UPPER('%'||:1||'%') OR UPPER("NAME") LIKE UPPER('%'||:2||'%') OR UPPER("ABN") LIKE UPPER(:3||'%') OR "CFCO"."A
    CCT_NO" LIKE UPPER(:4||'%')))
    Content of other_xml column
    ===========================
      db_version     : 11.2.0.3
      parse_schema   : CARADM
      plan_hash      : 524147661
      plan_hash_2    : 3080367404
      Outline Data:
      /*+
        BEGIN_OUTLINE_DATA
          IGNORE_OPTIM_EMBEDDED_HINTS
          OPTIMIZER_FEATURES_ENABLE('11.2.0.3')
          DB_VERSION('11.2.0.3')
          OPT_PARAM('_always_anti_join' 'off')
          OPT_PARAM('_always_semi_join' 'off')
          OPT_PARAM('_index_join_enabled' 'false')
          OPT_PARAM('_optim_peek_user_binds' 'false')
          OPT_PARAM('_optimizer_skip_scan_enabled' 'false')
          OPT_PARAM('optimizer_index_cost_adj' 1)
          OPT_PARAM('optimizer_index_caching' 100)
          FIRST_ROWS
          OUTLINE_LEAF(@"SEL$EE94F965")
          MERGE(@"SEL$9E43CB6E")
          OUTLINE(@"SEL$4")
          OUTLINE(@"SEL$9E43CB6E")
          MERGE(@"SEL$58A6D7F6")
          OUTLINE(@"SEL$3")
          OUTLINE(@"SEL$58A6D7F6")
          MERGE(@"SEL$1")
          OUTLINE(@"SEL$2")
          OUTLINE(@"SEL$1")
          FULL(@"SEL$EE94F965" "CPGR"@"SEL$1")
          INDEX(@"SEL$EE94F965" "CPGP"@"SEL$1" ("CL_PROVIDER_GROUP_PERIOD"."CPGR_ID" "CL_PROVIDER_GROUP_PERIOD"."CPDE_ID" "CL_PROVIDER_GROUP_PERIOD"."STA
    RT_DATE"))
          INDEX_RS_ASC(@"SEL$EE94F965" "CPDE"@"SEL$2" ("CL_PROVIDER_DETAIL"."CPDE_ID"))
          INDEX(@"SEL$EE94F965" "CFCO"@"SEL$3" ("FN_ACCOUNT"."CPDE_ID"))
          LEADING(@"SEL$EE94F965" "CPGR"@"SEL$1" "CPGP"@"SEL$1" "CPDE"@"SEL$2" "CFCO"@"SEL$3")
          USE_NL(@"SEL$EE94F965" "CPGP"@"SEL$1")
          USE_NL(@"SEL$EE94F965" "CPDE"@"SEL$2")
          USE_NL(@"SEL$EE94F965" "CFCO"@"SEL$3")
          NLJ_BATCHING(@"SEL$EE94F965" "CFCO"@"SEL$3")
        END_OUTLINE_DATA
    ------- END SPM Plan Dump -------
    SPM: plan reproducibility round 1 (plan outline only)
    SPM: using qksan to reproduce accepted plan, planId = 386463207
    SPM: planId in plan baseline = 386463207, planId of reproduced plan = 4009937738
    ------- START SPM Plan Dump -------
    SPM: failed to reproduce the plan using the following info:
      parse_schema name        : CARADM
      plan_baseline signature  : 17844158604836855983
      plan_baseline plan_id    : 386463207
      plan_baseline hintset    :
        hint num  1 len 27 text: IGNORE_OPTIM_EMBEDDED_HINTS
        hint num  2 len 37 text: OPTIMIZER_FEATURES_ENABLE('10.2.0.3')
        hint num  3 len 36 text: OPT_PARAM('_always_anti_join' 'off')
        hint num  4 len 36 text: OPT_PARAM('_always_semi_join' 'off')
        hint num  5 len 40 text: OPT_PARAM('_index_join_enabled' 'false')
        hint num  6 len 43 text: OPT_PARAM('_optim_peek_user_binds' 'false')
        hint num  7 len 49 text: OPT_PARAM('_optimizer_skip_scan_enabled' 'false')
        hint num  8 len 39 text: OPT_PARAM('optimizer_index_cost_adj' 1)
        hint num  9 len 40 text: OPT_PARAM('optimizer_index_caching' 100)
        hint num 10 len 10 text: FIRST_ROWS
        hint num 11 len 29 text: OUTLINE_LEAF(@"SEL$EE94F965")
        hint num 12 len 22 text: MERGE(@"SEL$9E43CB6E")
        hint num 13 len 17 text: OUTLINE(@"SEL$4")
        hint num 14 len 24 text: OUTLINE(@"SEL$9E43CB6E")
        hint num 15 len 22 text: MERGE(@"SEL$58A6D7F6")
        hint num 16 len 17 text: OUTLINE(@"SEL$3")
        hint num 17 len 24 text: OUTLINE(@"SEL$58A6D7F6")
        hint num 18 len 15 text: MERGE(@"SEL$1")
        hint num 19 len 17 text: OUTLINE(@"SEL$2")
        hint num 20 len 17 text: OUTLINE(@"SEL$1")
        hint num 21 len 36 text: FULL(@"SEL$EE94F965" "CPGR"@"SEL$1")
        hint num 22 len 153 text: INDEX(@"SEL$EE94F965" "CPGP"@"SEL$1" ("CL_PROVIDER_GROUP_PERIOD"."CPGR_ID" "CL_PROVIDER_GROUP_PERIOD"."CPDE_ID" "CL_PRO
    VIDER_GROUP_PERIOD"."START_DATE"))
        hint num 23 len 77 text: INDEX_RS_ASC(@"SEL$EE94F965" "CPDE"@"SEL$2" ("CL_PROVIDER_DETAIL"."CPDE_ID"))
        hint num 24 len 62 text: INDEX(@"SEL$EE94F965" "CFCO"@"SEL$3" ("FN_ACCOUNT"."CPDE_ID"))
        hint num 25 len 84 text: LEADING(@"SEL$EE94F965" "CPGR"@"SEL$1" "CPGP"@"SEL$1" "CPDE"@"SEL$2" "CFCO"@"SEL$3")
        hint num 26 len 38 text: USE_NL(@"SEL$EE94F965" "CPGP"@"SEL$1")
        hint num 27 len 38 text: USE_NL(@"SEL$EE94F965" "CPDE"@"SEL$2")
        hint num 28 len 38 text: USE_NL(@"SEL$EE94F965" "CFCO"@"SEL$3")
    SPM: generated non-matching plan:
    ----- Explain Plan Dump -----
    ----- Plan Table -----
    ============
    Plan Table
    ============
    ------------------------------------------------------------+-----------------------------------+
    | Id  | Operation                       | Name              | Rows  | Bytes | Cost  | Time      |
    ------------------------------------------------------------+-----------------------------------+
    | 0   | SELECT STATEMENT                |                   |       |       |   179 |           |
    | 1   |  SORT UNIQUE                    |                   |   153 |   11K |   178 |  00:00:01 |
    | 2   |   NESTED LOOPS                  |                   |   153 |   11K |   177 |  00:00:01 |
    | 3   |    NESTED LOOPS                 |                   |   826 |   50K |    11 |  00:00:01 |
    | 4   |     NESTED LOOPS                |                   |   826 |   26K |     3 |  00:00:01 |
    | 5   |      TABLE ACCESS FULL          | CL_PROVIDER_GROUP |   116 |  2668 |     2 |  00:00:01 |
    | 6   |      INDEX RANGE SCAN           | CPGP_UK           |     7 |    63 |     1 |  00:00:01 |
    | 7   |     TABLE ACCESS BY INDEX ROWID | CL_PROVIDER_DETAIL|     1 |    30 |     1 |  00:00:01 |
    | 8   |      INDEX UNIQUE SCAN          | CPDE_PK           |     1 |       |     1 |  00:00:01 |
    | 9   |    TABLE ACCESS BY INDEX ROWID  | FN_ACCOUNT        |     1 |    14 |     1 |  00:00:01 |
    | 10  |     INDEX RANGE SCAN            | FACC_CPDE_FK_I    |    27 |       |     1 |  00:00:01 |
    ------------------------------------------------------------+-----------------------------------+
    Predicate Information:
    6 - access("CPGR"."CPGR_ID"="CPGP"."CPGR_ID")
    8 - access("CPDE"."CPDE_ID"="CPGP"."CPDE_ID")
    9 - filter((UPPER("CPGR"."NAME") LIKE UPPER('%'||:1||'%') OR UPPER("CPDE"."NAME") LIKE UPPER('%'||:2||'%') OR UPPER("CPDE"."ABN") LIKE UPPER(:3||'%')
    OR "CFCO"."ACCT_NO" LIKE UPPER(:4||'%')))
    10 - access("CPDE"."CPDE_ID"="CFCO"."CPDE_ID")
    10 - filter("CFCO"."CPDE_ID" IS NOT NULL)
    Content of other_xml column
    ===========================
      db_version     : 11.2.0.3
      parse_schema   : CARADM
      plan_hash      : 3311216257
      plan_hash_2    : 4009937738
      Outline Data:
      /*+
        BEGIN_OUTLINE_DATA
          IGNORE_OPTIM_EMBEDDED_HINTS
          OPTIMIZER_FEATURES_ENABLE('10.2.0.3')
          DB_VERSION('11.2.0.3')
          OPT_PARAM('_always_anti_join' 'off')
          OPT_PARAM('_always_semi_join' 'off')
          OPT_PARAM('_index_join_enabled' 'false')
          OPT_PARAM('_optim_peek_user_binds' 'false')
          OPT_PARAM('_optimizer_skip_scan_enabled' 'false')
          OPT_PARAM('optimizer_index_cost_adj' 1)
          OPT_PARAM('optimizer_index_caching' 100)
          FIRST_ROWS
          OUTLINE_LEAF(@"SEL$EE94F965")
          MERGE(@"SEL$9E43CB6E")
          OUTLINE(@"SEL$4")
          OUTLINE(@"SEL$9E43CB6E")
          MERGE(@"SEL$58A6D7F6")
          OUTLINE(@"SEL$3")
          OUTLINE(@"SEL$58A6D7F6")
          MERGE(@"SEL$1")
          OUTLINE(@"SEL$2")
          OUTLINE(@"SEL$1")
          FULL(@"SEL$EE94F965" "CPGR"@"SEL$1")
          INDEX(@"SEL$EE94F965" "CPGP"@"SEL$1" ("CL_PROVIDER_GROUP_PERIOD"."CPGR_ID" "CL_PROVIDER_GROUP_PERIOD"."CPDE_ID" "CL_PROVIDER_GROUP_PERIOD"."STA
    RT_DATE"))
          INDEX_RS_ASC(@"SEL$EE94F965" "CPDE"@"SEL$2" ("CL_PROVIDER_DETAIL"."CPDE_ID"))
          INDEX_RS_ASC(@"SEL$EE94F965" "CFCO"@"SEL$3" ("FN_ACCOUNT"."CPDE_ID"))
          LEADING(@"SEL$EE94F965" "CPGR"@"SEL$1" "CPGP"@"SEL$1" "CPDE"@"SEL$2" "CFCO"@"SEL$3")
          USE_NL(@"SEL$EE94F965" "CPGP"@"SEL$1")
          USE_NL(@"SEL$EE94F965" "CPDE"@"SEL$2")
          USE_NL(@"SEL$EE94F965" "CFCO"@"SEL$3")
        END_OUTLINE_DATA
    ------- END SPM Plan Dump -------
    SPM: plan reproducibility round 2 (hinted OFE only)
    SPM: using qksan to reproduce accepted plan, planId = 386463207
    SPM: planId in plan baseline = 386463207, planId of reproduced plan = 4009937738
    ------- START SPM Plan Dump -------
    SPM: failed to reproduce the plan using the following info:
      parse_schema name        : CARADM
      plan_baseline signature  : 17844158604836855983
      plan_baseline plan_id    : 386463207
      plan_baseline hintset    :
        hint num  1 len 37 text: OPTIMIZER_FEATURES_ENABLE('10.2.0.3')
    SPM: generated non-matching plan:
    ----- Explain Plan Dump -----
    ----- Plan Table -----
    ============
    Plan Table
    ============
    ------------------------------------------------------------+-----------------------------------+
    | Id  | Operation                       | Name              | Rows  | Bytes | Cost  | Time      |
    ------------------------------------------------------------+-----------------------------------+
    | 0   | SELECT STATEMENT                |                   |       |       |   179 |           |
    | 1   |  SORT UNIQUE                    |                   |   153 |   11K |   178 |  00:00:01 |
    | 2   |   NESTED LOOPS                  |                   |   153 |   11K |   177 |  00:00:01 |
    | 3   |    NESTED LOOPS                 |                   |   826 |   50K |    11 |  00:00:01 |
    | 4   |     NESTED LOOPS                |                   |   826 |   26K |     3 |  00:00:01 |
    | 5   |      TABLE ACCESS FULL          | CL_PROVIDER_GROUP |   116 |  2668 |     2 |  00:00:01 |
    | 6   |      INDEX RANGE SCAN           | CPGP_UK           |     7 |    63 |     1 |  00:00:01 |
    | 7   |     TABLE ACCESS BY INDEX ROWID | CL_PROVIDER_DETAIL|     1 |    30 |     1 |  00:00:01 |
    | 8   |      INDEX UNIQUE SCAN          | CPDE_PK           |     1 |       |     1 |  00:00:01 |
    | 9   |    TABLE ACCESS BY INDEX ROWID  | FN_ACCOUNT        |     1 |    14 |     1 |  00:00:01 |
    | 10  |     INDEX RANGE SCAN            | FACC_CPDE_FK_I    |    27 |       |     1 |  00:00:01 |
    ------------------------------------------------------------+-----------------------------------+
    Predicate Information:
    6 - access("CPGR"."CPGR_ID"="CPGP"."CPGR_ID")
    8 - access("CPDE"."CPDE_ID"="CPGP"."CPDE_ID")
    9 - filter((UPPER("CPGR"."NAME") LIKE UPPER('%'||:1||'%') OR UPPER("CPDE"."NAME") LIKE UPPER('%'||:2||'%') OR UPPER("CPDE"."ABN") LIKE UPPER(:3||'%')
    OR "CFCO"."ACCT_NO" LIKE UPPER(:4||'%')))
    10 - access("CPDE"."CPDE_ID"="CFCO"."CPDE_ID")
    10 - filter("CFCO"."CPDE_ID" IS NOT NULL)
    Content of other_xml column
    ===========================
      db_version     : 11.2.0.3
      parse_schema   : CARADM
      plan_hash      : 3311216257
      plan_hash_2    : 4009937738
      Outline Data:
      /*+
        BEGIN_OUTLINE_DATA
          IGNORE_OPTIM_EMBEDDED_HINTS
          OPTIMIZER_FEATURES_ENABLE('10.2.0.3')
          DB_VERSION('11.2.0.3')
          OPT_PARAM('optimizer_index_cost_adj' 1)
          OPT_PARAM('optimizer_index_caching' 100)
          FIRST_ROWS
          OUTLINE_LEAF(@"SEL$EE94F965")
          MERGE(@"SEL$9E43CB6E")
          OUTLINE(@"SEL$4")
          OUTLINE(@"SEL$9E43CB6E")
          MERGE(@"SEL$58A6D7F6")
          OUTLINE(@"SEL$3")
          OUTLINE(@"SEL$58A6D7F6")
          MERGE(@"SEL$1")
          OUTLINE(@"SEL$2")
          OUTLINE(@"SEL$1")
          FULL(@"SEL$EE94F965" "CPGR"@"SEL$1")
          INDEX(@"SEL$EE94F965" "CPGP"@"SEL$1" ("CL_PROVIDER_GROUP_PERIOD"."CPGR_ID" "CL_PROVIDER_GROUP_PERIOD"."CPDE_ID" "CL_PROVIDER_GROUP_PERIOD"."STA
    RT_DATE"))
          INDEX_RS_ASC(@"SEL$EE94F965" "CPDE"@"SEL$2" ("CL_PROVIDER_DETAIL"."CPDE_ID"))
          INDEX_RS_ASC(@"SEL$EE94F965" "CFCO"@"SEL$3" ("FN_ACCOUNT"."CPDE_ID"))
          LEADING(@"SEL$EE94F965" "CPGR"@"SEL$1" "CPGP"@"SEL$1" "CPDE"@"SEL$2" "CFCO"@"SEL$3")
          USE_NL(@"SEL$EE94F965" "CPGP"@"SEL$1")
          USE_NL(@"SEL$EE94F965" "CPDE"@"SEL$2")
          USE_NL(@"SEL$EE94F965" "CFCO"@"SEL$3")
        END_OUTLINE_DATA
    ------- END SPM Plan Dump -------
    SPM: couldn't reproduce any enabled+accepted plan so using the cost-based plan, planId = 3838063866
    SPM: kkopmCheckSmbUpdate (enter) xscP=0x9fffffff7f3c8cc8, pmExCtx=0xc000000c8bbade48, ciP=0xc000000c872f95c0, dtCtx=0x6000000000054c30apologies once again for the huge post.

  • RPM_FIN02 - Receiver of IDoc is its own logical system

    For one particular portfolio item, I run the RPM program RPM_FIN02.
    This results in an IDoc creation.
    Next, I checked the status of the IDoc (RPM > Base System Interfaces > SAP Financial and Controlling Integration > Data Distribution From SAP FI-CO to SAP xRPM > Check Inbound Processing).
    This shows the status "29 - Receiver of IDoc is its own logical system".
    As a result, the Internal Order costs (including the ones posted from cProjects) do not get pulled into RPM Financial Planning.
    Please advise.
    I do not have the technical understanding of this issue, and would therefore need a little more than the mere technical jargons and terms to be able to resolve this.
    Thanks for understanding.

    Hi,
    Very briefly,
    -Assuming your RPM system is independent of your ECC box. But RFC connected.
    -RPM_FIN02 is for pulling in financial data onto RPM item from (object linked) Internal Order(IO)/PS Project(PSP).
    -RPM_FIN02 do not recognize/goto cProjects for financials.
    -cProjects can have its own account assigned IO/PSP
    -cProjects Dashboard, (if all is well incl. evaluation) should display costs from assigned IO/PSP
    -This cost does not reach RPM item
    -Source of cProjects- if it is created within cProjects or from RPM Item, does not matter.
    thanks,Mathavan

  • How can my java application get its own PID?

    My java application runs under AIX?
    The application needs to get its own PID.
    There is a possibility to get it by
    Runtime.exec("ps -ef | grep <user.name>");
    But is there any other alternate possibility?
    Any idea would be great appreciated
    kind regards

    Hello! I found several ways for this in a blog from someone called Igor Minar on
    http://net3x.blogspot.com/2007/03/how-java-application-can-discover-its.html
    He found several ways:
    * Use Java management and monitoring API
    ManagementFactory.getRuntimeMXBean().getName();returns something like
    1826@localhost
    where 1826 is the PID of the JVM process, i.e. my application's process. But this hack is JVM dependent and may not work on JVM's other than Sun's
    * Use a shell script to put a property in place that is set to the PID:
    exec java -Dpid=$$ -jar myapp.jar* Java Native Interface - cumbersome and platform dependent solution
    * Use procfs (Linux solution: read /proc/self, nifty nifty, posted in the comments of the resp. post!)
    int pid = Integer.parseInt( ( new File("/proc/self")).getCanonicalFile().getName() );* From another comment: Reflection will work (on Unix): The Process class has a field called pid which can be queried:
    static int getPID(Process process) throws IllegalAccessException, IllegalArgumentException,
                                                                      NoSuchFieldException, SecurityException
         Field field = process.getClass().getDeclaredField("pid");
         field.setAccessible(true);
         return field.getInt(process);
    }But this solution looks a bit of a kludge to me. I think the /proc/self solution is best - it definitely rox my sox!
    Hope this helps!

  • RSD...just stops on its own?

    So about a month ago the dreaded RSD started happening to my macbook. I tried several times to make appointments to see a "Genius" at my apple store, however unless I wanted 11am or 1130am on any day I tried...I couldnt get in, and forget any times on the weekends...so I gave up, hoping apple would somehow solve this and give us all the answer ( hoping it was software based), then they said to call applecare as their "answer"...I cant get along with out my macbook, as I use it for my photography business, so sending it in, not an option. Then I noticed something in the last 2 plus weeks...it hasnt happened...at all, and ive rebooted a couple times, though I think maybe only twice...and nothing, no more RSD in the last 2 weeks.
    Anyone else have this happen...am I being to optomisitic??

    Mine started RSD for the first time, after 4 months of use, a week ago last Tuesday. Two of them, nothing more until today. But I wouldn't count today because it happened strictly in the context of the computer hanging up when coming out of sleep.
    I'm not convinced that there aren't two different causes, one hardware and one software/firmware for two different problems that have the same symptoms. Might it explained why fixed MacBooks come back and then unfix themselves.
    But if it's not in firmware, or you're version of the problem isn't in firmware, you're going to have to send it in eventually. Try and plan a vacation for it and notify your clients; hopefully you can limp along without too much RSD inconvenience for long enough to get things straightened out for your MacBook repair vacation.
    And for the last time RSD is misnomer. Sudden is fine, if everybody like to use that. But these are not RANDOM. They are intermittent. A certain set of criteria are met and the computer shuts down without the user directing it do so or without the existence of an emergency condition that would cause the computer for its own shut down. But they only appear random; they are not.

  • SQL Plan Management - Baseline- Can it be used in another Schema

    Hi,
    I have never implemented, SQL Plan Management -Creating SQL plan baselines.
    I am having a query which is using indexes in one Schema.
    On another Schema in the same DB, the query accesses the SAME TABLE THROUGH SYNONYM. And the plan is very different. And query goes into indefinite execution.
    I have tried hints and other ways but it's simply not using the indexes.
    Anyone having experience with Baselines, can you suggest if I create a Baseline for the plan in SchemaA.
    Then can I use the same plan through Baseline in SchemaB for the same query?
    Please suggest..Thanks..

    Hi Jeneesh,
    Thanks for the reply.
    Problem is that the query has Xquery code inside and it's using the XMLType indexes. That's why it does not seem to be using the XML Indexes even by Hints.
    I have posted the scenario in XMLDB Forum as well:
    Re: Table in Schema1 using XMLIndexes But not in View- Schema2
    But can you think of any harm if I try to create Baseline and tag the query with it.
    So even in other schema if the same query is fired it will use the right Explain Plan.
    I am not able to figure out any other way right now.
    Please suggest..Thanks..

Maybe you are looking for

  • Error sending Idoc's to SAP

    Hi, I'm getting error in file-XI-SAP scenario. File is read and transformed to Idoc ok, but then I get this kind of error message in SXMB_MONI: <SAP:Stack>Error: Basic type 'HRMD_A01' is unknown</SAP:Stack> What I'm I missing in the scenario?

  • I want to SEE all the FONTS!!! I could in Word!

    Ok so here it is, this has been bugging me for some time. Is there anyway of allowing the font list in the floating font box to display the fonts so i can see at a glance what font i need, rather than having to select a word to see what the font look

  • Has anyone been charged a past due on very first bill

    I am going crazy nuts with what I'm being charged I get my phone on the very last day of feb.7days later I'm told my bill is past due,how can that be Ive only been with their company one week,this is just the begining.ive been with verizon for 2 mont

  • MM in STO process..?

    Hi all Can anybody explain me , what are all the modules involved in STO. And waht are all the activities to be done from MM side in Stock transport order.. Pls explain me step by step by with transaction codes.. Thanks sap-mm

  • How do I save the progress of TV shows I'm downloading?

    I have a VERY slow and unreliable internet connection, as I am currently deployed in Iraq. I'm trying to download some US TV shows that I have purchased, but it is taking approximately 25 hours per episode. Unfortunately, my internet isn't stable eno