标题 | 详解DB2 9.7中值得DBA关注的几点新特性 |
内容 | 【51CTO独家特稿】首先声明一点,本文不是DB2 9.7新特性的详尽清单,我仅仅列出了针对DBA或开发人员非常重要的清单。 联机方案修改 请看Burt关于联机方案修改的文章,地址:http://www.ibm.com/developerworks/data/library/techarticle/dm-0907db2outages/index.html。 CGTT – 创建全局临时表 现在可以创建全局临时表,再也不用在每次会话中声明临时表了,全局临时表有以下几个好处: 1、CGTT根据授权控制 2、可以在CGTT上定义视图,索引和触发器 3、CGTT和DGTT可以包括LOB数据类型 CREATE GLOBAL TEMPORARY TABLE DGTT_TABLE ( EMP_ID INTEGER, HIRE_DATE TIMESTAMP(3) ) 参数标记 存储过程中的参数可以有默认值。 在调用语句中,你可以直接使用默认值,跳过参数的赋值。 命名参数允许按名称,以任何顺序赋值。 DB2中的SSL连接 DB2允许在Java客户端和服务器之间使用SSL连接,但需要同时对客户端和服务器进行配置才能正常使用。 服务器端配置 使用iKeyman GUI工具创建一个证书数据库,即KeyStore文件; 将你从证书颁发机构购买的服务器数字证书导入到证书数据库; 设置下面的DBM配置参数; ◆ SSL_SVR_KEYDB:密钥存储文件 ◆ SSL_SVR_STASH:Stash文件 ◆ SSL_SVCENAME:SSL端口 另外,选择一个密码套件 ◆ SSL_CIPHERSPECS:允许的加密套件 ◆ SSL_VERSIONS:允许的SSL/TLS版本 开启实例SSL通信功能 db2set DB2COMM=SSL或db2set DB2COMM=SSL,TCPIP 客户端配置 使用ikeyman GUI工具创建一个签名证书数据库; 将你从证书颁发机构购买的服务器数字证书导入到证书数据库。 修改连接属性 .... properties.put("sslConnection", "true"); System.setProperty("javax.net.ssl.trustStore", "/home/db2inst1/client.jks"); System.setProperty("javax.net.ssl.trustStorePassword", "myPassword"); .... con = java.sql.DriverManager.getConnection(url, properties); SSL握手是如何工作的? 客户端请求一个SSL连接,列出它的SSL版本和支持的加密套件; 服务器使用一个选定的加密套件进行响应; 服务器将它的数字证书发给客户端; 客户端验证服务器的证书(服务器验证); 客户端和服务器安全地协商一个会话密钥; 客户端和服务器使用前面选定的密钥安全地交换信息。 XML增强 在XML处理方面有一些增强,值得关注的是: 对pureXML的完整支持; XDA对象中的XML文档也可以压缩; XML索引在线重组; UDF中可以使用XML列; MDC表中可以使用XML列; 来自查询CLP命令的DECOMP:为了拆分XML文档,可以使用DECOMPOSE XML DOCUMENTS IN <select_statement> XMLSCHEMA <xmlschemaname>; 来自查询存储过程的DECOMP:sysproc.xdb_Decomp_XML_From_Query; ADMIN_IS_INLINED和ADMIN_EST_INLINE_LENGTH可以用于了解XML或LOB是否内联或其长度。 DECOMP示例: DECOMPOSE XMDOCUMENTS IN 'SELECT DOCID, SALESDOC FROM ABC.SALESTAB' XMLSCHEMA ABC.SALES MESSAGES /home/myid/errors/errorreport.xml CALXDB_DECOMP_XML_FROM_QUERY ( 'ABC', 'SALES', 'SELECT DOCID, SALESDOC FROM ABC.SALESTAB', 0, 0, 0, NULL, NULL, 1, :hnumInput, :hnumDecomposed, :herrorreportBuf); 注意:XDA=存储XML文档,且在基础表中没有内联的对象。 CLPPLUS vs SQL*Plus DB2有一个和Oracle的SQL*Plus类似的工具,叫做CLPPlus,如果你知道怎么用SQL*Plus,那你一定会用CLPPlus。 DB2中的PL/SQL 这个听起来似乎最能吸引人们的目光,试想一下你在DB2中使用Oracle PL/SQL的感觉,记住Oracle已经有20年的PL/SQL开发经验,因此与Oracle比起来还是有差距的,但相信IBM会越做越好。 DB2中的PL/SQL编译器是天生的,不是什么屏蔽层,不是将PL/SQL转换成DB2 SQL PL,因此可以在代码级调试PL/SQL。 支持的DBMS包: DBMS_OUTPUT UTL_FILE DBMS_ALERT DBMS_PIPE DBMS_JOB DBMS_LOB DBMS_SQL DBMS_UTILITY UTL_MAIL UTL_SMTP 支持的PL/SQL特性 所有语言逻辑支持,如IF, WHILE :=等; 异常 - Try/catch处理; 用户定义的异常; 常数变量 – 变量不能被设置; 单步调试查询结果集; 单步调试游标结果集; %TYPE – 锚标数据类型; %ROWTYPE – 锚标行类型; BULK COLLECT/FETCH – 将结果集聚集到数组中; FORALL – 将数组输入到SQL语句; AUTOMONOUS事务 – 在一个独立的TX中执行一个存储过程; 匿名块; 标量函数; 存储过程; 包; 触发器; 包上的同义词。 DB2中的Oracle类型: NUMBER VARCHAR2 - NULL = '',尾部空白敏感整理 TIMESTAMP(n) - 0 (date + time) <= N <= 12(日期+时间+皮秒) DATE – 年到秒,sysdate BOOLEAN INDEX BY VARRAY Row Type Ref Cursor – 允许传递和预定义游标 DB2中重要的Oracle函数部分清单 TO_CHAR, TO_DATE, TO_TIMESTAMP, TO_NUMBER, TO_CLOB EXTRACT, ADD_MONTHS, ... INITCAP, RPAD, LPAD, INSTR, REVERSE, ... DECODE, NVL, LEAST, GREATEST, BITAND DB2中的Oracle SQL清单 CONNECT BY (+)-join DUAL ROWNUM NEXTVAL/CURRVAL MINUS Unnamed inline views TRUNCATE table Public synonym CREATEd temp table 职责分离 SYSADM在DB2中当上帝的日子一去不复还了,现在各个角色的分工非常明确。 有了数据库级的SECADM后,赋予SYSADM的DBADM肯定会移除了; SECADM现在可以被分配给ROLE和GROUP; SECADM现在可以授予/取消数据库和对象认证; DBADM可以按这种方式创建,因此它不能看到数据,也不能执行授权/撤销授权; DBADM不能获得间接授予的权限; 创建了新的权限,如EXPLAIN, DATAACCESS, ACCESSCTRL, SQLADM, WLMADM。 自动存储 新增了一些自动化存储方面的功能,值得关注的是: 当现有存储路径被填满后,你可以在线增加一个存储路径,如果你想跨4个存储路径条带化数据以获得高并行能力,可以使用ALTER TABLESPACE myts REBALANCE命令重新平衡数据,另外还可以使用ALTER TABLESPACE myts REDUCE命令减小高水位标记; 你可以使用ALTER DATABASE DROP STORAGE PATH ON 'path1'删除一个存储路径,存储路径被修改成DROP PENDING状态,所有的表空间被标记为“基本存储路径已经被删除”,当所有使用它的表空间通过ALTER TABLESPACE ts1 REBALANCE重新平衡后,DROP PENDING存储路径被移除; ALTER TABLESPACE ts1 REDUCE命令将会释放截留的空间,不允许高水位标记低于早前的DB2版本; 你可以将非自动化存储数据库转换成自动化存储数据库: ◆ALTER DATABASE ADD STORAGE支持非自动化存储数据库; ◆上面的命令给数据库增加一个存储池; ◆它允许使用自动化存储创建新的表空间。 你可以将非自动化存储DMS表空间转换成自动化存储表空间: ◆ALTER TABLESPACE … MANAGED BY AUTOMATIC STORAGE; ◆来自新存储路径的新增长被添加到数据库中; ◆旧容器可以使用DROP或REBLANCE移除。 使用自动化存储,可以从旧的DMS执行REDIRECTED RESTORE恢复到新表空。 在线表移动 |
随便看 |
|
在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。