Sybase ASE 15.0.3 for windows平台安装文档 – 5、安装后的配置工作
以前写的windows平台上安装Sybase ASE15.0.3的文档,内容比较详细。与大家共享一下!
主要包括:
一、安装前的准备工作
二、安装Sybase程序
三、升级到 Sybase 15.0.3 ESD #3
四、安装Sybase数据库服务
五、安装后的配置工作
下面是第五章:安装后的配置工作
五、安装后的配置工作
5、通过 Sybase Central 连接到 Adaptive Server
五、安装后的配置工作
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
留用,谢谢。