网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > DB2教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.使用IBM DB2数据库时必须了解的几.
.在Linux上实现DB2双机HA完整方案.
.讲解DB2 V9.5工作负载管理之定义.
.深入探讨联邦数据库系统基本诊断.
.讲解一个标准规则的集合─DB2优化.
.高手教你用VCS配置DB2双机-高级(.
.定制DB2通用数据库命令行处理器.
.DB2数据库为单个会话锁定技巧.
.在不久的将来有望替代DBA头衔的A.
.解决DB2数据库备份参数修改后的报.
.DB2提供的两种DB连接方式type1和.
.如何为 DB2 Cube Views 构建元数.
.用.Net开发DB2数据库应用程序(1.
.使用DB2 Cloning Tool克隆主机DB.
.初学者必读:IBM DB2数据库优化措.
.理解DB2 9中新的查询:XQuery.
.DB2备份恢复数据库步骤.
.DB2崩溃后用事务日志恢复的原理和.
.当多个用户访问同一数据库时会发.
.提高商业智能环境中DB2查询的性能.

教你轻松掌握DB2 9.5的数据库内存保护

发表日期:2008-3-20


在DB2 9.5版本中,数据库引擎由基于过程模式转变为线程模式,这将意味着整个数据库引擎都在一个地址空间下(任何代码段都可以访问任何全局变量)。这自然是有利也有弊。其中一个有利的方面是线程比过程更“轻”,这表示DB2的性能更好。有人做过测试显示DB2 9.5的性能在负荷运行情况下比相同状态下的DB2 9.1提升了2%到5%。

而不利的方面是,在任何与缓冲池无关的任何db2代码路径中的任何db2错误都有可能会破坏数据页。此外,和db2共享相同地址空间的非保护模式下的用户自定义函数(unfenced UDF)也有可能会破坏内存页。而后,这些不正确数据页就会在毫不察觉的情况下被写入磁盘里,而你很可能永远都不会知道这些数据已经出现了不一致。线程模式还会产生与非保护模式下的用户自定义函数相关的安全问题,因为线程模式在潜在情况下会允许恶意用户代码在没有得到授权的情况下读写数据页。如果在保护(fensed)模式下运行用户自定义函数,这些问题就都不成问题,用户代码会通过一个子过程执行并且会通过IPC与DB2进行交流,唯一的问题就是这样做比在非保护模式下运行要慢很多。

在IBM的Power6 CPU上市的时候,也带来了一项用于内存保护的新技术就是用户级别存储键技术。这里不是说的内核级别存储键,这个已经存在了一段时间,而用户级别的存储键则是个新东西。存储键能够使应用程序锁定内存页,防止对其进行任何形式的读写组合操作。

必须支持CPU上的存储键是因为内存访问的速度非常之快(达到纳秒级),在软件水平是无法做到的。存储键使在用户空间执行的DB2引擎能够防止代码段对缓冲池数据页进行无授权的读写操作。当然,如果你是在AIX上运行Power6处理器,那这只是其中一个可选的保护措施。启动该功能需要5%到6%的性能开销。用下面的语句启动该功能:

以下是引用片段:

db2set DB2_MEMORY_PROTECT=yes 
RESTART YOUR INSTANCE

你需要运行AIX 5.3 ML6(或更高版本)或AIX 6.1版操作系统。

假如你还在AIX上开发c或c++代码,而且并不适用Java的话,你可以选择使用ukey_protect( address, size, UKEY_PRIVATE)函数来协助保护数据内存结构。

上一篇:讲解一个标准规则的集合─DB2优化器 人气:1382
下一篇:讲解DB2数据库编程所应掌握的基本知识 人气:1932
浏览全部DB2的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐