打开Sql Advantage 对话框——输入sp_spaceused(上边数据库选择要查的数据库)或直接
use your_db_name
go
sp_spaceused
go
运行!出现如下信息
Database name:数据库名称
Datebase Size:数据库空间总大小
Reserved:已分配空间
data数据:已分配空间中数据占用空间大小
index_size索引:已分配空间中index_size索引占用空间大小
unused:为已分配空间中未使用空间大小
计算关系:
reserved(已分配空间)=data+index_size+unused
剩余空间= Datebase Size(总空间)—已分配空间(resrved)
二.sp_helpdb db_name 可看到数据库占用的数据库设备device的空间信息(对应数据库设备和数据库)
打开Sql Advantage 对话框——输入sp_s helpdb db local(local为要看的数据库名字如不输入则显示所有数据库)
运行!显示如下信息:
(一).数据库方面
1. name:数据库名字
2. db_size:数据库空间大小
3. owner:数据库所有者
4. created:数据库创建时间
5. status:状态
(二).数据库设备方面
1. device_fragments:数据库设备名称
2. size:数据库占用数据库设备的空间大小 单位MB
3. usage:用法 用途
4. created:数据库占用的数据库设备的空间的创建时间
5. free kbytes :数据库占用的数据库设备的剩余空间 单位KB
6. log only free
kbytes:数据库日志设备中日志剩余空间 单位KB
注意:由于数据库创建后不一定全部占用数据库设备的所有空间,可以在以后通过增加的方法占用设备空间,因此每增加一次就会有一条数据库设备信息
计算关系:
剩余空间=所有free Kbytes(剩余KB)相加+log only
free Kbytes
数据库占用数据库设备总空间(size)=size1+size2+……..(所有相加)=数据库总空间(db_size)=
reserved(已分配空间)+剩余空间
free Kbytes(剩余KB)相加+log only free Kbytes= Datebase
Size(总空间)—已分配空间(resrved)
1.检查数据库是否运行。
检查步骤 :
*** 作系统命令
Sun solaris 和unix 以及AIX下
#ps –ef | grep dataserver
参考指标:正常情况下,会显示ASE及BACKUP server的进程信息。若无显示任何进程信息,说明sybase没有运行。
备注:对于不同的版本,数据库进程数根据max online engines、number of engines at startup确定。
2.检查访问数据库连接的数量 。
检查步骤 :
sybase命令
sp_configure “number of user connections” 确定最大连接数
sp_who 确定在用连接数
对于每个运行的进程,sp_who报告其服务器进程ID,状态和进程用户的的登陆名,主机名,阻塞此进程(如果存在)的服务器进程ID,数据库名和正在运行的命令。
参考指标:如果连接数为最大可连接数的80%以上,表示存在连接数不足的可能。需要先分析在用连接数是否都是正常使用所需的,如果不是,通知数据库系统管理员处理;如果是,则通知数据库管理员增加最大可连接数的数量。
备注:sp_who命令结果中,登录名NULL和空缺主机名的进程为系统进程。如NETWORK HANDERLER, DEADLOCK TUNE, CHECKPOINT SLEEP等。
3.检查数据库系统进程对内存的占用情况。主要是检查系统内存利用率和数据库系统进程占用内存量。
检查步骤:
*** 作系统命令
Sun solaris
#vmstat 5 100
AIX
#vmstat 5 100
#ps aux 详细看每个进程情况
#topas 简单列举前几个进程
linux
#free –m
以MB为单位显示内存状况
未用内存=free+buffer+cache
参考指标:
正常情况下,进程内存使用率不会发生太大的变化。如果进程内存使用率不断增加且速度较快,则要确定进程是否正常,有没有软、硬件的问题,如内存泄漏等。
备注:
Sun系统结果Free列呈现的数值即为空余内存值,单位为K,与总内存大小进行比较,即可计算出内存占用比。
Linux系统结果剩余内存为total减used的值。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)