表空间类型分为sms和dms,分别是systemmanagementspace,databasemanagementspace.sms使用方便,简单,无需手工创建和维护数据存储文件。dms需要手动指定container和存储数据的文件名,并保证有足够磁盘空间可用。 对于一个数据库,至少存在一个pagesize为4k的系统临时表空间,可以额外建立具有更大pagesize的用户临时表空间,系统会自动进行使用。 无法用alter语句更改一个字段的数据类型,对某些字段可以更改数据长度,这一点上相对于oracle,db2的限制要多一些。 可以使用:select表达式fromsysibm.sysdummy;替代的,以下语句是等价的:values表达式; 表和视图的创建、更新、删除操作,都写日志,因此可以commit或rollback。 在update语句中,如果没有对定义了默认值的某个字段显...
db2基本概念 在db2中由上至下的几个概念: 实例(instance), 数据库(database), 表空间(tablespace), 容器(container) 在一个操作系统中,db2数据服务可以同时运行多个实例(有别于oracle在一个系统内只能起一个实例). 数据库定义在实例中,一个实例可以包含多个数据库。在同一个实例中的不同数据库是完全独立的,分别拥有自己独立的系统编目表。 表空间有2种管理方式: dms(databasemanagementspace)方式 sms(systemmanegementspace)方式 dms与sms方式在表空间建立时指定,建好后不能转换。对于dms方式,一个表空间对应了一个或多个容器(container),容器指定了数据的物理存储位置。对于sms方式,只能够指定一个目录,不能够增加。 表空间具有以下类型: 系统编目表...
规划方案: 假定您将使用一个生成报告的应用程序。此应用程序需要存在于sample数据库的department表中的数据。您不想使用直接来自源表的数据,而想将更改复制到只能由生成报告的应用程序读取的目标表中。为了便于管理,您要将目标表与源表保存在同一机器上。也可以是已编目导本地机器的网络上的其它数据库。 数据复制方案实施步骤: 开始之前 1.首先确定在将要实施复制计划的机器上已经安装db2,已经建立实例。 2.确定您将要用户复制的源数据库和目标数据库,可以在同一台机器上,也可以是在网络上的数据库,需要编目到本地。 3.确定您对源数据库和目标数据库有存取权限。假定源数据库是sample库,目标数据库是copydb库。 4.在您的机器上建立copydb库。 规划此方案 1.复制源 您已经知道了复制源就是sample数据库中的schema.dep...
4.11 db2环境变量 db2重装后用如下方式设置db2的环境变量,以保证sp可编译 将set_cpl放到aix上,chmod+xset_cpl,再运行之 set_cpl的内容 db2setdb2_sqlroutine_compile_command="xlc_r-g -i%24home/sqllib/includesqlroutine_filename.c -be:sqlroutine_filename.exp-esqlroutine_entry -osqlroutine_filename-l%24home/sqllib/lib-lc-ldb2" db2setdb2_sqlroutine_keep_files=1 4.12 db2命令环境设置 db2=>listcommandoptions db2=>updatecommandoptionsusingcoff--或on,只是临...
4.8 查看本instance下有哪些database db2listdatabasedirectory[on/home/db2inst1] 4.9 查看及更改数据库head的配置 请注意,在大多数情况下,更改了数据的配置后,只有在所有的连接全部断掉后才会生效。 查看数据库head的配制 db2getdbcfgforhead 更改数据库head的某个设置的值 4.9.1 改排序堆的大小 db2updatedbcfgforheadusingsortheap2048 将排序堆的大小改为2048个页面,查询比较多的应用最好将该值设置比较大一些。 4.9.2 改事物日志的大小 db2updatedbcfgforheadusinglogfilsiz40000 该项内容的大小要和数据库的事物处理相适应,如果事物比较大,应该要将该值改大一点。否则很容易处理日志文件满的错误。 4.9.3 出现程序堆内存不...
4.2 创建database createdatabaseheadusingcodesetibm-euccnterritorycn; 这样可以支持中文。 4.3 手工做数据库远程(别名)配置 db2catalogtcpipnodenode1remote172.28.200.200server50000 db2catalogdbheadastest1 atnodenode1 然后既可使用: db2connecttotest1user…using… 连上head库了 4.4 停止启动数据库实例 db2start db2stop(force) 4.5 连接数据库及看当前连接数据库 连接数据库 db2connecttoheaduserdb2inst1usingdb2inst1 当前连接数据库 db2connect 4.6 停止启动数据库head db2activatedbhead db2deact...
3.4 查看sp使用了哪些表 selectbnamefromsyscat.packagedepwherebtype='t'andpkgnamein(selectbnamefromsysibm.sysdependencieswherednamein(selectspecificnamefromsyscat.procedureswhereprocname='pr_clear_match_divide_sha')) 3.5 查看function被哪些sp使用 selectprocnamefromsyscat.procedureswherespecificnamein(selectdnamefromsysibm.sysdependencieswherebnamein(selectpkgnamefromsyscat.packagedepwherebnamein(selectspeci...
2.2 sql语句尽量写复杂sql 尽量使用大的复杂的sql语句,将多而简单的语句组合成大的sql语句对性能会有所改善。 db2的sqlengieer对复杂语句的优化能力比较强,基本上不用当心语句的性能问题。 oracle则相反,推荐将复杂的语句简单化,sqlengieer的优化能力不是特别好。 这是因为每一个sql语句都会有resetsqlcode和sqlstate等各种操作,会对数据库性能有所消耗。 一个总的思想就是尽量减少sql语句的个数。 2.3 sqlsp及csp的选择 首先,c的sp的性能比sql的sp的要高。 一般而言,sql语句比较复杂,而逻辑比较简单,sqlsp与csp的性能差异会比较小,这样从工作量考虑,用sql写比较好。 而如果逻辑比较复杂,sql比较简单,用c写比较好。 2.4 查询的优化(hash及rr_to_rs) db2set db2_hash_join=y ...
1.16 存储过程fence及unfence fence的存储过程单独启用一个新的地址空间,而unfence的存储过程和调用它的进程使用同一个地址空间。 一般而言,fence的存储过程比较安全。 但有时一些特殊的要求,如要取调用者的pid,则fence的存储过程会取不到,而只有unfence的能取到。 1.17 sp错误处理用法 如果在sp中调用其它的有返回值的,包括结果集、临时表和输出参数类型的sp, db2会自动发出一个sqlwarning。而在我们原来的处理中对于sqlwarning都 会插入到日志,这样子最后会出现多条sqlcode=0的警告信息。 处理办法: 定义一个标志变量,比如declarev_statusintegerdefault0, 在callspname之后,setv_status=1, declarecontinuehandlerforsqlwarning begi...
1.10 预防字段空值的处理 selectdeptno,deptname,coalesce(mgrno,'absent'),admrdept fromdepartment coalesce函数返回()中表达式列表中第一个不为空的表达式,可以带多个表达式。 和oracle的isnull类似,但isnull好象只能两个表达式。 1.11 取得处理的记录数 declarev_countint; update tb_test set t1=’0’ where t2=’2’; --检查修改的行数,判断指定的记录是否存在 getdiagnostics v_count=row_count; 只对update,insert,delete起作用. 不对selectinto有效 1.12 从存储过程返回结果集(游标)的用法 1、建一sp返回结果集 createproceduredb2inst1.pro...
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器