SYBASE数据库系统检查和日常维护命令指南
更新时间:2024-01-09 17:46:01 阅读量: 教育文库 文档下载
Sybase数据库系统检查与日常维护手册
以下是对sybase数据库系统检查与日常维护的具体方法。并且定义了每天日常检查,以及每月的定期维护命令。
进行下列操作前请先使用sybase用户登录主机。命令字体为加粗且倾斜,命令中使用的一些需要检查人员根据各自数据库系统实际情况输入的参数加下划线表示,结果信息中需要特别关注的选项已加粗且倾斜标注。
1 SYBASE日常维护
1.1 sybase数据库服务器运行状态检查
检查方法:使用showserver命令,不带任何参数,观察命令的返回信息。 结果判断,详见下表: 检查内容 数据库运行状态 正常状态 非正常状态和采取措施 返回数据库服务器进无进程信息返回 程、备份服务器进程信措施:代表数据库当前为非联息 机状态,需要重新启动数据库。 命令举例: bash-2.05$ showserver
显示如下信息,包含sybaseserver 与bakupserver 两个server信息
F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD
000 S sybase 1003 1000 0 76 0 - 2253 schedu 09:19 ? 00:00:00 /opt/sybase-12.5/ASE-12_5/bin/backupserver -e/opt/sybase-12.5/ASE-12_5/install/S
000 S sybase 1001 996 1 75 0 - 16042 schedu 09:19 ? 00:00:47 /opt/sybase-12.5/ASE-12_5/bin/dataserver -d/opt/sybase-12.5/ASE-12_5/install/mas
执行周期:可随时执行。
1.2 SYBASE数据库运行状态检查
检查方法:isql命令行登录数据库,使用sp_helpdb命令,不带任何参数,观察命令的返回信息。 结果判断,详见下表: 检查内容 数据库运行状态 正常状态 返回所有数据库信息 非正常状态和采取措施 数据库有offline标记 措施:代表数据库当前为非联机状态,需要确认offline的原
因,如有必要,可联系SYBASE支持小组
命令举例:
bash-2.05$ isql –Usa -P
保密字:
1> sp_helpdb 2> go
name db_size owner dbid created
status ------------------------ ------------- ------------------------ ------ ------------------
------------------------------------------------------------------------------------------------------ archivedb 100.0 MB sa 6 Sep 06, 2006
read only, no free space acctg, archive, compressed ksqhdb 5000.0 MB sa 4 Sep 05, 2006
select into/bulkcopy/pllsort master 50.0 MB sa 1 Sep 05, 2006
mixed log and data model 2.0 MB sa 3 Sep 05, 2006
mixed log and data scratchdb 400.0 MB sa 5 Sep 06, 2006
scratch sybsystemdb 3.0 MB sa 31513 Sep 05, 2006
mixed log and data sybsystemprocs 124.0 MB sa 31514 Sep 05, 2006
trunc log on chkpt, mixed log and data tempdb 3.0 MB sa 2 Sep 07, 2006
select into/bulkcopy/pllsort, trunc log on chkpt, mixed log and data
(1 row affected)
name attribute_class attribute int_value
char_value comments ------------------------------ ------------------------------ ------------------------------ -----------
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- archivedb Archive Database Access dump device NULL
/tmp/ksqhdb20060801.dmp.gz NULL archivedb Archive Database Access scratch database NULL
scratchdb NULL (return status = 0)
1.3 Sybase数据库逻辑日志空间检查
检查方法:isql命令行登录数据库,use dbname选择需要查看信息的数据库,使用sp_helpsegment logsegment或dbcc checktable(syslogs)命令,观察命令的返回信息。
结果判断,详见下表: 检查内容 数据库日志状态 正常状态 非正常状态和采取措施 Freepages占totalpages日志可用空间在50%以下,详总数的50%以上 细措施后文详述。如有必要联系SYBASE支持小组确认解决方案。 命令举例: bash-2.05$ isql –Usa -P
1> use_ksqhdb 2> go
1> sp_helpsegment logsegment 2> go
segment name status ----------- ---- -----------
2 logsegment 0
device size ------ ---- ksqhdblog 1000.0MB
free_pages ----------- 509925
table_name index_name indid ---------- ---------- -----------
syslogs syslogs 0
total_size total_pages free_pages used_pages reserved_pages ---------- ----------- ---------- ---------- --------------
1000.0MB 512000 509925 2075 0
1> use use_ksqhdb 2> go
1> dbcc checktable(syslogs) 2> go
Checking syslogs: Logical pagesize is 2048 bytes The total number of data pages in this table is 75.
*** NOTICE: Space used on the log segment is 2075 pages (4.05 MB), 0.41%. Server Message: Number 15000, Severity 10 Server 'SYBASE', Line 1:
*** NOTICE: Space reserved on the log segment is 0 pages (0.00 MB), 0.00%.
*** NOTICE: Space free on the log segment is 509925 pages (995.95 MB), 99.59%. Table has 1450 data rows.
DBCC execution completed. If DBCC printed error messages, contact a user with System Administrator (SA) role. 注:
1.dbcc checktable命令只能针对日志段拥有独立数据设备的情况,如果数据段和日志段混合使用数据设备只能使用sp_helpsegment logsegment命令。建议使用 dbcc chektable命令,结果较直观。 2.对于日志可用空间低于50%的情况,解决步骤如下:
A. 使用sp_helpdb dbname命令判断该数据库的日志段拥有的设备是独立设备还是混合设备
bash-2.05$isql –Usa –P 1>sp_helpdb master 2> go
name db_size owner dbid created status
---- ------- ----- ----------- ------- ------ master 50.0 MB sa 1 Sep 05, 2006 mixed log and data
device_fragments size usage created free kbytes
---------------- ---- ----- ------- -----------
master 6.0 MB data and log Sep 5 2006 2:42PM 1546
master 44.0 MB data and log Sep 5 2006 2:43PM 44816
device segment ------ ------- master default master logsegment master system
出现data and log字样,代表日志段使用混合设备
1> sp_helpdb ksqhdb
2> go
name db_size owner dbid created status
---- ------- ----- ----------- ------- ------ ksqhdb 5000.0 MB sa 4 Sep 05, 2006 select into/bulkcopy/pllsort
device_fragments size usage created free kbytes
---------------- ---- ----- ------- -----------
ksqhdb_part1 1000.0 MB data only Sep 6 2006 9:37AM 705104
ksqhdb_part2 1000.0 MB data only Sep 6 2006 9:37AM 1019490
ksqhdb_part3 1000.0 MB data only Sep 6 2006 9:37AM 1006902
ksqhdb_part4 1000.0 MB data only Sep 6 2006 9:37AM 1020000
ksqhdblog 1000.0 MB log only Sep 6 2006 9:37AM not applicable
- log only free kbytes = 1019850
所有设备均显示data only或log only,代表数据段和日志段都使用独立设备
B. 如果日志段使用独立设备,当可用空间为50%以下时,使用dump tran dbname to ‘dumpfile’命令备份并
截断非活动日志
C. 如果日志段使用混合设备或者数据库选项’trunc log on chkpt’被打开,当可用空间为50%以下时,
需确保当前数据库为空闲状态后,运行dump tran dbname with truncate_only命令截断非活动日志。
日志被截断后后,请尽快执行dump database dbname命令,确保数据库故障时可以利用备份介质恢复到 故障发生点。
D. 一般情况禁止使用dump tran dbname with no_log截断日志空间,该命令仅用于数据库崩溃后的紧急恢复。
执行周期:可随时执行。
1.4 SYBASE数据库日志文件检查
检查方法:检查SYBASE数据库
检查内容 数据库消息日志 正常状态 非正常状态和采取措施 消息日志中无severity消息日志中出现severity大于大于18的出错信息, 18的信息,代表数据库发生关键错误,联系SYBASE支持小组确认解决方案。 命令举例: bash-2.05$ tail -100 /opt/sybase/ASE-12_5/install/SYBASE.log
此处应根据实际情况确定需要查看消息日志文件长度。
00:00000:00001:2006/09/07 14:51:03.20 server Started estimating recovery log boundaries for database 'archivedb'.
00:00000:00001:2006/09/07 14:51:03.20 server Database 'archivedb', checkpoint=(2385377, 4), first=(2385377, 4), last=(2385377, 4).
00:00000:00001:2006/09/07 14:51:03.20 server Completed estimating recovery log boundaries for database 'archivedb'.
00:00000:00001:2006/09/07 14:51:03.20 server Started ANALYSIS pass for database 'archivedb'. 00:00000:00001:2006/09/07 14:51:03.20 server Completed ANALYSIS pass for database 'archivedb'.
00:00000:00001:2006/09/07 14:51:03.20 server Started REDO pass for database 'archivedb'. The total number of log records to process is 1.
00:00000:00001:2006/09/07 14:51:03.23 server Completed REDO pass for database 'archivedb'.
00:00000:00001:2006/09/07 14:51:03.23 server Recovery of database 'archivedb' will undo incomplete nested top actions.
00:00000:00001:2006/09/07 14:51:03.23 server Started recovery checkpoint for database 'archivedb'. 00:00000:00001:2006/09/07 14:51:03.23 server Completed recovery checkpoint for database 'archivedb'. 00:00000:00001:2006/09/07 14:51:03.24 server Started filling free space info for database 'archivedb'. 00:00000:00001:2006/09/07 14:51:03.24 server Completed filling free space info for database 'archivedb'.
00:00000:00001:2006/09/07 14:51:03.24 server Started cleaning up the default data cache for database 'archivedb'. 00:00000:00001:2006/09/07 14:51:03.24 server Completed cleaning up the default data cache for database 'archivedb'.
00:00000:00001:2006/09/07 14:51:03.24 server The transaction log in the database 'archivedb' will use I/O size of 2 Kb.
00:00000:00001:2006/09/07 14:51:03.25 server Database 'archivedb' is now online.
00:00000:00001:2006/09/07 14:51:03.31 server Recovery has restored the value of 'local async prefetch limit' for '16K' pool in 'default data cache' from '80' to 'DEFAULT'.
00:00000:00001:2006/09/07 14:51:03.31 server Recovery has restored the value of 'local async prefetch limit' for '2K' pool in 'default data cache' from '80' to 'DEFAULT'.
00:00000:00001:2006/09/07 14:51:03.38 server Recovery has restored the original size for '16K' pool and '2K' pool in 'default data cache'.
00:00000:00001:2006/09/07 14:51:03.41 server Recovery complete.
00:00000:00001:2006/09/07 14:51:03.41 server SQL Server's default unicode sort order is 'binary'. 00:00000:00001:2006/09/07 14:51:03.42 server SQL Server's default sort order is: 00:00000:00001:2006/09/07 14:51:03.42 server 'bin_iso_1' (ID = 50)
00:00000:00001:2006/09/07 14:51:03.42 server on top of default character set: 00:00000:00001:2006/09/07 14:51:03.42 server 'iso_1' (ID = 1).
00:00000:00001:2006/09/07 14:51:03.42 server Master device size: 60 megabytes, or 30720 virtual pages. (A virtual page is 2048 bytes.)
执行周期:可随时执行。
2 SYBASE数据库周期维护
2.1 说明
本章命令不必每天都执行,可以根据数据库使用状况将检查周期定为一周或进行每月进行不定期检查
2.2 Sybase数据库锁使用情况检查
检查方法:isql命令行登陆数据库,使用sp_monitorconfig ‘number of lock’命令,观察命令的返回信息。 结果判断,详见下表:
检查内容 正常状态 非正常状态和采取措施 数据库锁使用情况 当前活动锁百分比曾经使用锁个数(Max_Used)接(Pct_act)小于80%, 近或超过锁总数,代表曾有事Max_Used小于锁总数 务大量使用锁 措施:考虑增加锁个数,如有必要联系SYBASE支持小组确认解决方案。 命令举例: bash-2.05$ isql –Usa -P
1> sp_monitorconfig 'number of locks' 2> go
Usage information at date and time: Sep 7 2006 3:11PM.
Name Num_free Num_active Pct_act Max_Used Num_Reuse
------------------------- ----------- ----------- ------- ----------- -----------
number of locks 4915 85 1.70 107
执行周期:可随时执行。
2.3 SYBASE数据库有效性检查
检查方法:isql登陆数据库,使用dbcc checkdb命令,观察命令返回信息。 建议检查master库和用户库 结果判断:
检查内容 正常状态 非正常状态和采取措施 数据库有效性检查 无报错信息 有报错信息 (正常和Warning信措施:联系Sybase支持小组确
息除外) 命令举例:
bash-2.05$ isql –Usa -P
认解决方案。 1> dbcc checkdb (master) 2> go
Checking spt_mda: Logical pagesize is 2048 bytes The total number of data pages in this table is 6. Table has 191 data rows.
Checking spt_jtext: Logical pagesize is 2048 bytes The total number of data pages in this table is 1.
The total number of TEXT/IMAGE pages in this table is 1. Table has 1 data rows.
Checking spt_jdbc_conversion: Logical pagesize is 2048 bytes The total number of data pages in this table is 1. Table has 20 data rows.
Checking jdbc_function_escapes: Logical pagesize is 2048 bytes The total number of data pages in this table is 2. Table has 89 data rows.
Checking t1: Logical pagesize is 2048 bytes The total number of data pages in this table is 1. Table has 1 data rows.
DBCC execution completed. If DBCC printed error messages, contact a user with System Administrator (SA) role.
执行周期:每隔两周非业务高峰时执行。
2.4 sybase数据库数据库空间使用情况检查
检查方法:isql命令行登陆数据库,使用sp_spaceused dbname 结果判断,详见下表:
检查内容 良好状态 不良状态和采取措施 Database空间使用各database剩余空间存在database剩余空间不足10% (reserved/database_size)措施:为此database增加空间。情况 均在10%以上 “database扩容”为重大操作内容,操作前,一定要备份master数据克和用户数据库,完成后务必告知相关部门 建议对master库和用户库做定期检查 命令举例:
bash-2.05$isql –Usa -P
1> sp_spaceused dbname 2> go
database_name database_size ------------------------------ -------------
dbname 610.0 MB
reserved data index_size unused
--------------- --------------- --------------- ---------------
314776 KB 168036 KB 143568 KB 3172 KB (return status = 0)
执行周期:可随时执行。 database扩容步骤:(isql命令行) 1.扩容或新增设备
disk resize name = ‘dev1’, size =’100M’ --扩容
disk init name = ‘dev2’,physname = ‘/sybase/data/dev2.dat’,size = ‘100M’ --新增
2.数据库使用该设备
alter database dbname on dev_name = 100
2.5 死锁检查
2.6 SYBASE数据库当前活动sql语句
检查方法:isql命令行登陆数据库,使用dbcc sqltext命令,观察命令的返回信息。 命令举例:
bash-2.05$isql –Usa –P
1> dbcc traceon(3604) 2> go
DBCC execution completed. If DBCC printed error messages, contact a user with System Administrator (SA) role. 1> sp_who 2> go
fid spid status loginame origname hostname blk_spid dbname cmd block_xloid ------ ------ ------------ ------------ ------------ ---------- -------- ---------- ---------------- -----------
0 2 sleeping NULL NULL 0 master DEADLOCK TUNE 0
0 3 sleeping NULL NULL 0 master ASTC HANDLER 0
0 4 sleeping NULL NULL 0 master CHECKPOINT SLEEP 0
0 5 sleeping NULL NULL 0 master HK WASH 0
0 6 sleeping NULL NULL 0 master HK GC 0
0 7 sleeping NULL NULL 0 master HK CHORES 0
0 8 sleeping NULL NULL 0 master PORT MANAGER 0
0 9 sleeping NULL NULL 0 master NETWORK HANDLER 0
0 10 running sa sa Mycomputer 0 master SELECT 0
0 11 recv sleep sa sa 1868buding 0 ksqhdb AWAITING COMMAND 0
0 12 recv sleep sa sa 1868buding 0 ksqhdb AWAITING COMMAND 0
0 13 recv sleep sa sa 1868buding 0 ksqhdb AWAITING COMMAND 0 1> dbcc sqltext(17) 2> go
SQL Text: select * from sysobjects
DBCC execution completed. If DBCC printed error messages, contact a user with System Administrator (SA) role.
执行周期:可随时执行。
2.7 SYBASE表维护
一般情况下,当一个表有以下特征: (1)有索引; (2)海量数据;
(3)经常有大量的插入删除操作;
经过一段时间后,表的访问,插入,删除都会变慢,性能大大下降
维护目的:使数据库优化器选择最优最快的执行路径,同时可以降低CPU的利用率。
运行方法:在isql中选择需要更新的表,执行 (isql命令行)
update statistics table_name对表进行统计更新
运行周期:每隔两周非业务高峰时时执行;个别数据量每天变化较大的表,需要在应用程序中针对该表进行统计更新。
3 数据库备份策略
2. SYBASE数据库全备份步骤
A. 备份系统文件
$SYBASE/interfacecs $SYBASE/$SYBASE_ASE/[server_name].cfg $SYBASE/$SYBASE_ASE/install/RUN_[server_name] 以ksqhdb为例:
1. 使用SYBASE用户登陆 2. 确认 SYBASE环境变量已设置
bash-2.05$ env | grep SYB
SYBASE_WS=WS-12_5
SYBASE_FTS=EFTS-12_5_2 SYBASE_JS=JS-12_5
SYBASE_SYSAM=SYSAM-1_0 SYBROOT=/opt/sybase-12.5 SYBASE_ASE=ASE-12_5 SYBASE=/opt/sybase-12.5 SYBASE_OCS=OCS-12_5
SYBASE_JRE=/opt/sybase-12.5/shared/jre142
如未设置,参见SYBASE安装手册设置环境变量 3. 备份文件
tar sybase.tar $SYBASE/interfacecs $SYBASE/$SYBASE_ASE/SYBASE. cfg $SYBASE/$SYBASE_ASE/install/RUN_SYBASE
B.备份master 数据库
dump database master to [backup_file] C.备份用户数据库
dump database user_database to [backup_file]
D. 如果曾改变过系统存储过程库sybsystemprocs则也需备份
dump database sybsystemprocs to [backup_file] 运行周期:每日执行
4 数据库常见问题处理
4.1 数据库安装目录所在设备空间已满
设备空间满了一般会导致 1、无法再创建新的数据库。
2、日志空间不足,无法继续记录日志,数据库将停止工作。 解决办法
将一些设备移到别的设备里 步骤:
1、 use master
select * from sysdevices 显示如下
low high status cntrltype name phyname mirrorname 184549376 184578964 12
0
SYSDEV$__11 /tmp/ksqhdb20060801.dmp.gz 0
[NULL]
[NULL]
167772160 167823359 16386
archivedb_dev1 /opt/sybase-12.5/data/archivedb_dev1
50331648 50843647 16386 67108864 67620863 16386 83886080 84398079 16386 100663296 101175295 16386 117440512 117952511 16386 0
30719
3
0
150994944 151097343 16386 134217728 134320127 16386 16777216 16854015 16386 0 0
[NULL]
33554432 33554943 16386
20000 20000
16 16
2 3
0 0 0 0 0 0 0 0 0
ksqhdb_part1 ksqhdb_part2 ksqhdb_part3 ksqhdb_part4
/opt/sybase-12.5/data/ksqhdb_part1.dat [NULL] /opt/sybase-12.5/data/ksqhdb_part2.dat [NULL] /opt/sybase-12.5/data/ksqhdb_part3.dat [NULL] /opt/sybase-12.5/data/ksqhdb_part4.dat [NULL]
[NULL]
ksqhdblog /opt/sybase-12.5/data/ksqhdblog.dat scratch_dev1 scratch_log1 sysprocsdev systemdbdev
master /opt/sybase-12.5/ASE-12_5/install/master.dat [NULL]
/opt/sybase-12.5/data/scratch_dev1 [NULL] /opt/sybase-12.5/data/scratch_log1 [NULL]
/opt/sybase-12.5/ASE-12_5/install/sybsystemprocs.dat/opt/sybase-12.5/ASE-12_5/install/sybtempdb.dat
[NULL]
tapedump1 /dev/nst0 [NULL] tapedump2 /dev/nst1 [NULL]
比如ksqhdb_part1移到/backup设备 1、low
high status cntrltype name phyname mirrorname
50843647 16386
0
ksqhdb_part1
/opt/sybase-12.5/data/ksqhdb_part1.dat [NULL]
将 50331648
中的phyname改成/opt/sybase-12.5/data/ksqhdb_part1.dat 改成 /backup /ksqhdb_part1.dat 2、将ksqhdb_part1.dat从/opt/sybase-12.5/data/ 移到/backup下 mv /opt/sybase-12.5/data/ksqhdb_part1.dat backup/ ksqhdb_part1.dat 3、重启sybase服务
4.2 如何删除坏的用户数据库(以pubs2为例)
当使用drop database无法删除数据库时,使用本文所示方法可以删除。 (1)使用isql以sa注册SQL server (2)设置允许修改系统表
1>sp_configure \2>go
(3)把 要删除的用户数据库置为\状态 1>use master 2>go
1>begin tran 2>go
1>update sysdatabases set status=256 2>where name=\3>go
如果得到(1 row affected),则:
1>commit 2>go 否则: 1>rollback 2>go
(4)重启server,并用isql以sa注册。 (5)删除数据库:
1>dbcc dbrepair(pubs2,dropdb) 2>go
(6)恢复允许修改系统表
1>sp_configure \2>go (7)结束.
4.3 IP地址改变后如何修改interfaces文件
安装SYBASE Adapive Server的机器IP地址改变后, 应修改 interfaces 文件及有关的设置。
如果 interfaces 文件中使用的是机器名而不是 IP 地址, 则不需要变动。 但如果客户端联结服务器使用的是服务器的 IP 地址而不是机器名,那么客户端需修改联结服务器的 IP 地址。
如果 interfaces 文件中使用的是 IP 地址, 那么需要修改 interfaces 文件中和地址有关的部分, 可使用dscp 或 dsedit 进行修改。 如果客户端联结服务器使用的是服务器的地址而不是机器名,那么客户端也需修改。
正在阅读:
辽宁省主要水系地表水环境功能区划04-29
2013年高考真题生物分项版解析专题06遗传的基本规律和伴性遗传(解析版) - 图文12-24
颈椎病和肩周炎六大区别——黄运绥08-18
我们的宠物作文350字06-30
人教部编语文五年级上册11.牛郎织女(二)(说课稿)08-29
办公设备购置-商丘住房公积金管理中心04-14
我长大了作文500字03-12
锅炉控制系统的组态设计要点03-02
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 命令
- 日常
- 检查
- 维护
- 数据库
- 指南
- SYBASE
- 系统