PL/SQL verbeteringen in Oracle Database 10g - native compilatie |
Oracle 10g bevat veel PL/SQL verbeteringen inclusief:
PL/SQL Native CompilationHet proces van PL/SQL native compilation is in Oracle 10g eenvoudiger gemaakt. De opgebouwde shared libraries worden nu in de database opgeslagen en uitgepakt als ze nodig zijn. Dit betekend dat ze onderdeel zijn geworden van het normale back-up en recovery proces,geen handmatig onderhoud behoeven en beschikbaar zijn in Real Application Cluster (RAC) configuraties. Native compilatie van de package specificatie en body zijn onafhankelijk van elkaar wat inhoud dat ze onafhankelijk van elkaar compiled kunnen worden. De PLSQL_NATIVE_LIBRARY_DIR parameter is de enige parameter die gezet moet worden om native compilatie te kunnen gebruiken. Alle andere parameters zijn obsolete geworden. De bijbehorende compilatie commando's zijn opgelagen in de $ORACLE_HOME/plsql/spnc_commands file welke niet aangepast hoeft te worden. Native compilatie wordt aan en uit gezet met de PLSQL_CODE_TYPE parameter die gezet kan worden op instance en sesie level met de ALTER SYSTEM en ALTER SESSION commando's . Bijgaand een voorbeeld van native PL/SQL compilatie: -- Het zetten van de PLSQL_NATIVE_LIBRARY_DIR parameter. CONN / AS SYSDBA ALTER SYSTEM SET PLSQL_NATIVE_LIBRARY_DIR='/u01/app/oracle/native/' SCOPE=SPFILE; SHUTDOWN IMMEDIATE STARTUP
-- Aanzetten van native compilation en compileren van een procedure. CONN scott/tiger ALTER SESSION SET PLSQL_CODE_TYPE='NATIVE';
CREATE OR REPLACE PROCEDURE test_speed AS v_number NUMBER; BEGIN FOR i IN 1 .. 10000000 LOOP v_number := i / 1000; END LOOP; END; /
SET TIMING ON EXEC test_speed;
PL/SQL procedure successfully completed.
Elapsed: 00:00:07.19
-- Het uitzetten van ative compilation en recompile de procedure. ALTER SESSION SET PLSQL_CODE_TYPE='INTERPRETED'; ALTER PROCEDURE test_speed COMPILE; EXEC test_speed;
PL/SQL procedure successfully completed.
Elapsed: 00:00:08.03
-- Opruimen. DROP PROCEDURE test_speed;
|