今天在做 wrap 的测试实验的时候,出现一个很奇怪的现象,就是加密不成功。
具体表现为:1.加密后的文件大小为0kb。
2.加密后的文件仍然可视。
具体测试步骤如下:

D:\Just4work\someSQLs>wrap iname=test_oracle_warp.sql

PL/SQL Wrapper: Release 11.2.0.1.0- Production on 星期五 2月  21 15:26:40 2014

Copyright (c) 1993, 2009, Oracle.  All rights reserved.

Processing test_oracle_warp.sql to test_oracle_warp.plb

D:\Just4work\someSQLs>dir /s test_oracle*
驱动器 D 中的卷是 work
卷的序列号是 F4A9-7648 D:\Just4work\someSQLs 的目录 2014/02/21 15:26 0 test_oracle_warp.plb
2014/02/21 15:23 3,582 test_oracle_warp.sql
2 个文件 3,582 字节 所列文件总数:
2 个文件 3,582 字节
0 个目录 171,316,117,504 可用字节

在另一台装有完整数据库的机器上测试:

oracle@zen-VirtualBox:~$ ls -l | grep test
-rw-r----- 1 oracle oinstall 20987904 Feb 21 12:01 tab16ktest.dbf
-rw-r--r-- 1 oracle oinstall 1789 Feb 21 15:06 test_oracle_wrap2.plb
-rw-r--r-- 1 oracle oinstall 23316 Feb 21 15:03 test_oracle_wrap2.sql
-rw-r--r-- 1 oracle oinstall 3492 Feb 21 16:03 test_oracle_wrap3.sql
-rw-r--r-- 1 oracle oinstall 552 Feb 21 15:00 test_oracle_wrap.plb
-rw-r--r-- 1 oracle oinstall 692 Feb 21 14:59 test_oracle_wrap.sql
oracle@zen-VirtualBox:~$ wrap iname=test_oracle_wrap3.sql PL/SQL Wrapper: Release 11.2.0.1.0- 64bit Production on Fri Feb 21 16:04:30 2014 Copyright (c) 1993, 2009, Oracle. All rights reserved. Processing test_oracle_wrap3.sql to test_oracle_wrap3.plb
oracle@zen-VirtualBox:~$ ls -l | grep test
-rw-r----- 1 oracle oinstall 20987904 Feb 21 12:01 tab16ktest.dbf
-rw-r--r-- 1 oracle oinstall 1789 Feb 21 15:06 test_oracle_wrap2.plb
-rw-r--r-- 1 oracle oinstall 23316 Feb 21 15:03 test_oracle_wrap2.sql
-rw-r--r-- 1 oracle oinstall 1106 Feb 21 16:04 test_oracle_wrap3.plb
-rw-r--r-- 1 oracle oinstall 3492 Feb 21 16:03 test_oracle_wrap3.sql
-rw-r--r-- 1 oracle oinstall 552 Feb 21 15:00 test_oracle_wrap.plb
-rw-r--r-- 1 oracle oinstall 692 Feb 21 14:59 test_oracle_wrap.sql oracle@zen-VirtualBox:~$ cat test_oracle_wrap3.plb
CREATE OR REPLACE PROCEDURE zx_test_satisfy_analyse wrapped
a000000
354
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
7
8d4 3b0
UsqjIEQoNf3Spb35eItCneQalf4wgztc10rrfC+LbrB1BRsJw3mqYURRAFP0BQ3fLdYAPrrR
PBxvvb1SKRxU2x2mBt39ytx6iNUc1t7x6FJ4ogwCjSwFT8ETJPYbscWLoWutzzAgICDfxJ/H
EPjJTpL/h52YPxLEvgjPKKk7VmXH3k6JodXTL9MrWcYfWdAVYlY7iwxr8l85r8KFi3EHjdg1
QN84hfZQ90yTp8FxGyuFAvysKsbmDE1AxaUvePZqDbnd7aZGa4KHghEZIyvwLtq9td4vjaY7
Gl3ezWCijsfAaXvmcnKkmnGvnn5Cb82geJ/d2ZncUsb7bYZilav/9p9k9QL6NtMcCkb4V01C
YuLHHBUDL0CoWeYEB3yZOKusEmYWJvyQTQlJFAK9KQeeIXKNYAz91fPH9gSeA1S6w4UlCb6d
Az5GGwOoU2DYVMXT8debif2jwO3iWDauFZcHbLYl0Y1m7qJ1APzYFmpHFq2KaKQ9WaRQU15w
Jb4SM7/s3rDdVhZEdK5CXzKHYThIAoZ81S3FFJJqDitc8DNojlgPF6A7/44+p71jwSHnRe86
0H6MQHlPrAvXe2IpfdoUe0nw0HBWXUEDnusZs/8MuI7BTdDH9XbBU9DHz3bBGtDHwHbBkyzB
MVJu6yL/KQtXUlCqnOwLKI1yn5faDXI0pzwCK4hx0acp1qOnuJFmRNjLHImjxY9IOzvlYjFf
lN9+ILXQZnGchDsYdosevHvCYrEtl2U3zDE+M6TII5f6KaFd9e3NGXPBT52qz+210s2xnLs2
EuTFi63TmOp70TWoviCpvMKghAohkAPOZcXq+nqCp5LJh4+phxOe+nNqSrUI725nWpYubp+a
4YN4r6RI1XTF7UoLi+lFssDWilXvRsmTAsPh94DDpfyXZni0kW6hp/HD0l0o0BWImw== /
oracle@zen-VirtualBox:~$

只是装了11g的客户端的机器上测试不成功,生成的文件只有0字节;安装整个数据库的机器上测试成功,没找到确切的原因。
继续测试:
修改文件的开头

oracle@zen-VirtualBox:~$ cat test_oracle_wrap3.sql > test_oracle_wrap4.sql
oracle@zen-VirtualBox:~$ vim test_oracle_wrap4.sql
oracle@zen-VirtualBox:~$ cat test_oracle_wrap4.sql
EATE OR REPLACE PROCEDURE zx_test_satisfy_analyse
(
av_task_plan_id IN VARCHAR2,
an_region_id IN NUMBER,
av_stat_date IN VARCHAR2,
av_append_info IN VARCHAR2,
av_return OUT VARCHAR2,
av_syserr OUT VARCHAR2
) IS
/*
*author: zen
*created date :20130812
*/
v_date VARCHAR2(8);
v_channel NUMBER; -- 1 10000,2 114,3 wap net,6 实体渠道,8 装移 BEGIN
v_date := av_stat_date;
v_channel := av_append_info; --即时测评满意度分析:总体满意度分析
DELETE FROM report_service_satisfy_total t
WHERE t.acct_day = v_date
AND decode(t.channel_type, 9, 1, 4, 3, 7, 6, t.channel_type) = v_channel;
COMMIT; av_return := '';
av_syserr := '执行成功'; EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
dbms_output.put_line(av_task_plan_id || ' , ' || an_region_id || ' , ' ||
av_append_info);
av_return := SQLCODE;
av_syserr := SQLERRM;
RETURN;
END zx_test_satisfy_analyse;
/ oracle@zen-VirtualBox:~$ wrap iname=test_oracle_wrap4.sql PL/SQL Wrapper: Release 11.2.0.1.0- 64bit Production on Fri Feb 21 16:09:53 2014 Copyright (c) 1993, 2009, Oracle. All rights reserved. Processing test_oracle_wrap4.sql to test_oracle_wrap4.plb
oracle@zen-VirtualBox:~$ ls -l | grep test_oracle_wrap
-rw-r--r-- 1 oracle oinstall 1789 Feb 21 15:06 test_oracle_wrap2.plb
-rw-r--r-- 1 oracle oinstall 23316 Feb 21 15:03 test_oracle_wrap2.sql
-rw-r--r-- 1 oracle oinstall 1106 Feb 21 16:04 test_oracle_wrap3.plb
-rw-r--r-- 1 oracle oinstall 3492 Feb 21 16:03 test_oracle_wrap3.sql
-rw-r--r-- 1 oracle oinstall 2727 Feb 21 16:09 test_oracle_wrap4.plb
-rw-r--r-- 1 oracle oinstall 3490 Feb 21 16:08 test_oracle_wrap4.sql
-rw-r--r-- 1 oracle oinstall 552 Feb 21 15:00 test_oracle_wrap.plb
-rw-r--r-- 1 oracle oinstall 692 Feb 21 14:59 test_oracle_wrap.sql
oracle@zen-VirtualBox:~$ cat test_oracle_wrap4.plb
EATE OR REPLACE PROCEDURE zx_test_satisfy_analyse
(
av_task_plan_id IN VARCHAR2,
an_region_id IN NUMBER,
av_stat_date IN VARCHAR2,
av_append_info IN VARCHAR2,
av_return OUT VARCHAR2,
av_syserr OUT VARCHAR2
) IS
/*
*author: zen
*created date :20130812
*/
v_date VARCHAR2(8);
v_channel NUMBER; -- 1 10000,2 114,3 wap net,6 实体渠道,8 装移
BEGIN
v_date := av_stat_date;
v_channel := av_append_info; WHERE t.acct_day = v_date
AND decode(t.channel_type, 9, 1, 4, 3, 7, 6, t.channel_type) = v_channel; av_return := '';
av_syserr := '执行成功'; EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
dbms_output.put_line(av_task_plan_id || ' , ' || an_region_id || ' , ' ||
av_append_info);
av_return := SQLCODE;
av_syserr := SQLERRM;
RETURN;
END zx_test_satisfy_analyse;
/ oracle@zen-VirtualBox:~$ cat test_oracle_wrap5.sql
DELETE FROM report_service_satisfy_total t
WHERE t.acct_day = v_date
AND decode(t.channel_type, 9, 1, 4, 3, 7, 6, t.channel_type) = v_channel; COMMIT; oracle@zen-VirtualBox:~$ wrap iname=test_oracle_wrap5.sql PL/SQL Wrapper: Release 11.2.0.1.0- 64bit Production on Fri Feb 21 16:24:24 2014 Copyright (c) 1993, 2009, Oracle. All rights reserved. Processing test_oracle_wrap5.sql to test_oracle_wrap5.plb
oracle@zen-VirtualBox:~$ ls -l | grep test_oracle_wrap
-rw-r--r-- 1 oracle oinstall 1789 Feb 21 15:06 test_oracle_wrap2.plb
-rw-r--r-- 1 oracle oinstall 23316 Feb 21 15:03 test_oracle_wrap2.sql
-rw-r--r-- 1 oracle oinstall 1106 Feb 21 16:04 test_oracle_wrap3.plb
-rw-r--r-- 1 oracle oinstall 3492 Feb 21 16:03 test_oracle_wrap3.sql
-rw-r--r-- 1 oracle oinstall 2727 Feb 21 16:09 test_oracle_wrap4.plb
-rw-r--r-- 1 oracle oinstall 3490 Feb 21 16:08 test_oracle_wrap4.sql
-rw-r--r-- 1 oracle oinstall 163 Feb 21 16:24 test_oracle_wrap5.plb
-rw-r--r-- 1 oracle oinstall 167 Feb 21 16:23 test_oracle_wrap5.sql
-rw-r--r-- 1 oracle oinstall 552 Feb 21 15:00 test_oracle_wrap.plb
-rw-r--r-- 1 oracle oinstall 692 Feb 21 14:59 test_oracle_wrap.sql
oracle@zen-VirtualBox:~$ cat test_oracle_wrap5.plb
DELETE FROM report_service_satisfy_total t
WHERE t.acct_day = v_date
AND decode(t.channel_type, 9, 1, 4, 3, 7, 6, t.channel_type) = v_channel;
COMMIT; oracle@zen-VirtualBox:~$ cat test_oracle_wrap6.sql
DELETE FROM report_service_satisfy_total t
WHERE t.acct_day = v_date
AND decode(t.channel_type, 9, 1, 4, 3, 7, 6, t.channel_type) = v_channel;
COMMIT; CREATE OR REPLACE PROCEDURE zx_test_satisfy_analyse
(
av_task_plan_id IN VARCHAR2,
an_region_id IN NUMBER,
av_stat_date IN VARCHAR2,
av_append_info IN VARCHAR2,
av_return OUT VARCHAR2,
av_syserr OUT VARCHAR2
) IS
/*
*author: zen
*created date :20130812
*/
v_date VARCHAR2(8);
v_channel NUMBER; -- 1 10000,2 114,3 wap net,6 实体渠道,8 装移 BEGIN
v_date := av_stat_date;
v_channel := av_append_info; --即时测评满意度分析:总体满意度分析
DELETE FROM report_service_satisfy_total t
WHERE t.acct_day = v_date
AND decode(t.channel_type, 9, 1, 4, 3, 7, 6, t.channel_type) = v_channel; COMMIT; av_return := '';
av_syserr := '执行成功'; EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
dbms_output.put_line(av_task_plan_id || ' , ' || an_region_id || ' , ' ||
av_append_info);
av_return := SQLCODE;
av_syserr := SQLERRM;
RETURN;
END zx_test_satisfy_analyse;
/ oracle@zen-VirtualBox:~$ wrap iname=test_oracle_wrap6.sql PL/SQL Wrapper: Release 11.2.0.1.0- 64bit Production on Fri Feb 21 16:43:38 2014 Copyright (c) 1993, 2009, Oracle. All rights reserved. Processing test_oracle_wrap6.sql to test_oracle_wrap6.plb
oracle@zen-VirtualBox:~$ ls -l | grep test_oracle
-rw-r--r-- 1 oracle oinstall 1789 Feb 21 15:06 test_oracle_wrap2.plb
-rw-r--r-- 1 oracle oinstall 23316 Feb 21 15:03 test_oracle_wrap2.sql
-rw-r--r-- 1 oracle oinstall 1106 Feb 21 16:04 test_oracle_wrap3.plb
-rw-r--r-- 1 oracle oinstall 3492 Feb 21 16:03 test_oracle_wrap3.sql
-rw-r--r-- 1 oracle oinstall 2727 Feb 21 16:09 test_oracle_wrap4.plb
-rw-r--r-- 1 oracle oinstall 3490 Feb 21 16:08 test_oracle_wrap4.sql
-rw-r--r-- 1 oracle oinstall 163 Feb 21 16:24 test_oracle_wrap5.plb
-rw-r--r-- 1 oracle oinstall 167 Feb 21 16:23 test_oracle_wrap5.sql
-rw-r--r-- 1 oracle oinstall 1267 Feb 21 16:43 test_oracle_wrap6.plb
-rw-r--r-- 1 oracle oinstall 3655 Feb 21 16:42 test_oracle_wrap6.sql
-rw-r--r-- 1 oracle oinstall 552 Feb 21 15:00 test_oracle_wrap.plb
-rw-r--r-- 1 oracle oinstall 692 Feb 21 14:59 test_oracle_wrap.sql
oracle@zen-VirtualBox:~$ cat test_oracle_wrap6.plb
DELETE FROM report_service_satisfy_total t
WHERE t.acct_day = v_date
AND decode(t.channel_type, 9, 1, 4, 3, 7, 6, t.channel_type) = v_channel;
COMMIT;
CREATE OR REPLACE PROCEDURE zx_test_satisfy_analyse wrapped
a000000
354
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
7
8d4 3b0
UsqjIEQoNf3Spb35eItCneQalf4wgztc10rrfC+LbrB1BRsJw3mqYURRAFP0BQ3fLdYAPrrR
PBxvvb1SKRxU2x2mBt39ytx6iNUc1t7x6FJ4ogwCjSwFT8ETJPYbscWLoWutzzAgICDfxJ/H
EPjJTpL/h52YPxLEvgjPKKk7VmXH3k6JodXTL9MrWcYfWdAVYlY7iwxr8l85r8KFi3EHjdg1
QN84hfZQ90yTp8FxGyuFAvysKsbmDE1AxaUvePZqDbnd7aZGa4KHghEZIyvwLtq9td4vjaY7
Gl3ezWCijsfAaXvmcnKkmnGvnn5Cb82geJ/d2ZncUsb7bYZilav/9p9k9QL6NtMcCkb4V01C
YuLHHBUDL0CoWeYEB3yZOKusEmYWJvyQTQlJFAK9KQeeIXKNYAz91fPH9gSeA1S6w4UlCb6d
Az5GGwOoU2DYVMXT8debif2jwO3iWDauFZcHbLYl0Y1m7qJ1APzYFmpHFq2KaKQ9WaRQU15w
Jb4SM7/s3rDdVhZEdK5CXzKHYThIAoZ81S3FFJJqDitc8DNojlgPF6A7/44+p71jwSHnRe86
0H6MQHlPrAvXe2IpfdoUe0nw0HBWXUEDnusZs/8MuI7BTdDH9XbBU9DHz3bBGtDHwHbBkyzB
MVJu6yL/KQtXUlCqnOwLKI1yn5faDXI0pzwCK4hx0acp1qOnuJFmRNjLHImjxY9IOzvlYjFf
lN9+ILXQZnGchDsYdosevHvCYrEtl2U3zDE+M6TII5f6KaFd9e3NGXPBT52qz+210s2xnLs2
EuTFi63TmOp70TWoviCpvMKghAohkAPOZcXq+nqCp5LJh4+phxOe+nNqSrUI725nWpYubp+a
4YN4r6RI1XTF7UoLi+lFssDWilXvRsmTAsPh94DDpfyXZni0kW6hp/HD0l0o0BWImw== /

印证了Oracle官方文档的说法
Wrapping PL/SQL Code with wrap Utility
The wrap utility processes an input SQL file and wraps only the PL/SQL units in the file,
such as a package specification, package body, function, procedure, type specification, or type body.
It does not wrap PL/SQL content in anonymous blocks or triggers or non-PL/SQL code.

我想是通过在文件中查找开始位置的CREATE OR REPLACE PROCEDURE(function,package body,type)来判断加密开始和结束的位置

Oracle wrap 测试的一些细节问题的更多相关文章

  1. Oracle DG测试failover和后续恢复报告

    Oracle DG测试failover和后续恢复报告 一.概述 二.验证过程: 2.1 A库异常关闭 2.2 B库进行failover切换为新主库 2.3 要求C库成为新主库的备库 2.4 要求A库成 ...

  2. loadrunner 脚本开发-调用java jar文件远程操作Oracle数据库测试

    调用java jar文件远程操作Oracle数据库测试 by:授客 QQ:1033553122 测试环境 数据库:linux 下Oracle_11g_R2 Loadrunner:11 备注:想学ora ...

  3. Oracle数据库测试和优化最佳实践: OTest介绍 (转)

    当前Oracle数据库最佳测试工具OTest *  Otest是用于Oracle数据库测试.优化.监控软件. *  Otest是免费提供给Oracle客户和广大DBA工程师使用的软件.由原厂技术专家王 ...

  4. 使用Oracle Wrap工具加密你的代码

    Oracle提供Wrap工具,可以用于加密你的Package等.不过需要注意的是,加密后的代码无法解密,你需要保管好你的源代码. 以下是个例子: 1.源代码 create or replace fun ...

  5. Oracle wrap 和 unwrap( 加密与解密) 说明

    一. Wrap 说明 官网的说明如下: A PL/SQL Source Text Wrapping http://download.oracle.com/docs/cd/E11882_01/appde ...

  6. 使用Apache JMeter对SQL Server、Mysql、Oracle压力测试(四)

    这篇文章是对前面三篇的一个总结: 1.从测试结果来看,原生的数据库性能分别是:SQL Server(4587)>Oracle(271)>Mysql(145),测试数据量分别为5W.50W. ...

  7. 使用Apache JMeter对SQL Server、Mysql、Oracle压力测试(三)

    接第二篇写 第四步,测试Oracle数据库的性能. a.加载JDBC Oracle驱动,添加线程组和线程属性和前面两部一样,如果有需要可以往前翻看. b.设置JDBC Connection Oracl ...

  8. Oracle 11g 测试ogg中断之后,重新同步操作

    测试ogg中断之后,重新同步操作 2018-06-07 17:11 779 1 原创 GoldenGate 本文链接:https://www.cndba.cn/leo1990/article/2839 ...

  9. oracle 压力测试工具benchmarksql

    TPC-C测试 TPC-C 于 1992 年 7 月 23 日认可为新的基准测试.TPC(Transaction Processing Performance Council,事务处理性能委员会)-C ...

随机推荐

  1. Android_AnimationDrawable介绍及使用

    Drawable animation可以加载Drawable资源实现帧动画.AnimationDrawable是实现Drawable animations的基本类.推荐用XML文件的方法实现Drawa ...

  2. ValueStack基础:OGNL

    ValueStack基础:OGNL 要了解ValueStack,必须先理解OGNL(Object Graphic Navigatino Language)! OGNL是Struts2中使用的一种表达式 ...

  3. 火狐HACK

     /*针对Firefox*/@-moz-document url-prefix() {    #nav{ width:200px; }} 

  4. 学习笔记之Java程序设计实用教程

    Java程序设计实用教程 by 朱战立 & 沈伟 学习笔记之JAVA多线程(http://www.cnblogs.com/pegasus923/p/3995855.html) 国庆休假前学习了 ...

  5. excel vba 打印设置(转)

    FROM: http://hi.baidu.com/kdlipm/blog/item/0897dd16ffc03e59f3de32ab.html PageSetup 函式就會記錄時, 設定的記錄三個部 ...

  6. Spring3之事务管理

    事务管理是企业应用开发中确保数据完整性和一致性的关键技术.对于并发和分布式坏境中从不可预期的错误中恢复来说,事务管理特别重要.Spring作为一个企业应用框架,在不同的事务管理API之上提供了一个抽象 ...

  7. Intent传值之通过Application传值

    传值第五种方式: * 程序的全局变量application * 特点:1.一个程序application对象只能有一个 * 2.application对象在程序启动时就创建 * 3.通常用来存放全局变 ...

  8. Wireshark 过滤条件

    做应用识别这一块经常要对应用产生的数据流量进行分析. 抓包采用wireshark,提取特征时,要对session进行过滤,找到关键的stream,这里总结了wireshark过滤的基本语法,供自己以后 ...

  9. Oracle删除重复数据的几种常用方法

    1.有可区分的主键,其他数据相同 select * from 表名 dl where dl.id not in (select min(d.id) from  表名 d group by 重复列) 2 ...

  10. 通过SPList Definition自定义ListItem打开编辑详细页面

    在SharePoint中对列表SPList的操作里,常常希望当增加一个条目后还希望关联做一些其它的操作 而SharePoint自身提供的Item操作页面却没有那么灵活:所以通常情况下,我们专门为其提供 ...