Sybase ASE 15.0.3 for windows平台安装文档 – 5、安装后的配置工作

以前写的windows平台上安装Sybase ASE15.0.3的文档,内容比较详细。与大家共享一下!

主要包括:

一、安装前的准备工作

二、安装Sybase程序

三、升级到 Sybase 15.0.3 ESD #3

四、安装Sybase数据库服务

五、安装后的配置工作

 

下面是第五章:安装后的配置工作

 

五、安装后的配置工作

1、配置数据库参数

2、启动、关闭Sybase数据库服务器

3、检验哪些服务器正在运行

4、检验与服务器的连接

5、通过 Sybase Central 连接到 Adaptive Server

6、设置系统管理员口令

7、安装中文语言支持、配置字符集

五、安装后的配置工作

1、配置数据库参数

参数配置的两种方法:

  •     sp_configure '参数名称',参数值
  •     修改参数文件(如:Sybase主机上的 %SYBASE%\servername.cfg)

 

  • 配置Sybase数据库使用的最大内存

用isql命令行实用工具登录sybase数据库服务器,其中的servername是%SYBASE%\ini\sql.ini文件中配置的sybase服务器。

$ isql -Usa -P -Sservername

1>sp_configure "max memory",614400  (单位为2k)

2>go

上面命令配置sybase使用1200M内存,通常配置为系统内存的60-70%。

 

  • 配置sybase数据库所能适用的最大引擎数

sp_configure 'max online engines', 2

go

sp_configure "number of engines at startup",2

go

若系统CPU数大于两个配置为系统实际CPU数减去1。

 

  • 配置可用的最大用户连接数

根据license许可的用户连接数,配置ASE服务器同时允许的最大用户连接数。

sp_configure 'Number of user connections',50

go

 

  • 配置可用锁的最大数量

sp_configure 'number of locks', 100000

go

按应用实际要求修改。如果执行大量的数据插入、更新、删除操作,可以考虑增加锁数量。

 

  • 配置存储过程缓存数

存储过程缓存(procedure cache size)的大小可以配置为ASE最大内存的20%,也就是max memory的20%。此单位是2k。比如:max memory配置为4000M,则存储过程缓存可以配置为800M,800M= 409600(2K)

sp_configure "procedure cache size", 409600

go

 

  • 配置可以打开的对象、索引、分区描述符的个数

sp_configure "number of open indexes", 1000

go

sp_configure "number of open objects", 1000

go

sp_configure "number of open partitions", 1000

go

以上参数根据实际应用中表的个数而定。

 

  • 配置创建表时字段默认允许为空

配置参数"allow nulls by default"控制在用户数据库内创建表时字段是否为空的属性默认允许为空。

use master

go

sp_dboption model,'allow nulls by default',true

go

use model

go

checkpoint

go

 

  • 修改服务器范围的锁模式为:数据行锁

sp_configure "lock scheme",0,datarows

go

 

  • 修改默认数据缓存的大小

默认数据缓存(default data cache)的大小可以配置为ASE最大内存的50%,也就是max memory的50%。

sp_cacheconfig "default data cache","1000m"

go

 

  • 创建命令数据缓存并绑定到临时数据库和用户对象

请根据业务情况,为临时数据库和业务繁忙的表绑定命令高速缓存。

比如为tempdb绑定命名缓存:

sp_cacheconfig "tempdb_cache","10m"

go

use master

go

sp_bindcache tempdb_cache,tempdb

go

需要重启后,绑定到临时数据库的命令缓存才能生效。绑定命名缓存到用户对象的方法相同。

 

  • 启用表分区功能参数

ASE数据库默认没有打开表分区的参数enable semantic partitioning,需要手动启用。此为动态参数。

sp_configure "enable semantic partitioning",1

go

 

  • 增加网络数据包的大小

控制ASE服务器发送和接收的网络数据包大小的参数有2个:max network packet size和default network packet size。都是静态参数,需要重启ASE服务器才能生效。

参数max network packet size限定了default network packet size所能配置的最大值。需要先调整参数max network packet size的大小,重启ASE服务器后,才能调整参数default network packet size的大小。

sp_configure "max network packet size",4096

go

重启ASE服务器

sp_configure "default network packet size",4096

go

 

  • 配置临时数据库tempdb的选项

use master

go

sp_dboption tempdb,'select into',true

go

sp_dboption tempdb,'trunc log on chkpt',true

go

use tempdb

go

checkpoint

go

 

Sybase数据库服务器的一些配置参数值可以参考如下表格

参数名称

参数说明

参数值

max memory

最大内存

2936012 (2K:5.6G)

procedure cache size

存储过程缓存

256000 (2K:500M)

statement cache size

语句缓存

102400(2K:200M)

allocate max shared memory

 

1

number of user connections

最大用户连接数

2000

number of locks

最大可用锁的数量

50000

number of devices

最大可用设备数

100

number of open databases

最大可用数据库数

50

number of open objects

最大可同时打开数据库对象数

10000

number of open indexes

最大可同时打开数据库索引数

10000

number of open partitions

最大可同时打开对象分区数

10000

max online engines

最大可用的引擎数

3

number of engines at startup

启动时使用引擎数

3

global cache partition number

服务器范围的缓存分区数

3

enable unicode conversions

启用unicode字符集转化

0

enable literal autoparam

启用语义自动参数化

1

disk i/o structures

磁盘IO结构数

2048

enable semantic partitioning

启用语义分区

1

max network packet size

最大网络包大小

4096

default network packet size

默认网络包大小

4096

size of unilib cache

 

204800

recovery interval in minutes

 

15

 

2、启动、关闭Sybase数据库服务器

  • 启动Sybase服务器

在windows下介绍两种方法启动Sybase数据库服务器。

方法一:通过服务器管理器

    依次打开控制面板>管理工具>服务 管理窗口。拖动滚动条到Sybase打头的服务名称附近,一般会发现有5个服务:Sybase SQLServer _ <servername>、Sybase BCKServer _ <servername>_BS、Sybase MONServer _ <servername>_MS、Sybase Unified Agent、Sybase XPServer _ <servername>_XP。

    一般情况下,启动主服务(SQLServer)和备份服务(BCKServer)就可以了。监控服务(MONServer)在需要监控Sybase性能时再打开。扩展存储过程服务(XPServer)是由主服务(SQLServer)根据需要打开的,不能手动启动XPServer。

    在Sybase SQLServer _ TEST服务项上点右键,选择启动就可以启动sybase主服务器。备份服务Sybase BCKServer _ TEST_BS的启动过程类似。

 

方法二:通过net start命令

    在windows下也可以通过命令行来启动sybase主服务器和备份服务器。net start的语法为:        NET START [service]

    需要知道以上命令中的service名称才能执行该命令。sybase主服务对应的服务名称SERVICE_NAME为:sybsql_<servername>。其中servername为配置的sybase服务器名称。如果配置的sybase服务名为TEST的话,可以这样起来sybase主服务和备份服务。

    net start sybsql_test

    net start sybbck_test_BS

 

  • 关闭Sybase服务器

有四种方法来关闭sybase的服务

 

方法一:服务管理器

    依次打开控制面板>管理工具>服务 管理窗口。找到sybase的主服务和备份服务。在服务名称Sybase SQLServer _ <servername>和Sybase BCKServer _ <servername>_BS上分别点右键选择停止来关闭服务。如果相应的服务名称旁边的状态列为空,则说明服务已经成功停止。

 

方法二:在isql中用shutdown命令

    用命令行实用工具isql连接到sybase服务器,执行shutdown来关闭。

    C:\Documents and Settings\Administrator>isql -Usa -STEST

    Password:

    1> shutdown

    2> go

    注意:在紧急或者突发情况才能使用shutdown with nowait命令。

 

方法三:使用net stop命令来关闭sybase服务

    net stop的语法为:NET STOP service

    sybase主服务对应的服务名称为:sybsql_<servername>,备份服务对应的服务名称为:sybbck_<servername>_BS,监控服务为对应的服务名称为:sybmon_<servername>_MS。在命令提示符下执行的命令依次为:

    net stop sybsql_test

    net stop sybbck_test_BS

    net stop sybmon_test_MS

 

方法四:使用Sybase Central 关闭sybase服务

    在Sybase Central中,在连接的服务器上点右键选择"关闭",在选择立即关闭"servername:port",点"是"就可以关闭sybase的主服务了。

 

    如果配置了Sybase双机服务器的话,由sybase工程师与操作系统工程师一起完成双机切换的测试工作。

 

3、检验哪些服务器正在运行

在安装并配置 Sybase 服务器后,这些服务器应该处于运行状态。要检验这些服务器是否正在运行,在Windows下介绍三种方式查看Sybase数据库服务器是否运行。

方法一:

请执行以下操作:

    1 在 Windows 任务管理器中,选择"开始"|"设置"|"控制面板"|"管理工具" | "服务"。

    2 滚动服务列表,直至找到 Sybase Adaptive Server_servername,其中servername 是服务器的名称。"状态"列指出它是否已启动。如果未启动,请选择服务器,然后单击"启动"。

 

方法二:

    在命令提示符cmd下执行:

    C:\Documents and Settings\Administrator>net start

    在显示结果中查找Sybase打头的服务名称。通过上图可以看到已经启动了主服务(Sybase SQLServer _ TEST)和备份服务(Sybase BCKServer _ TEST_BS)。

 

方法三:

    按ctrl+alt+del组合键打开任务管理器窗口,点击进程页,查看是否存在 sqlsrvr.exe,如果存在sqlsrvr.exe进程,则证明Sybase主数据库服务器正在运行中。备份服务的名称为bcksrvr.exe。

 

4、检验与服务器的连接

使用 isql 执行快速测试

 

    在命令提示符下输入:isql -Usa -P<password or leave it blank> -Sserver_name

    其中, server_name 是 Adaptive Server 的名称。

 

注意: 第一次登录到 Adaptive Server 时,可使用缺省的"sa"用户名,口令为空。 第一次登录后,应更改系统管理员的口令。

如果登录成功,将显示 isql 命令提示符。要显示 Adaptive Server 版本号,请在 isql 提示符下输入:

    1> select @@version

    2> go

    将显示 Adaptive Server 版本号。 输出应显示 Adaptive Server 的版本为 15.0.3。

 

5、通过Sybase Central连接到Adaptive Server

    Sybase Central 提供了一个图形用户界面,在此可执行 Adaptive Server 管理任务。Sybase Central 界面在左窗格中显示服务器的分层列表,在右窗格中显示所选服务器的详细信息列表。要选择一个服务器,请在左窗格中单击其图标。

  • 1 从 Windows 任务栏中,选择"开始"|"程序"|"Sybase"|"Sybase Central"。
  • 2 在左窗格中,单击要连接到的服务器。
  • 3 在"登录"窗口中,输入系统管理员的用户名和口令。必须以系统管理员身份登录才能执行管理任务。
  • 4 单击"确定"。

    注意:第一次登录到 Adaptive Server 时,可使用缺省的"sa"用户名,口令为空。第一次登录后,应更改系统管理员的口令。用于 Sybase Central 的 Adaptive Server 插件并不显示 SQL.ini 文件中所列的全部服务器。Sybase Central 只列出前面连接到的那些服务器,或者列出作为 Windows 服务启动的那些服务器。

 

6、设置系统管理员口令

    在安装 Sybase 软件时,系统会为 Sybase 系统管理员创建一个名为"sa"的用户帐户。以"sa"身份登录的用户可以使用 Adaptive Server上的任何数据库(包括 master 数据库),并具有全部权限。刚完成新的安装时,"sa"帐户没有口令。口令的初始缺省值为:NULL。在生产环境中, Sybase 系统管理员应始终使用非缺省口令。

Sybase 系统管理员应以"sa"身份登录到新的 Adaptive Server,并使用sp_password 设置口令:

    %SYBASE%\%SYBASE_OCS%\bin\isql -Usa -P -Sserver_name

1> sp_password null, new_password

2> go

    其中,"null"是缺省口令, new_password 是分配给"sa"帐户的口令。为了最大限度地提高安全性, Sybase 建议您设置至少包含八个字符的口令,并结合使用大小写字母和数字。

 

7、安装中文语言支持、配置字符集

    在windows平台上,Sybase ASE15.0.3安装完成后默认语言是:英语(us_english),默认字符集为:cp850。cp850是一个西欧字符集,虽然也能使用cp850字符集保存汉字,但是不推荐在生产环境中使用该字符集。

    如果生产系统中Sybase ASE数据库仅考虑支持简体中文的话,则可以使用cp936或者utf8这两种字符集。如果需要国际化支持,那么需选择utf8字符集。

    在生产环境中,需要将默认字符集由cp850调整为utf8(或者调整成支持简体中文的cp936也可以,根据项目情况而定!),将默认语言调整为中文。

    备注:如果想设定ASE的默认语言为中文,必须先将默认字符集设定为utf8,才能设置默认语言为中文。否则会报错。

7.1查看当前数据库的默认字符集:

执行:

sp_configure "default character set id"

go

查看到Run Value为:2,执行:

select id,name from master..syscharsets where id=2

go

查看到当前字符集为:cp850

 

7.2将字符集调整为utf8的过程:

将字符集由cp850或者iso_1调整为utf8有2中方法:图形界面工具和命令行工具。下面分别演示过程。

7.2.1用图形界面工具调整字符集为utf8

菜单:开始>所有程序>Sybase>Adaptive Server Enterprise>Server Config

(或者:

cd /d %sybase%\%sybase_ase%\bin

syconfig

左边的产品列表选择Adaptive Server,点"配置Adaptive Server"按钮,选择要配置的服务器:WIN2003SERVER

输入sa的口令:

 

进入到配置Adaptive Server窗口

选择"语言"按钮,

可以看到当前缺省值中的字符集为:cp850。点"字符集"下面的"添加/删除"按钮,

从可用字符集列表中选择"Unicode 3.1 UTF-8 Character Set"字符集,点确定。

点"字符集"下面的"设置缺省值"按钮

选择"Unicode 3.1 UTF-8 Character Set"字符集,点确定。

预览一下,可以看到当前缺省值中字符集已经被改为"utf8"。点确定按钮。返回到"配置Adaptive Server"窗口,点保存按钮。

这时候开始安装utf8字符集,并配置默认字符集为utf8。如果ASE中有用户数据库,则此过程需要持续一段时间,因为ASE需要将用户数据库的内容都转化为utf8字符集下的内容。

配置完成后返回到窗口。

 

查看ASE的错误日志文件win2003server.log,发现在配置字符集为utf8过程中ASE重启了两次。

00:00000:00031:2010/09/13 13:59:32.67 server The configuration option 'default character set id' has been changed by 'sa' from '2' to '190'.

00:00000:00031:2010/09/13 13:59:32.67 server WARNING: ***************************

00:00000:00031:2010/09/13 13:59:32.67 server Default char set being reconfigured:

00:00000:00031:2010/09/13 13:59:32.67 server     old charset ID = 2    new charset ID = 190

00:00000:00016:2010/09/13 13:59:34.89 server Shutdown started by user 'sa'. SQL text: shutdown

先将ASE数据库关闭,然后用单用户模式启动数据库

00:00000:00001:2010/09/13 14:00:11.59 server *** WARNING ******************

00:00000:00001:2010/09/13 14:00:11.59 server Attempting to change default character set ID from 2 to 190

00:00000:00001:2010/09/13 14:00:11.59 server ASE booted single user mode - updates allowed to system catalogs

00:00000:00001:2010/09/13 14:00:11.59 server *** WARNING ******************

此时数据库默认字符集已经调整为utf8,后面的过程为将ASE已有数据库的数据转化为utf8的数据。

00:00000:00001:2010/09/13 14:00:30.96 server Now loading ASE's new default sort order and character set

00:00000:00001:2010/09/13 14:00:31.07 server Checking table 'sysobjects' (object ID 1): Logical page size is 4096 bytes.

00:00000:00001:2010/09/13 14:00:31.10 server

00:00000:00001:2010/09/13 14:00:31.10 server Checking partition 'sysobjects_1' (partition ID 1) of table 'sysobjects'. The logical page size of this table is 4096 bytes.

00:00000:00001:2010/09/13 14:00:31.15 server

00:00000:00001:2010/09/13 14:00:31.29 server Checking table 'systypes' (object ID 4): Logical page size is 4096 bytes.

00:00000:00001:2010/09/13 14:00:31.29 server

00:00000:00001:2010/09/13 14:00:31.29 server Checking partition 'systypes_4' (partition ID 4) of table 'systypes'. The logical page size of this table is 4096 bytes.

转化完毕后,已正常模式再次重新启动ASE数据库。

 

启动日志的最后有:

00:00000:00001:2010/09/13 14:30:12.67 server ASE's default unicode sort order is 'binary'.

00:00000:00001:2010/09/13 14:30:12.67 server ASE's default sort order is:

00:00000:00001:2010/09/13 14:30:12.67 server     'bin_utf8' (ID = 50)

00:00000:00001:2010/09/13 14:30:12.67 server on top of default character set:

00:00000:00001:2010/09/13 14:30:12.67 server     'utf8' (ID = 190).

00:00000:00001:2010/09/13 14:30:12.67 server Master device size: 60 megabytes, or 30720 virtual pages. (A virtual page is 2048 bytes.)

由上可以看出,ASE数据库的默认字符集已经被设置为:utf8。

 

检验utf8字符集是否配置成功

在cmd下执行: isql –Usa –P –Swin2003server –Jcp936登录ASE数据库。

1> sp_configure "default character set id"

2> go

Parameter Name Default Memory Used

Config Value Run Value Unit

Type

------------------------------ -------------------- -----------

-------------------- -------------------- --------------------

----------

default character set id 2 0

190 190 id

static

 

(1 row affected)

(return status = 0)

1> select id,name from master..syscharsets where id = 190

2> go

id name

--- ------------------------------

190 utf8

 

(1 row affected)

1>

至此,utf8字符集修改成功!

 

7.2.2用命令行工具调整字符集为utf8

检查当前ASE数据库中是否安装了utf8字符集?

select id,name from master..syscharsets

where name='utf8'

go

如果有返回结果,则证明ASE服务器已经安装了utf8字符集。utf8字符集的id一般为190。

如果未安装字符集utf8,则在cmd下执行:

cd /d %sybase%\charsets\utf8

charset -Usa -P -Swin2003server binary.srt utf8 (sa的密码为空,服务名称为:win2003server)

反馈信息如下:

C:\sybase\charsets\utf8>charset -Usa -P -Swin2003server binary.srt utf8

Loading file 'binary.srt'.

Found a [sortorder] section.

This is Class-1 sort order.

Finished loading the Character Set Definition.

Finished loading file 'binary.srt'.

1 sort order loaded successfully

 

再次检查当前ASE数据库中是否安装了utf8字符集?

select id,name from master..syscharsets

where name='utf8'

go

反馈信息如下:

1> select id,name from master..syscharsets

2> where name='utf8'

3> go

id name

--- ------------------------------

190 utf8

 

(1 row affected)

说明已经安装了utf8字符集。

 

配置默认字符集为:utf8

sp_configure "default character set id",190

go

 

之后重启ASE数据库两次

 

检验utf8字符集是否配置成功

1> sp_configure "default character set id"

2> go

Parameter Name Default Memory Used

Config Value Run Value Unit

Type

------------------------------ -------------------- -----------

-------------------- -------------------- --------------------

----------

default character set id 2 0

190 190 id

static

 

(1 row affected)

(return status = 0)

1> select id,name from master..syscharsets where id = 190

2> go

id name

--- ------------------------------

190 utf8

 

(1 row affected)

1>

至此,utf8字符集修改成功!

 

7.3将数据库默认语言调整为中文

请确保在Sybase ASE15.0.3程序文件安装过程中,已经选择了"Chinese Language Module"模块。如果没有选择,可以重新执行安装程序,添加这个模块。

 

7.3.1用图形界面工具添加并设置中文为默认语言

菜单:开始>所有程序>Sybase>Adaptive Server Enterprise>Server Config

(或者:

cd /d %sybase%\%sybase_ase%\bin

syconfig

左边的产品列表选择Adaptive Server,点"配置Adaptive Server"按钮,选择要配置的服务器:WIN2003SERVER

输入sa的口令:

 

进入到配置Adaptive Server窗口

选择"语言"按钮,

可以看到当前缺省值中的语言为:us_english。点"语言"下面的"添加/删除"按钮,

在安装语言窗口中添加中文语言Chinese。点确定返回到语言选项窗口,点击"语言"下的"设置缺省值"按钮,

在更改缺省语言窗口中选择Chinese,点确定,返回到语言选项窗口,

 

点确定,再点保存按钮。进行安装语言的过程中,

这时候开始安装中文语言。安装过程会将sysmessages系统表中添加中文语言信息。

配置完成后返回到窗口。点退出则完成默认语言的配置。

7.3.2用命令行工具添加并设置中文为默认语言

在ASE服务器中安装中文语言:

cd /d %sybase%\%sybase_ase%\bin

langinst -Usa -P -Swin2003server chinese (sa的密码为空,数据库服务名为:win2003server)

反馈信息为:

C:\sybase\ASE-15_0\bin>langinst -Usa -P -Swin2003server chinese

Loading datetime information from file C:\sybase/ASE-15_0/locales/chinese/common

.loc.

Loading system messages from file C:\sybase/ASE-15_0/locales/chinese/server.loc.

 

9075 Messages processed.

Loading complete.

Summary: 0 deleted, 8640 inserted, 0 updated, 435 duplicates, 0 unsuccessful.

 

用isql设定默认语言为中文:

在cmd下执行: isql -Usa –P –Swin2003server –Jcp936 登录ASE数据库。

 

检查中文语言是否已经成功安装?

select langid,name from master..syslanguages

go

如果返回结果为1行,则说明中文语言已经成功安装了。

 

配置ASE数据库默认语言为中文:

sp_configure "default language id",1

go

 

7.3.3验证ASE默认语言为中文

用isql登录ASE,

isql –Usa –Jcp936 (当前数据库的字符集为utf8,客户端连接时需要使用cp936,否则中文会出现乱码)

select @@language

如果返回结果为:Chinese,则表示默认语言已经修改为中文了。

 

7.3.4修改登录账号的默认语言为中文

查看登录账号的默认语言:

sp_displaylogin sa

go

Suid: 1

登录名: sa

全名:

缺省数据库: master

缺省语言:

自动登录脚本:

已配置的特权:

sa_role (default ON)

sso_role (default ON)

oper_role (default ON)

sybase_ts_role (default ON)

mon_role (default ON)

js_admin_role (default ON)

被锁定: 否

最后口令改变日期: 十一月 27 2009 12

口令截止间隔: 0

口令到期: NO

最小口令长度: 6

登录失败次数的最大值: 0

当前已失败的登录次数:

请用 AUTH_DEFAULT 进行鉴定

登录口令加密:SHA-256

上一次登录日期:

(return status = 0)

 

修改登录的默认语言为中文:

sp_modifylogin sa,deflanguage,chinese

go

 

再次检验登录账号的默认语言:

1> sp_displaylogin sa

2> go

Suid: 1

登录名: sa

全名:

缺省数据库: master

缺省语言: chinese

自动登录脚本:

已配置的特权:

sa_role (default ON)

sso_role (default ON)

oper_role (default ON)

sybase_ts_role (default ON)

mon_role (default ON)

js_admin_role (default ON)

被锁定: 否

最后口令改变日期: 十一月 27 2009 12

口令截止间隔: 0

口令到期: NO

最小口令长度: 6

登录失败次数的最大值: 0

当前已失败的登录次数:

请用 AUTH_DEFAULT 进行鉴定

登录口令加密:SHA-256

上一次登录日期:

(return status = 0)

------------------------------------------------------------------------------------------------

END

  • 本文链接地址:https://www.dbainfo.net/ase-15-0-3-for-windows-installation5.htm
  • 本文为dbainfo个人原创,请在尊重作者劳动成果的前提下进行转载;
  • 转载务必注明原始出处 : Sybase数据库技术,数据库恢复专家
  • 对《Sybase ASE 15.0.3 for windows平台安装文档 – 5、安装后的配置工作》有何疑问或见解,请在本文下方发表;
  • 对网站还有其他问题或建议,请提交在留言板,谢谢!
    1. vfhky
      2013-11-13 21:59:43

      留用,谢谢。

    :wink: :twisted: :roll: :oops: :mrgreen: :lol: :idea: :evil: :cry: :arrow: :?: :-| :-x :-o :-P :-D :-? :) :( :!: 8-O 8)