ORACLE SQL リファレンス(逆引き)

ORACLE SQL リファレンス

Web oracle.se-free.com
PL/SQLコードを隠蔽(暗号化)する(WRAP)
スポンサード リンク

PL/SQLで作成された、パッケージ、ファンクション、プロシージャなどは、USER_SOURCEなどのディクショナリからコードが参照できますが、これを暗号化して外部から隠蔽するには、WRAPコマンドを使用します。

wrap iname=pl/sqlファイル名 [ oname=暗号化ファイル名 ]
wrapコマンドは、コマンドラインで実行します。

inameオプションで指定したPL/SQLファイルを暗号化し、onameオプションで指定した暗号化ファイル名で出力します。

onameオプションを省略した場合は、inameオプションで指定したPL/SQLファイル名で拡張子が"plb"で出力されます。

暗号化可能なコードは、PL/SQLで作成された、パッケージ、ファンクション、プロシージャ、型仕様部、型本体などで、無名ブロック、トリガーは暗号化されない。


例1) PL/SQLファイル「get_dept.sql」を暗号化します。

(1)コマンドラインで、wrapコマンドを実行する。
wrap iname=get_dept.sql
 上記コマンド実行で、「get_dept.plb」が出力される。

(2)(1)で出力されたファイル「get_dept.plb」をSQLPLUSで実行する。

SQL>
SQL> @get_dept.plb
ファンクションが作成されました。



スポンサード リンク


●暗号化前のPL/SQLファイル(get_dept.sql)

create or replace function get_dept(
v_dept_id in char)
return varchar2 as

v_dept_name varchar2(10);

begin

select dept_name into v_dept_name from dept
where dept_id = v_dept_id;
return v_dept_name;

end get_dept;


●WRAPコマンドで暗号化したPL/SQLファイル(get_dept.plb)

create or replace function get_dept wrapped
a000000
340
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
8
c9 ce
U75Ii5oyvUynY7GpD2fbVnXHRLQwgy5KfyisfI5GkJpkU/PfMnl2J/ipG5snlx3G0dPqW/mq
w9MYHlUQOuKIld7jrLE0XcHkh8XswsGYi4/zNuIDJjlsPH+9GxM/r4ifDnlJYcEJw7ALeePi
aDmoq87U3C1yrBHbJLEatGQAfbNS4H78mZeyXorazjJLMKDY9sl9pftx4ypm

/



スポンサード リンク


スリープする(DBMS_LOCK.SLEEP)
文字列を暗号化する(10g)( DBMS_CRYPTO.ENCRYPT )
文字列を復号化する(10g)( DBMS_CRYPTO.DECRYPT )
PL/SQLコードを隠蔽(暗号化)する(WRAP)
ランダムな数値や文字列を取得する( DBMS_RANDOM )
アラート通知(DBMS_ALERT)
ジョブスケジューリング(DBMS_JOB)
ロック(排他制御)を取得する(DBMS_LOCK)

PL/SQL へ
忘れっぽいエンジニアのオラクルSQLリファレンス TOPへ