Sybase配置参数

Sybase配置参数
sp_configure 'max online engines',4
go
--配置启动cpu个数
sp_configure 'number of engines at startup',4
go
--配置最大内存数
sp_configure 'max memory' ,2097151
go
--分配最大存储过程缓存
sp_configure 'procedure cache',102400
go
--配置高速缓存
sp_cacheconfig 'default data cache' , '700M'
go
--缺省缓存分配页大小
sp_poolconfig 'default data cache','200M','16K'
go
--网络包大小
sp_configure 'max network packet size',1024
go
--最大连接数
sp_configure 'number of user connections',500
go
--最大打开对象
sp_configure 'number of open object',9000
go
--最大索引
sp_configure 'number of open index',10000
go
--最大锁数
sp_configure 'number of locks',100000
go
--增加网络内存
--sp_configure 'additional network memory',1024
go
--锁内存
sp_configure 'lock shared memory',512
go
--优化tempdb
select dbid, name,segmap
from sysusages, sysdevices
where sysdevices.low <= sysusages.size +vstart
and sysdevices.high >=sysusages.size+vstart -1
and dbid =2
and (status=2 or status=3)
go
use tempdb
go
sp_dropsegment 'default',tempdb,master
go
sp_dropsegment 'logsegment',tempdb,master
go

select dbid, name,segmap
from sysusages, sysdevices
where sysdevices.low <= sysusages.size +vstart
and sysdevices.high >=sysusages.size+vstart -1
and dbid =2
and (status=2 or status=3)
go
sp_cacheconfig tempdb_cache, '100M'
go
sp_poolconfig tempdb_cache,'50M','16K'
go
sp_bindcache 'tempdb_cache',tempdb
go
sp_helpcache tempdb_cache
select name,id from syscharsets
dbcc traceon(3604)
dbcc memusage

1 数据库安装的优化
1.1 应用数据库使用裸设备
若在UNIX(UNIXWARE)操作系统下安装数据库服务器,请将SYBASE应用数据库的设备(device)安装成裸设备。即在创建应用数据库设备(如:IVSP,DB160,NAP2000等)时用裸设备,把文件名指向 /dev/dsk/ 子目录下的相应文件。系统数据库设备(如:master等)仍然指向文件系统。
1.2 补丁程序
完成SYBASE数据库的安装,请注意原版的SYBASE软件都会带有最新的补丁,一定要把补丁打上,否则会出现一些莫名其妙的问题。FOR NT 版的补丁是一个ZIP文件,解压至C:/SYBASE子目录即可。
1.3 安装 SYBASE 在线帮助
在安装好 SYBASE 后,在安装目录下有一文件:../scripts/ins_syn_sql,在服务器上执行该脚本:
Sybase for Unix版: ./isql -Usa -P -i../scripts/ins_syn_sql
Sybase for Winnt版: isql -Usa -P -i/sybase/scripts/ins_syn_sql
执行完毕后,即可在任意的 SYBASE 客户端上连接上 SQL SERVER ,在线取得任意命令的帮助:
sp_syntax "关键字"
如: sp_syntax "alter" 即可列出所有包含"alter"字符的命令
2 数据库配置的优化
2.1 优化master数据库
首先加大master设备空间,初始默认为30M,加大为150M。然后加大master数据库空间,默认数据段和日志段各为5M大小,建议改为数据段100M,日志段50M。
alter database master on master=95
2.2 优化tempdb数据库
首先创建tempdb设备,分配给tempdb数据库,默认tempdb数据库数据段和日志段各为2M大小,并创建在master设备上,建议改为数据段200M,日志段50M,创建在tempdb设备上。
alter database tempdb on tempdb=200
SQL SEVRER所有用户都共享工作表和临时表的tempdb数据库,tempdb主要瓶颈是磁盘I/0。解决办法是把tempdb放在更快的设备上。在UNIX环境中,把tempdb放在文件系统中而不用原始的设备。由于tempdb在创建数据时,自动在master设备上创建为2M的数据库,为了减少冲突,最好的办法是把tempdb从master设备中移走。为了达到上述目的,可采用如下办法实现:
1:在单用户状态下启动SQL SERVER
启动单用户方法:dataserver -dmaster.dat -m
2:以sa登录
3:在文件系统中创建一个哑数据库。
4:删除sysusages和 sysdatabase表中对现有tempdb数据库的引用
5:获取哑数据库的数据库ID,相应修改sysusages和 ysdatabase表对tempdb的引用
6:重新启动数据库
以在newdevice中创建200M的tempdb数据库为例,执行过程如下:
create database newtemp on newdevice=200
go /* 创建新的数据库 */
begin tran
go /* 开始事务,防止操作错误时破坏整个SQL SERVER的运行*/
delete sysusages where dbid = 2
delete sysdatabases where dbid = 2
go /*删除系统表对tempdb的引用,只能在单用户状态下执行*/
select dbid from sysdatabases where name = ‘newtemp’
go /*获取newtemp数据库ID,假定为10*/
update sysusages set dbid = 2 where dbid=10
update sysdatabases set name=’tempdb’,dbid=2 where name=’newtemp’
go /*修改数据库的引用,对newtemp的引用改为对tempdb的引用*/
select name,dbid, from sysdatabases where name = ‘tempdb’
select * from sysusages where dbid = 2
go /*测试修改是否正确,正确则提交,否则可用rollback回退*/
commit tran
go /*修改成功,重新启动系统*/
这种方法只对tempdb有效,其他数据库不能采用这种方法。因为在SQL SERVER启动时,tempdb每次都重新初始化。
2.3 优化系统参数
以下参数为标准建议值,可根据实际情况修改。
优化系统参数的SQL脚本 注释
sp_configure 'total memory', 100000 优化数据库的内存,应根据不同机器配置设置, 建议为一半的物理内存大小。以db_block为单位,即每个单位为2k,上例为200M,默认为24M.
sp_configure "lock scheme" , 1,"datarows" 系统默认为表级锁,优化为行锁
sp_configure "number of locks" , 10000 加大最大锁进程数, 默认为5000。
(如果设置一个已经存在的表(tabel)的锁方式为行锁,则执行:
alter table table_name lock datarows)
sp_configure 'procedure cache percent' ,30 缺省值:20 建议值:procedure使用频率高时采用较大的值,不超过30
sp_configure "number of user connections",100 最大用户连接数,默认为25,每个连接要占70k内存
sp_configure 'number of devices',20 将最大设备文件数据改为15个
sp_configure ‘number of Open databases’,20 最大打开数据库个数,对于需在一台数据库服务上打个多个数据库则需加大此参数,默认为15
Sp_configure ‘max online engines CPU’,2 缺省值:1 建议值:采用实际机器的CPU个数
Sp_configure ‘total data cache size’,60000 缺省值:0 建议值:使用SQL SERVER内存的30%
如果上述参数改动后SYBASE启动不正常,则可检查SYBASE的错误日志,把SYBASE.cfg中的相应选项修改为较小的值。
附:SYBASE SQL SERVER 内存的分配
1. SQL SERVER 可执行代码 3-4M
2. SQL SERVER 使用的静态内存 2.2-3.25M
3. 用户可配置的参数所占用内存,以下示例(11.9.2版):
默认值 占用内存
用户连接数(user connections) 25 每个 约70k
打开的数据库数(open database) 12 每个 约60k
打开的对象数(open objects) 500 每个 约1k
打开的索引数(open indexs) 500 每个 约1k
锁数目(locks) 5000 每个 约0.1k
数据库设备数(data device) 10 每个 约0.5k
4. 剩余部份分配给
过程缓存 ( 由 procedure cache percent 决定,默认值为 20% )
数据缓存 ( 默认值为减去1、2、3项的 80% )
本文来自: (www.91linux.com) 详细出处参考:http://www.91linux.com/html/article/database/sybase/20091210/18160.html

你可能感兴趣的:(Sybase配置参数)