Wrap加密Oracle存储过程
Oracle自带的内部包大多数都是经过加密的,比较好奇,了解一下Oracle进行加密的工具。一般都使用wrap工具进行加密,这个wrap的使用语法非常简单,只有输入和输出两个参数,也没有多余的操作。但是也没有详细的错误提示,所以很多问题出现后很难查到原因。简单看看,记录一下这个工具的用法,以便今后查询。
wrap的语法非常简单:wrap iname={input file} [oname={output file}]
可以指定路径,也可以只写出文件名。如果不写oname参数,则在当前路径下创建一个与iname文件名同名,且后缀为“.plb”的文件。
从网上了解的经验来看,大致要注意3个问题:
一、兼容性问题
各个版本wrap出来的结果是有差别的,Oracle对wrap生成的结果也是向下兼容的。10g的数据库可以使用9i生成的wrap文件,而在9i中无法使用10g的wrap的生成结果。
二、字符问题
操作系统的字符集设置不正确,可能会引起wrap的错误(这个问题貌似现在的版本已经没有了)
方法是设置OS的字符集:SET NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1
三、不支持分析函数
当时的wrap就是不支持分析函数的,到目前在10.2.0.3上测试wrap依旧不支持。但是在PLSQL已经是可以支持的了。