网站首页  汉语字词  英语词汇  考试资料  写作素材  旧版资料

请输入您要查询的考试资料:

 

标题 详解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恢复到新表空。
    在线表移动
随便看

 

在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。

 

Copyright © 2002-2024 cuapp.net All Rights Reserved
更新时间:2025/5/24 13:50:04