加密存储过程使在schema下看不到源码

2/9/2008来源:Oracle教程人气:6139


  软件环境:
  1、操作系统:windows 2000 Server
  2、数 据 库:Oracle 8i R2 (8.1.7) for NT 企业版
  3、安装路径:C:\ORACLE
  
  实现方法:
  1、
  
  D:\>set NLS_LANG=AMERICAN_AMERICA.USACII7
  
  或
  
  D:\>set NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1
  
  D:\>set
  
  直接打set命令可以查看环境变量
  
  2、
  
  在D:\下创建a.sql文件,内容如下:
  
  create or replace PRocedure test1(i in number) as
  
  begin
  
  dbms_output.put_line('输入参数是'to_char(i));
  
  end;
  
  3、
  
  D:\>wrap iname=a.sql
  
  PL/SQL Wrapper: Release 8.1.7.0.0 - ProdUCtion on Tue Nov 27 22:26:48 2001
  
  Copyright (c) Oracle Corporation 1993, 2000. All Rights Reserved.
  
  Processing a.sql to a.plb
  
  4、
  
  打开a.plb,现在它的内容如下:
  
  create or replace procedure test1 wrapped
  
  0
  
  abcd
  
  abcd
  
  abcd
  
  abcd
  
  abcd
  
  abcd
  
  abcd
  
  abcd
  
  abcd
  
  abcd
  
  abcd
  
  abcd
  
  abcd
  
  abcd
  
  abcd
  
  3
  
  7
  
  8106000
  
  1
  
  4
  
  0
  
  8
  
  2 :e:
  
  1TEST1:
  
  1I:
  
  1NUMBER:
  
  1DBMS_OUTPUT:
  
  1PUT_LINE:
  
  1输入参数是:
  
  1:
  
  1TO_CHAR:
  
  0
  
  0
  
  0
  
  1f
  
  2
  
  0 1d 9a 8f a0 b0 3d b4
  
  55 6a :2 a0 6b 6e 7e :2 a0 a5
  
  b b4 2e a5 57 b7 a4 b1
  
  11 68 4f 17 b5
  
  1f
  
  2
  
  0 3 4 1d 19 18 25 15
  
  2a 2e 32 36 3a 3d 42 45
  
  49 4d 4e 50 51 56 57 5c
  
  5e 62 64 70 74 76 7f
  
  1f
  
  2
  
  0 1 b 11 16 :2 11 10 :3 1
  
  :2 d 16 22 24 2c :2 24 :2 16 :a 1
  
  1f
  
  2
  
  0 :9 1 :d 3 :2 2 :3 1 4 :2 1
  
  81
  
  4
  
  :4 0 1 :a 0 1b
  
  1 :4 0 5 :2 0
  
  :2 3 :3 0 2 :7 0
  
  5 4 :3 0 7
  
  :2 0 1b 2 8
  
  :2 0 4 :3 0 5
  
  :3 0 a b 0
  
  6 :4 0 7 :2 0
  
  8 :3 0 2 :3 0
  
  7 f 11 9
  
  e 13 :3 0 :2 c
  
  15 :2 0 17 10
  
  1a :3 0 1a 0
  
  1a 19 17 18
  
  :6 0 1b :2 0 2
  
  8 1a 1d :2 0
  
  1 1b 1e :8 0
  
  13
  
  4
  
  :3 0 1 3 1
  
  6 1 10 2
  
  d 12 1 14
  
  1 16 2 16
  
  1c
  
  1
  
  4
  
  0
  
  1d
  
  0
  
  1
  
  14
  
  1
  
  2
  
  0 0 0 0 0 0 0 0
  
  0 0 0 0 0 0 0 0
  
  0 0 0 0
  
  2 0 1
  
  3 1 0
  
  0
  
  /
  
  5、运行a.plb
  
  SQL> @d:\a.plb
  
  过程已创建。

  
  6、运行存储过程
  
  SQL> set serveroutput on
  
  SQL> execute test1(1);
  
  输入参数是1
  
  PL/SQL 过程已成功完成。
  
  7、查看存储过程的代码
  
  SQL> select name,text from all_source where type='PROCEDURE' and name='TEST1';