1、Sybase基础知识及操作培训目的概述 本次培训从Sybase ASE基础知识开始,一步一步了解Sybase ASE的相关概念和体系结构,初步掌握Sybase数据库 从安装到配置、从设备到数据库、从数据库对象到编程、从实用工具到性能调优,了解Sybase数据库相关原理 对Transact-SQL进行阐述,对其内部函数、顺序分枝循环结构、存储过程和函数进行讲解 通过上述的讲解,基本上涵盖了sybase数据库的方方面面,另外需要通过实践操作验证相关知识内容提要 Sybase基础知识 Sybase产品及数据库特点 Sybase ASE体系结构 Sybase ASE安装与配置 Sybase ASE系统
2、管理及日常维护 数据库设备 数据库创建及维护 数据库参数设置 段管理设备 安全管理 数据库对象 备份与恢复内容提要 T-SQL Transact-SQL概述 Transact-SQL 常用命令 Transact-SQL构建块 实用工具 Sybase Central isql bcp 性能调优 调优原理 调优的方法和工具一、Sybase基础知识Sybase产品 1984年Sybase成立,1987推出Sybase SQL Server 1.0 Sybase SQL Server 2.0,4.2,4.8,4.9 1989年OpenClient/OpenServer 1992年Sybase Syst
3、em 10(Sybase SQL Server 10为核心)1993年Replication Server 1995年SQL Server 11.0Sybase产品 199 7年Adaptive Server Enterprise 11.5 1998年Adaptive Server Enterprise 11.9.2 ASE 11.9.3;ASE 12.0,12.5 2006年ASE 15,之后 15.5,15.7 2010年被德国SAP收购Sybase数据库特点 关系型DBMS,多数据库(master,model,tempdb,sybsystemprocs,sybsystemdb等)采用单进
4、程多线程体系结构 基于客户/服务器体系结构的RDBMS 开放式、可编程 支持内存数据库Sybase数据库特点Sybase ASE体系结构 数据库Sybase ASE安装与配置 安装二、Sybase ASE系统管理及日常维护数据库设备 设备数据库创建及维护SybaseASE安装完毕后,缺省产生4个数据库Master库存储了数据库参数设置 参数创建数据库命令格式:命令格式:create database 数据库名 on default|数据库设备名 =大小(以MB为单位),数据库设备名=大小.log on 数据库设备名=大小,数据库设备名=大小.with override for load 例子:
5、create database mydb on data_dev1=6 log on log_dev1=2数据库创建注意事项说明:说明:with override 选项说明:允许on 和log on选项指定同一设备名,但分配不同的设备片;for load 选项说明:新建数据库仅用于装入数据库的转储备份(不需清页,建库快);建库者(DBO):SA:SA可将DB所有权转让。(用sp_changedbowner)master、model、tempdb、sybsecurity库的所有权不能转让。SA授权的用户:用 grant create database to 用户名。建议SA集中管理DB的创建。最
6、多可管理32767个数据库 如未指定位置和大小,DB建在缺省设备上,大小为maxmodel库大小,database size参数值修改数据库 命令格式:命令格式:alter database 数据库名 on default|数据库设备名 =大小(以MB为单位),数据库设备名=大小.log on 数据库设备名=大小,数据库设备名=大小.with override for load 数据库修改注意事项 说明:说明:for load 选项仅用在 create database for load 之后;扩充者:DBO、SA(在主数据库中);在数据库使用的同时可做扩展;主数据库只能在主设备上扩展;当用户
7、指定大小不能满足时,系统会在每个指定设备上分配尽可能多的空间。其它处理:其它处理:日志饱和时:dump trans/trancate 扩展日志段 数据段饱和时:drop无用的数据对象 扩展数据段删除数据库命令格式命令格式 drop database 数据库名 说明:说明:删库者:DBO、SA不能删除正在使用的数据库只能删除能正常打开的数据库,如果数据库已不能打开,只能用dbcc dbrepair(dbname,dropdb)来删除。段管理设备 单进程设备管理设备是Sybase预先配置的专门存放数据库的一块连续的磁盘空间,并且它被映射到一操作系统文件或一原始磁盘分区上。它有两个对应的名称:逻辑名
8、和物理名。NT仅支持设备映射到文件。设备与数据库之间的关系:多对多关系。一个数据库可以被创建或扩充到多个设备上,一个设备也可以被用来存放多个数据库。不同的设备操作系统可以对其并行地读写,因此我们可以人为地将一个数据库放置到多个数据库设备上。设备的分类:Database Device和Dump Device。数据库设备存放数据库和事务日志,转储设备用来存放数据库或日志的备份。设备管理要考虑的问题恢复恢复:将磁盘镜象或另外的设备上管理日志可以在系统磁盘损坏是提供完全的恢复。性能性能:将日志和数据库对象放置在不同的设备上可以提高系统的整体性能 设备信息查询Master库库 sysusages sys
9、devices用户库用户库syssegments sysindexes存储过程存储过程sp_helpdevice设备初始化初始化的过程就是将物理磁盘、磁盘分区或操作初始化的过程就是将物理磁盘、磁盘分区或操作系统文件变为系统文件变为SYBASE数据库可以识别的设备。数据库可以识别的设备。初始化数据库设备使用初始化数据库设备使用DISK INIT命令:命令:DISK INITDISK INIT NAME=NAME=逻辑设备名逻辑设备名,PHYSNAME=PHYSNAME=物理设备名物理设备名,VDEVNO=VDEVNO=虚拟设备号虚拟设备号,SIZE=SIZE=数据库设备大小(以数据库设备大小(以
10、2 2K K的数据页计)的数据页计),VSTART=VSTART=起始的虚拟地址,起始的虚拟地址,CNTRLTYPE=CNTRLTYPE=磁盘控制器号(缺省为磁盘控制器号(缺省为0 0)设备初始化注意事项1)1)只有只有SASA可使用可使用DISK INITDISK INIT2)2)在使用在使用DISK INIT DISK INIT 前要:前要:备份主数据库备份主数据库 确保有足够的空间确保有足够的空间 确保将使用的设备尚未初始化确保将使用的设备尚未初始化 确保确保sybasesybase用户对此设备有写的权限用户对此设备有写的权限 确认确认sybase的系统配置满足要求的系统配置满足要求(d
11、evice、memory、connection 3)每个设备在每个设备在 SQL Server SQL Server 中增加一个连接中增加一个连接 4)4)利用利用 sp_helpdevice sp_helpdevice 设备名设备名 查看设备信息查看设备信息 5)5)最大设备数:最大设备数:255 255 转储设备转储设备一般用于备份数据库Sp_addumpdevice “type”,device_name,physicalname例如sp_addumpdevice“disk”,”mydbdump”,”/opt/sybdata/mydbdump.bak”缺省设备命令格式:sp_diskdef
12、ault 逻辑设备名 defaulton|defaultoff 例子:sp_diskdefault data_dev1 defaulton sp_diskdefault master defaultoff说明:只有 SA 可设置缺省设备 缺省设备只能是数据库设备,不能是转储设备 SQL Server安装时,主设备是缺省 (建议改为OFF,便于主设备及主数据库的维护)可创建多个缺省设备,使用时按物理顺序填满 创建DB时应指明建库设备,否则建在缺省设备上 利用 sp_helpdevice 可了解缺省设备信息 主设备创建方法dataserver磁盘镜像磁盘镜像是磁盘上数据的绝对拷贝,语法如下:Dis
13、k mirrorName=“device_name”,/被镜像的设备名称Mirror=“physical_name”,/物理磁盘位置名,writes=serial|noserial注意sa 权限,先要打开磁盘镜像,使用sp_configure disable disk mirroring,0 并重新启动服务器删除设备命令格式:sp_dropdevice 逻辑设备名 例子:sp_dropdevice mydbdev说明:何时删除设备:改变、修复、增加硬件时 改变设备大小(先删,后加)只有 SA 可删除设备 对文件设备,drop后,还要删除目录中的文件,以真正释放空间 不能删除有数据库的设备 注意
14、事项:只有系统管理员有权删除设备。在删除设备之前最好备份master数据库。用sp_dropdevice删除设备后,需要重新启动SQL Server,该设备的虚拟设备号才可以使用。磁盘文件形式的设备,在用p_dropdevice删除后,还需要手工删除在磁盘上的相应文件才能回收空间。在使用sp_dropdevice删除设备之前,必须先删除该设备上的所有数据库。启动服务器启动服务器-两种方式 进入到主目录下的install目录下:1)使用由srvbuild创建的RUN_server文件2)使用startserver命令 ./startserver f runserverfile(全路径)Sybas
15、eASE服务器关闭关闭服务器 使用isql Usa P登陆上数据库1)Shutdown 关闭ASE2)Shutdown SYB_Backup关闭备份服务器3)Sms_shutdown 关闭监控服务器4)使用kill 命令 先showserver 再kill pid段(segment)是数据库设备上磁盘空间的逻辑组合是数据库设备上磁盘空间的逻辑组合,设备与段的关系是多,设备与段的关系是多对多关系。一个数据库设备一般可拥有多达对多关系。一个数据库设备一般可拥有多达192 个段,一个段也可个段,一个段也可使用最多使用最多255个数据库设备。个数据库设备。数据库创建后会初始创建三个段数据库创建后会初始
16、创建三个段 system:存储数据库的系统表。logsegment:存储数据库的事务日志。default:存储数据库中没有指定片段存放的去他数据库对象。段(segment)好处控制空间的使用:放在一个段的数据库对象不会在段外增长提高性能:处于不同磁盘设备上的段可以并行读写处理大表:利用段,可以将一个大表分段的放大独立的物理设备上,如将一个表的文本或图象数据存储另外一个段上创建段在某个数据库中创建片段之前需要做两件准备工作:用disk init初始化设备用create database或alter database命令将数据库设备分配给数据库然后执行下列命令:sp_addsegment 片段名,
17、数据库名,设备名段大小的修改扩展段的范围扩展段的范围 sp_exetendsegment 段名,数据库名,设备名说明:设备在数据库中必须可用,否则需要扩展数据库到新的设备上;指定的段、数据库、设备必须存在。缩小段的范围缩小段的范围 sp_dropsegment 段名,数据库名,设备名说明:带第三个参数时,该命令并不删除段,只是段的范围缩小了。若某个段包含了别的段要独占的设备,就需要缩小该段的范围。删除段删除段删除段是缩小段范围的一个特例:sp_dropsegment 段名,数据库名使用段两个数据库放在同一设备的不同段上,不会相互影响数据库增加空间时,增加的空间会自动分配到它的每一个段上安全管理
18、 角色 权限 角色安全管理基于角色的管理,四类角色v 系统管理员(the system administrator,SA)v 用户数据库的拥有者(owners of user databases,DBO)v数据库对象的属主(Owners of databases objects)v普通用户 角色-权限的集合系统预定义角色v 系统管理员(sa_role)v 系统案例管理员(sso_role)v 操作员(oper_role)角色管理 创建角色与使用角色v 创建角色 create rolev 删除角色 dropv 授权角色 grantv分配登陆用户的角色权限 sp_role“grant”|”revo
19、ke”,角色名,登录帐号名用户管理 Sybase 中的用户分为两种:SQL服务器用户(登陆账号)和数据库用户v建立ASE服务器用户名(登陆账号)Sp_addlogin 登陆名,口令,库名,语言,全名Sp_addlogin eastcom,eastcom,null,null,”E”GoSelect*from syslogins用户管理 数据库用户v组数据库用户的集合sp_addgroup 组名 所有用户自动属于public组v用户 sp_adduser 登陆名,用户名,组名v别名用户 sp_addalias 登陆名,数据库中的用户名用户管理 管理命名v删除登陆用户sp_droploginv删除数
20、据库用户 sp_dropuserv信息查询 sp_who sp_helpuser sp_helpgroup用户权限 命令权限 Create Database create defaultCreate table Create view Create procedure create rule Grant 命令权限组合to 组名用户名角色对象权限 select update insert delete reference executeGrant 对象权限组合on 数据库对象to 组名用户名角色with grant option数据库对象 参见备份与恢复启动服务器-两种方式 进入到主目录下的in
21、stall目录下:1)使用由srvbuild创建的RUN_server文件2)使用startserver命令 ./startserver f runserverfile(全路径)备份数据库 语法 dump database 数据库名 to 设备名 at 备份服务器名,stripe on 设备名 at 备份服务器名 .with dumpvolume=卷名,dismount|nodismount,(安装磁带卸下/保留)nounload|unload,(备份完成后不倒带/倒带)retaindays=天数,(缺省系统参数tape retention值)noinit|init,(追加备份/重新初始化磁带
22、卷)notify=client|operator_console 例 dump database mydb to mydbdump备份数据库注意事项 说明一个设备可备份多个DB备份数据库之前必需启动备份服务器 一个DB可备份在多个设备上(备份分解)但=32个设备手工备份:执行dump database命令,易于管理、监控自动备份:按指定时间在OS下运行备份程序 在剩余空间达到一定限度时,通过阈值(门限)管理过程执行备份 备份数据库事务日志 语法 dump transaction database_name to dump_device with truncate_only|with no_lo
23、g|with no_truncate 前两项在日志中删除提交的事务,后一项不删除。恢复数据库 语法 load database 数据库名 from 设备名 at备份服务器,stripe on 设备名 at备份服务器名.with dumpvolume=卷名,dismount|nodismount,(安装磁带卸下/保留)nounload|unload,(备份完成后不倒带/倒带)file=文件名,(数据库备份名)不备份 listonly =full,(显示磁带卷上所有备份文件信息)不备份 headeronly,(显示一个备份文件标题)notify=client|operator_console 恢复
24、数据库注意事项Load重写所有现存数据接收数据库应存在且足够大dump与load应是同一用户(DBO)dump与load应在同一OS平台上进行DB在load时不能使用应先将no chkpt on recovery、dbo only、read only置为true,load完成后再置为false 三、Transact-SqlTransact-SQL概述 SQL 结构化查询语言 ANSI-86 SQL ANSI-89 SQL ANSI-92 SQL T-SQL是标准SQL的超集。Transact-SQL常用命令数据操纵语言DDLALTER DATABASEALTER TABLECREATE DAT
25、EBASECREATE DEFAULTCREATE INDEXCREATE PROCEDURECREATE RULECREATE TABLECREATE TRIGERCREATE VIEWDROP Transact-SQL常用命令数据操作语言DMLALTER DATABASE COMPUTERDELETEINSERTREADTEXTSELECTTRUNCATE TABLEUPDATEWEITETEXT Transact-SQL常用数据类型字符类类型Char(n)Varchar(n)数值类型整数类型 integer smallint tinyint浮点real float number(p,n)
26、decimal(p,n)货币 money smallmoney日期。时间类型Datetime smalldatetime文本图像类型Text image二进制数据类型Binary(n)varbinaryTransact-SQL构建块四、Sybase实用工具isqlbcpSybase Central常用过程Sp_addlogin 建立一个SQL服务器用户 Sp_addgroup 在当前数据库中建立一个数据库用户组Sp_adduser在当前数据库中增加一个用户 sp_changegroup 改变数据库用户组 Sp_dboption 查询或改变数据库系统设置Sp_dropdevice删除设备 Sp_
27、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 配置系统参数 五、Sybase性能调优调优原理调优的方法和工具isql简述-U username 用户名-P password 密码-p password 要输入的密码-S server 指定Sybase ASE服务器 执行一条命令go 清除缓冲reset 调用编辑器vi 退出 quit/exit 输入批文件 i 输出文件-oTHE ENDThanks!