加密存储过程,授于其它用户执行

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

随着社会的分工与合作越来越密切,同一台服务器里可能会运行几家公司不同的服务产品,

有时候服务之间需要互相提供数据,以实现经济上的双赢;当然各自的安全和独立性也需要保证。

如果这样的服务后台用的是ORACLE数据库,可以用加密存储过程,并授于其它用户执行的方法。

首先我们要为提供的数据写一个正确合乎逻辑的存储过程或函数test_proc,假设源代码是test.sql。

然后用wrap实用工具(默认的目录$ORACLE_HOME/bin)加密它:

使用wrap的语法是:

$wrap iname = input_file [oname=output_file]

↑ ↑

加密前存储过程或函数 加密后存储过程或函数,默认的后缀为*.plb

举例: $wrap iname=test.sql

会在当前目录产生test.plb加密的存储过程或函数

备注:Windows和unix平台的下wrap生成*.plb加密文件可以通用,版本是向上兼容的。

最后编译这个加密后的test.plb

SQL> @/tmp/test.plb

并赋于相关合作用户(another_user)执行的权限

SQL> grant execute on test_proc to another_user;

其它的注意事项:

合作用户不能有过多的权限, 使他们不能查数据字典和其它用户下的表,密码要起得难一些。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有  導航