sybase数据库入门:Sybase入门




、Sybase数据库介绍
1.版本
1984年MarkB.Hfman和RobertEpstern创建了Sybase公司并在1987年推出了Sybase数据库产品SYBASE主要有 3种版本是UNIX操作系统下运行版本 2是NovellNetware环境下运行版本 3是WindowsNT环境下运行版本对UNIX操作系统目前广泛应用为SYBASE10及SYABSE11forSCOUNIX
2.Sybase数据库特点
(1)它是基于客户/服务器体系结构数据库
关系数据库都是基于主/从式模型在主/从式结构中所有应用都运行在台机器上用户只是通过终端发命令或简单地查看应用运行结果
而在客户/服务器结构中应用被分在了多台机器上运行台机器是另个系统客户或是另外些机器服务器这些机器通过局域网或广域网联接起来
客户/服务器模型好处是:
●它支持共享资源且在多台设备间平衡负载
●允许容纳多个主机环境充分利用了企业已有各种系统
(2)它是真正开放数据库
由于采用了客户/服务器结构应用被分在了多台机器上运行更进运行在客户端应用不必是Sybase公司产品对于关系数据库为了让其它语言编写应用能够访问数据库提供了预编译Sybase数据库不只是简单地提供了预编译而且公开了应用接口DB-LIB鼓励第 3方编写DB-LIB接口由于开放客户DB-LIB允许在区别平台使用完全相同因而使得访问DB-LIB应用很容易从个平台向另个平台移植

(3)它是种高性能数据库
Sybase真正吸引人地方还是它高性能体现在以下几方面:
●可编程数据库
通过提供存储过程创建了个可编程数据库存储过程允许用户编写自己数据库子例程这些子例程是经过预编译因此不必为每次都进行编译、优化、生成查询规划因而查询速度要快得多
●事件驱动触发器
触发器是种特殊存储过程通过触发器可以启动另个存储过程从而确保数据库完整性
●多线索化
Sybase数据库体系结构个创新的处就是多线索化数据库都依靠操作系统来管理和数据库连接当有多个用户连接时系统性能会大幅度下降Sybase数据库不让操作系统来管理进程把和数据库连接当作自己部分来管理此外Sybase数据库引擎还代替操作系统来管理部分硬件资源如端口、内存、硬盘绕过了操作系统这环节提高了性能
3.Sybase数据库组成
Sybase数据库主要由 3部分组成:

(1)进行数据库管理和维护个联机关系数据库管理系统SybaseSQLServer;
SybaseSQLServer是个可编程数据库管理系统它是整个Sybase产品核心软件Software起着数据管理、高速缓冲管理、事务管理作用

(2)支持数据库应用系统建立和开发组前端工具SybaseSQLTool
ISQL是和SQLServer进行交互种SQL句法分析器ISQL接收用户发出SQL语言将其发送给SQLServer并将结果以形式化方式显示在用户标准输出上
DWB是数据工作台是SybaseSQLTool个主要组成部分作用在于使用户能够设置和管理SQLServer上数据库并且为用户提供种对数据库信息执行添加、更新和检索等操作简便思路方法在DWB中能完成ISQL所有功能且由于DWB是基于窗口和菜单因此操作比ISQL简单种方便实用数据库管理工具
APT是Sybase客户软件Software部分主要产品的也是从事实际应用开发主要环境APT工作台是用于建立应用工具集可以创建从非常简单到非常复杂应用它主要用于开发基于表格(Form)应用其用户界面采用窗口和菜单驱动方式通过系列选择完成表格(Form)、菜单和处理开发

(3)可把异构环境下其它厂商应用软件Software和任何类型数据连接在接口SybaseOpenClient/OpenServer
通过OpenClientDB-LIB库应用可以访问SQLServer而通过OpenServerSERVER-LIB应用可以访问其它数据库管理系统


2、SYBASE有关概念


SybaseSQLServer是个多库数据库系统这些数据库包括系统数据库和用户数据库而不论是系统数据库还是用户数据库都建立在数据库设备上
1.数据库设备
所有数据库都创建在数据库设备上所谓数据库设备不是指个可识别物理设备而是指用于存储数据库和数据库对象磁盘原始分区或操作系统文件增加个新数据库设备时必须对这些设备“化”过程就是将物理磁盘、磁盘分区或操作系统文件变为SYBASE数据库可以识别设备化数据库设备使用DISKINIT命令:

DISKINIT
NAME=设备名
PHYSNAME=物理设备名
VDEVNO=虚拟设备号
SIZE=块数

其中NAME指数据库设备名此名将用于CREATEDATABASE和ALTERDATABASE命令PHYSNAME是原始磁盘分区或操作系统文件名VDEVNO是数据库设备标识号在SQLServer中它必须是唯SIZE单位是2K对于新创建数据库最小SIZE是model数据库尺寸即1024个2K块(2M)

例如:/*将/dev目录下400M物理设备化为SYBASE数据库设备tele114_log01*/
1>diskinit
2>name=“tele114_log01”,
3>physname=“/dev/rtelelog”
4>vdevno=4
5>size=204800/*2K*204800=400M*/
6>go
2、段
数据库设备从逻辑上被划分为数据库段以允许将某特定对象放置在指定段上(创建对象时指定)数据库设备可拥有多达192个段段可使用255个逻辑设备上存储空间当用户创建个数据库时SQLSERVER会自动在该数据库中创建 3个段:SYSTEM、LOGSEGMENT、DEFAULT这 3个段分别用来存储数据库系统表、事务日志和其他数据库对象


在数据库中创建段步骤是:
x先用Diskinit化物理设备
x通过使用Createdatabase和alterdatabaseon子句使数据库设备对数据库可用于是新设备自动增加到数据库default和system段
旦数据库设备存在并对数据库可用使用存储过程Sp_addsegment定义数据库语法如下:
Sp_addsegment段名数据库名设备名

3、系统数据库
安装Sybase数据库时自动生成下列系统数据库:
●主数据库master;
●模型数据库model;
●系统过程数据库sybsystemprocs;
●临时数据库tempdb
也可选择下列数据库:
●安全审核数据库sybsecurity;
●举例数据库pubs2;
●命令语法数据库sybsyntax

(1)master数据库
包含许多系统表和系统过程从总体上控制用户数据库和SQLServer操作构成了SYBASE系统数据字典MASTER数据库主要记录信息为:
●登录帐号(SQL服务器用户名);syslogins,sysremolelogins
●正在执行过程;sysprocesses
●可修改环境变量;sysconfigures
●系统信息;sysmessages
●SQL服务器上每个数据库信息;sysdatabases
●每个数据库占用存储空间;sysusages
●系统上安装磁带及磁带信息;sysdevices
●活动锁信息;syslocks

(2)model数据库
提供了新用户数据库初型当我们每次用CREATEDATABASE命令时SQLServer都产生个model数据库拷贝然后把它扩展到命令要求尺寸如果我们修改了model数据库那么以后新创建数据库都将随它而改变下面是几个通常用到对model数据库改变:
●增加用户数据库类型、规则或缺省;
●可存取SQLServer上所有数据库用户用sp_adduser增加到model数据库上;
●缺省权限(特别是guest帐号)可在model中建立;
●诸如selecto/bulkcopy那样数据库选项可在model中设置这些设置反映到所有新创建数据库中它们在model中最原始值是关(off)
般情况下大多数用户无权修改model数据库又没被授权读取model中所有内容已拷贝到新数据库中授权读model没什么意义
1>usemodel
2>go
3>sp_help
4>go
NameOwnerObject_type
----------------------------------------------------
sysalternatesdbosystemtable
syscolumnsdbosystemtable
syscommentsdbosystemtable
sysconstrasdbosystemtable
sysdependsdbosystemtable
sysgamsdbosystemtable
sysindexesdbosystemtable
syskeysdbosystemtable
syslogsdbosystemtable
sysobjectsdbosystemtable
sysproceduresdbosystemtable
sysprotectsdbosystemtable
sysreferencesdbosystemtable
sysrolesdbosystemtable
syssegmentsdbosystemtable
systhresholdsdbosystemtable
systypesdbosystemtable
sysusermessagesdbosystemtable
sysusersdbosystemtable

(3)sybsystemprocs数据库
库中存储系统过程当用户执行存储过程(以sp_开始)时SQL服务器首先在用户当前数据库中搜索指定存储过程如果没有相应过程则到系统过程数据库中寻找若没有再到MASTER数据库中寻找

(4)临时数据库tempdb
该数据库为临时表和临时工作提供了个存储区域临时数据库是SQLServer上所有数据库共享工作空间由于这些表都是临时所以每当用户退出或系统失败这些表都将消失

(5)安全审核数据库sybsecurity
数据库中保存系统安全审核信息它可跟踪记录每个用户操作情况为维护系统安全提供控制手段

(6)举例数据库pubs2
为用户提供个学习SYBASE数据库模型

(7)命令语法数据库sybsyntax
库中保存SYBASE数据库命令语法及支持语言库
4、用户数据库
用户数据库是指用Createdatabase命令创建数据库所有新用户数据库都要在master数据库中创建也就是说不能存取master数据库用户是无权创建新数据库SA可以将创建数据库权限授予其他用户新建数据库中存在些系统表在sysusers表中至少有条记录既该数据库创建者数据库创建时创建者既为该数据库owner,当然创建者可以将这地位或这所有权用系统过程授予别用户
5、数据库对象
(1)表(Tables)
个关系数据库中表是最重要数据库对象,对应于关系数据库理论中关系和DBASE或FOXPRO中DBF文件是类似切数据都存放在表中其它数据库对象都是为了用户很好地操作表中数据表都以张 2维表形式存在其中列称的为个字段个域;而每行称的为个记录也就是项数据
类表它们名字都是以sys开头这些表称为系统表系统表记录着有关SQLServer信息在master数据库中表大部分为系统表这些表是随着master数据库创建而建立另外每个用户数据库在创建时都有个系统表子集


例如只有在master数据库中才有系统表有:sysconfigures、sysdatabases、sysdevices、syslogins等;在用户数据库和系统数据库中都有系统表有:sysalternates、syscolumns、sysindexs、syslogs、sysobjects、sysusers等
例:
1>usemaster
2>go
3>sp_help
4>go
NameOwnerObject_type
-----------------------------------------------------------------------------
spt_committabdbousertable
spt_datatype_infodbousertable
spt_datatype_info_extdbousertable
spt_monitordbousertable
spt_server_infodbousertable
spt_valuesdbousertable
sysalternatesdbosystemtable
syscharsdbosystemtable
syscolumnsdbosystemtable
syscommentsdbosystemtable
sysconfiguresdbosystemtable
sysconstrasdbosystemtable
syscurconfigsdbosystemtable
sysdatabasesdbosystemtable
sysdependsdbosystemtable
sysdevicesdbosystemtable
sysenginesdbosystemtable
sysgamsdbosystemtable
sysindexesdbosystemtable
syskeysdbosystemtable
syslanguagesdbosystemtable
syslistenersdbosystemtable
syslocksdbosystemtable
sysloginrolesdbosystemtable
sysloginsdbosystemtable
syslogsdbosystemtable
sysmessagesdbosystemtable
sysmonitorsdbosystemtable
sysobjectsdbosystemtable
sysproceduresdbosystemtable
sysprocessesdbosystemtable
sysprotectsdbosystemtable
sysreferencesdbosystemtable
sysremoteloginsdbosystemtable
sysrolesdbosystemtable
syssegmentsdbosystemtable
sysserversdbosystemtable
syssrvrolesdbosystemtable
systestlogdbosystemtable
systhresholdsdbosystemtable
systypesdbosystemtable
sysusagesdbosystemtable
sysusermessagesdbosystemtable
sysusersdbosystemtable
sp_configuredbostoredprocedure
sp_dboptiondbostoredprocedure
sp_getmessagedbostoredprocedure
sp_procxmodedbostoredprocedure
sp_prtsybsysmsgsdbostoredprocedure
sp_validlangdbostoredprocedure

介绍说明见附录表1

(2)视图(Views)
视图是查看张或几张表中数据种方式通过将张或几张表中部分数据进行组合得到视图视图看上去和表非常相象但和表还是有着本质区别通过视图看到数据实际上都是存放在表中在数据库中仅存在视图定义
使用视图好处是:
●操作方便
●安全性

(3)索引(Index)
索引是对字段生成用于加快数据检索在Sybase数据库中索引是由系统自动管理也就是说Sybase索引操作对用户是透明索引旦建立系统会自动对其进行更新维护以使它和相应表对应致;操作时用户无须指定索引系统会自动确定是否使用索引进行操作
Sybase支持 3种区别类型索引是复合索引即包含几个列索引; 2是唯性索引即任意两行中索引列不能有相同取值; 3是簇类索引(Clusteredindexes)和非簇类索引(Nonclusteredindexs)簇类索引使SQL服务器不断重排表行物理顺序以使其和逻辑索引顺序相非簇类索引则不需要表行物理顺序和逻辑顺序每个表最多只能建立个簇类索引非簇类索引则可建立多个和非簇类索引相比簇类索引检索速度要快应当在建立任何非簇类索引以前建立簇类索引

(4)存储过程(Storedprocedures)
存储过程是用T-SQL语言编写成SQL子例程它存储于SQL服务器上供用户执行SQL语句和批处理语句区别存储过程是经过预编译当首次运行个存储过程时SQLServer查询处理器将对其分析并产生最终执行方案由于查询处理大部分工作已经完成所以以后执行存储过程时速度将会很快执行存储过程时可带参数并可其他存储过程执行完毕后返回信息以指示是否成功完成相应操作存储过程有两种:种是SQL服务器安装时自动建立系统存储过程(系统过程)种是用户自己创建存储过程
系统过程是用于系统管理并且为用户提供了从事数据库管理种途径这些系统过程都是以sp_开头它们都放在master数据库中且隶属于sa(系统管理员)也有很多可以在任个数据库中运行系统过程
常见系统过程有:
Sp_addgroup在当前数据库中建立个数据库用户组
Sp_addlogin建立个SQL服务器用户


Sp_adduser在当前数据库中增加个用户
sp_changegroup改变数据库用户组
Sp_dboption查询或改变数据库系统设置
Sp_dropdevice删除设备
Sp_dropgroup删除组
Sp_droplogin删除帐号
Sp_help查询数据库对象及所有数据库信息
Sp_helpdb查询数据库信息
Sp_helpdevice查询设备信息
Sp_helpgroup查询组信息
Sp_helpindex查询给定表信息
Sp_helpuser查询用户信息
Sp_lock查询当前加锁信息
Sp_monitor查询SQL服务器统计信息
Sp_password改变登录帐号口令
Sp_spaceused查询表中行数、数据页数及空间大小
Sp_who查询当前用户及过程信息
Sp_syntax查询操作语法
Sp_configure配置系统参数

例:
1>sp_helpdb
2>go
namedb_sizeownerdbidcreatedstatus
--------------------------------------------------------------------------
master3.0MBsa1Jan01,1900nooptions
model2.0MBsa3Jan01,1900nooptions
sybsystemprocs10.0MBsa4Oct24,1997trunclogonchkpt
tele114370.0MBsa5Oct24,1997selecto/bulkcopy,trunclogonchkpt
tempdb22.0MBsa2May05,1998selecto/bulkcopy
(0rowsaffected,status=0)
例:
1>sp_monitor
2>go
last_runcurrent_runseconds
---------------------------------------------------------------
May519984:09PMMay519984:13PM224

(0rowsaffected)
cpu_busyio_busyidle
---------------------------------------------------------------------------
17(1)-0%5(0)-0%923(223)-99%

(0rowsaffected)
packets_receivedpackets_sentpacket_errors
---------------------------------------------------------------------------
21(9)51(23)0(0)

(0rowsaffected)
total_readtotal_writetotal_errorsconnections
---------------------------------------------------------------------------
947(1)595(113)0(0)3(1)

(0rowsaffected,status=0)


(5)触发器(Triggers)
触发器是种特殊存储过程用来维护区别表中相关数据致性当在张表中插入、删除和修改数据时触发器就会触发另个存储过程从而保持数据致性

(6)缺省和规则(Defaultsandrules)
缺省是在数据录入时若用户没有输入数据SQLServer自动输入
规则是可以理解为对数据库、某列、某用户数据类型限制


3、SQL查询语言


SQL不仅包括查询数据有关命令还包括创建数据库及其对象增、删、改数据等功能分别定义为数据查询语言数据定义语言及数据操作语言这里先介绍数据查询语言其基本句法为:
Selectselect_listfromtable_listwheresearch_conditions
1、简单查询
A、选择若干列
Selectexpression[,expression]...Fromtable_list
B、选择若干行
查出电话号码以415到头记录
Select*fromcode_1thwheretellike\'415%\'
查询中消除值重复
Selectdistincttelfromcode_1th
对Text和char可用like,其中可用通配符‘%’及‘-’分别代表多个和单个
其他常用查询条件有:(出text类型除外)
大小比较=、>、<、>=、<=、!=、!>、!<
范围确定betweenexp1andexp2/netbetweenexp1andexp2
列表或集合in(exp1[,exp2,[...]])notin(...)
谓词like
多重条件andornot
2、连接查询
A、等值连接和不等值连接:通过‘=’来比较两个表的间数据时称为等值连接;而通过其他比较符时称为不等值连接
等值连接:
Select*frompublishers,authorswherepublishers.city=authors.city
不等值连接:

B、自然连接:在连接目标列中相同名列只保留
Selectpublishers.pub_idpublishers.pub_name,publishers.state,authors.*
Frompublishers,authorswherepublishers.city=authors.city

3、子查询
A、表达式子查询
Selectau_lname,au_fnamefromauthorswherecity=
(selectcityfrompublisherswherepub_name="abcde")


可以使用切大小比较操作符;在操作符和子查询的间可以使用All或any
B、限定谓词子查询
Selectpub_namefrompublishersfrompublishers
Wherepub_idin
(selectpub_idfromtitleswheretype=\'abcde\')
C、相关查询
相关查询即嵌套查询依赖于外部父查询嵌套查询要重复执行若干次
Selectdistinctt1.typefromtitlest1
Wheret1.typein(selectt2.typefromtitlest2wheret1.pub_id!=t2.pub_id)
4、集、分组和排序
A、对查询结果进行聚集处理
聚集:Sum([all|distinct]expression),avg([all|distinct]exoression),
Count([all|distinct]expression),count(*),max(expression),min(expression)
Selectcount(*)fromtitles
B、用Groupby和having子句对查询结果分组
Selecttype,avg(advance),sum(total_sales)fromtitlesgroupbytype
Selecttypefromtitlesgroupbytypehavingcount(*)>1
Having类似于where,但where不能用聚集
C、用Orderby对查询结果进行排序
Selecttype,avg(price)fromtitlesgroupbytypeorderbyavg(price)
D、Compute子句
完成基于每组中聚集运算聚集值作为个新行出现在查询结果中
Selecttype,priceadvancefromtitlesorderbytypecomputesum(price),sum(advance)bytype

4、数据库、数据库对象增、删、改
1、数据库
x打开数据库
Uele114
x创建数据库拥有创建数据库权利用户可以创建自己数据库
CREATEDATABASEtele114
ONtele114_def01=10,tele114_run01=200,tele114_idx01=200
LOGONtele114_log01=80
x删除数据库
Dropdatabaele114
x修改数据库
Alterdatabaele114ontele114_run02=100,tele114_idx02=100


2、表
x建表
createtablespec_code
(
Notinynotnull,/*特编号(0--99)*/
Namevarchar(50)null,/*名称*/
Addrvarchar(50)null,/*地址*/
Telvarchar(8)null,/*电话号码*/
StaffNovarchar(4)notnull/*录入员工号*/
)
onsegrun/*将表放在segrun段上*/
x删除表
Droptabeltele114_1th
x修改表,在表中增加新列(用这个命令增加列必须允许null值)
Altertablefriends_etcaddcountryvarchar(20)null
x表级或列级约束
Createtablemy_publishers
(pub_idchar(4),
Pub_namecarchar(40).
Constramy_chk_constra
Check(pub_idin(\'1389\',\'0736\',\'0877\'))
Or(pub_namenotlike\'badsbooks\'))
x指定默认值
Createtableny_titles
(title_idchar(6t),
Titlevarchar(80),
Pricemoneydefaultnull,
Total_salesdefault(0))
x指定Unique和primarykey约束
Primarykey不允许空值常用来产生唯聚集索引unique允许空值常用来产生唯非聚集索引
Createtablemy_sales
(stor_idchar(4),
Ord_numvarchar(20),
Datedatetime,
Uniqueclustered(stor_id,ord_num))
3、索引
x建立索引
createuniqueclusteredindexcode1thidx1oncode_1th(Code1,Name,UnitNo1,Used)
onsegrun
Unique:建立唯性索引
Clustered:建立聚集索引使得数据行逻辑顺序和物理顺序查询速度较快;每个表仅允许建立个唯性索引(非聚集索引nonclustered)
Onsegrun:将索引放在segrun上
x删除索引:dropindexcode_1th.code1thidx1

4、默认:当用户没有显示地为某列赋值时SQLSERVER为该列插入
x创建默认值CA把默认值CA用到friends_etc表中State列上
Creatdefaultstatedflt
Go
Sp_bindefaultstatedflt,"frends_etc.state"
go
x断离默认
Sp_unbindefault"frends_etc.state"
x删除默认
Dropdefaultstatedflt
5、规则:可以理解为对数据库、某列、某用户数据类型限制.规则中任何变量名必须
冠以@不能直接引用列或其他数据库对象
x创建规则并把他关联到用户定义数据类型P#上
Createrulephoneruleas@phonelike415[0-9][0-9][0-9][0-9]


Sp_bindrulephonerule,"p#"
x断离规则
Sp_unbindrule"p#"
x删除规则
Droprulephonerule
6视图:视图是从个或多个基本表或其他视图上导出表,可以在视图上进行增、删、改
x创建视图
创建视图句法为:
createviewview_name
(column_1,...,column_n)
asselect_statements

例:在authors表和publishers表上定义个视图如下:
Createviewcities(authorname,acity,publishername,pcity)
Asselectau_lname,authors.city,pub_name,publishers.city
Fromauthors,publishers
x通过使用Dropview命令来撤消个视图
Dropviewview_name

7、存储过程
x创建存储过程
CREATEPROCEDUREprocedure_name[(para1[,para2,...])]
Assql_statements
存储工程参数名必须@开头包括@最长为30个

x执行存储过程
EXEC[UTE]procedure_name[(para1[,para2,...])]
存储过程能够返回个整数用来指示存储过程执行是完全还是SQLSERVER用0指示成功返回-1~-99指示区别当前所用0及-1~-14含义如表所示
值含义
0过程执行无错
-1丢失对象
-2数据类型
-3进程被选作死锁牺牲品
-4权限
-5语法
-6各种用户
-7资源:如空间
-8非严重内部
-9触及系统限制
-10严重内部不
-11严重内部不
-12表或索引坏了
-13数据库坏了
-14硬件
x更改存储过程名
Sp_renameobjnamename
x删除存储过程
DROPPROCEDUREprocedure_name

8、触发器
x创建触发器
CREATETRIGGER[owner.]trigger_name
ON[owner.]table_name
{FORINSERT,UPDATE,DELETE}
AS
SQL_statements
或使用IFUPDATE子句:
CREATETRIGGER[owner.]trigger_name
ON[owner.]table_name
{FORINSERT,UPDATE}
AS
[IFUPDATE(column_name)
[{AND|OR}UPDATE(column_name)]...}
SQL_statments
[IFUPDATE(column_name)
[{AND|OR}UPDATEcolumn_name)]...
SQL_statements]...

x触发器删除
DROPTRIGGER[owner.]trigger_name


5、批处理和流控制语言
1、批处理
SYBASE系统允许用户将若干条相关语句组成个整体交给系统同时处理批语
结束以go语句为标志严格地讲单条SQL语句也是个批处理
例:Selectcount(*)fromtitles
Selectcount(*)fromauthors
Go
也可以将组SQL命令放在个操作系统文件中再将这个文件交给isql执行
2、流控制语言
流控制语句
在批处理中我们可以加入流程控制语句从而达到编程在T-SQL语言中
流控制语句有:
·Else
·beginEnd
·while和Continue
·declare和局部变量以及全局变量
·Goto
·Return
·Waitfor
·pr和Raiserror
·注释
例:
exists(select*fromzyl
wherexm="李军")
pr"ok"

pr"nothisone"
使用批处理有以下规则:
xCREATEPROCEDURE、CREATERULE、CREATEDEFAULT、CREATETRIGGER以及CREATEVIEWE必须单独交给SQLSERVER他们不能和别SQL语句起作批处理(CREATEDATABASE、CREATETABLE和CREATEINDEX能和其他语句组成批处理)
x规则和默认值都不能在组批处理中刚关联就使用
xUSE命令必须在引用这个数据库对象语句组批处理中提交
x不能刚删除(DROP)个数据库对象又在同批处理中重新创建他
x用SET语句做任何选择设置在批处理尾处发生作用可以把SET语句和查询语句放入组批处理中但SET选择项不能在这组批处理中使用


6、系统启动和关闭
1、启动SQLServer
应用SQLServer安装(sybinit)创建SQLServer或BackupServer,默认文件名为RUN_SYBASE和RUN_SYB_BACKUP放在¥SYBASE/INSTALL目录下
Startserver用来启动SQLServer或BackupServer:
Startserver-fRUN_SYBASE
Startserver-fRUN_SYB_BAKUP
可以通过showserver查看SQLServerBackupServer是否已经启动在$SYASE/INSTALL下运行showserver查看SQLServer是否启动

UIDPIDPPIDCSTIMETTYTIMECMD


(BackupServer已启动信息)
sybase831830017:23:50ttyp100:00:00/sybase/bin/backupserver朣SYB_BACKUP-I/sybase/erfaces-M/sybase/bin/sybmul
(SQLServer已启动信息)
sybase6741014:29:11ttyp000:00:45/sybase/bin/dataserver-d/sybase/master.dat朣YBASE-e/sybase//errorlog
SQLServer启动过程
master数据库启动-----------鄐ybsystemproces数据库启动-----------嗲蹇誸empdb---------嗥舳渌菘-------嗍挛竦幕毓

2、启动SQLServer单用户模式
如果要恢复已被损坏master数据库则必须要启动SQLServer单用户模式单用户模式下仅允许个系统管理员向SQLServer注册

Startserver-fRUN_SYBASE-m

3、关闭服务器

关闭SQLServer可以在isql中使用T-SQL命令:

关闭SQL备服务器
shutdownSYB_BACKUP

关闭SQL主服务器
shutdown[withnowait]


4、Sybase数据库目录介绍说明
/usr/sybase=..主目录
../安装
../bin执行
../文件
../lib宿主语言库
../doc联机文件
../scriptsSQL动态描述文件
../help帮助信息
../locales语言限制文件
../termdef终端定义文件
../chars集文件

7、SQLServer用户及权限

Sybase中用户分为两种:SQL服务器用户(登录帐号)和数据库用户
安装完SQL服务器后系统自动建立个SQL服务器用户sa口令为空即系统管理员他对整个系统有操作权其他用户均由系统管理员建立
在SQLServer中有 3种特殊用户:系统管理员、用户数据库所有者(建立相应数据库数据库用户)DBO、般用户系统管理员对整个系统有操作权;用户数据库所有者对他所建立数据库具有全部操作权利;般用户对给定数据库只有被授权操作权限
数据库用户般可分为用户组数据库在建立后即被赋予个用户组public

1、建立SQL服务器用户名(登录帐号)
作为个用户为了使用SQLServer他必须在SQLServer上有个SQL服务器用户名(登录帐号)这个帐号是系统管理员通过sp_addlogin来增加
sp_addlogin登录名口令库名语言全名
例:建立用户zhang,口令为zhangling(最低 6位)全名为Zhangling
1>sp_addloginzhang,zhangling,null,null,"Zhangling"
2>go
3>select*fromsyslogins
4>go

2、增加数据库用户名
同样为了使用SQLServer上数据库他必须在数据库中有个用户名这个用户名是数据库所有者通过sp_adduser来增加数据库用户名不必和用户帐户而且在区别数据库中用户名可以区别多个用户可以有相同SQLServer帐户同样多个SQLServer帐户可以有相同数据库名
sp_adduser登录名别名组名
登录名为用户SQL服务器登录名;别名为用户在数据库中用户名;组名为用户所属数据库用户组

例:用户zhang增加为tele114用户别名为zhang1,属于用户组china

1>sp_addgroupchina
2>go

1>sp_adduserzhang,zhang1,china
2>go
1>sp_helpuser
2>go

*例:删除别名zhang1,用户组china,登录名zhang
1>uele114
2>go
3>sp_dropuserzhang1
4>go
5>sp_helpuser
6>go
1>sp_dropgroupchina
2>go
1>sp_helpgroup
2>go
3>usemaster
4>go
5>sp_droploginzhang
6>go
7>select*fromsyslogins
8>go

3、数据库操作授权
grant命令序列to用户名
A.系统管理员可以授予其他用户CREATEDATABASE权限使其他用户可以成为数据库所有者
B.数据库所有者在他所拥有数据库中可以授予其他用户权限有:
lCREATETABLE-------------------建表
lCREATEDEFAULT------------------建缺省
lCREATERULE-------------------建规则
lCREATEPROCedure------------------建存储过程
lCREATEVIEW-------------------建视图
lDUMPDATABASE-------------------备份数据库
lDUMPTRANsaction------------------备份日志
C.数据库对象所有者可以授予其他用户操作权限有:
lSELECT
lUPDATE
lINSERT
lEXECute
lDELETE
lREFERENCE

例:授予zhang1在数据库tele114上建表建视图建存储过程;对表students有select,reference权;对name,native字段有update权
1>uele114
2>go
3>grantcreattable,createprocedure,createviewtozhang1


4>go
5>grantselect,referenceonstudentstozhang1withgrantoption
6>go
7>grantupdateonstudents(name,native)tozhang1
8>go
9>sp_helprotect
10>go

8、数据库备份和恢复
SQLServer提供了两种区别类型恢复:类是系统自动完成恢复;另类是人工完成恢复

1.系统软件Software故障恢复
系统自动恢复是在系统软件Software出现故障情况下通过重新启动SQLServer进行恢复
自动恢复从master数据库开始然后是model数据库再是temporary数据库最后是用户数据库在每个数据库上恢复机制观察事务日志如果日志写入比数据库更近数据则向前恢复数据库如果事务尚未完成则要回退它们
所谓事务日志就是张系统表syslogs在这张表中记录着对数据库更新请求例如插入、修改和删除查询操作不记入事务日志中
2.介质故障恢复
旦介质发生故障只有通过以前备份数据库和事务日志才能恢复数据库为此我们需要经常备份数据库和事务日志备份数据库和事务日志我们使用dump命令而恢复数据库和事务日志我们使用load命令
和创建数据库需要个数据库设备类似我们备份数据库和事务日志也需要个卸出设备增加卸出设备可以通过系统过程sp_addumpdevice来实现卸出设备可以是磁盘、磁带或操作系统文件
sp_addumpdevice"type",device_name,physicalname
例:
sp_addumpdevice"disk","db114","/usr/sybase/zyl114.bak",1

(1)备份数据库和事务日志
备份数据库语法为:

dumpdatabasedatabase_nametodump_device

例如:
dumpdatabaele114todb114

备份事务日志语法为:

dumptransactiondatabase_nametodump_device
[withtruncate_only|withno_log|withno_truncate]
前两项在日志中删除提交事务项不删除
在备份数据库前所有事务日志备份都是没有意义我们般不经常备份数据库但我们要经常备份事务日志这是备份事务日志比备份数据库需要更少时间和存储空间

(2)恢复用户数据库
要恢复已被破坏数据库可以按如下步骤进行:
·用带no_truncate选项dump命令卸出用户数据库事务日志
·用和被破坏数据库同样结构建立个新数据库
·用load命令重新装入数据库和事务日志

装入数据库语法为:
loaddatabasedatabase_name
fromfile_name

装入事务日志语法为:
loadtransactiondatabase_name
fromfile_name

例:数据库备份
1>dumpdb_nametofile_name
2>go
数据库恢复
1>loaddb_namefromfile_name
2>go
日志备份
1>dumptransactiondb_nametofile_name
2>go
日志恢复
1>loadtransactiondb_namefromfile_name
2>go
日志删除
1>dumptransactiondb_namewithtruncate_only
2>Go

(3)master数据库恢复
A、保存系统表拷贝:sysdatabases、sysdevices、sysusages、sysloginroles和Syslogins
B、转储主设备上用户数据库
C、关闭SQLServer并使用buildmaster建立新master数据库或主设备
Buildmaster-m...仅重建master数据库
Buildmaster...重建主设备
D、已单用户模式启动SQLServer(Master-Recover)
Startserver-fRUN_服务器名-m
E、若master数据库用alterdatabase命令扩展过严格重建它在sysusages中分配
F、若BackupServer网络名(接口文件中名字)不是SYB_BACKUP,在sysservers中改动网络名
Updatesysserverssrvnetname="PRODUCTION_BSRV"wheresrvname="SYB_BACKUP"
G、使用showserver查看检查确保BackupServer正运行若有必要重启BakupServer
H、装载master备份
Loaddatabasemasterfrom\'master.bak\'
Loaddatabase执行成功后SQLServer自动关闭
I、若自master上次转储以来增加过数据库设备执行diskreinit命令以重建sysdevices
J、若执行了diskreinit或自上次转储以来使用过createdatabase或alterdatabase执行diskrefit重建sysusages和sysdatabases表执行完毕后SQLServer自动关闭
K、检查致性:比较sysusages和sysdatabases备份和新联机版本对每个数据库执行dbcccheckalloc,并检查每个数据库中重要表;若发现重新执行diskreinit和diskrefit
L、若恢复了整个主设备则恢复model数据库
Cd$SYBASE/scripts
SetenvDSQUERY服务器名
Isql-Usa-P口令-S服务器名M、重新装载所有受影响用户数据库
N、恢复服务器用户ID


O、以多用户模式重新启动SQLServer
(4)恢复model数据库
Buildmaster-d/设备名-x
(5)恢复sybsystemproces数据库
A、删除sybsystemproces数据库(若物理磁盘损坏删除设备使用Diskinit重建设备)
B、重建数据库
Createdatabasesybsystemporceson设备名=数据库大小
C、恢复数据库
Cd$SYBASE/scripts
SetenvDSQUERY服务器名
Isql-Usa-P口令-S服务器名 9、几个实用
1、bcp
以用户指定形式将数据库表拷贝到操作系统文件中或从操作系统文件中拷贝个数据库表提供了在数据库表和操作系统文件的间传递数据个方便、快速思路方法

bcp[[database-name.]owner.]table_name{in|out}datafile[各种开关]

其中table_name是想要拷贝数据库表名;{in/out}为拷贝方向in表示从文件到数据库拷贝out表示从数据库到文件拷贝;datafile是操作系统文件全路径名
常用开关有:
-fformatfile----存有上次使用bcp处理同表时得到应答文件全路径名格式文件名扩展名为.fmt使用格式文件省去了再重复回答前面问题
-Uusername----允许用户指定个注册名
-Ppassword----允许用户指定当前SQLServer口令如果未使用-P选项bcp将提示输入个口令
-SServer----允许用户指定和其相连SQLServer名字
例:在客户端备份tele114数据库中code_1th表,按照code_1th.fmt格式
c>bcptele114..code_1thoutcode_1th.txt-杅code_1th.fmt朥sa朠
2、isql
和SQLServer交互SQL句法分析器

isql[各种开关]

常用开关有:
-Uusername----允许用户指定个注册名
-Ppassword----允许用户指定当前SQLServer口令
-SServer----允许用户指定和其连接SQLServer名称
-i输入文件
-o输出文件
终止条命令:go
清除查询缓冲:re
编辑器:vi
执行条操作系统命令:!!命令
退出isql:quit或exit

3、showserver
显示当前在本机上正在运行SQLServer
showserver
4、startserver
启动SQLServer

startserver[各种开关]

常用开关有:
-frunserverfile----指定个运行服务器文件名每次重启SQLServer时以这个文件为参考在我们实际机器上这个文件名为RUN_SYBASE或RUN_SYB_BACKUP
-m----以单用户方式启动SQLServer这个方式用于恢复master数据库

5、syman
显示联机库例程系统过程及实用手册
syman[keyword]

syman实用联机文本文件存放在$SYBASE下doc子目录中
6、dbcc数据库致性检查

Dbcc用来检查个数据库逻辑致性和物理致性通常在下面情况下使用dbcc:
x常规数据库维护
x确定当个系统后可能损坏范围
x在备份数据库的前
x怀疑数据库受到损坏
dbcc有两个主要功能:可检查分配表结构(命令checkalloc、tablealloc和Indexalloc);可检查页链接和页级、行级上数据指针
只有表属主可以用checktable、fix-text和reindex选项执行dbcc命令只有数据库属主可以使用checkdb、checkalloc、checkcatalog、indexalloc和tablealloc选项只有系统管理员可以使用dbrepair选项
dbcc命令完整语法格式如下:
Dbcc
{checktable({表明|表标识}[Skip_ncindex])|
Checkdb[(数据库名[skip_ncindex])]|
Checkalloc[(数据库名[fix|nofix])]|
Talbealloc({表明|表标识}[{full|optimized|fast|null}[,fix|nofix]]))|
Indexalloc({表明|表标识}索引标识[{full|optimized|fast|null}[,fix|nofix]]))|
Checkcatalog[(数据库名)]
Dbrepair(数据库名dropdb)|
Reindex({表明|表标识})|
fix_text({表明|表标识})}
十、SQL客户端软件Software
1.DOS状态下SQL客户端软件Software
软件Software位于c:\\sqlbin
运行步骤:
运行TCPIP协议tcp.bat
c:\\nwclient\\lsl/c:\\nwclient\\net.cfg
c:\\nwclient\\ne2000
c:\\nwclient\\tcpip
(2)ping129.6.114.201(服务器地址)
返回129.6.114.201isalive正常
返回Noresponsefrom129.6.114.201为异常
(3)运行sybclenv.bat------------------SybaseDOS接口启动内容如下:
path=c:\\sqlbin\\binr;%path%-------------SybaseDOS接口所在目录
dsquery=129.6.114.201,4114--------------连接服务器IP地址和端口号
c:\\sqlbin\\binr\\dbnovtcp
C:\\sqlbin\\binr\\rmineti

dbping129.6.114.201------------检查是否连通SYBASE服务器
连接成功出现“Successfullyopenednetworkconnection"
(5)isql朥sa朠
1>sp_help
2>go

、附录
附录1:只有在master数据库中才能有系统表
系统表名表中内容
Sysconfigures行记录了用户可设置配置参数


Syscurconfigs有关SQLServer当前正使用配置参数情况
Sysdatabases行记录了SQLServer中个数据库
Sysdevices行记录了数据库磁带转储设备磁盘转储设备数据库设备和磁盘分区
设备和磁盘分区
Syslocks有关动态锁情况
Syslogins行记录了每有效SQLServer用户帐号
Sysmessages行记录了每系统或警告
Sysprocesses有关Server进程情况
Sysremotelogins行记录了个远程用户
Sysservers行记录了个远程SQLServer


附录2:Sysusages行记录了分配给个数据库个磁盘分析


系统表名表中内容
Sysalternates行记录了SQLServer用户在当前数据库中标识
syscoumns行记录了个表或视图个存储过程参数
syscomments行或多行记录了每视图、规则、缺省值、触发器和存储过程
sysdepends行记录了由个过程、视图或触发器所参照过程视图或表
Syskeys行记录了每主码外码或公用码
Syslogs
sysobjects行记录了每表、视图、存储过程、日志、规则、缺省值、触发器和临时表(仅在tempdb中)
sysprocedures行记录了每视图、规则、缺省、触发器和过程
syprotects记录用户权限信息
sysegments行记录了每片段(命名磁盘分片汇集)
systypes行记录了每由系统提供和用户定义数据类型
sysusers行记录了个数据库合法用户或用户组


附录3:由SQLServer提供系统过程功能和执行权
过程名功能执行权限
sp_addalias把数据库中个用户映象到另个用户数据库所有者
sp_addgroup向数据库增加分组在授权和撤权命令中分组被用作聚合名字数据库所有者
sp_addlanguage为服务器定义可替换语言并把它增加到masterdbo,syslanguages中系统管理员
sp_addlogin通过向master.dbo,syslogins中增加表项授权新SQLServer用户系统管理员
sp_addremotelogin通过向masterbo,sysremotelogins增添表项授权新远程服务器用户系统管理员
sp_addsegment在指定数据库设备上创建个段数据库所有者系统管理员
sp_addserver定义远程服务器或定义本地服务器名字数据库所有者系统管理员
sp_addtype创建用户定义数据类型Public
sp_addumpdervce向SQLServer增加转储设备系统管理员
sp_adduser向当前数据库添加新用户数据库所有者
sp_bindefault为列或用户下义数据类型定义缺省值目标(对象)所有者
sp_bindrule向列或用户定义数据类型赋规则目标汽有者
sp_changedbowner改变数据库所有者数据库所有者
sp_changegroup改变用户所属分组数据库所有者
sp_checknames检查当前数据库在7位ASCII码集的外名字public
sp_commonkey在两个表或视图的间定义公共键--经常被连接列两表(或视图)所有者
sp_configure显示或改变配置变量没有参数或只有第个参数执行权属于public否则属于系统管理员
sp_dboption显示或改变数据库选项不带参数属于public带参数时属于数据库所有者
sp_defaultdb改变用户缺省数据库系统管理员(但每个用户都可以改变他自己缺省语言)
sp_depends显示数据库目标相关性信息public
sp_diskdefault设备数据库设备状态为defaulton或defaultoff(表明数据设备是否能用于数据库岂省存储)系统管理员
sp_dropalias删除用sp_addalias建立用户名别名标识数据库所有者
sp_dropdevice删除SQLServer数据库设备或转储设备系统管理员
sp_dropgroup从数据库中删除分组数据库所有者
sp_droplanguage从服务器中删除可替换语言并从master.dbo.syslanguages中删掉相应行系统管理员
sp_droplogin通过删掉用户在master,dbo,syslogins中表项删除SQLServer用户系统管理员
sp_dropremotelogin删除远程用户注册系统管理员
sp_dropsegment从数据库中删除个段或从特定数据库设备上卸掉个段映象数据库所有者
sp_dropserver删除远程服务器系统管理员
sp_droptype删除用户定义数据类型数据库所有者数据类型所有者
sp_dropuser从当前是数据库中删除用户数据库属主
sp_extendsegment把段区域扩充到另个数据库设备或在当前数据库设备上进行扩充数据库属主
sp_foreignkey在当前数据库表或视图上定义外部键表属主
sp_help报告目标或SQLServer提供或用户定义数据库类型信息public
sp_helpdb报告--指定数据库或所有数据库信息public
sp_helpdevice报告--指定设备或所有SQLServer数据库设备转储设备信息public
sp_helpgroup报告--特定组或当前数据库所有组信息public
sp_helpinde报告--表中索引信息public
sp_helpjoins列出可连接两个表或视图列public
sp_helpkey报告某个特定表或视图主键外部键或公共键或者当前数据库中所有键信息public


sp_helplanguage报告特替换语言或所有语言信息public
sp_helplog报告包括日志第设备名public
sp_helpremotelogin报告特定远程服务器或所有远程服务器注册信息public
sp_helprotect报告数据库对象或用户权限且由用户选择对象public
sp_helpsegment报告当前数据库中特定段或所有段信息public
sp_helpserver报告特定远程服务器或所有远程服务器信息public
sp_helpsort显示SQLServer缺省排列顺序以及集public
sp_helptext打印系统过程、触发器、视图、缺省或规则定义文本public
sp_helpuser报告当前数据库中个用户或所有用户信息public
sp_lock报告当前上锁进程信息public
sp_logdevice将系统表syslogs(其中包括事务日志)放在个分设数据库设备中数据库属主
sp_monitor显示SQLServer统计数字系统管理员
sp_password增加或改变SQLServer注册口令对自己口令权限属于public系统管理员有权修改所有用户口令
sp_placeobject为特定中某个表或索引放置将来空间分配表属主数据库属主系统管理员
sp_primarykey定义表或视图上主键(主码)表所有者
sp_recompile使生个使用被指定表存储过程、触发器在下次运行时重新编译public
sp_remoteoption显示或改变远程注册选项显示选项时属public改变选项时属系统管理员
sp_rename改变当前数据库中用户建立目标名称特定目标权限属目标属主对数据库所有对象权限属数据库所有者
sp_renamedb改变数据库名系统管理员
sp_serveroption显示或改变服务器选项显示选项权限权限属public改变选项权限属系统管理员
sp_langalian分配或改变替换语言别名系统管理员
sp_spaceused显示行数、数据页数以及当前数据库中由某个目标或所有目标所占用空间public
sp_unbindefault从列或用户定义数据类型中解除规则目标属主(所有者)
sp_who报告特定用户或SQLServer所有当前用户和进程信息public


附录4:常用SQL命令表4
1.loadisql-Usa-P--进入ISQL环境
quit----退出ISQL环境
2.shutdown(server_name)--关闭SYBASE服务器
ex.shutdownSYB_BACKUP
3.use(database_name)--打开数据库
ex.uele114
4.rowcount(number)--设置显示记录条数
ex.rowcount10(为0则取消设置)
5.select(select_list)from(table_name)where(search_conditions)
--查看符合要求内容
ex.selectmax(UnitNo1)fromcode_1th
6.update(table_name)(column_name1)=(value1)column_name2)=value2)
where(search_conditions)--重新赋值
ex.updatecode_1thPassword=\'12345\'
RevCode1=sub(RevCode11datalength(rtrim(RevCode1))-1)
wheresub(Code111)=\'v\'andsub(Code121)!=\'\'
7.select(select_list)o(table_name1)from(table_name2)
where(search_conditions)
--将符合要求table_name2中内容存在table_name1中
ex.select*osamplefromcode_1thwheresub(Code111)=\'V\'
8.truncatetable(table_name)--删去表
ex.truncatetablesample
delete(table_name)where(search_conditions)--删去表部分
ex.deleteexamplewhereCounty=\'5\'
9.sp_addumpdevice\'disk\'(logicalname)(physicalname)--定义转储设备
ex.sp_addumpdevice\'disk\'\'nbdump_1\'\'vol1:\\nbdump\\nbdump.dat\'
10.sp_dropdevice(device_name)--删去转储设备
ex.sp_dropdevicenbdump_1
11.dumptran(database_name)withtruncate_only--删去日志
ex.dumptrantele114withtruncate_only
12.sp_configure(config_name)(config_value)--更改设置值
ex.sp_configure\'allowupdates\'1
13.reconfigurewithoverride--使更改设置值有效
14.sp_who--使用数据库用户列表
15.kill(spid)--删去无效数据库用户
ex.kill9--删去spid为9数据库用户
16.sp_helpindex(tabel_name)--查看索引情况
ex.sp_helpindexcode_2th
17.sp_helpdb(database_name)--查看数据库占用空间情况
ex.sp_helpdbtele114

附录5:SYBASE实用安装、
Sybase10.0.1ForSCOUNIX3.0.x安装
()安装前准备
1.SCOUNIX需两张补丁盘
a.UOD381异步I/O盘
b.aet382网络盘
重启UNIX后进入维护模式用custom命令装入此两张补丁盘


2.在UNIX系统中增加sybase用户
3.在工作站上通过TCP/IP将SYB_SCO拷入/usr/sybase中在工作站上运行
LSL
NE2000
TCPIP
FTP129.18.114.99(129.18.114.99为服务器网络地址)
用sybase用户登录
bi
putSYB_SCO(SYB_SCO在C盘当前目录中)
4.用cpio展开安装
以root登录
cd/usr/sybase
Cpio杋dvC5.配置UNIX内核
a.以root登录
b.设置环境变量用vi编辑/.profile加入以下两行
SYBASE=/usr/sybase
exportsybase
c.用vi编辑/etc/conf/cf.d/mtune
修改参数为
NSTREAM700
NAIOHBUF400
d.cd/usr/sybase/
shsco_kernalsybase
重新relink后reboot
( 2)安装
1)以sybase登录
2)cd/usr/syabsw/
3)sybinit
4)选3
SYBINIT
1.RrleaseDirectory:/sur/u/sybasw-100
2.Edit/ViewerfacesFile
3.Configureaserverproduct
4.ConfigureanOpenCoient/ServerProduct
5.ConfigureaFrontEndProduct
5)选1
CONFIGURESERVERPRODUCTS
1.ConfigureamewSQLServer
2.ConfigureanexistingSQLServer
3.UpgradanexistingSQLServer
7)ADDNEWSQLSERVER
1.SQLServername:lyg114
a.选1输入服务器名如:lyg114
b.按Ctrl-a
8)SQLSERVERVONFIGURATION
1.CONFIGURESERVER\'SINTERFACESFILEENTRYIncomplete
2.MASTERDEVICECONFIGURATIONIncomplete
3.SYBSYSTEMPROCSDATABASECONFIGURATIONIncomplete
4.SETERRORLOGLOCATIONIncomplete
5.CONFIGUREDEFAULTBACKUPSERVERIncomplete
6.CONFIGURELANGUAGESIncomplete
7.CONFIGURECHARACTERSETSIncomplete
8.CONFIGURESORTORDERIncomplete
9.ACTIVATEVUDITINGIncomplete
分别选123---9配置参数使各项Incmplete----->complete
参数配置如下:(例)
a.SERVERINTERFACESFILEENTERYSCREEN
Servername:lyg114
1.RetryCount:10
2.RetryDelay:10
Listenerservicesavailable:
ProtocolAddressPortNameAlias
rcpscosysv4114
注意:Port=4114,此参数为1024--65535为间4个或5个数字
Address=scosysv,此参数为UNIX服务器主机名
b.MASTERDRVICECONFIGURATION
1.MasterDevice:/usr/sybase/madter.bay
2.size(Meg):30
c.SYBSYSTEMPROCSDATABASECONFIGURATION
1.sybsytemprocsdatabasesize(Meg):10
2.sybsystemprocslogicaldevicename:sysprocsdev
3.createdeviceforthesybsystemprocsdatabase:yes
4.physicalnameofdevice:/usr/sybase/sybtemp.dat
5.thedevice(Meg):10
d.SETERRORLOGLOCATION
1.SQLServererrorlog:/usr/sybase/errorlog
e.SETTHESQLERVER\'SBACKUPSERVER
1.SQLServerbackupServermname:SYB-BACKUP
注意:此备份服务器名定要和后面配置备份服务器名
f.SONFIGURELANGUAGES
选1.us-english
g.CONFIGURECHARACTERSETS
选1.SACII,frousewithunsp及4.ISO8859-1(latin-1)-w(4.为缺省)
h.CONFIGURESORTORDER
选1.Binaryordering,fortheISO8859/1orLatin-1Charact
i.ACTIVATEAVDITING
1.Installauiting:yes
2.sybsecuritydatabasesize(Meg):5
3.sybsecuytylogicaldevicename:sybsecurity
4.dreatedeviceforthesybsecuritydatabase:yes
5.sybsecurityphysicaldevicename:/usr/sybase/sybsecur.dat
6.thedevice(Meg):5
9)参数配置完后按Crtl-a
ExecutetheSQLServerConfiguraionnow?y


10)看到下面信息表示SQLServer安装成功
Configrrationcompletedsuccessfully.
rpesstocontinue.(回车)
11)按Ctrl-x退出安装
12)要$提示符下运行
startserver-fRUN-lyg114启动SQLServer
13)要$提示符下运行
isql-Usa-P-Slyg114
屏幕出现:1>
安装完毕

Sybase11.0.2ForSCOUNIX5.02C安装
()首先建立sybase组组号可设为100;再建立sybase用户然后修改/usr/sybase/.profile文件加入句:SYBASE=“/usr/sybase”;exportSYBASE
( 2)调整系统核心参数
a.共享内存:
#cd/etc/conf/cf.d
#./configure选16shareddata
SHMMAX输入新值如83886080(越大越好系统启动后省下全部内存)
退出
b.激活异步I/O:
#cd/etc/conf/sdevice.d;进入此目录
#Viaio将“N”改为“Y”;编辑aio文件
#Visuds将“N”改为“Y”;编辑suds文件
#Vi/etc/rc2在最后加入下面行:
/etc/suds_ctrl-a
c.重建内核:
#/etc/conf/cf.d/link_unix
d.重新启动openserver
( 3)安装sybase
a.以sybase登录:
$./sybload-D
依输入y、l
然后执行”./sybimage“
b.依提示输入序列号解完包后:
Vi/usr/sybase/locales/locales.dat
在[SCO]中加入:
C_C.C.us-Englishico_1
然后进入Install配置SYBASE服务器
※SYBASE11.0.2ForSCOUNIX5.0.2安装补充介绍说明
目前SCOUNIX5.0有多种版本针对5.0.2SYBASE11.0.2安装需安装KernelPatch:
a.OSS437a-streamslocktimeoutandprotocalData
b.OSS441a-SUDSaiosupplement
c.OSS446a-tapedriveunloadfornonrewindingdevices
在SCOUNIX5.0.4C上不需安装补丁盘



dqiu 回复于:2002-11-27 18:53:22好文章收藏先

散步天使 回复于:2004-01-18 13:44:31:em02:
太好了正是我目前需要!先收藏在说!呵呵

silnight 回复于:2004-03-02 10:06:07狂顶!!!

feiying 回复于:2004-03-02 19:53:30谢谢了太好了!

Tags:  sybasease sybase数据库 sybase sybase数据库入门

延伸阅读

最新评论

发表评论