PL/SQL Package Long Compilation Time

All,
I have a scenario where i have a package body which takes an extremely long time to compile (up to 2 1/2 hours!!).
I am at a loss as to what is causing this, but a pattern has emerged as to what increases this length of time.
The package itself is large (around 17,000 lines of code), and references a child package that has many type defintions (approx 60). Within the parent package a number of variable declarations are made based on the child package types (again around 60). It appears that if less variable declarations are made in the parent package based on the child package types it will compile sooner.
The only other thing that i could think of was dependancies on invalid packages, although i have quashed this theory as i have validated all associated packages and the same happens.
Has anyone encountered anything similar or can offer and wisdom and advice
As the package(s) are so large i have not provided any code, please email if you can help and i will forward on.
Thanks
Adam

[email protected]

Similar Messages

  • So is arch basically gentoo without the long compile times?

    I've been recently trying different distros, and was considering trying arch linux. I've always liked gentoo because of it's thorough package database that always up-to-date, and it let's you install and update packages with one command.  But I've always hated it's long compile times. And it's not like I really need super fast programs when I have an Athlon 64 3000. So is arch linux kept up-to-date, and can you install every single package known to man using pacman?

    The only things you may miss from Gentoo :
    - portage's relatively huge package support
    - the smell of the cup of coffee you drink when compiling
    - emerge's colored output
    - Gentoo's stability.
    - Gentoo's geek appeal
    - Gentoo puts ebuilds in ONE place. Arch puts them in several(too much ?) repositories. But of course, Arch has less developers so they can't support all the software in the world.
    The things you may gain with Arch over Gentoo
    - Arch's layout is very simpler, and thus very very customizable. If you dig a little in the initscripts and optimize them according to your system, you will boot with the smallest delay in the world.
    - Arch's speed in general is amazing, especially pacman, since it is written in C and not in Python. Searches with pacman are completed in less than a second. Portage will take...er.....longer...
    - ABS is basically a port system where you can recompile the binaries with the options YOU want. Instead of an ebuild, you have a PKGBUILD, which I find to be simpler to understand than an ebuild. You can also make your own packages easily.
    -Arch is much more bleeding edge(sometimes hurting stability). But a new package always corrects the problem very shortly.
    - You may like to be able to install Arch 10 times with all the packages whereas you would just be on half-installing the Gentoo base system.

  • SQL Query + long execution time.

    Dear Gurus/masters/All,
    I request you all to help me in tuning the SQL query which is taking more time. DB Version : 10.2.0.4
    SQL Query WHERE condition:
    select column1, column2, .........
    FROM
    SIEBEL.S_ORG_EXT T1,
    SIEBEL.S_PROD_INT T2,
    SIEBEL.S_VOD T3,
    SIEBEL.S_ORG_EXT T4,
    SIEBEL.S_ORG_EXT T5,
    SIEBEL.S_ORG_EXT_X T6,
    SIEBEL.S_PROD_LN T7,
    SIEBEL.S_ASSET_OM T8,
    SIEBEL.S_VOD_VER T9,
    SIEBEL.S_CTLG_CAT T10,
    SIEBEL.S_CONTACT T11,
    SIEBEL.S_PARTY T12,
    SIEBEL.S_PARTY T13,
    SIEBEL.S_PROD_INT T14,
    SIEBEL.S_ASSET_BU T15,
    SIEBEL.S_CTLG_CAT T16,
    SIEBEL.S_ORG_EXT T17,
    SIEBEL.S_ORG_EXT T18,
    SIEBEL.S_ASSET T19,
    SIEBEL.S_ADDR_PER T20,
    SIEBEL.S_ORG_EXT T21,
    SIEBEL.S_ASSET_X T22,
    SIEBEL.S_ASSET T23
    WHERE
    T16.PAR_CAT_ID = T10.ROW_ID (+) AND
    T14.CG_PR_CTLG_CAT_ID = T16.ROW_ID (+) AND
    T3.ROW_ID = T9.VOD_ID AND
    T14.CFG_MODEL_ID = T3.OBJECT_NUM AND
    T23.OWNER_CON_ID = T11.ROW_ID (+) AND
    T23.OWNER_ACCNT_ID = T6.PAR_ROW_ID (+) AND
    T23.PER_ADDR_ID = T20.ROW_ID (+) AND
    T23.PROD_ID = T14.ROW_ID AND
    T23.OWNER_ACCNT_ID = T21.PAR_ROW_ID (+) AND
    T14.PR_PROD_LN_ID = T7.ROW_ID (+) AND
    T23.ROOT_ASSET_ID = T19.ROW_ID (+) AND
    T19.PROD_ID = T2.ROW_ID (+) AND
    T23.BILL_ACCNT_ID = T18.PAR_ROW_ID (+) AND
    T23.RTNG_DLR_ID = T1.PAR_ROW_ID (+) AND
    T23.PREF_SRV_DLR_ID = T17.PAR_ROW_ID (+) AND
    T23.DLR_ID = T4.PAR_ROW_ID (+) AND
    T23.ROW_ID = T22.PAR_ROW_ID (+) AND
    T23.ROW_ID = T8.PAR_ROW_ID (+) AND
    T23.PR_CON_ID = T12.ROW_ID (+) AND
    T23.BU_ID = T15.BU_ID (+) AND T23.ROW_ID = T15.ASSET_ID (+) AND
    T15.BU_ID = T13.ROW_ID (+) AND
    T15.BU_ID = T5.PAR_ROW_ID (+) AND
    ((T23.SERIAL_NUM IS NOT NULL AND T23.PAR_ASSET_ID IS NULL OR T23.X_PHONE_NUMBER IS NOT NULL AND T23.PAR_ASSET_ID IS NOT NULL) AND
    (T9.VER_NUM = :1));Query Exection Plan:
    PLAN_TABLE_OUTPUT
    Plan hash value: 967177145
    | Id  | Operation                                         | Name           | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT                                  |                | 54117 |    92M|  4435K  (1)| 01:58:43 |
    |   1 |  NESTED LOOPS OUTER                               |                | 54117 |    92M|  4435K  (1)| 01:58:43 |
    |   2 |   NESTED LOOPS OUTER                              |                | 54117 |    87M|  4261K  (1)| 01:54:04 |
    |   3 |    NESTED LOOPS OUTER                             |                | 54117 |    86M|  4154K  (1)| 01:51:13 |
    |   4 |     NESTED LOOPS OUTER                            |                | 54117 |    85M|  4111K  (1)| 01:50:03 |
    |   5 |      NESTED LOOPS OUTER                           |                | 54117 |    84M|  3980K  (1)| 01:46:33 |
    |   6 |       NESTED LOOPS OUTER                          |                | 54117 |    83M|  3937K  (1)| 01:45:24 |
    |   7 |        NESTED LOOPS OUTER                         |                | 54117 |    81M|  3763K  (1)| 01:40:44 |
    |   8 |         NESTED LOOPS OUTER                        |                | 54117 |    81M|  3751K  (1)| 01:40:25 |
    |   9 |          NESTED LOOPS OUTER                       |                | 54117 |    80M|  3621K  (1)| 01:36:57 |
    |  10 |           NESTED LOOPS OUTER                      |                | 54117 |    73M|  3515K  (1)| 01:34:07 |
    |  11 |            NESTED LOOPS OUTER                     |                | 54117 |    71M|  3410K  (1)| 01:31:18 |
    |  12 |             NESTED LOOPS OUTER                    |                | 54117 |    69M|  3410K  (1)| 01:31:18 |
    |  13 |              NESTED LOOPS OUTER                   |                | 54117 |    67M|  3410K  (1)| 01:31:18 |
    |  14 |               NESTED LOOPS OUTER                  |                | 54117 |    66M|  3410K  (1)| 01:31:18 |
    |  15 |                NESTED LOOPS OUTER                 |                | 54117 |    64M|  3324K  (1)| 01:28:59 |
    |  16 |                 NESTED LOOPS OUTER                |                | 54117 |    62M|  3237K  (1)| 01:26:40 |
    |  17 |                  NESTED LOOPS                     |                | 54117 |    57M|  3106K  (1)| 01:23:10 |
    |  18 |                   NESTED LOOPS OUTER              |                |    71 | 43665 |   381   (2)| 00:00:01 |
    |  19 |                    NESTED LOOPS OUTER             |                |    71 | 42316 |   323   (2)| 00:00:01 |
    |  20 |                     NESTED LOOPS OUTER            |                |    71 | 41322 |   322   (2)| 00:00:01 |
    |  21 |                      NESTED LOOPS                 |                |    71 | 24708 |   265   (3)| 00:00:01 |
    |  22 |                       NESTED LOOPS                |                |    77 |  2772 |   141   (4)| 00:00:01 |
    |* 23 |                        TABLE ACCESS FULL          | S_VOD_VER      |    75 |  1350 |    72   (7)| 00:00:01 |
    |  24 |                        TABLE ACCESS BY INDEX ROWID| S_VOD          |     1 |    18 |     1   (0)| 00:00:01 |
    |* 25 |                         INDEX UNIQUE SCAN         | S_VOD_P1       |     1 |       |     1   (0)| 00:00:01 |
    |  26 |                       TABLE ACCESS BY INDEX ROWID | S_PROD_INT     |     1 |   312 |     2   (0)| 00:00:01 |
    |* 27 |                        INDEX RANGE SCAN           | S_PROD_INT_F9  |     1 |       |     1   (0)| 00:00:01 |
    |  28 |                      TABLE ACCESS BY INDEX ROWID  | S_PROD_LN      |     1 |   234 |     1   (0)| 00:00:01 |
    |* 29 |                       INDEX UNIQUE SCAN           | S_PROD_LN_P1   |     1 |       |     1   (0)| 00:00:01 |
    |  30 |                     TABLE ACCESS BY INDEX ROWID   | S_CTLG_CAT     |     1 |    14 |     1   (0)| 00:00:01 |
    |* 31 |                      INDEX UNIQUE SCAN            | S_CTLG_CAT_P1  |     1 |       |     1   (0)| 00:00:01 |
    |  32 |                    TABLE ACCESS BY INDEX ROWID    | S_CTLG_CAT     |     1 |    19 |     1   (0)| 00:00:01 |
    |* 33 |                     INDEX UNIQUE SCAN             | S_CTLG_CAT_P1  |     1 |       |     1   (0)| 00:00:01 |
    |* 34 |                   TABLE ACCESS BY INDEX ROWID     | S_ASSET        |   760 |   375K| 43753   (1)| 00:01:11 |
    |* 35 |                    INDEX RANGE SCAN               | S_ASSET_U2     | 55873 |       |   312   (3)| 00:00:01 |
    |  36 |                  TABLE ACCESS BY INDEX ROWID      | S_ASSET_OM     |     1 |    94 |     2   (0)| 00:00:01 |
    |* 37 |                   INDEX RANGE SCAN                | S_ASSET_OM_U1  |     1 |       |     2   (0)| 00:00:01 |
    |  38 |                 TABLE ACCESS BY INDEX ROWID       | S_CONTACT      |     1 |    39 |     2   (0)| 00:00:01 |
    |* 39 |                  INDEX UNIQUE SCAN                | S_CONTACT_P1   |     1 |       |     1   (0)| 00:00:01 |
    |  40 |                TABLE ACCESS BY INDEX ROWID        | S_ADDR_PER     |     1 |    29 |     2   (0)| 00:00:01 |
    |* 41 |                 INDEX UNIQUE SCAN                 | S_ADDR_PER_P1  |     1 |       |     1   (0)| 00:00:01 |
    |  42 |               TABLE ACCESS BY INDEX ROWID         | S_ORG_EXT      |     1 |    32 |     1   (0)| 00:00:01 |
    |* 43 |                INDEX UNIQUE SCAN                  | S_ORG_EXT_U3   |     1 |       |     1   (0)| 00:00:01 |
    |  44 |              TABLE ACCESS BY INDEX ROWID          | S_ORG_EXT      |     1 |    32 |     1   (0)| 00:00:01 |
    |* 45 |               INDEX UNIQUE SCAN                   | S_ORG_EXT_U3   |     1 |       |     1   (0)| 00:00:01 |
    |  46 |             TABLE ACCESS BY INDEX ROWID           | S_ORG_EXT      |     1 |    32 |     1   (0)| 00:00:01 |
    |* 47 |              INDEX UNIQUE SCAN                    | S_ORG_EXT_U3   |     1 |       |     1   (0)| 00:00:01 |
    |  48 |            TABLE ACCESS BY INDEX ROWID            | S_ORG_EXT      |     1 |    36 |     2   (0)| 00:00:01 |
    |* 49 |             INDEX UNIQUE SCAN                     | S_ORG_EXT_U3   |     1 |       |     1   (0)| 00:00:01 |
    |  50 |           TABLE ACCESS BY INDEX ROWID             | S_ORG_EXT      |     1 |   139 |     2   (0)| 00:00:01 |
    |* 51 |            INDEX UNIQUE SCAN                      | S_ORG_EXT_U3   |     1 |       |     1   (0)| 00:00:01 |
    |  52 |          TABLE ACCESS BY INDEX ROWID              | S_ORG_EXT_X    |     1 |    16 |     2   (0)| 00:00:01 |
    |* 53 |           INDEX RANGE SCAN                        | S_ORG_EXT_X_U1 |     1 |       |     2   (0)| 00:00:01 |
    |* 54 |         INDEX UNIQUE SCAN                         | S_PARTY_P1     |     1 |    12 |     1   (0)| 00:00:01 |
    |  55 |        TABLE ACCESS BY INDEX ROWID                | S_ASSET_BU     |     1 |    34 |     3   (0)| 00:00:01 |
    |* 56 |         INDEX RANGE SCAN                          | S_ASSET_BU_U1  |     1 |       |     2   (0)| 00:00:01 |
    |* 57 |       INDEX UNIQUE SCAN                           | S_PARTY_P1     |     1 |    12 |     1   (0)| 00:00:01 |
    |  58 |      TABLE ACCESS BY INDEX ROWID                  | S_ASSET        |     1 |    37 |     2   (0)| 00:00:01 |
    |* 59 |       INDEX UNIQUE SCAN                           | S_ASSET_P1     |     1 |       |     2   (0)| 00:00:01 |
    |  60 |     TABLE ACCESS BY INDEX ROWID                   | S_PROD_INT     |     1 |    16 |     1   (0)| 00:00:01 |
    |* 61 |      INDEX UNIQUE SCAN                            | S_PROD_INT_P1  |     1 |       |     1   (0)| 00:00:01 |
    |  62 |    TABLE ACCESS BY INDEX ROWID                    | S_ORG_EXT      |     1 |    14 |     2   (0)| 00:00:01 |
    |* 63 |     INDEX UNIQUE SCAN                             | S_ORG_EXT_U3   |     1 |       |     1   (0)| 00:00:01 |
    |  64 |   TABLE ACCESS BY INDEX ROWID                     | S_ASSET_X      |     1 |    93 |     3   (0)| 00:00:01 |
    |* 65 |    INDEX RANGE SCAN                               | S_ASSET_X_U1   |     1 |       |     2   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
      23 - filter("T9"."VER_NUM"=TO_NUMBER(:1))
      25 - access("T3"."ROW_ID"="T9"."VOD_ID")
      27 - access("T14"."CFG_MODEL_ID"="T3"."OBJECT_NUM")
      29 - access("T14"."PR_PROD_LN_ID"="T7"."ROW_ID"(+))
      31 - access("T14"."CG_PR_CTLG_CAT_ID"="T16"."ROW_ID"(+))
      33 - access("T16"."PAR_CAT_ID"="T10"."ROW_ID"(+))
      34 - filter("T23"."PAR_ASSET_ID" IS NULL AND "T23"."SERIAL_NUM" IS NOT NULL OR "T23"."X_PHONE_NUMBER" IS
                  NOT NULL AND "T23"."PAR_ASSET_ID" IS NOT NULL)
      35 - access("T23"."PROD_ID"="T14"."ROW_ID")
      37 - access("T23"."ROW_ID"="T8"."PAR_ROW_ID"(+))
      39 - access("T23"."OWNER_CON_ID"="T11"."ROW_ID"(+))
      41 - access("T23"."PER_ADDR_ID"="T20"."ROW_ID"(+))
      43 - access("T23"."RTNG_DLR_ID"="T1"."PAR_ROW_ID"(+))
      45 - access("T23"."DLR_ID"="T4"."PAR_ROW_ID"(+))
      47 - access("T23"."PREF_SRV_DLR_ID"="T17"."PAR_ROW_ID"(+))
      49 - access("T23"."BILL_ACCNT_ID"="T18"."PAR_ROW_ID"(+))
      51 - access("T23"."OWNER_ACCNT_ID"="T21"."PAR_ROW_ID"(+))
      53 - access("T23"."OWNER_ACCNT_ID"="T6"."PAR_ROW_ID"(+))
      54 - access("T23"."PR_CON_ID"="T12"."ROW_ID"(+))
      56 - access("T23"."ROW_ID"="T15"."ASSET_ID"(+) AND "T23"."BU_ID"="T15"."BU_ID"(+))
      57 - access("T15"."BU_ID"="T13"."ROW_ID"(+))
      59 - access("T23"."ROOT_ASSET_ID"="T19"."ROW_ID"(+))
      61 - access("T19"."PROD_ID"="T2"."ROW_ID"(+))
      63 - access("T15"."BU_ID"="T5"."PAR_ROW_ID"(+))
      65 - access("T23"."ROW_ID"="T22"."PAR_ROW_ID"(+))
    Note
       - dynamic sampling used for this statement
    105 rows selected.

    out put of dbms_xplan.display_cursor :
    SQL> select * from table(dbms_xplan.display_cursor('xxxxxxxxxxxxxx',NULL,'iostats last'));
    PLAN_TABLE_OUTPUT
    SQL_ID  xxxxxxxxxxxxxx, child number 0
    SELECT       T23.CONFLICT_ID,       T23.LAST_UPD,       T23.CREATED,       T23.LAST_UPD_BY,       T23.CREATED_BY,
    T23.MODIFICATION_NUM,       T23.ROW_ID,       T23.ASSET_NUM,       T21.LOC,       T21.NAME,       T23.INSTALL_DT,
    T23.INVLOC_ID,       T23.NAME,       T23.OU_ADDR_ID,       T23.OWNER_ACCNT_ID,       T23.PAR_ASSET_ID,       T23.PER_ADDR_ID,
         T20.STATE,       T23.PR_CON_ID,       T23.PR_EMP_ID,       T14.DESC_TEXT,       T23.PROD_ID,       T14.NAME,
    T21.INTEGRATION_ID,       T23.COST_LST_ID,       T14.SERIALIZED_FLG,       T23.REGISTERED_DT,       T23.SERIAL_NUM,
    T23.VERSION,       T23.STATUS_CD,       T14.PR_PROD_LN_ID,       T7.NAME,       T23.QTY,       T23.ASSET_COND_CD,
    T23.PR_ACCNT_ID,       T23.OWNERSHIP_TYPE_CD,       T23.XA_CLASS_ID,       T23.OPER_STATUS_CD,       T23.SP_NUM,
    T23.BILL_ACCNT_ID,       T23.SERV_ACCT_ID,       T9.RELEASED_FLG,       T23.CFG_TYPE_CD,       T9.VER_NUM,       T23.END_DT,
        T23.ASSEMBLY_PORT_ID,
    Plan hash value: xxxxxxxxxxxxxx
    | Id  | Operation                                         | Name           | Starts | E-Rows | A-Rows |   A-Time   | Buffers | Reads  |
    |   1 |  NESTED LOOPS OUTER                               |                |      1 |     10 |     10 |00:23:58.99 |    1236K|    460K|
    |   2 |   NESTED LOOPS OUTER                              |                |      1 |     10 |     10 |00:23:58.99 |    1236K|    460K|
    |   3 |    NESTED LOOPS OUTER                             |                |      1 |     10 |     10 |00:23:58.85 |    1236K|    460K|
    |   4 |     NESTED LOOPS OUTER                            |                |      1 |     10 |     10 |00:23:58.69 |    1236K|    460K|
    |   5 |      NESTED LOOPS OUTER                           |                |      1 |     10 |     10 |00:23:58.69 |    1236K|    460K|
    |   6 |       NESTED LOOPS OUTER                          |                |      1 |     10 |     10 |00:23:58.69 |    1236K|    460K|
    |   7 |        NESTED LOOPS OUTER                         |                |      1 |     11 |     10 |00:23:58.47 |    1236K|    460K|
    |   8 |         NESTED LOOPS OUTER                        |                |      1 |     11 |     10 |00:23:58.47 |    1236K|    460K|
    |   9 |          NESTED LOOPS OUTER                       |                |      1 |     11 |     10 |00:23:58.37 |    1236K|    460K|
    |  10 |           NESTED LOOPS OUTER                      |                |      1 |     11 |     10 |00:23:58.22 |    1236K|    460K|
    |  11 |            NESTED LOOPS OUTER                     |                |      1 |     11 |     10 |00:23:58.16 |    1236K|    460K|
    |  12 |             NESTED LOOPS OUTER                    |                |      1 |     11 |     10 |00:23:58.16 |    1236K|    460K|
    |  13 |              NESTED LOOPS OUTER                   |                |      1 |     11 |     10 |00:23:58.16 |    1236K|    460K|
    |  14 |               NESTED LOOPS OUTER                  |                |      1 |     11 |     10 |00:23:58.16 |    1236K|    460K|
    |  15 |                NESTED LOOPS OUTER                 |                |      1 |     11 |     10 |00:23:58.09 |    1236K|    460K|
    |  16 |                 NESTED LOOPS OUTER                |                |      1 |     11 |     10 |00:23:57.99 |    1236K|    460K|
    |  17 |                  NESTED LOOPS                     |                |      1 |     11 |     10 |00:23:57.98 |    1236K|    460K|
    |  18 |                   NESTED LOOPS OUTER              |                |      1 |      1 |     57 |00:00:00.02 |     828 |      0 |
    |  19 |                    NESTED LOOPS OUTER             |                |      1 |      2 |     57 |00:00:00.02 |     828 |      0 |
    |  20 |                     NESTED LOOPS OUTER            |                |      1 |      2 |     57 |00:00:00.02 |     828 |      0 |
    |  21 |                      NESTED LOOPS                 |                |      1 |      2 |     57 |00:00:00.01 |     786 |      0 |
    |  22 |                       NESTED LOOPS                |                |      1 |      2 |    232 |00:00:00.01 |     493 |      0 |
    |* 23 |                        TABLE ACCESS FULL          | S_VOD_VER      |      1 |     75 |    246 |00:00:00.01 |      12 |      0 |
    |  24 |                        TABLE ACCESS BY INDEX ROWID| S_VOD          |    246 |      1 |    232 |00:00:00.01 |     481 |      0 |
    |* 25 |                         INDEX UNIQUE SCAN         | S_VOD_P1       |    246 |      1 |    232 |00:00:00.01 |     249 |      0 |
    |  26 |                       TABLE ACCESS BY INDEX ROWID | S_PROD_INT     |    232 |      1 |     57 |00:00:00.01 |     293 |      0 |
    |* 27 |                        INDEX RANGE SCAN           | S_PROD_INT_F9  |    232 |      1 |     57 |00:00:00.01 |     236 |      0 |
    |  28 |                      TABLE ACCESS BY INDEX ROWID  | S_PROD_LN      |     57 |      1 |     39 |00:00:00.01 |      42 |      0 |
    |* 29 |                       INDEX UNIQUE SCAN           | S_PROD_LN_P1   |     57 |      1 |     39 |00:00:00.01 |       3 |      0 |
    |  30 |                     TABLE ACCESS BY INDEX ROWID   | S_CTLG_CAT     |     57 |      1 |      0 |00:00:00.01 |       0 |      0 |
    |* 31 |                      INDEX UNIQUE SCAN            | S_CTLG_CAT_P1  |     57 |      1 |      0 |00:00:00.01 |       0 |      0 |
    |  32 |                    TABLE ACCESS BY INDEX ROWID    | S_CTLG_CAT     |     57 |      1 |      0 |00:00:00.01 |       0 |      0 |
    |* 33 |                     INDEX UNIQUE SCAN             | S_CTLG_CAT_P1  |     57 |      1 |      0 |00:00:00.01 |       0 |      0 |
    |* 34 |                   TABLE ACCESS BY INDEX ROWID     | S_ASSET        |     57 |     10 |     10 |00:23:57.97 |    1235K|    460K|
    |* 35 |                    INDEX RANGE SCAN               | S_ASSET_U2     |     57 |    734 |    627K|00:00:01.34 |    4295 |   2032 |
    |  36 |                  TABLE ACCESS BY INDEX ROWID      | S_ASSET_OM     |     10 |      1 |      0 |00:00:00.01 |      26 |      2 |
    |* 37 |                   INDEX RANGE SCAN                | S_ASSET_OM_U1  |     10 |      1 |      0 |00:00:00.01 |      26 |      2 |
    |  38 |                 TABLE ACCESS BY INDEX ROWID       | S_CONTACT      |     10 |      1 |     10 |00:00:00.11 |      36 |     12 |
    |* 39 |                  INDEX UNIQUE SCAN                | S_CONTACT_P1   |     10 |      1 |     10 |00:00:00.06 |      26 |      6 |
    |  40 |                TABLE ACCESS BY INDEX ROWID        | S_ADDR_PER     |     10 |      1 |     10 |00:00:00.07 |      36 |     18 |
    |* 41 |                 INDEX UNIQUE SCAN                 | S_ADDR_PER_P1  |     10 |      1 |     10 |00:00:00.04 |      26 |      8 |
    |  42 |               TABLE ACCESS BY INDEX ROWID         | S_ORG_EXT      |     10 |      1 |      0 |00:00:00.01 |       0 |      0 |
    |* 43 |                INDEX UNIQUE SCAN                  | S_ORG_EXT_U3   |     10 |      1 |      0 |00:00:00.01 |       0 |      0 |
    |  44 |              TABLE ACCESS BY INDEX ROWID          | S_ORG_EXT      |     10 |      1 |      0 |00:00:00.01 |       0 |      0 |
    |* 45 |               INDEX UNIQUE SCAN                   | S_ORG_EXT_U3   |     10 |      1 |      0 |00:00:00.01 |       0 |      0 |
    |  46 |             TABLE ACCESS BY INDEX ROWID           | S_ORG_EXT      |     10 |      1 |      0 |00:00:00.01 |       0 |      0 |
    |* 47 |              INDEX UNIQUE SCAN                    | S_ORG_EXT_U3   |     10 |      1 |      0 |00:00:00.01 |       0 |      0 |
    |  48 |            TABLE ACCESS BY INDEX ROWID            | S_ORG_EXT      |     10 |      1 |     10 |00:00:00.05 |      46 |     12 |
    |* 49 |             INDEX UNIQUE SCAN                     | S_ORG_EXT_U3   |     10 |      1 |     10 |00:00:00.03 |      26 |      6 |
    |  50 |           TABLE ACCESS BY INDEX ROWID             | S_ORG_EXT      |     10 |      1 |     10 |00:00:00.15 |      55 |     23 |
    |* 51 |            INDEX UNIQUE SCAN                      | S_ORG_EXT_U3   |     10 |      1 |     10 |00:00:00.04 |      26 |      6 |
    |  52 |          TABLE ACCESS BY INDEX ROWID              | S_ORG_EXT_X    |     10 |      1 |     10 |00:00:00.10 |      40 |     12 |
    |* 53 |           INDEX RANGE SCAN                        | S_ORG_EXT_X_U1 |     10 |      1 |     10 |00:00:00.05 |      30 |      6 |
    |* 54 |         INDEX UNIQUE SCAN                         | S_PARTY_P1     |     10 |      1 |      0 |00:00:00.01 |       5 |      0 |
    |  55 |        TABLE ACCESS BY INDEX ROWID                | S_ASSET_BU     |     10 |      1 |     10 |00:00:00.22 |      50 |     29 |
    |* 56 |         INDEX RANGE SCAN                          | S_ASSET_BU_U1  |     10 |      1 |     10 |00:00:00.15 |      40 |     19 |
    |  57 |       TABLE ACCESS BY INDEX ROWID                 | S_ORG_EXT      |     10 |      1 |     10 |00:00:00.01 |      36 |      0 |
    |* 58 |        INDEX UNIQUE SCAN                          | S_ORG_EXT_U3   |     10 |      1 |     10 |00:00:00.01 |      26 |      0 |
    |* 59 |      INDEX UNIQUE SCAN                            | S_PARTY_P1     |     10 |      1 |     10 |00:00:00.01 |      26 |      0 |
    |  60 |     TABLE ACCESS BY INDEX ROWID                   | S_ASSET_X      |     10 |      1 |     10 |00:00:00.16 |      50 |     20 |
    |* 61 |      INDEX RANGE SCAN                             | S_ASSET_X_U1   |     10 |      1 |     10 |00:00:00.09 |      40 |     10 |
    |  62 |    TABLE ACCESS BY INDEX ROWID                    | S_ASSET        |     10 |      1 |     10 |00:00:00.14 |      46 |     19 |
    |* 63 |     INDEX UNIQUE SCAN                             | S_ASSET_P1     |     10 |      1 |     10 |00:00:00.04 |      36 |      9 |
    |  64 |   TABLE ACCESS BY INDEX ROWID                     | S_PROD_INT     |     10 |      1 |     10 |00:00:00.01 |      26 |      0 |
    |* 65 |    INDEX UNIQUE SCAN                              | S_PROD_INT_P1  |     10 |      1 |     10 |00:00:00.01 |      16 |      0 |
    Predicate Information (identified by operation id):
      23 - filter("T9"."VER_NUM"=:1)
      25 - access("T3"."ROW_ID"="T9"."VOD_ID")
      27 - access("T14"."CFG_MODEL_ID"="T3"."OBJECT_NUM")
      29 - access("T14"."PR_PROD_LN_ID"="T7"."ROW_ID")
      31 - access("T14"."CG_PR_CTLG_CAT_ID"="T16"."ROW_ID")
      33 - access("T16"."PAR_CAT_ID"="T10"."ROW_ID")
      34 - filter((("T23"."PAR_ASSET_ID" IS NULL AND "T23"."SERIAL_NUM" IS NOT NULL) OR ("T23"."X_PHONE_NUMBER" IS NOT NULL AND
                  "T23"."PAR_ASSET_ID" IS NOT NULL)))
      35 - access("T23"."PROD_ID"="T14"."ROW_ID")
      37 - access("T23"."ROW_ID"="T8"."PAR_ROW_ID")
      39 - access("T23"."OWNER_CON_ID"="T11"."ROW_ID")
      41 - access("T23"."PER_ADDR_ID"="T20"."ROW_ID")
      43 - access("T23"."RTNG_DLR_ID"="T1"."PAR_ROW_ID")
      45 - access("T23"."DLR_ID"="T4"."PAR_ROW_ID")
      47 - access("T23"."PREF_SRV_DLR_ID"="T17"."PAR_ROW_ID")
      49 - access("T23"."BILL_ACCNT_ID"="T18"."PAR_ROW_ID")
      51 - access("T23"."OWNER_ACCNT_ID"="T21"."PAR_ROW_ID")
      53 - access("T23"."OWNER_ACCNT_ID"="T6"."PAR_ROW_ID")
      54 - access("T23"."PR_CON_ID"="T12"."ROW_ID")
      56 - access("T23"."ROW_ID"="T15"."ASSET_ID" AND "T23"."BU_ID"="T15"."BU_ID")
      58 - access("T15"."BU_ID"="T5"."PAR_ROW_ID")
      59 - access("T15"."BU_ID"="T13"."ROW_ID")
      61 - access("T23"."ROW_ID"="T22"."PAR_ROW_ID")
      63 - access("T23"."ROOT_ASSET_ID"="T19"."ROW_ID")
      65 - access("T19"."PROD_ID"="T2"."ROW_ID")
    SQL_ID  xxxxxxxxxxxxxx, child number 1
    SELECT       T23.CONFLICT_ID,       T23.LAST_UPD,       T23.CREATED,       T23.LAST_UPD_BY,       T23.CREATED_BY,
    T23.MODIFICATION_NUM,       T23.ROW_ID,       T23.ASSET_NUM,       T21.LOC,       T21.NAME,       T23.INSTALL_DT,
    T23.INVLOC_ID,       T23.NAME,       T23.OU_ADDR_ID,       T23.OWNER_ACCNT_ID,       T23.PAR_ASSET_ID,       T23.PER_ADDR_ID,
         T20.STATE,       T23.PR_CON_ID,       T23.PR_EMP_ID,       T14.DESC_TEXT,       T23.PROD_ID,       T14.NAME,
    T21.INTEGRATION_ID,       T23.COST_LST_ID,       T14.SERIALIZED_FLG,       T23.REGISTERED_DT,       T23.SERIAL_NUM,
    T23.VERSION,       T23.STATUS_CD,       T14.PR_PROD_LN_ID,       T7.NAME,       T23.QTY,       T23.ASSET_COND_CD,
    T23.PR_ACCNT_ID,       T23.OWNERSHIP_TYPE_CD,       T23.XA_CLASS_ID,       T23.OPER_STATUS_CD,       T23.SP_NUM,
    T23.BILL_ACCNT_ID,       T23.SERV_ACCT_ID,       T9.RELEASED_FLG,       T23.CFG_TYPE_CD,       T9.VER_NUM,       T23.END_DT,
        T23.ASSEMBLY_PORT_ID,
    Plan hash value: xxxxxxxxxxxxxx
    | Id  | Operation                                         | Name           | Starts | E-Rows | A-Rows |   A-Time   | Buffers | Reads  |
    |   1 |  NESTED LOOPS OUTER                               |                |      1 |     10 |     10 |00:28:15.04 |    1237K|    512K|
    |   2 |   NESTED LOOPS OUTER                              |                |      1 |     10 |     10 |00:28:15.04 |    1237K|    512K|
    |   3 |    NESTED LOOPS OUTER                             |                |      1 |     10 |     10 |00:28:14.92 |    1237K|    512K|
    |   4 |     NESTED LOOPS OUTER                            |                |      1 |     10 |     10 |00:28:14.82 |    1237K|    512K|
    |   5 |      NESTED LOOPS OUTER                           |                |      1 |     10 |     10 |00:28:14.82 |    1237K|    512K|
    |   6 |       NESTED LOOPS OUTER                          |                |      1 |     10 |     10 |00:28:14.82 |    1237K|    512K|
    |   7 |        NESTED LOOPS OUTER                         |                |      1 |     11 |     10 |00:28:14.64 |    1237K|    512K|
    |   8 |         NESTED LOOPS OUTER                        |                |      1 |     11 |     10 |00:28:14.63 |    1237K|    512K|
    |   9 |          NESTED LOOPS OUTER                       |                |      1 |     11 |     10 |00:28:14.51 |    1237K|    512K|
    |  10 |           NESTED LOOPS OUTER                      |                |      1 |     11 |     10 |00:28:14.42 |    1237K|    512K|
    |  11 |            NESTED LOOPS OUTER                     |                |      1 |     11 |     10 |00:28:14.33 |    1236K|    512K|
    |  12 |             NESTED LOOPS OUTER                    |                |      1 |     11 |     10 |00:28:14.33 |    1236K|    512K|
    |  13 |              NESTED LOOPS OUTER                   |                |      1 |     11 |     10 |00:28:14.33 |    1236K|    512K|
    |  14 |               NESTED LOOPS OUTER                  |                |      1 |     11 |     10 |00:28:14.33 |    1236K|    512K|
    |  15 |                NESTED LOOPS OUTER                 |                |      1 |     11 |     10 |00:28:14.23 |    1236K|    512K|
    |  16 |                 NESTED LOOPS OUTER                |                |      1 |     11 |     10 |00:28:14.12 |    1236K|    512K|
    |  17 |                  NESTED LOOPS                     |                |      1 |     11 |     10 |00:28:14.12 |    1236K|    512K|
    |  18 |                   NESTED LOOPS OUTER              |                |      1 |      1 |     57 |00:00:00.02 |     828 |      0 |
    |  19 |                    NESTED LOOPS OUTER             |                |      1 |      1 |     57 |00:00:00.02 |     828 |      0 |
    |  20 |                     NESTED LOOPS OUTER            |                |      1 |      1 |     57 |00:00:00.01 |     828 |      0 |
    |  21 |                      NESTED LOOPS                 |                |      1 |      1 |     57 |00:00:00.01 |     786 |      0 |
    |  22 |                       NESTED LOOPS                |                |      1 |      2 |    232 |00:00:00.01 |     493 |      0 |
    |* 23 |                        TABLE ACCESS FULL          | S_VOD_VER      |      1 |     74 |    246 |00:00:00.01 |      12 |      0 |
    |  24 |                        TABLE ACCESS BY INDEX ROWID| S_VOD          |    246 |      1 |    232 |00:00:00.01 |     481 |      0 |
    |* 25 |                         INDEX UNIQUE SCAN         | S_VOD_P1       |    246 |      1 |    232 |00:00:00.01 |     249 |      0 |
    |  26 |                       TABLE ACCESS BY INDEX ROWID | S_PROD_INT     |    232 |      1 |     57 |00:00:00.01 |     293 |      0 |
    |* 27 |                        INDEX RANGE SCAN           | S_PROD_INT_F9  |    232 |      1 |     57 |00:00:00.01 |     236 |      0 |
    |  28 |                      TABLE ACCESS BY INDEX ROWID  | S_PROD_LN      |     57 |      1 |     39 |00:00:00.01 |      42 |      0 |
    |* 29 |                       INDEX UNIQUE SCAN           | S_PROD_LN_P1   |     57 |      1 |     39 |00:00:00.01 |       3 |      0 |
    |  30 |                     TABLE ACCESS BY INDEX ROWID   | S_CTLG_CAT     |     57 |      1 |      0 |00:00:00.01 |       0 |      0 |
    |* 31 |                      INDEX UNIQUE SCAN            | S_CTLG_CAT_P1  |     57 |      1 |      0 |00:00:00.01 |       0 |      0 |
    |  32 |                    TABLE ACCESS BY INDEX ROWID    | S_CTLG_CAT     |     57 |      1 |      0 |00:00:00.01 |       0 |      0 |
    |* 33 |                     INDEX UNIQUE SCAN             | S_CTLG_CAT_P1  |     57 |      1 |      0 |00:00:00.01 |       0 |      0 |
    |* 34 |                   TABLE ACCESS BY INDEX ROWID     | S_ASSET        |     57 |     10 |     10 |00:28:14.10 |    1236K|    512K|
    |* 35 |                    INDEX RANGE SCAN               | S_ASSET_U2     |     57 |    734 |    627K|00:00:01.26 |    4299 |   3327 |
    |  36 |                  TABLE ACCESS BY INDEX ROWID      | S_ASSET_OM     |     10 |      1 |      0 |00:00:00.01 |      26 |      2 |
    |* 37 |                   INDEX RANGE SCAN                | S_ASSET_OM_U1  |     10 |      1 |      0 |00:00:00.01 |      26 |      2 |
    |  38 |                 TABLE ACCESS BY INDEX ROWID       | S_CONTACT      |     10 |      1 |     10 |00:00:00.10 |      36 |     18 |
    |* 39 |                  INDEX UNIQUE SCAN                | S_CONTACT_P1   |     10 |      1 |     10 |00:00:00.04 |      26 |      9 |
    |  40 |                TABLE ACCESS BY INDEX ROWID        | S_ADDR_PER     |     10 |      1 |     10 |00:00:00.11 |      36 |     20 |
    |* 41 |                 INDEX UNIQUE SCAN                 | S_ADDR_PER_P1  |     10 |      1 |     10 |00:00:00.04 |      26 |     10 |
    |  42 |               TABLE ACCESS BY INDEX ROWID         | S_ORG_EXT      |     10 |      1 |      0 |00:00:00.01 |       0 |      0 |
    |* 43 |                INDEX UNIQUE SCAN                  | S_ORG_EXT_U3   |     10 |      1 |      0 |00:00:00.01 |       0 |      0 |
    |  44 |              TABLE ACCESS BY INDEX ROWID          | S_ORG_EXT      |     10 |      1 |      0 |00:00:00.01 |       0 |      0 |
    |* 45 |               INDEX UNIQUE SCAN                   | S_ORG_EXT_U3   |     10 |      1 |      0 |00:00:00.01 |       0 |      0 |
    |  46 |             TABLE ACCESS BY INDEX ROWID           | S_ORG_EXT      |     10 |      1 |      0 |00:00:00.01 |       0 |      0 |
    |* 47 |              INDEX UNIQUE SCAN                    | S_ORG_EXT_U3   |     10 |      1 |      0 |00:00:00.01 |       0 |      0 |
    |  48 |            TABLE ACCESS BY INDEX ROWID            | S_ORG_EXT      |     10 |      1 |     10 |00:00:00.09 |      46 |     18 |
    |* 49 |             INDEX UNIQUE SCAN                     | S_ORG_EXT_U3   |     10 |      1 |     10 |00:00:00.05 |      26 |      9 |
    |  50 |           TABLE ACCESS BY INDEX ROWID             | S_ORG_EXT      |     10 |      1 |     10 |00:00:00.09 |      55 |     32 |
    |* 51 |            INDEX UNIQUE SCAN                      | S_ORG_EXT_U3   |     10 |      1 |     10 |00:00:00.02 |      26 |      8 |
    |  52 |          TABLE ACCESS BY INDEX ROWID              | S_ORG_EXT_X    |     10 |      1 |     10 |00:00:00.13 |      40 |     18 |
    |* 53 |           INDEX RANGE SCAN                        | S_ORG_EXT_X_U1 |     10 |      1 |     10 |00:00:00.06 |      30 |      9 |
    |* 54 |         INDEX UNIQUE SCAN                         | S_PARTY_P1     |     10 |      1 |      0 |00:00:00.01 |       5 |      0 |
    |  55 |        TABLE ACCESS BY INDEX ROWID                | S_ASSET_BU     |     10 |      1 |     10 |00:00:00.18 |      50 |     29 |
    |* 56 |         INDEX RANGE SCAN                          | S_ASSET_BU_U1  |     10 |      1 |     10 |00:00:00.11 |      40 |     19 |
    |  57 |       TABLE ACCESS BY INDEX ROWID                 | S_ORG_EXT      |     10 |      1 |     10 |00:00:00.01 |      36 |      0 |
    |* 58 |        INDEX UNIQUE SCAN                          | S_ORG_EXT_U3   |     10 |      1 |     10 |00:00:00.01 |      26 |      0 |
    |* 59 |      INDEX UNIQUE SCAN                            | S_PARTY_P1     |     10 |      1 |     10 |00:00:00.01 |      26 |      0 |
    |  60 |     TABLE ACCESS BY INDEX ROWID                   | S_ASSET_X      |     10 |      1 |     10 |00:00:00.10 |      50 |     20 |
    |* 61 |      INDEX RANGE SCAN                             | S_ASSET_X_U1   |     10 |      1 |     10 |00:00:00.03 |      40 |     10 |
    |  62 |    TABLE ACCESS BY INDEX ROWID                    | S_ASSET        |     10 |      1 |     10 |00:00:00.12 |      46 |     20 |
    |* 63 |     INDEX UNIQUE SCAN                             | S_ASSET_P1     |     10 |      1 |     10 |00:00:00.06 |      36 |     10 |
    |  64 |   TABLE ACCESS BY INDEX ROWID                     | S_PROD_INT     |     10 |      1 |     10 |00:00:00.01 |      26 |      0 |
    |* 65 |    INDEX UNIQUE SCAN                              | S_PROD_INT_P1  |     10 |      1 |     10 |00:00:00.01 |      16 |      0 |
    Predicate Information (identified by operation id):
      23 - filter("T9"."VER_NUM"=:1)
      25 - access("T3"."ROW_ID"="T9"."VOD_ID")
      27 - access("T14"."CFG_MODEL_ID"="T3"."OBJECT_NUM")
      29 - access("T14"."PR_PROD_LN_ID"="T7"."ROW_ID")
      31 - access("T14"."CG_PR_CTLG_CAT_ID"="T16"."ROW_ID")
      33 - access("T16"."PAR_CAT_ID"="T10"."ROW_ID")
      34 - filter((("T23"."PAR_ASSET_ID" IS NULL AND "T23"."SERIAL_NUM" IS NOT NULL) OR ("T23"."X_PHONE_NUMBER" IS NOT NULL AND
                  "T23"."PAR_ASSET_ID" IS NOT NULL)))
      35 - access("T23"."PROD_ID"="T14"."ROW_ID")
      37 - access("T23"."ROW_ID"="T8"."PAR_ROW_ID")
      39 - access("T23"."OWNER_CON_ID"="T11"."ROW_ID")
      41 - access("T23"."PER_ADDR_ID"="T20"."ROW_ID")
      43 - access("T23"."RTNG_DLR_ID"="T1"."PAR_ROW_ID")
      45 - access("T23"."DLR_ID"="T4"."PAR_ROW_ID")
      47 - access("T23"."PREF_SRV_DLR_ID"="T17"."PAR_ROW_ID")
      49 - access("T23"."BILL_ACCNT_ID"="T18"."PAR_ROW_ID")
      51 - access("T23"."OWNER_ACCNT_ID"="T21"."PAR_ROW_ID")
      53 - access("T23"."OWNER_ACCNT_ID"="T6"."PAR_ROW_ID")
      54 - access("T23"."PR_CON_ID"="T12"."ROW_ID")
      56 - access("T23"."ROW_ID"="T15"."ASSET_ID" AND "T23"."BU_ID"="T15"."BU_ID")
      58 - access("T15"."BU_ID"="T5"."PAR_ROW_ID")
      59 - access("T15"."BU_ID"="T13"."ROW_ID")
      61 - access("T23"."ROW_ID"="T22"."PAR_ROW_ID")
      63 - access("T23"."ROOT_ASSET_ID"="T19"."ROW_ID")
      65 - access("T19"."PROD_ID"="T2"."ROW_ID")
    226 rows selected.
    SQL >

  • LV PDA 8 long compile times

    Dear LV PDA users.
    I have just started programming my application.
    And I found that even smal projects 2.5 MB EXE
    file took nearly half an hour to compile for the PPC.
    I have a PC running Win XP Athlon 2600+ 1GB RAM
    and it still swaps.
    What can I do to reduce this time?
    With kind regards
    Martin Kunze
    KDI Digital Instrumentation.com
    e-mail: [email protected]
    Tel: +49 (0)441 9490852

    Although I have no positive answer to your question, I have a remark on your statement that the project is small.
    My biggest program so far is 1 MB and I had the impression that it is even too much complicated.
    I conceived the idea that the PDA module is mainly good to give LV programmers at least a way to do some programming with PDA devices without the hassle to learn another language, development IDE, etc.
    Given its limitations and its bugs, I don't think PDA module, is suitable to make sophisticated programming (moreover, PDA devices are not especially suitable for this).
    My idea was to keep programs as simple as possible: acquire data, present them on screen, do some analysis.
    But my perspective is limited (for example I didn't try with version 8), so I may be wrong.
    I would be interested in getting other developer opinions about this.
    Paolo
    Paolo
    LV 7.0, 7.1, 8.0.1, 2011

  • Long FPGA compilation time ( 30 hrs)

    I am writing some small test programs to check a PXI-7831R FPGA card.
    One program is a FOR loop inside a WHILE loop with a single AI read. I run the FOR 1000 times, then output a 1000-element array of 16-bit AI values through auto-indexing. This program compiled for 31 hours and 15 minutes before I aborted.
    Is there a reason for such a long compile time (too large an array)?
    Are there certain programming architectures that I should avoid on FPGA (e.g., nested loops)?
    I am running LVRT7.1 on a PXI-8145RT. There is also a 7350 motion board installed, though not used in this program.
    Thanks.
    Laine

    I've read somewhere in the FPGA documentation that arrays in FPGA applications should be limited to 32 elements. The consume a large amount of space on the chip, so you need to be careful when using them.
    Ed
    Ed Dickens - Certified LabVIEW Architect - DISTek Integration, Inc. - NI Certified Alliance Partner
    Using the Abort button to stop your VI is like using a tree to stop your car. It works, but there may be consequences.

  • Weired behaviour while we compile PL/SQL package

    Hi All,
    We have one package where we have declared few constants those we are using all over our application code. By mistake, one of the developer declared one constant twice, we didn't notice it until today while chasing down a bug...
    I was under impression that we can not declare same variable or constants twice in the same package/procedure/block. But surprisingly, if we are not using the same variable in that block, (We defined it global packaged constant) we are not getting compilation error or warning. Does anyone know anything about this.
    Oracle Configuration:
    Oracle9i Enterprise Edition Release 9.2.0.1.0 - 64bit Production
    With the Partitioning, OLAP and Oracle Data Mining options
    JServer Release 9.2.0.1.0 - ProductionThanks in advance.
    Thanks,
    Dharmesh Patel

    I would again point out that I do not see the results as you describe. see the output from 9.2.0.3 below. Both times it gives me the same result.
    As shown above by James, it throws out the correct error under 10G. But as far as I see, it seems to be consistent under Oracle9i release 9.2.0.3 and 9.2.0.5.
    I think it might be the time for your database to be upgraded to at least 9.2.0.3 release.
    SQL> CREATE OR REPLACE PACKAGE P00_Constants AS
      2      SubType201 CONSTANT VARCHAR2(3) := '201';
      3      SubType202 CONSTANT VARCHAR2(3) := '202';
      4      SubType202A CONSTANT VARCHAR2(4) := '202A';
      5      SubType202P CONSTANT VARCHAR2(4) := '202P';
      6      SubType202I CONSTANT VARCHAR2(4) := '202I';
      7      SubType203 CONSTANT VARCHAR2(3) := '203';
      8      SubType201 CONSTANT VARCHAR2(3) := '204';
      9
    10      Yesflag CONSTANT VARCHAR2(3) := 'YES';
    11      ------------------------------------------------------
    12
    13      --- <summary>This function returns value of YES</summary>
    14      --- <param name="none"></param>
    15      --- <exception cref="none"> </exception>
    16      FUNCTION GetyesFlag RETURN VARCHAR2;
    17      PRAGMA RESTRICT_REFERENCES(GetYesFlag,
    18                                 WNDS,
    19                                 WNPS);
    20  END P00_Constants;
    21  /
    Package created.
    SQL> SHOW ERRORS
    No errors.
    SQL>
    SQL> CREATE OR REPLACE PACKAGE BODY P00_Constants AS
      2      ---function getYesFlag
      3      FUNCTION GetYesFlag RETURN VARCHAR2 IS
      4      BEGIN
      5          RETURN YesFlag;
      6      END;
      7  END P00_Constants;
      8  /
    Package body created.
    SQL> SHOW ERRORS
    No errors.
    SQL>
    SQL> CREATE OR REPLACE PACKAGE Test_Constant IS
      2      -- Author  : DPATEL
      3      -- Created : 10/12/2004 8:20:12 AM
      4      -- Purpose : To test the duplicate constants defined in P00_Constants package
      5      -- Public type declarations
      6      FUNCTION getSubType RETURN VARCHAR2;
      7  END Test_Constant;
      8  /
    Package created.
    SQL> SHOW ERRORS
    No errors.
    SQL>
    SQL> CREATE OR REPLACE PACKAGE BODY Test_Constant IS
      2      FUNCTION getSubType RETURN VARCHAR2 IS
      3          mySubType VARCHAR2(10);
      4      BEGIN
      5          mySubType := P00_Constants.SubType201;
      6          RETURN(mySubType);
      7      END;
      8  END Test_Constant;
      9  /
    Package body created.
    SQL> SHOW ERRORS
    No errors.
    SQL>
    SQL> -- Test Script
    SQL> SET SERVEROUTPUT ON
    SQL> BEGIN
      2      Dbms_OutPut.Put_Line('Result is: ' || test_constant.getsubtype);
      3  END;
      4  /
    Result is: 204
    PL/SQL procedure successfully completed.
    SQL> ALTER PACKAGE P00_Constants COMPILE
      2  /
    Package altered.
    SQL> SET SERVEROUTPUT ON
    SQL> BEGIN
      2      Dbms_OutPut.Put_Line('Result is: ' || test_constant.getsubtype);
      3  END;
      4  /
    Result is: 204
    PL/SQL procedure successfully completed.
    SQL>
    SQL> disconnect
    Disconnected from Oracle9i Enterprise Edition Release 9.2.0.3.0 - Production
    With the Partitioning, OLAP and Oracle Data Mining options
    JServer Release 9.2.0.3.0 - Production
    SQL>

  • Compiling pl/sql packages via sql

    Hi All,
    Is it possible to compile the pl/sql packages via sql scripts or shell scripts
    The idea is to make the compilation process independent of tools like PL/SQL developer and people.
    Thanks in adv.
    Bh.

    OK. What sort of source control system are you using?
    In general, you would want to check in all your scripts to a version control system and write scripts that automatically check the appropriate version of a script out of source control and apply it to the appropriate environment in the appropriate order at the appropriate time. What is appropriate, obviously, is going to be heavily influenced by your particular environment, needs, build process, build schedule, etc.
    One possibility is to check in a MASTER_BUILD.sql script that is a SQL*Plus script that invokes whatever other scripts are necessary for a particular change, along with all the supporting scripts, into a folder that is at whatever granularity you track changes. Your build process would then just check out everything in this folder and run MASTER_BUILD.
    Justin

  • OCIBindByPos() and dynamic SQL (not known at compile time)

    Hi,
    How can I use OCIBindByPos() or OCIBindByName() if the datatyp of the bind variable(s) is unknown at compile time (the SQL statement is entered by the user at run time)? Or which functions should I use instead?
    Many thanks in advance
    Edited by: user13176357 on 17.04.2012 12:43

    You could write a single native method (with a defined name like "callNative" below) that accepts the name (string) of the actual native function you want to call, and then locates the function via GetProcAddress and calls it. Argument passing and return values could get tricky if the target native functions aren't guaranteed to all have the same signature, but you could handle that by explicit boxing:
    native Object callNative (String name, Object [] args);
    -slj-

  • Connection Reset when compiling PL/SQL Package

    Recently a strange issue appeared on my office PC. When I try To compile a PL/SQL package on specific Oracle instance I get an error message:
    Error: Io exception: Connection reset by peer: socket write error
    And the connection is reset. I even cannot reconnect to database schema. To open connection again I have to restart SQL Developer. In spite of this issue I can execute SELECT queries in SQL worksheet and view data in tables. Error message appears only when compiling packages in any schema on database instance in our local network and only on my PC. Other office PCs works fine without any errors. I am able to compile packages on remote database from my PC.
    Same error message shows up in different SQL Developer versions and also in JDeveloper. SQL Developer restart, Windows restart, database instance restart doesn't help.
    Used software:
    SQL Developer versions: 1.2.1 and 1.1
    JDeveloper version: 10.1.3.2
    Oracle Database on local network: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit
    Remote Oracle Database: Oracle Database 10g Release 10.2.0.3.0 - Production
    OS: Windows XP Pro SP2
    Thanks,
    Raymond

    I am trying to convert the values in a selected
    column into 1 and 0 so that I can display all 1s in
    one column, all 0s in another. I am doing this in a
    PL/SQL package. However ORACLE compiler does not
    like the CASE construct.
    Does anyone know how to group values in a column into
    several new columns. If CASE WHEN construct is not
    doable in PL/SQL, what alternatives are there?
    Thanks.
    CURSOR v_Cursor IS
    SELECT A.D_CODE, A.M_CODE, TEST_START ,
    , C.C_NAME,C.P_ID,
    SUM(CASE WHEN MONTHS_BETWEEN(SYSDATE, D.P_DOB)/12 >
    40 AND MONTHS_BETWEEN(SYSDATE, D.P_DOB)/12 <85 ANDB.B_CODE IN '11.1','222.2','272.4') THEN 1 ELSE 0
    END) QUALIFIEDUse the Decode function. This has been around in oracle SQL for ages and works like a case construct.
    You would do something like
    select ...
    sum( decode (MONTHS_BETWEEN(SYSDATE, D.P_DOB)/12 >
    40 AND MONTHS_BETWEEN(SYSDATE, D.P_DOB)/12 <85 AND
    B.B_CODE IN ('11.1','222.2','272.4') 1,0 )

  • Missing message file for PL/SQL compile time warnings

    I want to use PL/SQL compile time warnings but I don't have the message file on my system (or it is not installed correctly). This results in output like this:
    3/5 PLW-05005: Message 5005 not found; No message file for
    product=plsql, facility=PLW
    Where can I get this message file and what do I have to do to install it?
    Thank you.
    Alex.

    hi Will
    Maybe this is a beter forum for your question:
    "JDeveloper and OC4J 11g Technology Preview"
    JDeveloper and OC4J 11g Technology Preview
    success
    Jan Vervecken

  • SQL*Plus crash due to PL/SQL package compilation

    The problem:
    SQL*Plus crash due to creation large PL/SQL with windows dump error.
    But if insert that package using for example ToAD it works fine.
    The solution:
    I have increased processes parameter in spfile from 40 up to 400. I think it is no need to increase the parameter to such large value, but this value is works.

    emss wrote:
    Can a .sql sql*plus script be called from a pl/sql package? I so, can someone provide a brief example?Not really - there is no easy interface.
    There are interfaces that are not easy. You could instead
    * use DBMS_SCHEDULER to create a host call to execute an OS script to execute the SQL*PLUS script
    * use a java stored procedure to do the same thing
    Do a web search to find examples

  • Creating PL/SQL packages

    Hello,
    The problem I am confronted with is reusing generated models.
    In the process of DataMinig several steps are used: prepare data, Attribute selection (using AI), and building, testing and applying models.
    If PL/SQL packages are used two problems occur:
    First: Long, hand driven process of building:
    Model generation in ODM,
    PL/SQL package building in ODM and Export to SQL file,
    importing package to DB, compiling and running.
    I am sorry, but I don't understand why is it necessary to export PL/SQL packages in a file? As if these products aren't both Oracle products?
    Second: If data (in time) changes and AI selects new attributes, then all next steps fail, since column names, and even some values, are hard coded! Therefore it is necessary to go trough the build and export process all over again. This really hurts.
    Do you have a suggestion how to get around this problem?
    I already considered using a SPSS Clementine, but since it is not an Oracle product I still believe, the original Oracle solution should give me some advantages.
    Oh and another issue.
    I tried using PL/SQL generator (Ver.: 10.1.3.0.17) in JDeveloper (ver.: 10.1.3.0.4), but it gave me an error:
    java.lang.NoClassDefFoundError: oracle/dmt/dm4j/DM4JConnectionManager
         at oracle.dmt.dm4j.extension.CodeGenerator.invoke(Unknown Source)
         at oracle.ide.wizard.WizardManager.invokeWizard(WizardManager.java:310)
         at oracle.ide.wizard.WizardManager$2.run(WizardManager.java:358)
         at oracle.ide.util.IdeUtil.invokeAfterRepaint(IdeUtil.java:1093)
         at oracle.ide.wizard.WizardManager$1.run(WizardManager.java:366)
         at oracle.ide.util.IdeUtil$1$1.run(IdeUtil.java:1073)
         at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
         at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
    Thanks for the reply,
    Igor

    Hi,
    The code generation available in ODMr would allow you to deploy the build, apply or test process as generated code.
    I am not sure what your application goal is, but if you simply want to deploy a model be used in an apply process that is rather straight forward.
    You would build the model using ODMr. Then create an Apply Activity, again using ODMr.
    The Apply Activity can then be used to generate code (pl/sql) using the JDev RTM release (10.1.3.2 or above). We will also have a version that will work with SQLDev shortly.
    The generated code is immediately placed into the db for you.
    If you want to score in a separate db you can either create a db link from that db or move both the model and the apply pl/sql code to the new db (using dba utilities).
    If you want to rebuild a model, where you would add/remove attributes, change transformations etc. then you will have to regenerate the code.
    If you simply want to rebuild the model without changing any transformations and settings you could also deploy the model build generated code.
    As for the JDev failure, we are going to look into that. Have you tried the JDev 10.1.3.3 release available on the Oracle web site?
    Thanks, Mark

  • SRF compile time taking 5 hours!!!

    Hello,
    I am not sure if this is the right place to post this question, but I will start here. I am using a Siebel 6 install on a Win XP desktop. In the past, the srf times would take around 2 hours, now, they go upwards to 5-6 hours, which is causing a huge impact on my dept. Some ideas I have that have changed since the 2 hour times, SP3 installed for XP, Symantec upgrade to Symantec EndPoint. Nothing else is running on the machine. I have 3 gb RAM also installed. I do not have a strong background in configuring Siebel Tools to try to optimize the performance, but does anyone have any ideas on where I can start looking to see why the compile is taking so long?
    Any help is greatly appreciated.
    Thank you,
    Mike

    Hi Mike,
    Very common pb. We have helped customers, and also back when some of us were in the engineering team at Siebel Systems, reduce srf compilation time from 8hours down to 2hours...and these days, our siebel monitoring software can help you do this without getting help from anyone in my team...
    If you come to the oracle open world this week, come to our booth (#104 moscone south) and participate to the lottery to win 1 month free use of Germain Monitoring software (complete monitoring and root-cause analysis software built specifically for Siebel CRM. GM automically solves or identify root-cause of any siebel performance issues, rca occurs at every layer of your infrastructure from the end user desktop, firewalls, load balancers, network(lan/www), web, app, db servers, sql, eai, workflow, eScripts...)
    Let us know how we can help...have a nice weekend,
    Regards,
    Yannick Germain
    GERMAIN SOFTWARE
    21 Columbus Avenue, Suite 221
    San Francisco, CA 94111, USA
    Cell: +1-415-606-3420
    Fax: +1-415-651-9683
    [email protected]
    http://www.germainsoftware.com

  • Performance of PL/SQL-packages under Oracle 11gR2

    Under Oracle 9i I have used PL/SQL-packages/procedures to perform complicated initializations of the tables of a database schema.
    This was always a long job ... but an execution time of about 4 hours was acceptable!
    Now I changed to Oracle 11g.
    And now there is the following behaviour:
    When I create a NEW instance of the database and then create the schema the execution time ( using the same PL/SQL-packages as in Oracle 9i ) is more than 12 hours which is not acceptable anymore!
    When I only drop the schema ( in the EXISTING instance ) with a drop user (owner of the schema) cascading and then create the schema again the execution time for the same initialization is less than 3 hours which is OK.
    Does anyone have an idea about the reason for such a 'strange' behaviour?
    ... Or does anyone have a hint where I could look for such reasons?

    Hi,
    did you compare the execution plan in 9i and 11g R2?
    when you go to 11gR2, did you keep the statistic of the 9i, so if any regression, 11g can use 9i plan?
    thanks

  • Calling PL/SQL Package in the same connection

    I have a PL/SQL Package MYPCKG, stored in the database, with a function GETDFLT(). I need it to initiate the default values for fields (Attributes) of an EntityImpl Object (EOImpl) in its create method.
    I used JPublisher to generate a wrapper class of the package, named MyPckg. It has three Constructors: MyPckg (),MyPckg (ConnectionContext c) and MyPckg (Connection c). The problem is that I dont know how to use the existing connection of EntityImpl object (or of ApplicationModuleImpl) to create a new MyPckg object.
    The example below makes a new connection to database:
    public class EOImpl extends oracle.jbo.server.EntityImpl {
    public void create(AttributeList attributeList) {
    Oracle.connect("jdbc:oracle:thin:@host:1521:DB1", "user", "pwd");
    MyPckg dflts = new MyPckg ();
    setField1 (dflts.getDflt ());
    I believed that I can do it through DBTransaction but I couldnt find a relationship between DBTransaction and java.sql.Connection or sqlj.runtime.ConnectionContext.
    In MetaLink, I found a couple of items with the same problem, but they appear not to be answered.
    Thanks in advance
    Mirza
    null

    Thank you very much for replay.
    The suggested technique uses JDBC. In fact, I wanted to use BC4J Entity Object and embedded SQLJ (generated by JPublisher). In the JDeveloper Help Topic Embedding SQL in Java Programs with JDBCstays: JDBC provides Java programs with low-level access to databases. If your application or applet uses purely static SQL, where you know the database schema at compile time, you should consider using SQLJ instead. So what I am looking for is how to get a java.sql.Connection or sqlj.runtime.ConnectionContext or sqlj.runtime.ref.DefaultContext Object from some BC4J Object (ApplicationModule or Entity).
    Thanks in advance
    Mirza

Maybe you are looking for

  • RMAN-10006: error running SQL statement: alter session set remote_dependenc

    Backups are failing with following error RMAN-00554: initialization of internal recovery manager package failed RMAN-12001: could not open channel default RMAN-10008: could not create channel context RMAN-10002: ORACLE error: ORA-00096: invalid value

  • Upgrading with a physical standby database in place

    Hi all I am planning to upgrade my database which is 11.2.0.1 (Windows 32 platform) to 11.2.0.3. It has a primary standby database. I only have 1 server for testing the primary database, so I am looking for some help. I was reading http://docs.oracle

  • End user deskptop certification question

    Hi All, I have been playing with the certification tab in MOS and couldn't find what I am looking for. Maybe I am using the wrong options... I am trying to find what are the pre-requisite to have Windows server 2003 32bits with IE8 and Windows XP Pro

  • I'm trying to make an application...

    for practice in Java and I'm having trouble getting it setup the way i would like it. first, i would like to know if i can place buttons anywhere i'd like them within the app? i'd also like to know if there are any methods that allow you to use an im

  • Need config steps for Resource Related Billing

    Hi Sap Gurus, Can anybody explain me  the step by step configuration settings  for RRB. Thanks Hari Challa.