Oracle工具——WRAP
這個工具由來已久,以為比較簡單,一直沒有寫過,不過前兩天用的時候,發現忘了語法,而這個工具還沒有提示功能,連續幾次都沒有試出來,看來好記性不如爛筆頭,還是記錄一下吧。
WRAP工具是Oracle用來加密PROCEDURE、FUNCTION、PACKAGE和TYPE的工具,使用WRAP加密後,PL/SQL程式碼變得無法閱讀,但是Oracle可以執行加密後的PL/SQL程式碼。需要注意WRAP加密後,沒有辦法還原,因此如果在資料庫中建立的過程或函式是加密的,那麼如果以後需要修改程式碼,必須找到未加密的版本進行修改,然後再次加密。Oracle絕大部分的內部包都是經過加密的。
WRAP工具的使用很簡單,指定一個輸入引數,一個輸出引數就可以了:
E:\>wrap iname=e:\f_link.sql name=e:\f_link.out
PL/SQL Wrapper: Release 10.2.0.1.0- Production on Mon May 11 20:55:39 2009
Copyright (c) 1993, 2004, Oracle. All rights reserved.
Processing e:\f_link.sql to e:\f_link.out
不過由於WRAP工具沒有任何的提示,還是很容易犯錯誤的,當時就是將iname和oname引數錯記為ifile和ofile,導致的錯誤:
E:\>wrap ifile=e:\f_link.sql file=e:\f_link.out
PSU(32,1,0,0):Invalid command line arguments
PL/SQL Wrapper error: Couldn't process command line arguments.
E:\>wrap
E:\>wrap help
PSU(32,1,0,0):Invalid command line arguments
PL/SQL Wrapper error: Couldn't process command line arguments.
E:\>help wrap
幫助實用程式不支援這個命令。請鍵入 "x /?"。
E:\>wrap /?
PSU(32,1,0,0):Invalid command line arguments
PL/SQL Wrapper error: Couldn't process command line arguments.
E:\>wrap ifile="e:\f_link.sql" file="e:\f_link.out"
PSU(32,1,0,0):Invalid command line arguments
PL/SQL Wrapper error: Couldn't process command line arguments.
另外還需要注意一點,各個版本的WRAP的結果相差很大,Oracle對WRAP生成的結果也是向下相容的,10g的資料庫可以使用9i生成的WRAP檔案,而在9i中無法使用10g的wrap的生成結果。
E:\>wrap iname=e:\f_link.sql
PL/SQL Wrapper: Release 9.2.0.4.0- Production on 星期二 5月 12 17:17:40 2009
Copyright (c) Oracle Corporation 1993, 2001. All Rights Reserved.
Processing e:\f_link.sql to f_link.plb
在10g中載入f_link.plb檔案:
SQL> SELECT * FROM V$VERSION;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production
SQL> @E:\F_LINK.PLB
程式包已建立。
型別已建立。
型別主體已建立。
函式已建立。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-594905/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 儲存過程加密之wrap工具Oracle儲存過程加密
- Oracle Wrap ProcedureOracle
- oracle程式碼加密 wrap方法Oracle加密
- oracle 9i wrap加密,需要指定edubug=wrap_new_sqlOracle加密SQL
- oracle wrap加密包破解問題Oracle加密
- 使用Wrap加密,保護Oracle程式原始碼加密Oracle原始碼
- jQuery wrap()jQuery
- wrap devicedev
- Flutter Wrap & ChipFlutter
- tcp_wrapTCP
- CSS overflow-wrapCSS
- CSS flex-wrapCSSFlex
- [CSS] text-wrap: balanceCSS
- CSS3 overflow-wrapCSSS3
- CSS文字:word-wrap(轉)CSS
- How to set word-wrap in VSCode?VSCode
- Flutter 佈局控制元件篇-->Wrap、FlowFlutter控制元件
- Flutter 佈局(九)- Flow、Table、Wrap詳解Flutter
- tolua之wrap檔案的原理與使用
- nutz框架使用記錄之Cnd.wrap框架
- 關於ByteBuffer.wrap(new Byte[]);
- Oracle工具——csscanOracleCSS
- Oracle工具——ORAPWDOracle
- Oracle工具——DBVERIFYOracle
- word-break 和 word-wrap 的區別
- word-wrap同word-break的區別
- Oracle工具(Oracle Tools) – SQLT(SQLTXPLAIN)OracleSQLAI
- Intellij IDEA 的 Soft-wrap 是什麼IntelliJIdea
- oracle unwrap解密工具Oracle解密
- oracle工具 awr formatOracleORM
- Oracle CSSCAN工具使用OracleCSS
- ORACLE 跟蹤工具Oracle
- Oracle 工具匯總Oracle
- Oracle Clusterware工具集Oracle
- Oracle工具——DBNEWIDOracle
- Oracle工具(Oracle Tools) – RDA(RemoteDiagnostic Agent)OracleREM
- 區分 word-wrap/word-break/white-space
- 初略講解Flutter的Wrap和Flow(流式佈局)Flutter