[Oracle] PL/SQLソースコードのラップ | Archive Redo Blog

Archive Redo Blog

DBエンジニアのあれこれ備忘録

ラップ・ユーティリティを使用するとPL/SQLソースコードをバイナリーコードに変換し、隠蔽することができます。


ラップ・ユーティリティの使い方は至って簡単でコマンドラインから以下のようにinameにラップするPL/SQLソースファイルを指定してwrapコマンドを実行するだけです。

wrap iname=test.sql

この例では出力ファイル名を指定していませんが、その場合、デフォルトで入力ファイル名.plbという出力ファイルができあがります。

(この例の場合はtest.plbという出力ファイル名となります。)


また、以下のように出力ファイル名を明示的に指定することも可能です。

wrap iname=test.sql oname=test.obj

ラップされたPL/SQLソースコードは元のソースコードに復元することができないため、該当ソースコードの開発者以外の開発者がソースコードを参照することを防止することができます。


ただし、表名、列名、変数名、リテラルなどはラップされずプレーンテキストで残るため、これらの要素の中に隠蔽すべき重要な情報が含まれる場合は注意が必要です。


また、ラップされたソースコードがロードされたデータベース上で、テストや調査を行う場合、その場で直接ソースコードを確認することができないことがデメリットとなる場合もあるため、ソースコードをラップするか否かは慎重に判断しなければなりません。