Plsql_code_type (native or INTERPRETED).

We recently moved from 10.1.0.4 to 10.2.03 and when we try and create a procedure we are receiving the below error.
PLS-00923: Visual Studio not found::Could not open registry key HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\VISUALSTUDIO\7.1\SETUP:No error
Should I change the spfile file paramter plsql_code_type to INTERPRETED

Depends what you actually require as to how you fix it.
Setting it to the default INTERPRETED rather than NATIVE will get rid of the error, but do you need you code to be natively compiled? If so then you'll need to sort out the installation of the C compiler (in your case from Visual Studio) which is required to compile the code to it's native form.

Similar Messages

  • Plsql_code_type NATIVE and DEBUG true??

    Hi,
    In the documentation i've read that we can use pl/sql debugging tools for program units compiled for interpreted mode (but NOT for those compiled for native mode).
    Then, if i have:
    alter session set plsql_code_type=native
    alter package my_pkg compile DEBUGWhy can i specify DEBUG? Because it is compiled in native mode, and in native mode we cannot use debugging, isn't it? The last statement shouldn't have cause an error?
    Thanks

    Roger,
    When I says alter session set plsql_code_type=native; it means all subsequent automatic recompilations of that library unit will use native (machine code) compilation. Ok.
    After that I says, alter package my_pkg compile DEBUG; it means I am going to compile the package with DEBUG option and DEBUG option says compiler to compile and generate the code for debugger. Here debugger will read the compiled code in native compilation.
    There is no error, simply you are going to provide the native compiled code to debugger.
    Here one more parameter plays big role :
    PLSQL_DEBUG
    PLSQL_DEBUG specifies whether or not PL/SQL library units will be compiled for debugging.
    Values:
    true - PL/SQL library units will be compiled for debugging
    false - PL/SQL library units will be compiled for normal execution
    When PLSQL_DEBUG is set to true, PL/SQL library units are always compiled INTERPRETED in order to be debuggable.
    When the value of this parameter is changed, it has no effect on PL/SQL library units that have already been compiled. The value of this parameter is stored persistently with each library unit.
    Regards
    Girish Sharma

  • Plsql_code_type native

    For those of you that have set plsql_code_type to native, I have a few questions:
    - Why did you set the parameter
    - Was there a noticeable change in performance
    - Did you have any issues as a result of the change

    There are some reported issues on MOS website.
    R12 Ora-04030 When Recompiling The Package Xla_00200_aad_s_000010_pkg [ID 435212.1]
    wfntfqup.sql Throws ORA-00600: internal error code, arguments: [17090] [ID 1307613.1]
    Workflow Notification Agent Listeners Fail with unhandled user-defined exception ORA-06512: at "APPS.WF_EVENT" [ID 1066568.1]
    11.5.10: Oracle iStore Order: Cannot Add Items to Cart Error: "ORA-06508: PL/SQL: Could Not Find Program Unit Being called in Package IBE_Quote_Save_pvt" [ID 565920.1]
    Workflow Deferred Agent Listener Cannot be Started After Upgrading to RDBMS 11g [ID 1072604.1]
    Thanks,
    Hussein

  • PLSQL_CODE_TYPE INTERPRETED / NATIVE?

    Hi!
    I just exported my schema with ttSchema and saw before every PL/SQL package +"alter session set PLSQL_CODE_TYPE = INTERPRETED;"+
    Now I ask myself is there also +"NATIVE"+ possible? :)
    TT documentation doesn't mention anything - at least I couldn't find it - only the normal Oracle documentation (e.g.: http://download.oracle.com/docs/cd/B12037_01/server.101/b10755/initparams158.htm)
    If I use the +"NATIVE"+ flag TT doesn't throw an error - but I can't see any speedup in normal operation on my test system (I have to admit - I didn't do any explicit performance tests with the new flag).
    So is it supported? Is it recommended (compile time isn't an issue - but performance in normal operation)?
    Thanks in advance!
    Thilo

    Thanks a lot for your fast answer...
    But then I would expect an error - otherwise this is very confusing ;)
    +Command> alter session set PLSQL_CODE_TYPE = NOT_SUPPORTED_FLAG;+
    +12706: Invalid session parameter value+
    The command failed.+
    +Command> alter session set PLSQL_CODE_TYPE = NATIVE;+
    Session altered.+
    Do you know if or when this will be supported?
    Thanks a lot!
    Cheers
    Thilo

  • PL/SQL Native Compilation - not working!

    I'm at my wits end here.
    Oracle 10.2.0.3 under Windows Server 2003 (i know, i know...) and a whole lot of procedural PL/SQL that I think could benefit from native compilation. I've done this on Linux/unix environments a few times but never imagined it would be quite so painful under Windows.
    Ended up using Visual C++ 2003 (7.1 compiler) which compiled everything. MinGW wouldn't compile everything, lots of undefined references to _setjmp and others, but that's a different subject.
    Anyway, after two days of dealing with issues, I finally get things to compile. The .dll is created. The init parameters say we're native. The test procedure is recompiled as native, and verified in dba_plsql_object_settings. As far as I am aware, native compilation is present and working. But when I run the thing.... performance is the same. Recompile as interpreted... same. Recompile as native again... same. This is demo code here, simple loop, the kind of thing that is 10x faster on my Linux environment.
    Basically the behavior is as though native compilation just isn't working... the DLL isn't working. Funny thing is that it -was- working earlier with the same code... right up until I bounced the box. Now I am dead in the water with no log file, no trace, nothing... just a non-functional native compilation feature.
    Any ideas? Anyone else struggle with this?
    Bob

    SELECT name, value
    FROM gv$parameter
    WHERE name LIKE '%code%';
    Did you do this before you bounced the database?
    ALTER SYSTEM SET plsql_compiler_flags = 'NATIVE';
    or
    ALTER SESSION SET plsql_compiler_flags = 'NATIVE';when perhaps you should have done this:
    ALTER SYSTEM SET plsql_code_type = 'NATIVE' SCOPE=BOTH;

  • Native Compilation in 11g

    In 11g database , I changed compilation mode from 'INTERPRETED' to 'NATIVE' by executing dbmsupgnv.sql
    Still some of the packages are in INTERPRETED mode .
    Why would some be in INTERPRETED while others are in NATIVE .
    Thanks in Advance for your inputs.
    1 SELECT TYPE, PLSQL_CODE_TYPE, COUNT(*)
    2 FROM DBA_PLSQL_OBJECT_SETTINGS
    3 WHERE PLSQL_CODE_TYPE IS NOT NULL
    4 GROUP BY TYPE, PLSQL_CODE_TYPE
    5* ORDER BY TYPE, PLSQL_CODE_TYPE
    SQL>
    SQL> /
    TYPE PLSQL_CODE_TYPE COUNT(*)
    FUNCTION NATIVE 414
    PACKAGE INTERPRETED 1318
    PACKAGE NATIVE 2
    PACKAGE BODY NATIVE 1258
    PROCEDURE NATIVE 455
    TRIGGER NATIVE 1075
    TYPE INTERPRETED 2311
    TYPE NATIVE 243
    TYPE BODY NATIVE 224
    9 rows selected.
    1 Select * from (
    2 SELECT owner , NAME , TYPE
    3 FROM all_plsql_object_settings WHERE plsql_code_type <> 'NATIVE'
    4* ) where rownum < 10
    SQL> /
    OWNER NAME TYPE
    SYS AGGXMLIMP TYPE
    SYS AGGXQAVGIMP TYPE
    SYS AGGXQIMP TYPE
    SYS AGGXQSUMIMP TYPE
    SYS ALERT_TYPE TYPE
    SYS ANYDATA TYPE
    SYS ANYDATASET TYPE
    SYS ANYTYPE TYPE
    SYS AQ$_AGENT TYPE
    9 rows selected.
    1 Select * from (
    2 SELECT owner , NAME , TYPE
    3 FROM all_plsql_object_settings WHERE plsql_code_type = 'NATIVE'
    4* ) where rownum < 10
    SQL> /
    OWNER NAME TYPE
    SYS ANYDATA TYPE BODY
    SYS ANYDATASET TYPE BODY
    SYS ANYTYPE TYPE BODY
    SYS APS_VALIDATE PROCEDURE
    SYS AQ$_GET_SUBSCRIBERS FUNCTION
    SYS AQ$_JMS_BYTES_MESSAGE TYPE BODY
    SYS AQ$_JMS_HEADER TYPE BODY
    SYS AQ$_JMS_MAP_MESSAGE TYPE BODY
    SYS AQ$_JMS_MESSAGE TYPE BODY
    9 rows selected.

    Hi,
    Dr. Hal has some working examples that might help you:
    http://www.oracle-base.com/articles/9i/PLSQLNativeCompilation9i.php
    Hope this helps. . .
    Donald K. Burleson
    Oracle Press author
    Author of "Oracle Tuning: The Definitive Reference":
    http://www.dba-oracle.com/bp/s_oracle_tuning_book.htm

  • Plsql_optimize_level = 3 and native compilation in SQL Developer?

    SQL Developer: Version 3.1.06 (Build MAIN-06.82)
    Oracle: 11gR2
    OS: Ubuntu 10.10
    Whenever I compile a PL/SQL unit in SQL Developer (using 'Compile' button) it is compiled with the following settings:
    PLSQL_OPTIMIZE_LEVEL = 2
    PLSQL_CODE_TYPE = 'INTERPRETED'
    However, if I issue the following commands in an SQL Worksheet:
    ALTER SESSION SET plsql_optimize_level = 3;
    ALTER PACKAGE PACKAGE_NAME COMPILE PLSQL_CODE_TYPE = NATIVE;
    the query SELECT PLSQL_OPTIMIZE_LEVEL, PLSQL_CODE_TYPE FROM ALL_PLSQL_OBJECT_SETTINGS WHERE NAME = 'PACKAGE_NAME'; resullts in
    PLSQL_OPTIMIZE_LEVEL     PLSQL_CODE_TYPE
    3     NATIVE
    3     NATIVE
    Is it possible to make SQL Developer to use these settings by default?
    P.S. It seems that Tools > Preferences > Database > PL/SQL Compiler menu section is missing the options I need (Optimization level drop-down menu have numbers 0-2, but not 3). Are there any plans to support these features in the future releases?
    Edited by: Ravshan Abbasov on Feb 6, 2012 6:28 AM

    Hi Ravshan,
    I thought a workaround would be to create a sql script like the following:
    alter session set plsql_code_type=native;
    alter session set plsql_optimize_level=3;  then point to it in the setting for Tools|Preferences|Database|Filename for connection startup script. That doesn't work however, as the other preference setting for plsql_optimize_level overrides the session value of 3 during compilation from the UI.
    According to Oracle documentation, level 3 was added for Oracle 11g. Prior to that, the same effect could be achieved by level 2 in conjunction with the INLINE pragma in the PL/SQL code.
    You might want to make a feature request for this on the SQL Developer Exchange so the community can vote and comment.
    Regards,
    Gary
    SQL Developer Team
    Edited by: Gary Graham on Feb 6, 2012 2:32 PM
    And, of course, Compile for Debug does not work with the 'native' setting.

  • Plsql_code_type

    Hi,
    I am upgrading oracle applications from 11.5.10.2 (10.2.0.5) to R12.1.1 on linux 32 Bit
    Now i am applying 6678700.drv from $AU_TOP.
    In the Upgrade guide chapter 3, Point 4 it says upgrade init.ora with upgrade parameters.
    As i am on 11.5.10.2 with 10.2.0.5 db, before going to R12.1.1. Should i set plsql_code_type = native (Currently it is interpreted).
    I have already run bde_cbo_chk.sql it says recommeded is INTERPRETED,But this is checking against 11.5.10.2.
    So what should be plsql_code_type set???
    (In my last project i have set it to native and no issues, just want to know what should i set).
    (I thinks i have asked this question before also, but now when i search it is not showing in search results.)
    Thanks
    Edited by: user11970143 on Jul 31, 2011 4:40 AM

    Hi,
    I found the answer from the blogs
    http://monishsb.wordpress.com/2010/02/17/changing-parameter-plsql_code_type-from-interpreted-to-native/
    http://oracleappstechnology.blogspot.com/2007/11/plsql-native-compilation-in-apps-11i.html
    We can set plsql_code_type = native to increase performance, so does not matter.
    Thanks

  • PLS-00923: native compilation failed: Visual Studio not

    hi,
    I'm using oracle 10g version 10.2.0.1 running on windows xp pro service pack 3. I'm trying to switch from interpreted to native compilation, and here are the parameters I've set:
    plsql_native_library_dir = D:\oracle\product\10.2.0\db_1\plsql
    plsql_code_type = NATIVE
    plsql_native_library_subdir_count = 0
    plsql_compiler_flags = NATIVE, NON_DEBUG
    Now I'm trying to run the following statements:
    ALTER SESSION SET plsql_code_type = 'NATIVE';
    CREATE OR REPLACE PROCEDURE test_speed AS
    v_number NUMBER;
    BEGIN
    FOR i IN 1 .. 1000000 LOOP
    v_number := i / 1000;
    END LOOP;
    END;
    SET TIMING ON
    SQL> EXEC test_speed;
    BEGIN test_speed; END;
    ERROR at line 1:
    ORA-06550: line 1, column 7:
    PLS-00905: object SYS.TEST_SPEED is invalid
    ORA-06550: line 1, column 7:
    PL/SQL: Statement ignored
    Elapsed: 00:00:00.03
    SQL> show err
    Errors for PROCEDURE TEST_SPEED:
    LINE/COL ERROR
    0/0 PLS-00923: native compilation failed: Visual Studio not
    found::Could not open registry key
    HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\VISUALSTUDIO\7.1\SETUP:No
    error
    I have search for the error in google but I can't find anything useful. What do I need to set-up/change to achieve my goals.
    Thanks and God bless,
    Chris

    hi,
    I'm using oracle 10g version 10.2.0.1 running on windows xp pro service pack 3. I'm trying to switch from interpreted to native compilation, and here are the parameters I've set:
    plsql_native_library_dir = D:\oracle\product\10.2.0\db_1\plsql
    plsql_code_type = NATIVE
    plsql_native_library_subdir_count = 0
    plsql_compiler_flags = NATIVE, NON_DEBUG
    Now I'm trying to run the following statements:
    ALTER SESSION SET plsql_code_type = 'NATIVE';
    CREATE OR REPLACE PROCEDURE test_speed AS
    v_number NUMBER;
    BEGIN
    FOR i IN 1 .. 1000000 LOOP
    v_number := i / 1000;
    END LOOP;
    END;
    SET TIMING ON
    SQL> EXEC test_speed;
    BEGIN test_speed; END;
    ERROR at line 1:
    ORA-06550: line 1, column 7:
    PLS-00905: object SYS.TEST_SPEED is invalid
    ORA-06550: line 1, column 7:
    PL/SQL: Statement ignored
    Elapsed: 00:00:00.03
    SQL> show err
    Errors for PROCEDURE TEST_SPEED:
    LINE/COL ERROR
    0/0 PLS-00923: native compilation failed: Visual Studio not
    found::Could not open registry key
    HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\VISUALSTUDIO\7.1\SETUP:No
    error
    I have search for the error in google but I can't find anything useful. What do I need to set-up/change to achieve my goals.
    Thanks and God bless,
    Chris

  • AIX 5L 64 bits + Native compiled PL/SQL

    Hi Gurus,
    Question for you. I'm tryng to find documentation/procedure on how to switch from native to interpreted pl/sql for AIX 5L 64 bits.
    Anyone could point me to some documentation on how to go from Interpreted to Native and vice-versa? Also, documentation about IBM C compiler/ GCC could be usefull too.
    Thank you,
    Felix

    Hi,
    Sorry to bump this thread, but I would like to validate something.
    Is it possible, or does it make sens, to have a database that has both native and interpreted?
    Our PLSQL_CODE_TYPE is set to interpreted but everthing else is configured for native.
    When i do the bellow query:
    select type, plsql_code_type, count(*)
    from dba_plsql_object_settings
    where plsql_code_type is not null
    group by type, plsql_code_type
    order by type, plsql_code_type
    We have bunch of functions in native/interpreted, same thing for package, package body, procedure, trigger, type, type body.
    Thank you,
    Felix

  • Native Compiled PL/SQL on WindowsXP (Visual Studio)

    Has anyone tried to native compile PL/SQL packages on Windows XP using Visual Studio?
    Please give me your values for PLSQL* initialization parameters and a makefile that works.
    /Hakan

    Hi,
    Sorry to bump this thread, but I would like to validate something.
    Is it possible, or does it make sens, to have a database that has both native and interpreted?
    Our PLSQL_CODE_TYPE is set to interpreted but everthing else is configured for native.
    When i do the bellow query:
    select type, plsql_code_type, count(*)
    from dba_plsql_object_settings
    where plsql_code_type is not null
    group by type, plsql_code_type
    order by type, plsql_code_type
    We have bunch of functions in native/interpreted, same thing for package, package body, procedure, trigger, type, type body.
    Thank you,
    Felix

  • Native Compilation of Apex code

    Has anyone tried natively compiling all of the Apex packages, procedures and functions?
    For example, to natively compile WWV_FLOW (with DBA privileges):
    <ul>
    <li>ALTER SESSION SET PLSQL_CODE_TYPE='NATIVE' ;</li>
    <li>ALTER PACKAGE FLOWS_030100.WWW_FLOW COMPILE ;</li>
    </ul>
    We've recently done just this on a test installation (Apex 3.1, Oracle 10g) and have found that Apex runs significantly faster. Before we consider implementing in production, I was wondering if anyone has also tried this and whether they came across any problems?
    Kevan
    Edited by: KGelling2 on Oct 30, 2008 2:24 PM

    Hello,
    I've only ever come across one other person who has mentioned doing that, he mentioned that he got performance improvements too although didn't qualify them. What sort of improvements are you seeing?
    John.
    Blog: http://jes.blogs.shellprompt.net
    Work: http://www.apex-evangelists.com
    Author of Pro Application Express: http://tinyurl.com/3gu7cd
    REWARDS: Please remember to mark helpful or correct posts on the forum, not just for my answers but for everyone!

  • PLSQL_CODE_TYPE parameter

    Hi,
    is there any performance degradation happen if I set PLSQL_CODE_TYPE=NATIVE. if yes then what are the things I should consider before changing this parameter.
    Thanks

    Read this document
    http://docs.oracle.com/cd/B19306_01/appdev.102/b14261/tuning.htm#i48528
    http://docs.oracle.com/cd/B14117_01/server.101/b10755/initparams158.htm

  • Difficulty running compile APEX RHEL4 on 10G

    Hi All
    on our dev server in an attempt to Compile APEX 3.1.2 with RHEL4 on 10G 10 SQL*Plus: Release 10.2.0.4.0 - Production on Fri Feb 27 10:13:59 2009
    use Apache mod_pl version
    I tried to follow from
    http://joelkallman.blogspot.com/2009/02/make-all-of-your-apex-applications-run.html
    and did this:
    column plsql_optimize_level format 999
    column plsql_code_type format a20
    select count(*), o.object_type, s.plsql_optimize_level, s.plsql_code_type
    from dba_objects o, dba_plsql_object_settings s
    where o.object_name = s.name
    and o.owner = 'FLOWS_030100'
    and s.owner = o.owner
    group by o.object_type, s.plsql_optimize_level, s.plsql_code_type
    order by 2 asc
    alter session set plsql_optimize_level = 2;
    alter session set plsql_code_type = native;
    exec dbms_utility.compile_schema('FLOWS_030100');
    Caused errors "missing f" in urls like
    .au:4458/pls/apex/f?p=113
    I restarted oracle and apache and no change in error
    ran the following in sqlplus and all recovered. :) happy about that!
    alter session set plsql_optimize_level = 2;
    alter session set plsql_code_type = interpreted;
    exec dbms_utility.compile_schema('FLOWS_030100');
    Is this possible on 10g? if so how?
    Thanks
    Frank
    Edited by: TasAPEX on Feb 27, 2009 10:20 AM

    Pl. post it in Apex forum here:
    Oracle Application Express (APEX)

  • Failed Compile APEX 3.1.2 with RHEL4 on 10G 10

    Hi All
    on our dev server in an attempt to Compile APEX 3.1.2 with RHEL4 on 10G 10 SQL*Plus: Release 10.2.0.4.0 - Production on Fri Feb 27 10:13:59 2009
    use Apache mod_pl version
    I tried to follow from
    link[joelkallman blog|http://joelkallman.blogspot.com/2009/02/make-all-of-your-apex-applications-run.html]
    and did this:
    column plsql_optimize_level format 999
    column plsql_code_type format a20
    select count(*), o.object_type, s.plsql_optimize_level, s.plsql_code_type
    from dba_objects o, dba_plsql_object_settings s
    where o.object_name = s.name
    and o.owner = 'FLOWS_030100'
    and s.owner = o.owner
    group by o.object_type, s.plsql_optimize_level, s.plsql_code_type
    order by 2 asc
    alter session set plsql_optimize_level = 2;
    alter session set plsql_code_type = native;
    exec dbms_utility.compile_schema('FLOWS_030100');
    Caused errors "missing f" in urls like
    .au:4458/pls/apex/f?p=113
    I restarted oracle and apache and no change in error
    ran the following in sqlplus and all recovered. :) happy about that!
    alter session set plsql_optimize_level = 2;
    alter session set plsql_code_type = interpreted;
    exec dbms_utility.compile_schema('FLOWS_030100');
    Is this possible on 10g? if so how?
    Thanks
    Frank
    and I posted this I know not where the first time, and could not see how to move to correct forum.
    or which forum I am now posting in, grrr... going to be a long day ....

    Thanks for your reply, Roel!
    I always deeply thanks for your help.
    After reading your reply, I found out I missed install HTTP Server.
    So I have installed HTTP Server in companion CD and I made the adjustment like marvel.conf and httpd.conf.
    But I can't solve my problem yet.
    I entered the address - http://127.0.0.1:7777/pls/apex/apex_admin - in the web browser, then
    I saw such a like under the message.
    +++Service Temporarily Unavailable+++
    +++The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.+++
    +++--------------------------------------------------------------------------------+++
    +++Oracle-Application-Server-10g/10.1.2.0.0 Oracle-HTTP-Server Server at MJLEE-EXEM.ex-em.com Port 7777+++
    Please help me one more time.
    I'm waiting for your help. Thanks.

Maybe you are looking for