对一些代码加密后再放到Oracle数据库中
无忧教程网整理
在Oracle数据库中我们可以先用wrap工具对source code加密后再放到DB中去,之前很少用,现因特殊状况需对一些代码加密后再放到数据库中。在下面的示例中,只需一个in,还有一个out即可。
C:UserData>type collect_all_db_account_info.SQLCREATE OR REPLACE PROCEDURE collect_all_db_account_info ISCURSOR c_DB_LINK ISSELECT HOST FROM USER_DB_LINKS;BEGINfor r_link in c_db_link loopEXECUTE IMMEDIATE 'INSERT INTO perfadm.all_db_account_info SELECT DISTINCT vd.dbid db_id, vd.NAME db_name, d.username, d.PASSWORD,d.account_status, d.default_tablespace,d.temporary_tablespace, d.PROFILE, d.created, p.SYSDBA,p.SYSOPER, SYSDATE collect_date FROM v$database@'||r_link.host||' vd, dba_users@'||r_link.host||' d, v$pwfile_users@'||r_link.host||' p WHERE p.username(+) = d.username';COMMIT;end loop;COMMIT;EXCEPTIONWHEN NO_DATA_FOUND THENNULL;WHEN OTHERS THEN-- Consider logging the error and then re-raiseRAISE;END collect_all_db_account_info;/C:UserData>wrap iname=collect_all_db_account_info.SQL oname=wcollect_all_db_account_info.plbPL/SQL Wrapper: Release 9.2.0.6.0- Production on Fri Jul 14 15:52:18 2006Copyright (c) Oracle Corporation 1993, 2001. All Rights Reserved.Processing collect_all_db_account_info.SQL to wcollect_all_db_account_info.plbC:UserData>type wcollect_all_db_account_info.plbCREATE OR REPLACE PROCEDURE collect_all_db_account_info wrapped0abcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcd379200000140122 :e:1COLLECT_ALL_DB_ACCOUNT_INFO:1CURSOR:1C_DB_LINK:1HOST:1USER_DB_LINKS:1R_LINK:1LOOP:1EXECUTE:1IMMEDIATE:1INSERT INTO perfadm.all_db_account_info SELECT DISTINCT vd.dbid db_id, vd.NAM+1E db_name, d.username, d.PASSWORD,d.account_status, d.default_tablespace,d.te+1mporary_tablespace, d.PROFILE, d.created, p.SYSDBA,p.SYSOPER, SYSDATE collect+1_date FROM v$database@:1||:1 vd, dba_users@:1 d, v$pwfile_users@:1 p WHERE p.username(+) = d.username:1COMMIT:1NO_DATA_FOUND:1OTHERS:1RAISE:0006220 9a b4 55 6a a0 f4 b4bf c8 a0 ac a0 b2 ee acd0 e5 e9 bd b7 11 a4 b191 :2 a0 37 :2 a0 6e 7e :2 a0 6bb4 2e 7e 6e b4 2e 7e :2 a06b b4 2e 7e 6e b4 2e 7e:2 a0 6b b4 2e 7e 6e b4 2e11e 11d a0 57 a0 b4 e9 b7a0 47 a0 57 a0 b4 e9 b7a0 4f b7 a6 9 a0 53 a062 b7 a6 9 a4 a0 b1 1168 4f 1d 17 b56220 3 17 18 1c 20 24 3536 39 3d 41 42 46 47 4e4f 53 59 5e 63 65 71 7577 7b 7f 83 85 89 8d 9295 99 9d a0 a1 a6 a9 aeaf b4 b7 bb bf c2 c3 c8cb d0 d1 d6 d9 dd e1 e4e5 ea ed f2 f3 f8 fd 101105 10a 10e 10f 114 116 11a 121125 12a 12e 12f 134 136 13a 13c13e 13f 144 1 148 14c 14f 151152 157 15b 15f 161 16d 171 173174 17d6220 b 0 :2 1 4 b 0 :2 4:2 c 16 11 16 11 :3 5 :5 4 711 1b 3 5 d 17 116 118:2 11f :2 17 123 125 :2 17 136 138 :2 13f:2 17 143 145 :2 17 15a 15c :2 163 :2 17167 169 :2 17 :7 5 1b 7 :6 3 18 5 16 :2 3 :2 8 :2 5 f :2 31 5 :7 16240 1 0 :2 1:2 2 0 :2 2 :9 3:5 2 :4 6 :23 7 :5 86 9 6 :5 a4 c d :3 c:2 e :2 10 :3 e b11 :7 117f4:3 0 1 :a 0 5d1 :8 0 2 :2 05d 1 3 :2 02 :3 0 3 :a 02 13 :5 0 69 0 7 :3 04 :3 0 3 5:3 0 5 d :2 0f :5 0 b e0 10 :6 0 11:2 0 14 6 915 0 5b 715 17 14 16:6 0 13 :7 0 156 :3 0 3 :3 07 :3 0 18 198 :3 0 9 :3 0a :4 0 b :2 06 :3 0 4 :3 020 21 0 91f 23 :3 0 b:2 0 c :4 0 c25 27 :3 0 b:2 0 6 :3 0 4:3 0 2a 2b 0f 29 2d :3 0b :2 0 d :4 012 2f 31 :3 0b :2 0 6 :3 04 :3 0 34 350 15 33 37:3 0 b :2 0 e:4 0 18 39 3b:3 0 3c :4 0 3d:2 0 44 f :3 041 42 :2 0 43f :5 0 40 :2 044 1b 46 7:3 0 1b 44 :4 04c f :3 0 494a :2 0 4b f:5 0 48 :2 0 4c1e 5c 10 :4 04f 21 51 2350 4f :2 0 5911 :3 0 12 :5 056 25 58 2757 56 :2 0 5929 :2 0 5c 1:3 0 2c 5c 5b4c 59 :6 0 5d:2 0 1 3 5c60 :3 0 5f 5d61 :8 02e4:3 0 1 a 1c 1 12 21e 22 2 2426 2 28 2c2 2e 30 232 36 2 383a 2 3e 432 46 4b 14e 1 4d 155 1 53 251 58 1 13140600114330 1 1 0 0 0 0 00 0 0 0 0 0 0 00 0 0 06 1 21 0 118 3 00/C:UserData>C:UserData>sqlplus /nologSQL*Plus: Release 9.2.0.6.0 - Production on Fri Jul 14 15:53:36 2006Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.SQL> conn perfadm@perfdb226Enter password:Connected.SQL> drop procedure collect_all_db_account_info;Procedure dropped.SQL> @wcollect_all_db_account_info.plbProcedure created.SQL>
(责任编辑:卢兆林)