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

类别:编程语言 点击:0 评论:0 推荐:
 
随着社会的分工与合作越来越密切,同一台服务器里可能会运行几家公司不同的服务产品,
   
    有时候服务之间需要互相提供数据,以实现经济上的双赢;当然各自的安全和独立性也需要保证。
   
        如果这样的服务后台用的是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;
       
        其它的注意事项:
       
            合作用户不能有过多的权限, 使他们不能查数据字典和其它用户下的表,密码要起得难一些。 
       

本文地址:http://com.8s8s.com/it/it24001.htm