A5下载数据库类

分类分类

DB2使用经验积累-牛新庄血与泪的教训

DB2使用经验积累-牛新庄血与泪的教训

大小:111 KB更新:2010/07/21

类别:DB2教程系统:WORD

立即下载

该部分经验主要是在首都国际机场,海口梅兰国际机场系统的开发过程中得到的。环境是使用IBM s80机器,AIX4.3操作系统,4G内存,DB2数据库(UDB 7.2版本),
存储设备是EMC磁盘阵列,12对硬盘,做RAID 1,即可用12个硬盘,每个36G。其中4个被用做bcv(也是一个镜像系统,和工作库中的数据一模一样,可以用于快速创建一个和工作环境一样的开发环境。具体不是很懂)。实际可用8个物理硬盘,每个划为4个9G盘。

1 前言 9
2 DB2专有名词解释 9
2.1 INSTANCE(实例) 9
2.2 DB2 ADMINISTRATION SERVER(管理服务器) 9
2.3 CONTAINER(容器) 9
2.4 DRDA 10
2.5 DARI 10
2.6 SPM 10
2.7 FCM 10
2.8 ADSM 10
2.9 DCE 10
3 DB2编程 10
3.1 建存储过程时CREATE 后一定不要用TAB键 10
3.2 使用临时表 11
3.3 从数据表中取指定前几条记录 11
3.4 游标的使用 12
注意commit和rollback 12
游标的两种定义方式 12
修改游标的当前记录的方法 13
3.5 类似DECODE的转码操作 13
3.6 类似CHARINDEX查找字符在字串中的位置 13
3.7 类似DATEDIF计算两个日期的相差天数 14
3.8 写UDF的例子 14
3.9 创建含IDENTITY值(即自动生成的ID)的表 14
3.10 预防字段空值的处理 14
3.11 取得处理的记录数 14
3.12 从存储过程返回结果集(游标)的用法 15
3.13 类型转换函数 16
3.14 存储过程的互相调用 16
3.15 C存储过程参数注意 16
3.16 存储过程FENCE及UNFENCE 17
3.17 SP错误处理用法 17
3.18 VALUES的使用 18
3.19 给SELECT 语句指定隔离级别 18
3.20 ATOMIC及NOT ATOMIC区别 18
3.21 C及SQL存储过程名称都要注意长度 18
3.22 怎样获得自己的数据库连接句柄 19
3.23 类似于ORACLE的NAME PIPE 19
3.24 类似于ORACLE的TRUNCATE清表但不记日志的做法 19
3.25 用CLI编程批量的INSERT 19
4 DB2一些不好的限制 24
4.1 临时表不能建索引 24
4.2 CURSOR不能定义为WITH UR(可以但…) 24
4.3 CURSOR ORDER BY以后不能FOR UPDATE 24
4.4 程序中间不能自由改变隔离级别 24
4.5 UPDATE 不能用一个表中的记录为条件修改另一个表中的记录。 24
4.6 如果显示调用存储过程时传 NULL值要注意 24
5 DB2编程性能注意 25
5.1 大数据的导表的使用(EXPORT,LOAD,IMPORT)(小心) 25
5.1.1 import的用法 25
5.1.2 性能比较 25
5.1.3 export用法 25
5.2 SQL语句尽量写复杂SQL 26
5.3 SQL SP及C SP的选择 26
5.4 查询的优化(HASH及RR_TO_RS) 26
5.5 避免使用COUNT(*) 及EXISTS的方法 27
5.6 COMMIT的次数要适当 27
5.7 INSERT和UPDATE速度比较 27
5.8 使用临时表取代一条一条插入 28
5.9 循环次数很多时注意减少执行语句(附例子) 28
5.10 看程序执行时间及结果DB2BATCH 30
5.11 看程序或语句具体的执行计划SHELL(改写后的语句) 30
5.12 两个表做JOIN的不同方式的区别 30
5.12.1 not in方式 30
5.12.2 except方式 31
5.12.3 not exist方式 32
6 其他系统和DB2的交互 32
7 DB2表及SP管理 33
7.1 权限管理 33
7.1.1 数据库权限控制 33
7.1.2 schema权限控制 33
7.1.3 tablespace权限控制 33
7.1.4 table权限控制 34
7.1.5 package权限控制 34
7.2 建存储过程会占用很多的系统资源(特别是IO) 34
7.3 看存储过程文本 34
7.4 看表结构 34
7.5 看表的索引信息 35
7.6 查看各表对SP的影响(被哪些SP使用) 35
7.7 查看SP使用了哪些表 35
7.8 查看FUNCTION被哪些SP使用 35
7.9 查SP的ID号 35
7.10 从SP的ID号查存储过程名称 35
7.11 创建及使用SUMMARY TABLE 36
7.12 修改表结构 36
7.13 给一个表改名 36
7.14 得到一个表或库的相关脚本 37
7.15 在对表操作的性能下降后对表做整理 37
7.16 查看语句的执行计划 38
7.17 查看SP的执行计划 38
7.18 更改存储过程的隔离级别 38
7.19 取全部表的大小 39
8 DB2系统管理 40
8.1 DB2 EE及WORKGROUP版本的区别 40
8.2 怎样判断DB2实例的版本号和修补级别? 40
8.3 DB2客户端安装时选择语言 41
8.4 DB2安装 42
8.4.1 AIX中自动启动db2 42
8.4.2 AIX中用户使用db2的环境 44
8.4.3 在win98下安装db2报Jdbc错误 44
8.4.4 将一台机器上的数据库复制到另外一台机器 45
8.4.5 在WIN2000下编译本地sp设置 46
8.5 启动支持远程管理数据库服务(DB2ADMIN) 46
8.6 安装另一个INSTANCE要注意的地方 46
8.6.1 通讯配置 46
8.6.2 更改文件权限 46
8.7 DB2的C编译报没有LICSENCE 47
8.8 DB2的进程管理 47
8.9 创建DATABASE 47
8.10 DATABASE的备份 47
8.11 TABLESPACE 48
8.11.1 创建临时表空间 48
8.11.2 将Tablespace授权给用户使用 49
8.11.3 看Tablespace信息 49
8.11.4 去掉tag 49
8.12 手工做数据库别名配置及去除该别名配置 49
8.13 手工做数据库远程(别名)配置 49
8.14 停止启动数据库实例 50
8.15 连接数据库及看当前连接数据库 50
8.16 停止启动数据库HEAD 50
8.17 查看及停止数据库当前的应用程序 50
8.18 查看本INSTANCE下有哪些DATABASE 51
8.19 查看及更改数据库HEAD的配置 51
8.19.1 设置使用2G以外的内存 51
8.19.2 更改Buffer pool的大小 51
8.19.3 更改dbheap的大小 52
8.19.4 改catalogcache的大小 52
8.19.5 改事务buff的大小 52
8.19.6 改工具堆大小 52
8.19.7 改排序堆的大小 52
8.19.8 改stmtheap的大小 53
8.19.9 改事务日志的大小 53
8.19.10 改锁的相关参数的大小 54
8.19.11 出现程序堆内存不足时修改程序堆内存大小 54
8.19.12 NUM_IOCLEANERS及NUM_IOSERVERS数量设置 54
8.19.13 成组commit设置MINICOMMIT 54
8.19.14 设置连接数的相关参数MAXAPPLS 55
8.19.15 设置包缓冲区PCKCACHESZ 55
8.20 日志管理 55
8.20.1 更改日志文件的存放路径 55
8.20.2 监控应用程序日志使用情况 55
8.20.3 循环日志和归档日志 55
8.20.4 循环日志日志满的原因 56
8.21 查看及更改数据库实例的配置 56
8.21.1 打开对锁定情况的监控。 56
8.21.2 更改诊断错误捕捉级别 56
8.21.3 更改最大代理数 56
8.22 DB2环境变量 57
8.23 DB2命令环境设置 58
8.24 改变隔离级别 58
8.25 管理DBINSTANCE的参数 58
8.26 升级后消除版本问题 59
8.27 查看数据库表的死锁 59
8.28 查看数据库的事件 59
8.29 数据库性能下降后做RUNSTATS及REBIND包。 60
8.30 修复诊断数据库DB2DART的使用 60
8.31 获取数据库的信息DB2SUPPORT的使用 60
8.32 分析DB2DIAG.LOG的方法 61
8.32.1 Obj={pool:2;obj:10;type:0}含义 61
8.32.2 错误信息所在位置1(errno) 61
8.32.3 错误信息所在位置1(FFFF nnnn 或 nnnn FFFF) 61
9 DB2一般问题 62
9.1 有关锁的知识 62
9.2 有关锁的对象知识 63
10 DB2疑难问题 63
10.1 建SP时DROP不掉怎么办 63
10.2 C的过程老是出现时间戳问题? 63
10.3 FOR CURSOR问题? 64
10.4 数据库启动资源冲突问题 64
10.5 DB2STOP不下去问题 65
10.6 数据库日志满问题 65
10.7 FORCE APPLICATION导致INSTANCE崩溃问题 66
10.8 存储过程名称和过程运行有关的问题 66
10.9 看DB2DIAG.LOG中的内容 66
10.10 DECIMAL除法的问题,DB2做SUM时有BUG(实际上不是) 66
10.11 CASE的问题 68
10.12 一个较复杂SQL语句错误 69
10.13 编译语句挂起的现象 73
10.14 远程连接连不上去,报TCP/IP错误 76
10.15 TABSPCE实际上没有表,但还是报满 76
11 DB2编程教训 77
11.1 常被大家访问同一记录的表的修改 77
11.2 大表改小表 77
11.3 查询表数据使用UR的隔离级别 77
11.4 DELETE,UPDATE后及时COMMIT 78
12 AIX系统管理 78
12.1 查看磁盘使用情况 78
12.2 看目录的文件占用硬盘情况 78
12.3 看IO情况 78
12.4 查看CPU情况 79
12.5 查看系统资源总的使用情况 79
12.6 看正在运行的线程/进程 79
12.6.1 看正在运行的线程 79
12.6.2 看按占cpu比例排序的进程 79
12.6.3 看按占内存比例排序的进程 79
12.7 查看内存使用情况 79
12.8 查看共享内存、消息队列等使用情况 80
12.9 根下不要建文件系统 80
12.10 文件操作 80
12.10.1 看文本文件自动新增长内容 80
12.10.2 将大文件拆分 80
12.10.3 文件打包 80
12.10.4 文件压缩 80
12.10.5 文件解压 81
12.10.6 bz2文件处理 81
12.11 看逻辑卷信息 81
12.12 重启机器 81
13 AIX系统限制 81
13.1 FORK太多会导致系统崩溃 81
13.2 对文件大小的限制 82
13.3 磁带备份的速度 82
14 AIX及DB2相关文档及网站 82
14.1 取DB2最新补丁程序 82
14.2 国际化的DB2用户组织 82
14.3 错误信息所在位置1(ERRNO) 82
14.4 错误信息所在位置1(FFFF NNNN 或 NNNN FFFF) 83
15 DB2和ORACLE的对比 83
15.1 用户管理不一样 83
15.2 表空间使用不一样 83
15.3 保证事务的一致性方式不一样 83
16 ORACLE上SQL语句性能优化(DB2也可以参考) 84
16.1 ORACLE中索引问题 84
16.2 ORACLE中索引问题 85
17 怎样判断DB2实例的版本号和修补级别? 87
18 在LINUX 上创建DB2裸设备方法 90
19 DB2 RELATIONAL CONN连接SQLSERVER 的方法步骤 91
20 数据库配置参数摘要 94
21 数据库管理程序配置参数摘要 97
22 如何实施存储过程的发布 100
23 表空间重定向 101
24 如何设置RAID环境下的DB2表空间 101
25 DB2的安全管理机制有哪些? 102
26 DB2V7.1在REDHATV7.2下的安装说明 102
27 如何在 RED HAT LINUX 7.1上安装DB2 EEE(扩展企业版) 107
28 DB2DIAG.LOG中大量出现关于TCP/IP协议的DIA3208E错误 112
29 如何在命令行用FETCH命令查看用DECLARE CURSOR(游标)指定的结果集 113
30 问题 如何配置 ODBC.INI? 114
 

精品推荐
同类推荐
      相关文章
      相关下载
      说两句网友评论
        我要跟贴
        取消
        推荐专题