技术开发 频道

Linux上Sybase ASE11.9.2的安装、配置与使用

IT168 技术文档】 
    三、我使用ASE11.9.2 

    Sybase数据库管理系统体系庞大,功能完整,我刚入门,很多新概念没有消化、很多东西不知道是做什么用,只能讲讲自己已经用上的。我日常的使用是这样,Linux主机在打开电源后就不管了,事情都是在Windows平台上做的,或是用NetTerm登录Linux,做一些管理任务和使用isql工具连接ASE进行数据库操作,或是用WinSQL工具进行数据库操作,或是用Sybase Central管理数据库。 

    (一)Server的启动与关闭 

    先说说四种Server的作用。Adaptive Server Enterprise是基于客户机/服务器体系结构的关系数据库管理系统,其余三种Server是辅助它的。Backup Server负责数据库的备份(转储)和恢复(加载)。Monitor Server负责提供ASE的运行情况和性能统计数据。XP Server负责管理和执行扩展存储过程(ESPs)。 

    1、Server的启动 

    有两种方式:一是在Linux控制台模式发出命令启动Adaptive Server、Backup Server、Monitor Server,二是Linux启动时自动启动以上三种Server。XP Server是由Adaptive Server在调用扩展存储过程时启动的。 

    我一般是这样启动的,以sybase用户登录(对主设备所在的/db有读写权限),发出如下命令: 
$SYBASE/install/startserver -f RUN_TEST &&启动Adaptive Server $SYBASE/install/startserver -f RUN_TEST_back &&启动Backup Server

    以上两个命令也可合起来:$SYBASE/install/startserver -f RUN_TEST -f RUN_TEST_back,这样就同时启动了Adaptive Server和Backup Server。 

    启动Monitor Server,使用命令:monserver -STEST -MTEST_mon -Usa -P口令Servedr启动后,要定时查看日志(在$SYBASE/install目录下的TEST*.log文件),以便发现问题及时解决。 

    2、Server的关闭 

    以sybase用户登录,执行以下命令:
$SYBASE/bin/isql -Usa -STEST Password:(输入口令) 1>shutdown SYB_BACKUP &&关闭Backup Server 2>go 1>shutdown &&关闭Adaptive Server 2>go
    关闭Backup Server后,至少等30秒后才可以重新启动它。

    在缺省状态下,Monitor Server会监测到Adaptive Server停止运行,然后自动关闭。你也可以手动关闭Monitor Server,执行以下命令:
$SYBASE/bin/isql -Usa -STEST_mon Password:(输入口令) 1>sms_shutdown 2>go

    (二)isql的使用
 
    $SYBASE的bin子目录中有一些实用工具,其中最有用的是isql,利用它可连接Server进行数据库操作。其语法如下: 
isql -U登录名 -P口令

    进入系统后,系统显示序号和大于号提示:1>

    这时用户可以输入命令,每个命令既可在一行内输入,也可在多行内输入,每行结束时按回车键。一个命令输入完毕时,在新的一行输入go并按回车键,这时命令开始执行并在屏幕显示执行结果。上面已经有很多使用isql的例子了。isql是在Linux控制台模式下的命令行工具,使用起来毕竟不太方便(如果用NetTerm登录Linux,再使用isql,就比较好一点)。我常用的是Windows平台上的WinSQL软件。

    (三)Sybase的有关概念 

    1、数据库设备(Device):Sybase的数据库和事务日志都是建立在数据库设备上的,它可以是物理磁盘、磁盘分区或操作系统文件。使用disk init命令建立数据库设备,使用diskdefault命令指定缺省数据库设备,并且可以指定多个缺省数据库设备。建立数据库时不指定数据库设备,则在缺省数据库设备上建立。例如执行命令: 
$SYBASE/bin/isql -Usa -STEST Password:(输入口令) 1>disk init name = "userdev", &&设备名字为userdev 2>physname = "/db/sybsystem/userdev.dat", &&设备文件名为userdev.dat 3>vdevno = 3, &&设备号为3 4>size = 51200 &&大小为100M(51200块,1块=2k) 5>go 1>sp_diskdefault userdev,defaulton &&指定为缺省数据库设备 2>go

    2、数据库(Database):是表及其相关数据和操作规则及完整性约束条件的集合,包括以下数据库对象:表(Tables)、参照完整性约束、核对完整性约束、规则、缺省值、存储过程、触发器、视图。因此,数据库是一个容器,只有先建数据库,才能建表。一个数据库可以放在多个数据库设备上,一个数据库设备可以放置多个数据库。具体内容请看看讲关系数据库的书。

    3、事务日志:对数据库的每次修改,都可被自动记录在一个系统表中,这个系统表就叫事务日志。任何修改总是先记录日志,然后才做实际的修改。事务日志保证了在出现故障时可以将数据库恢复到出错前的状态。数据库的事务日志最好不要跟数据库放在同一设备上。

    4、用户:Sybase的用户分为两种,一种是SQL服务器用户(登录账号),另一种是数据库用户。SQL服务器用户sa是系统管理员,对整个系统有操作权。其他SQL服务器用户都是由系统管理员创建,只有SQL服务器用户才可登录进入系统。数据库用户首先必须是SQL服务器用户,当一个SQL服务器用户创建了一个数据库或被增加为某一数据库的用户时,他才成为相应数据库的数据库用户。

    (四)Sybase的Windows平台客户端软件的使用
   
    以asentlnx.exe为例。

    1、安装

    在Windows平台上,执行asentlnx.exe,解压缩出一大堆文件到临时目录。执行临时目录中的setup.exe,一直“Next”下去就行了。装好后在“开始”菜单建有“Sybase”程序组,里面有Sybase Central、Dsedit等工具。我的客户端软件是装在C:Sybase目录下的。

    2、配置客户端的接口文件

    客户端软件要与数据库服务器(Server)通讯,首先得知道局域网中服务器的地址。这就需要我们为客户端软件提供一本“通讯录”——接口文件,即是C:Sybaseinisql.ini文件。这个接口文件记录了与服务器通讯所使用的协议、地址、端口、服务类型等信息。而编写这本“通讯录”的工具就是Dsedit。

    通过Dsedit,可以在sql.ini中为多个Server建立entry(接口)。例如,我们要为名叫TEST的Server建立entry,可以这样操作:

    (1)启动Dsedit,出现一个窗口,点击“OK”按钮就可以了。

    (2)在“Server Object”菜单栏中选择“Add”,出现“Input Server Name”对话框,输入“TEST”,点击“OK”按钮。
    (3)在“DSEDIT1-InterfaceDriver”窗口中,在左边的“Server”框中选择“TEST”行,在右边的框中选“Server Address”行,右击,选择快捷菜单中的“Modify Attribute...”项,出现“Network Address Attribute”窗口,点击“Add”按钮,出现“Input Network Address For Protocol”对话框,点击“Add”按钮,“Protocol”项选“TCP”,“Network Address”项填入“192.168.0.1,4100”,点击“OK”按钮,退回“DSEDIT1-InterfaceDriver”窗口中,

    (4)在右边的框中选“Server Address”行,右击,选择快捷菜单中的“Ping Server”项,出现“Ping”窗口,点击“Ping”命令按钮,如果出现“Open Connection to server at (192.168.0.1,4100) succeeds…”的提示,表示配置成功了。

    3、使用Sybase Central

    Sybase Central是用于管理数据库及相关产品的Windows平台工具,可用它管理服务器、数据库中的对象(表、视图、存储过程等等),还能完成通常的创建数据库、表、用户等管理任务。Sybase Central通过提供类似Windows 95资源管理器的易于使用的图形用户界面,简化了这些任务,例如,删除数据库表,只要在主窗口中选中它并单击“删除”。通过提供向导,Sybase Central 帮助您完成更复杂的任务,向导一步一步地指导你完成任务。有了它,你可以基本摆脱使用isql工具发出SQL命令来管理数据库,要知道用Create table之类的命令是很累人的,不过建议你还是要研究这些命令哦,这可是基础啊,因为弄明白了这些命令的参数,才能用好Sybase Central!

    第一次启动Sybase Central,可能会遇到点麻烦,系统会提示“Unable to load language DLL "scsslgzh"”。这主要是缺少提供中文支持的DLL文件,你可以将“C:Sybaseasep”目录中的scsslgen.dll文件改名为scsslgzh.dll,Sybase Central就可以正常启动了。

    四、我的ASE+VFP客户机/服务器应用

    经过摸索,ASE+VFP客户机/服务器这种模式已在我的单位初步应用起来了。现在ASE上有一个应用数据库,VFP开发的前端程序可同时在多台机器上运行。我正准备把单位这些年VFP下的数据往ASE上迁移,再修改一下原来的应用程序,使之能适应网络上的多用户环境。

    (一)Sybase System11 ODBC驱动程序与数据源

    在Windows平台上,Sybase公司的软件有自己的专用文件与ASE进行连接和交互操作,而其他公司的软件怎样与ASE连接和交互操作呢?一条途径是通过Sybase公司提供的ODBC(公开数据库接口)驱动程序。通过这个ODBC驱动程序,我们可建立数据源(Data Source),供应用程序使用,使之能够处理ASE上的数据。
下面讲怎么建立一个数据源。在Sybase程序组中启动ODBC Data Source Administrator(或在控制面板启动ODBC Data Source项),点击“Drivers”选项卡,应该有Sybase System 11一行,这是我们安装asentlnx.exe时装上的。选择“User DSN”选项卡,点击“Add”按钮,出现“Create New Data Source”窗口,选择“Sybase System 11”一行,点击“完成”按钮,跟着出现“ODBC Sybase Driver Setup”窗口。在“General”选项卡中,在“Data Source Name”栏填入数据源的名字,例如DBSERVER,在“Server Name”栏填入你要连接到Adaptive Server的名字,例如TEST,在“Database Name”栏填入默认要连接的数据库名字,然后点击“确定”按钮就好了。

    (二)远程视图与SPT

    数据源建好后,VFP应用程序就可以用它来访问和更新服务器上的数据了。在VFP中,可以使用远程视图和SPT两种方法访问远程数据。使用远程视图是最简单、方便的方法,你可以象使用VFP本地表一样使用远程视图。SPT(SQL pass-through)是直接把SQL语句发送给服务器执行,能够在很大程度上提高客户机/服务器应用程序的性能。我目前对ASE还不熟,开发程序时只是使用远程视图。我单位原来VFP下的数据就是使用远程视图,通过自编的一个小程序升迁到服务器上的(本来Sybase提供了一个批拷贝工具bcp,用于表与操作系统文件之间的数据导出导入的,但我用起来总有问题)。
0
相关文章