`
brogrn
  • 浏览: 28894 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

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
delete sysusages where dbid = 2
delete sysdatabases where dbid = 2
go
select dbid from sysdatabases where name = ‘newtemp’

go

update sysusages set dbid = 2 where dbid=10

update sysdatabases set name=’tempdb’,dbid=2 where name=’newtemp’

go

select name,dbid, from sysdatabases where name = ‘tempdb’

select * from sysusages where dbid = 2

go

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% )
2.4          优化数据库系统属性
在sybase center中选择数据库属性,将属性中options选项中的下列项目选中。
allow select into/bulk copy
truncate log on checkpoint
checkpoint on recovery
abort transction on full log
free space accounting
allow nulls by default
auto identity column in non-unquie index
方法二:在SQLPLUS中执行下列SQL脚本
如:
sp_dboption mydb,"abort tran on log full",true(设定当数据库的日志空间满时,就终止该进程,使用 sa 用户)
sp_dboption mydb," select into/bulkcopy ",true
sp_dboption mydb," trunc log on chkpt ",true
sp_dboption mydb," no chkpt on recovery",true
sp_dboption mydb," no free space acctg ",true
sp_dboption mydb,"allow nulls by default",true
sp_dboption mydb," auto identity dbo use only ",true
2.5          创建阈值存储过程
可根据不同的应用修改以下脚本或创建多个阈值存储过程,并在配置阈值时指定相应的存储过程。
   create procedure sp_thresholdaction
   @dbname varchar(30),@segmentname varchar(30), @free_space int,@status int
            as dump transaction @dbname with no_log
print "LOG DUMP: '%1!' for '%2!' dumped",@segmentname,@dbname
go
2.6          配置多个阈值
方法一:
        打开 Sybase Central,双击相应数据库(database)的段 Segments ->; logsegment,在        Thresholds 页面中可设置自动清除日志的阀值。其中有 Last Chance 的一行是系统默认的最后机会阀值,即系统日志空闲空间小于该值时为最后一次自动清除日志的机会。设置时阀值的大小可设为日志总空间大小的20%左右。
另外再增加多个阈值。
方法二:
1、使用如下指令查出数据库中日志的容量(用页表示)
select sum(size) from master..sysusages where dbid=db_id("database_name" and (segmap&4)=4
2、使用sp_addthreshold增加新的阈值,大小为日志容量的50%,如上面语句显示值为2048
sp_addthreshold database_name,logsegment,1024,proc_dump_display
注意:因一个大事务时可能会越过当前的threshold,所以必须加多个threshold,
使用命令select @@thresh_hysteresis查看数据库的滞后值,如结果为64页,则下一个阈值设为"最近的阈值-(2*64)",请在所设阈值再按这种原则各增加两个更小的阈值。
3          索引的优化
在良好的数据库设计基础上,需高效地使用索引,并经常的维护索引,下文介绍关于索引的相关内容。
3.1          创建索引
索引分为三类:聚簇索引(clustered indexes)、非聚簇索引(nonclustered indexes)、覆盖索引(covering indexes)
鉴于索引加快了查询速度,但减慢了数据更新速度的特点。可通过在一个段上建表,而在另一个段上建其非聚簇索引,而这两段分别在单独的物理设备上来改善操作性能。
create [unique][clustered|nonclustered] index index_name on table_name(column_name...)
3.2          重建索引
  随着数据行的插入、删除和数据页的分裂,有些索引页可能只包含几页数据,另外应用在执行大块I/O的时候,重建非聚簇索引可以降低分片,维护大块I/O的效率。重建索引实际上是重新组织B-树空间。在下面情况下需要重建索引:
  (1)、数据和使用模式大幅度变化。
  (2)、排序的顺序发生改变。
  (3)、要进行大量插入操作或已经完成。
  (4)、使用大块I/O的查询的磁盘读次数比预料的要多。
  (5)、由于大量数据修改,使得数据页和索引页没有充分使用而导致空间的使用超出估算。
  (6)、dbcc检查出索引有问题。
  当重建聚簇索引时,这张表的所有非聚簇索引将被重建.
3.3          索引统计信息的更新
  当在一个包含数据的表上创建索引的时候,SQL Server会创建分布数据页来存放有关索引的两种统计信息:分布表和密度表。优化器利用这个页来判断该索引对某个特定查询是否有用。但这个统计信息并不动态地重新计算。这意味着,当表的数据改变之后,统计信息有可能是过时的,从而影响优化器追求最有工作的目标。因此,在下面情况下应该运行update statistics命令:
  (1)、数据行的插入和删除修改了数据的分布。
  (2)、对用truncate table删除数据的表上增加数据行。
  (3)、修改索引列的值。
4          查询优化
4.1          NOT IN子句
不知大家是否喜欢使用‘NOT IN’这样的操作,如果是,那尽量使用(NOT) EXISTS 替代。
例子:
语句1
SELECT dname, deptno FROM dept  WHERE deptno NOT IN (SELECT deptno FROM emp);
语句2
SELECT dname, deptno FROM dept WHERE NOT EXISTS (SELECT deptno FROM emp WHERE dept.deptno = emp.deptno);
明显的,2要比1的执行性能好很多,因为1中对emp进行了full table scan,这是很浪费时间的操作。而且1中没有用到emp的index,因为没有where子句。而2中的语句对emp进行的是range scan。
4.2          海量查询
在海量查询时尽量少用格式转换。
如用
WHERE a.order_no = b.order_no
而不用
WHERE TO_NUMBER (substr(a.order_no, instr(b.order_no, '.') - 1)= TO_NUMBER (substr(a.order_no, instr(b.order_no, '.') - 1)
3)查询海量数据是可以使用optimizer hints,例如

SELECT E.ENAME FROM EMP E WHERE E.JOB = 'CLERK';
而不是
SELECT E.ENAME FROM EMP E WHERE E.JOB || '' = 'CLERK';
分享到:
评论

相关推荐

    sybase数据库配置说明.doc

    1. **运行Serverconfig工具**:Serverconfig是一个用于配置Sybase服务器参数的重要工具。通过它,可以设置各种服务器属性。 2. **添加服务名**:根据需求添加新的服务名称。例如,可以为不同的应用程序或环境创建...

    sybase配置

    根据提供的标题、描述以及部分内文,我们可以提炼出与Sybase数据库配置相关的多个知识点。以下是对这些知识点的详细解析: ### Sybase配置基础知识 #### 1. **理解Sybase ASE (Adaptive Server Enterprise)** - *...

    Sybase数据库安装配置

    ### Sybase数据库安装配置知识点详解 #### 一、Sybase数据库安装步骤 ##### 1. 启动安装程序 - **第一步**: 双击Sybase 12.5.4的安装文件,如图3.1.1所示,启动安装向导。 - **第二步**: 在安装向导的第一个界面上...

    sybase数据库系统配置

    在优化Sybase数据库性能时,首先需要关注的是数据库服务本身的配置参数。以下是一些关键配置项及其作用: 1. **LocksScheme**:锁方案设置,通常推荐使用`allpages`模式。该模式能够更有效地管理数据页上的锁,减少...

    sybase ase参考手册:配置参数.pdf

    Sybase ASE 配置参数手册 Sybase ASE 是一个关系数据库管理系统,提供了许多配置参数以满足不同应用场景的需求。下面是 Sybase ASE 配置参数手册中的知识点总结: 1. abstract plan cache:abstract plan cache 是...

    sybase window下安装配置手册

    在Windows环境下安装和配置Sybase是一项技术性强且需要细致操作的工作。Sybase是一款知名的数据库管理系统,广泛应用于企业级数据存储和处理。以下是对标题、描述和标签所涉及的知识点的详细说明: 一、安装前准备 ...

    Suse11 安装配置sybase15

    整个安装过程可以分为五个步骤:配置系统参数、建立 Sybase 账户、复制解压 Sybase 安装文件、安装 Sybase 和配置环境变量。 配置系统参数 在安装 Sybase 之前,需要配置系统参数以满足 Sybase 的运行要求。首先,...

    sybase12.5安装配置及优化.zip

    配置Sybase ASE涉及多个方面,包括服务器参数设定、数据库创建、用户权限管理等。例如,通过`isql`命令行工具或者Sybase Central图形界面,你可以创建新的数据库,调整内存分配、日志文件大小、缓存设置等关键参数。...

    sybase有关配置.doc

    【Sybase配置与管理】 Sybase是一款高性能的关系型数据库管理系统,广泛应用于企业级的数据存储和管理。本文将详细讲解Sybase的安装、SqlDbx连接配置、字符集问题的解决、数据导入、数据库恢复和备份,以及...

    sybase ase for linux 12.5安装

    Sybase ASE for Linux 12.5 安装指南 本文档旨在指导用户如何在 RedHat AS 5 上安装 Sybase ASE for Linux 12.5。 installation process covers the ...通过以上步骤,Sybase ASE for Linux 12.5 将被成功安装和配置。

    sybase简单配置指南pdf

    ### Sybase Monitor Server 12.5.1 简单配置指南 #### 一、Sybase概述 Sybase是一款高性能的企业级数据库管理系统,由Sybase公司开发并维护。Sybase以其强大的数据处理能力和高度的可靠性,在金融、电信、制造等...

    sybase配置详解

    2. **配置服务参数**:通过编辑配置文件来调整服务参数,以满足特定的性能需求。 3. **创建和管理数据库**:创建数据库并对其进行日常维护工作。 4. **安全设置**:包括用户账户管理、权限分配等。 #### 找回SA密码...

    SYBASE内存配置

    本文将深入解析SYBASE内存配置的相关知识点,包括内存分配原则、重要参数及其调整方法,以及如何通过合理配置提升服务器效率。 #### SYBASE内存配置概述 在SYBASE SQL Server中,内存管理是其高效运行的核心之一。...

    Sybase IQ 官方文档(Sybase参考手册)

    《Sybase参考手册》是开发者和管理员的重要参考资料,包含了Sybase IQ的所有命令、函数、语法和系统参数。手册详细解释了SQL语法、数据类型、索引、视图、存储过程、触发器以及安全性控制等方面的内容。对于日常的...

    SYBASE数据库安装举例

    3. 配置常规参数:进入 SYBASE CENTRAL,进行配置参数的设置 总结 SYBASE 数据库安装是指在服务器上安装和配置 SYBASE 数据库管理系统的过程。这篇文章详细介绍了 SYBASE 数据库安装的步骤和要求,并提供了详细的...

    sybase ASE 数据库参数含义及调优设置

    标题中的“sybase ASE 数据库参数含义及调优设置”是指在使用Sybase Adaptive Server Enterprise (ASE)数据库管理系统时,为了优化性能和资源利用,需要理解和调整的各种数据库配置参数。这些参数涉及到内存管理、...

    linux64位系统安装sybase12.54笔记

    - 配置Sybase ODBC驱动程序,包括指定驱动程序安装路径、Sybase服务器地址、端口、实例名等参数,以便于应用程序通过ODBC接口访问数据库。 7. 介质和版本信息的其他说明: - 文中提到的Sybase 12.54是32位版本,...

    Sybase 使用指导手册Sybase 使用指导手册

    根据系统负载和性能需求,可能需要调整 Sybase 服务器的配置参数,如缓冲区大小、并发连接数等。 **第二章 Sybase 的管理** 这一章将涵盖启动、停止数据库服务器,创建和管理数据库,用户权限管理,性能监控,...

Global site tag (gtag.js) - Google Analytics