Oracle 10g可以在线加密过程

Oracle提供了WRAP工具,可以对存储过程进行加密,而在10g中,这个操作已经可以在数据库中完成。

Oracle的DBMS_DDL增加了一个WRAP函数,通过这个函数,就可以返回加密后的过程:

SQL> select dbms_ddl.wrap('create procedure p_wrap as begin null; end;') from dual;

DBMS_DDL.WRAP('CREATEPROCEDUREP_WRAPASBEGINNULL;END;')

--------------------------------------------------------------------------------------

create procedure p_wrap wrapped

a000000

354

abcd

abcd

abcd

abcd

abcd

abcd

abcd

abcd

abcd

abcd

abcd

abcd

abcd

abcd

abcd

7

25 59

fpR2Lh8mLtoZnFowf5kMdCUxdiYwg5nnm7+fMr2ywFwW45aW8lZpuHQruMAy/tJepZmBCC0r

uIHHLcmmprNznsM=

有了这个功能,用户就不需要单独执行命令行的wrap工具了,存储过程的加密工作在数据库中就可以完成。

Oracle还有更加方便的功能,根据未加密的存储过程直接创建加密后的过程:

SQL> exec dbms_ddl.create_wrapped('create procedure p_wrap as begin null; end;')

PL/SQL procedure successfully completed.

SQL> select text from user_source where name = 'P_WRAP' order by 1;

TEXT

------------------------------------------------------------------------------------

procedure p_wrap wrapped

a000000

354

abcd

abcd

abcd

abcd

abcd

abcd

abcd

abcd

abcd

abcd

abcd

abcd

abcd

abcd

abcd

7

25 59

fpR2Lh8mLtoZnFowf5kMdCUxdiYwg5nnm7+fMr2ywFwW45aW8lZpuHQruMAy/tJepZmBCC0r

uIHHLcmmprNznsM=

对于长度超过32767的存储过程,CREATE_WRAPPED过程还重载了其他两个方法,用户可以将存储过程切割成256或32767的字符串,存储到一个索引表中,接口是DBMS_SQL.VARCHAR2S和DBMS_SQL.VARCHAR2A。

使用CREATE_WRAPPED使得创建机密的存储过程变得更加的简单。

时间: 2024-09-01 15:07:37

Oracle 10g可以在线加密过程的相关文章

oracle 10g dataguard的部署过程

本文档只是部署dataguard的过程,不涉及概念的解释和说明,更没有dataguard理论原理的介绍,关于这方面内容,请查看oracle官方文档. 操作系统:RedHat 4.2 [oracle@dg1 ~]$ uname -a Linux dg1 2.6.9-22.EL #1 Mon Sep 19 18:20:28 EDT 2005 i686 i686 i386 GNU/Linux Oracle 软件:ORACLE 10g Release 10.2.0.1.0 主机信息: 机器名:dg1 I

oracle 10g在线重定义新特性:关联对象自动重命名(二)

9i的在线重定义存在一个问题,执行完在线重定义后,表的名称虽然保持不变,但是索引.约束.触发器等关联对象的名称会发生变化,有时候这会带来一定的问题,而要在事后手工修改,会比较麻烦. 10g的在线重定义解决这个问题.如果对象是利用COPY_TABLE_DEPENDENTS创建的,那么这些关联的对象在重定义操作完成后,自动改为原始的名称.如果是手工创建的关联对象,则可以利用REGISTER_DEPENDENT_OBJECT过程,所有执行了REGISTER_DEPENDENT_OBJECT过程的关联对

oracle 10g在线重定义新特性:关联对象自动重命名(一)

10g的在线重定义解决这个问题.如果对象是利用COPY_TABLE_DEPENDENTS创建的,那么这些关联的对象在重定义操作完成后,自动改为原始的名称.如果是手工创建的关联对象,则可以利用REGISTER_DEPENDENT_OBJECT过程,所有执行了REGISTER_DEPENDENT_OBJECT过程的关联对象,都会在重定义操作完成后自动重命名. 这篇文章来看COPY_TABLE_DEPENDENTS的例子. 首先看看9i下的例子: SQL> SELECT * FROM V$VERSIO

Oracle 10g中过程PROCEDURE重建的增强

dcba上周有了一个新的发现,在Oracle10g中,当重建一个存储过程时,Oracle的行为和以前有所不同. 在Oracle9i中,即使一个完全相同的过程的重建,Oracle也需要重新编译过程,这个可以从LAST_DDL_TIME看出: [oracle@jumper oracle]$ sqlplus eygle/eygle SQL*Plus: Release 9.2.0.4.0 - Production on Sat Mar 31 17:52:55 2007 Copyright (c) 198

oracle 9i 和oracle 10g 和oracle 11g区别

本文转自网络,其实这几个版本的内容有很多不同,本文只是做一个概括性说明,具体不同,我会在日后的博客中逐渐写出来. oracle 9i 和oracle 10g 和oracle 11g有什么区别??           简要说:     9i更易于管理. 详细说:     并发集群,8i OPS升级为9i RAC,8i结点间用硬盘交换信息,9i结点间采用高速网线的缓存熔合(Cache Fusion)技术交换信息,交换速度提高100倍以上.     9i可以在线修改内核参数和内存分配,8i不行.  

Oracle 10g lite 介绍

原文整理自网络: 摘要:近年来,嵌入式数据库发展迅速,出现了许多优秀的软件产品,这些产品可以广泛应用于资源紧张的嵌入式计算机或手持终端.Oracle作为著名数据库厂商也推出了自己的嵌入式数据库产品.本文着重介绍了ORACLE10G LITE嵌入式数据库系统的特点.机制以及如何应用于某机动式指挥系统. 中国论文网 关键词:嵌入式数据库:手持终端:Oracle 10g lite 中图分类号:TN915.09 文献标识码:A文章编号:1007-9599 (2012) 08-0000-02 一. 嵌入式

Oracle中对列加密的方法

Oracle支持多种列加密方式: 1,透明数据加密(TDE):create table encrypt_col(id int,txt varchar2(100) encrypt using '算法名称' identified by '密钥' no salt);优点:对应用完全透明缺点:需要数据库管理员管理wallet,增加了管理复杂性,也无法避免数据库管理员查看原文. 2,使用DBMS_CRYPTO包优点:只要应用程序保存好密钥,数据库管理员无法察看: 测试:DECLARE   input_st

冷备份/还原Oracle数据库 以及 Oracle 10g的Enterprise Manager登陆问题

enterprise|oracle|备份|数据|数据库|问题 冷备份/还原Oracle数据库By kayuk 1.备份数据库 备份?oradata\DB2(数据库DB2所存储的文件夹)中的所有DBF.CTL.LOG文件. 备份?database中的initDB2.ora文件.(数据库??备份文件init??.ora) 2.恢复数据库过程 a.删除原数据库 connect sys/ora123 as sysdbastartup mount restrictdrop databaseshutdown

Oracle 10g(10.1.0.2)中的OPTIMIZER

oracle Oracle 10g(10.1.0.2)中的OPTIMIZER_INDEX_COST_ADJ Tom Kyte的新书Effective Oracle by Design的第6章 Getting the Most Out of the Cost-Based Optimizer中介绍了参数OPTIMIZER_INDEX_COST_ADJ,并认为可以理解为Oracle执行多块(MultiBlock)I/O(比如全表扫描)的代价与执行单块(Single-block)I/O代价的相对比例.T