11g plsql本地編譯
11g plsql本地編譯
====================
--說明
11g支援本地編譯plsq程式碼
以前版本中編譯plsql程式碼要先將程式碼轉換為c程式碼
之後再由第三方程式編譯
11g中可以直接將plsql程式碼轉換成伺服器dll進行本地編譯
11g支援本地編譯plsq程式碼
以前版本中編譯plsql程式碼要先將程式碼轉換為c程式碼
之後再由第三方程式編譯
11g中可以直接將plsql程式碼轉換成伺服器dll進行本地編譯
--使用方法
使用引數plsql_code_type控制
引數可以有兩個值
interpreted --原有方式
native --本地編譯
修改引數可以使用alter system 或者alter session
使用引數plsql_code_type控制
引數可以有兩個值
interpreted --原有方式
native --本地編譯
修改引數可以使用alter system 或者alter session
---------------------------
--測試
--當前引數值為原有方式
--當前引數值為原有方式
SQL> show parameter plsql_code_type
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
plsql_code_type string INTERPRETED
------------------------------------ ----------- ------------------------------
plsql_code_type string INTERPRETED
--開啟時間反饋
SQL> set timing on
SQL> set timing on
--在原有方式下編譯儲存過程
--用時0.77秒
SQL> create or replace procedure p_test
is
begin
insert into t select max(id)+1 from t;
commit;
end;
/
2 3 4 5 6 7
Procedure created.
--用時0.77秒
SQL> create or replace procedure p_test
is
begin
insert into t select max(id)+1 from t;
commit;
end;
/
2 3 4 5 6 7
Procedure created.
Elapsed: 00:00:00.77
--刪除過程
SQL> drop procedure p_test;
SQL> drop procedure p_test;
Procedure dropped.
Elapsed: 00:00:01.20
--設定引數,使用本地編譯
--用時0.35
--oracle聲稱的使用本地編譯快一倍在測試中確實如此
--用時0.35
--oracle聲稱的使用本地編譯快一倍在測試中確實如此
SQL> alter session set plsql_code_type=native;
Session altered.
Elapsed: 00:00:00.02
SQL>
SQL>
SQL>
SQL> create or replace procedure p_test
is
begin
insert into t select max(id)+1 from t;
commit;
end;
/
2 3 4 5 6 7
Procedure created.
SQL>
SQL>
SQL> create or replace procedure p_test
is
begin
insert into t select max(id)+1 from t;
commit;
end;
/
2 3 4 5 6 7
Procedure created.
Elapsed: 00:00:00.35
--檢視特定物件的編譯模式
--通過字典表all_plsql_object_settings檢視
--通過字典表all_plsql_object_settings檢視
SQL> select plsql_code_type from all_plsql_object_settings
2 where name='P_TEST';
2 where name='P_TEST';
PLSQL_CODE_TYPE
--------------------------------------------------------------------------------
NATIVE
--------------------------------------------------------------------------------
NATIVE
Elapsed: 00:00:00.10
======================================
切換資料庫到預設本地編譯
conn / as sysdba
alter system set plsql_code_type=native;
alter system set plsql_optimize_level=3; --(>2)
alter system set plsql_code_type=native;
alter system set plsql_optimize_level=3; --(>2)
shutdown immediate
startup upgrade
startup upgrade
@$ORACLE_HOME/rdbms/admin/dbmsupgnv.sql
shutdown immediate
startup
startup
@$ORACLE_HOME/rdbms/admin/utlrp.sql
--操作以後資料庫預設的編譯方式就是本地編譯
--此操作的反向操作為將dbmsupgnv.sql替換為dbmsupgin.sql
--此操作的反向操作為將dbmsupgnv.sql替換為dbmsupgin.sql
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/13177610/viewspace-711115/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何在本地編譯Fabric Code編譯
- Oracle PL/SQL編譯警告PLSQL_WARNINGSOracleSQL編譯
- 11g下編譯使用BBED編譯
- 使用Oracle gateway連線GP時編譯plsql包太慢OracleGateway編譯SQL
- PLSQL Language Reference-PL/SQL語言基礎-條件編譯-條件編譯指令限制SQL編譯
- PLSQL Language Reference-PL/SQL語言基礎-條件編譯-條件編譯舉例SQL編譯
- 使用plsql/devlop編譯過程hang住案列小結SQLdev編譯
- help!下載的jive本地編譯通不過編譯
- PLSQL Language Reference-PL/SQL語言基礎-條件編譯-獲取和列印編譯後的原始碼文字SQL編譯原始碼
- 以太坊客戶端go-thereum本地編譯及使用客戶端Go編譯
- 第一篇——JMockit本地編譯,並引入EclipseMock編譯Eclipse
- ORA-03114 plsql過程編譯斷開連線錯誤SQL編譯
- 6. PLSQL 編寫規範SQL
- 比特幣原始碼研讀(0)bitcoin本地編譯與使用比特幣原始碼編譯
- Oracle 11g中的Native PL/SQL程式碼編譯OracleSQL編譯
- Oracle 11g客戶端及PLSQL Developer配置Oracle客戶端SQLDeveloper
- Java編譯與反編譯Java編譯
- 我反編譯了Java 10的本地變數型別推斷編譯Java變數型別
- [20121004]11G下編譯bbed.txt編譯
- 編譯編譯
- hadoop編譯—+2.x編譯Hadoop編譯
- gcc 編譯器與 clang 編譯器GC編譯
- 編譯器的編譯基本過程編譯
- 一張圖解析 編譯器編譯流程圖解編譯
- ubuntu下編譯交叉編譯工具鏈Ubuntu編譯
- [譯]iOS編譯器iOS編譯
- 程式碼線上編譯器(上)- 編輯及編譯編譯
- 大量模組殼工程本地如何快速編譯?優酷 iOS 工程外掛化實踐編譯iOS
- 開源編譯工具和編譯軟體編譯
- Make編譯之編譯32bit ffmpeg編譯
- N1064編譯鏈編譯編譯
- webrtc編譯Web編譯
- 編譯VIM編譯
- acl 編譯編譯
- 交叉編譯編譯
- gcc編譯GC編譯
- srilm編譯編譯
- 編譯版本編譯