DB常维护手册Word下载.docx

上传人:b****6 文档编号:17516857 上传时间:2022-12-06 格式:DOCX 页数:15 大小:24.45KB
下载 相关 举报
DB常维护手册Word下载.docx_第1页
第1页 / 共15页
DB常维护手册Word下载.docx_第2页
第2页 / 共15页
DB常维护手册Word下载.docx_第3页
第3页 / 共15页
DB常维护手册Word下载.docx_第4页
第4页 / 共15页
DB常维护手册Word下载.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

DB常维护手册Word下载.docx

《DB常维护手册Word下载.docx》由会员分享,可在线阅读,更多相关《DB常维护手册Word下载.docx(15页珍藏版)》请在冰豆网上搜索。

DB常维护手册Word下载.docx

#db2loadquerytabletest1

5.查看磁盘空间

查看数据库活动日志目录是否已满,活动日志目录可以使用getdbcfg查看,注意一定不要手工删除活动日志

#df-k

查看SMS表空间对应的容器目录空间是否满了

查看DMS表空间中是否还有可用页

#db2listtablespacesshowdetail//在单分区上查看表空间的是否还有可用页

#db2_alllisttablespacesshowdetail//在所有分区上查看表空间是否还有可用页

6.检查存储管理软件是否正常

请检查TSM或其他存储管理软件是否正常,以及磁带机是否运行正常。

7.检查数据库备份是否正常

请查看TSM或第三方存储管理软件,看备份映像文件是否完整的保存到了磁带机上了,想在DB2上查看备份情况,可以使用LIST命令

#db2listhistorybackupallfor数据库名

8.检查归档日志是否正确归档了

请确保活动日志目录下没有的日志文件都已经正确归档到了带机上(查看TSM或第三方存储管理软件)。

查看活动目录里的日志文件:

#ls-l

9.查看缓冲池的命中率

#db2getsnapshotforbufferpoolsondbname

查看缓冲池的命中率,看其是否低于95%(命中率越高越好)

10.查看当前运行最频繁的SQL,其命中率是否正常

#db2getsnapshotforbufferpoolsondbname>

log.txt

用grep命令查看"

Numberofexecutions"

执行次数最频繁的语句,看其命中率是否正常。

比如:

grep-n"

snap.out|grep-v"

=0"

|sort-k5,5rn|more

11.查看当前连接的应用程序,有没有非法连接

#db2listapplicationsshowdetail

看这些连接的情况,看有没有不合适的IP连上来,或者不被允许的第三方工具连上来,比如一些第三方工具连上来会对表进行锁定,影响业务系统正常运行,这个时候可以用FORCEAPPLICATIONS(应用程序句柄)停下来。

12.检查有没有死锁

#db2getsnapshotforallon数据库名>

用grep命令查看输出的文件中是否有死锁的记录,比如

Deadlocksdetected"

log.txt|grep-v"

|more

13.对表和索引进行runstats

#db2runstatsontabletablenameandindexall

对系统表以及变化比较频繁的表运行统计信息,建议写成shell脚本自动运行。

14.检查表是否需要重组

使用REORGCHK命令,通过统计数据检查表是否需要重组,语法如下:

REORGCHK[UPDATE|CURRENT]STATISTICSON[TABLESYSTEM|TABLEUSER|TABLEALL|TABLEtable_name|SCHEMAschema_name]

UPDATESTATISTICS:

更新表的统计数据,根据该统计数据判断是否需要重组表

CURRENTSTATISTICS:

根据当前表统计数据判断是否需要重组表

TABLEtable_name:

对单个表进行分析

TABLEALL:

对数据库所有的表进行分析

TABLESYSTEM:

对系统表进行分析

TABLEUSER:

对当前用户模式下的所有表进行分析

#db2reorgchkupdatestatisticsontableall

15.对需要重组的表进行重组

#db2reorgtable表名//通过重构行来消除“碎片”数据

#db2reorgindexesallfortable表名//只重组索引

reorgtabledb2inst1.orgindexby_id

将根据索引by_id,如果不加INDEX选项将重组表和所有的索引:

reorgtabledb2inst1.orgindexby_idusetempspace1

使用指定的临时表空间重组表

表重组完成后需要进行RUNSTATS。

另外,记住在分区数据库环境中,如果想在所有节点运行命令,需要使用db2_all命令。

二、DB2日常维护月操作

1.查看DB2日志

请至少每月查看一次db2diag.log(在DB2安装目录下可搜索该日志文件),看其中是否有异常。

2.检查备份和日志是否都保存好了

通过TSM或第三方存储管理软件,查看备份和归档日志是否都保存好了,在数据库级别查看备份,可以使用:

#db2listhistorybackupallfordbname

三、DB2日常维护季度操作

1.通过快照监控器,查看系统性能如何

通过快照监控器,抓取数据库的信息,分析数据库性能是否合理:

#db2getsnapshotforallondbname>

2.数据库补丁级别

#db2level

四、注意事项

1.不要删除活动日志文件

DB2的活动日志文件不能被删除。

一旦DB2的活动日志文件被删除,或者所在的存储设备出现问题,则不可避免地造成DB2数据库系统宕机。

2.注意交易日志存储空间

在归档日志模式下,如果没有使用自动归档方式,则存储的日志文件会不断增多,有可能造成日志所在的文件系统空间满。

当这种情况发生时,会根据参数BLK_LOG_DSK_FUL的配置而有不同的现象:

1)如果该参数启用,则DB2数据库可继续读操作,但是写操作会挂起

2)如果该参数没有启用,则DB2数据库会停止工作

两种情况下,都需要到日志所在的文件系统添加了空间才恢复正常。

3.按照系统的实际工作量配置日志空间

DB2数据库通过日志文件维护数据的完整性和一致性。

DB2数据库的日志空间可通过如下公式计算:

日志空间=(主日志文件+二级日志文件)*日志文件尺寸

其中:

1)主日志文件由参数LOGPRIMARY控制,

2)二级日志文件由参数LOGSECOND控制

3)日志文件尺寸由参数LOGFILSIZ控制

4)LOGPRIMARY+LOGSECOND<

256(不同的DB2版本略有不同,请参看相同版本的DB2手册确认)。

4.设置正确数据库代码页

由于数据库的代码页在数据库创建之后是无法修改的,所以在创建数据库时一定要选择正确的代码页。

错误的数据库代码页会造成JDBC/ODBC访问时中文字段被截断(包括控制中心),这种情况需要重建数据库以修改数据库代码页。

从全局规划来说,如果应用需要访问多个数据库,那么这多个数据库的代码页应该是一致的。

5.检查许可证(License)安装情况

许可证过期会造成不必要的服务中断,所以在DB2安装完毕后,建议检察许可的安装情况。

6.创建数据库前调整好系统时间

在数据库创建好之后,调整系统时间会造成数据库部时间戳的异常。

数据库中一些对象和时间相关,一旦时间不准确要调整需要很小心。

错误的时间调整可能会造成很多问题,如:

1)某些对象失效,例如:

SQL0440N,找不到具有兼容自变量的类型为“<

例程类型>

”的名为“<

例程名>

”的已授权例程

2)数据库日志逻辑错误->

宕机

3)常见错误–只调整时间,未调整时区

7.不要随便执行chown(chmod)–R(UNIX/Linux)

在实例目录下chown(chmod)-R会造成

1)在数据库服务器上db2connectto<

dbname>

能连接上数据库

2)db2connectto<

user...using...连接不上

8.归档模式设置

在归档日志模式下使用LOAD记得加NONRECOVERABLE参数。

五、附:

以脱机方式重组表

以脱机方式重组表是整理表碎片的最快方法。

重组可减少表所需的空间量并提高数据访问和查询性能。

必须具有SYSADM、SYSCTRL、SYSMAINT或DBADM权限,或者必须具有对表的CONTROL权限才能重组表。

必须具有数据库连接才能重组表。

标识需要重组的表之后,可以对这些表运行REORG实用程序,并且可以选择对在这些表上定义的任何索引运行该实用程序。

1.要使用CLP重组表,请发出REORGTABLE命令:

db2reorgtabletest.employee

要使用临时表空间mytemp重组表,请输入:

db2reorgtabletest.employeeusemytemp

要重组表并根据索引myindex对行进行重新排序,请输入:

db2reorgtabletest.employeeindexmyindex

2.要使用SQL调用语句重组表,请使用ADMIN_CMD过程发出REORGTABLE命令:

callsysproc.admin_cmd('

reorgtableemployeeindexmyindex'

3.要使用DB2管理API重组表,请使用db2REORGAPI。

在重组表之后,应收集有关表的统计信息,以便优化器具有最准确的数据来评估查询访问方案。

六、附:

使用CLP捕获数据库运行状况快照

可从CLP使用GETHEALTHSNAPSHOT命令来捕获运行状况快照。

该命令语法支持检索运行状况监视器监视的不同对象类型的运行状况快照信息。

先决条件

必须具有实例连接才能捕获运行状况快照。

如果没有实例连接,则创建缺省实例连接。

要获取远程实例的快照,必须先连接至该实例。

过程

要使用CLP捕获数据库运行状况快照

1.从CLP发出带有期望参数的GETHEALTHSNAPSHOT命令。

在以下示例中,将在启动数据库管理器之后立即捕获数据库管理器级别运行状况快照。

db2gethealthsnapshotfordbm

2.对于分区数据库系统,可为特定分区捕获专门的数据库快照,或者为所有分区捕获全局的数据库快照。

要对特定分区(如分区号2)上的数据库捕获运行状况快照,请发出以下命令:

db2gethealthsnapshotfordbondbnameatdbpartitionnum2

要对所有分区上的所有应用程序捕获数据库快照,请发出以下命令:

db2gethealthsnapshotfordbondbnameglobal

以下命令捕获的运行状况快照带有附加详细信息,包括公式、附加信息和运行状况指示器历史记录:

db2gethealthsnapshotfordbondbnameshowdetail

3.对于基于集合状态的运行状况指示器,可对所有集合对象捕获数据库快照,而不考虑这些对象的状态。

常规GETHEALTHSNAPSHOTFORDB命令返回所有集合对象,这些对象需要针对所有基于集合状态的运行状况指示器的警报。

要对列示了所有集合对象的数据库捕获运行状况快照,请发出以下命令:

db2gethealthsnapshotfordbondbnamewithfullcollection

七、附:

IBMDB2常用命令

命令行窗口

1.#打开命令行窗口 

2.db2cmd 

3.#打开控制中心 

4.db2cmd 

db2cc 

5.#打开命令编辑器 

6.db2cmd 

db2ce 

操作数据库命令

1.#启动数据库实例 

2.db2start 

3.#停止数据库实例 

4.db2stop 

5.如果你不能停止数据库由于激活的连接,在运行db2stop前执行db2 

force 

application 

all就可以了 

6.#创建数据库 

7.db2 

create 

db 

[dbname] 

8.#连接到数据库 

9.db2 

connect 

to 

[dbname] 

user 

[username] 

using 

[password] 

10.#断开数据库连接 

11.db2 

reset 

12.#列出所有数据库 

13.db2 

list 

directory 

14.#列出所有激活的数据库 

15.db2 

active 

databases 

16.#列出所有数据库配置 

17.db2 

get 

cfg 

18.#删除数据库 

19.db2 

drop 

database 

#启动数据库实例

db2start

#停止数据库实例

db2stop

如果你不能停止数据库由于激活的连接,在运行db2stop前执行db2forceapplicationall就可以了

#创建数据库

db2createdb[dbname]

#连接到数据库

db2connectto[dbname]user[username]using[password]

#断开数据库连接

db2connectreset

#列出所有数据库

db2listdbdirectory

#列出所有激活的数据库

db2listactivedatabases

#列出所有数据库配置

db2getdbcfg

#删除数据库

db2dropdatabase[dbname]

操作数据表命令

1.#列出所有用户表 

2.db2 

tables 

3.#列出所有系统表 

4.db2 

tables 

for 

system 

5.#列出所有表 

6.db2 

all 

7.#列出系统表 

8.db2 

9.#列出用户表 

10.db2 

user 

11.#列出特定用户表 

12.db2 

schema 

[user] 

13. 

14.#创建一个与数据库中某个表(t2)结构相同的新表(t1) 

table 

t1 

like 

t2 

16. 

17.#查询表 

18.db2 

"

select 

from 

name 

where 

..."

19.#显示表结构 

20.db2 

describe 

tablename 

21.#修改列 

22.db2 

alter 

[tablename] 

column 

[columname] 

set 

data 

type 

varchar(24) 

脚本文件操作命令

1.#执行脚本文件 

-tvf 

scripts.sql 

帮助命令

1.#查看命令帮助 

?

db2start 

3.#查看错误码信息 

22001 

DB2 

常用命令 

II

1. 

启动数据库 

db2start 

 

2.停止数据库 

db2stop 

3. 

连接数据库

db2 

too_yduser 

pwd

4. 

读数据库管理程序配置 

dbm 

cfg 

5.写数据库管理程序配置 

update 

参数名 

参数值 

6. 

读数据库的配置 

o_yd 

userdb2 

pwd 

7. 

写数据库的配置 

foro_yd 

8. 

关闭所有应用连接 

all 

ID1,ID2,,,Idn 

MODE 

ASYNC 

(db2 

dbo_yd 

show 

detail) 

9. 

备份数据库 

backup 

tod:

initialize 

tape 

on 

\\.\tape0) 

(db2 

rewind 

to\\.\tape0 

10.恢复数据库 

restore 

d:

to 

\\.\tape0 

11.绑定存储过程 

too_yd 

bind 

c:

\dfplus.bnd 

拷贝存储过程到服务器上的C:

\sqllib\function目录中 

12.整理表 

o_yduser 

reorg 

ydd 

runstats 

ontable 

yddwith 

distribution 

and 

indexesall 

13.导出表数据 

exportto 

\sw.txt 

of 

del 

dftz 

export 

\sw.ixf 

ixf 

14.导入表数据 

import 

insert 

into 

ylbx.czyxx 

commitcount 

5000 

messages 

\dftz.msg 

\dftz.ixf 

c:

importto 

5000insert 

insert_updateinto 

replaceinto 

intodftz(仅IXF) 

replace_createinto 

dftz(仅IXF) 

15.执行一个批处理文件 

–tf 

批处理文件名 

(文件中每一条命令用 

结束) 

16.自

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 计算机软件及应用

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1