当前位置:
文档之家› Sybase 基础知识及操作
Sybase 基础知识及操作
删除段 删除段是缩小段范围的一个特例: sp_dropsegment 段名,数据库名
Sybase基础知识及操作
培训目的概述
• 本次培训从Sybase ASE基础知识开始,一步一步了解 Sybase ASE的相关概念和体系结构,初步掌握Sybase 数据库
• 从安装到配置、从设备到数据库、从数据库对象到编 程、从实用工具到性能调优,了解Sybase数据库相关 原理
• 对Transact-SQL进行阐述,对其内部函数、顺序分枝 循环结构、存储过程和函数进行讲解
使用isql –Usa –P登陆上数据库 1) Shutdown 关闭ASE 2) Shutdown SYB_Backup关闭备份服务器 3) Sms_shutdown 关闭监控服务器 4) 使用kill 命令
先showserver 再kill pid
段(segment)
是数据库设备上磁盘空间的逻辑组合,设备与段的关系是多
connection 3)每个设备在 SQL Server 中增加一个连接 4)利用 sp_helpdevice [设备名]查看设备信息 5)最大设备数: 255
转储设备
转储设备一般用于备份数据库 Sp_addumpdevice “type”,device_name,physicalname 例如
➢控制空间的使用:放在一个段的数据库对象不会在段外增 长 ➢提高性能:处于不同磁盘设备上的段可以并行读写 ➢处理大表:利用段,可以将一个大表分段的放大独立的物 理设备上,如将一个表的文本或图象数据存储另外一个段上
创建段
➢在某个数据库中创建片段之前需要做两件准备工作: ➢用disk init初始化设备 ➢用create database或alter database命令将数据库设备分配给 数据库 ➢然后执行下列命令: ➢sp_addsegment 片段名,数据库名,设备名
注意事项:
·
只有系统管理员有权删除设备。在删除设备之前最好备份
master数据库。
·
用sp_dropdevice删除设备后,需要重新启动SQL Server,该
设备的虚拟设备号才可以使用。
·
磁盘文件形式的设备,在用p_dropdevice删除后,还需要手
工删除在磁盘上的相应文件才能回收空间。
在使用sp_dropdevice删除设备之前,必须先删除该设备上的所有数
数据库创建注意事项
说明: ⑴ with override 选项说明:
允许on 和log on选项指定同一设备名,但分配不同的设备片; for load 选项说明: 新建数据库仅用于装入数据库的转储备份 (不需清页,建库快); ⑵ 建库者(DBO): SA:SA可将DB所有权转让。(用sp_changedbowner) master、model、tempdb、sybsecurity库的所有权不能转让。 SA授权的用户: 用 grant create database to 用户名。 建议SA集中管理DB的创建。 ⑶ 最多可管理32767个数据库 ⑷ 如未指定位置和大小,DB建在缺省设备上,大小为max{model库大小,
设备与数据库之间的关系:多对多关系。一个数据库可以 被创建或扩充到多个设备上,一个设备也可以被用来存放多个 数据库。不同的设备操作系统可以对其并行地读写,因此我们 可以人为地将一个数据库放置到多个数据库设备上。 设备的分类:Database Device和Dump Device。数据库设备存放 数据库和事务日志,转储设备用来存放数据库或日志的备份。
删除设备
命令格式:
sp_dropdevice 逻辑设备名
例子: sp_dropdevice mydbdev
说明:
⑴ 何时删除设备:
·改变、修复、增加硬件时
·改变设备大小 (先删,后加)
⑵ 只有 SA 可删除设备
⑶ 对文件设备,drop后,还要删除目录中的文件,以真正释放空间
⑷ 不能删除有数据库的设备
删除数据库
命令格式 drop database 数据库名 说明: ⑴删库者: DBO、SA ⑵不能删除正在使用的数据库 ⑶只能删除能正常打开的数据库,如果数据库已不能打开,只能用 dbcc dbrepair(dbname,dropdb)来删除。
段管理设备
• 单进程
设备管理
设备是Sybase预先配置的专门存放数据库的一块连续的磁 盘空间,并且它被映射到一操作系统文件或一原始磁盘分区上。 它有两个对应的名称:逻辑名和物理名。NT仅支持设备映射到 文件。
Sybase产品
• 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收购
database size参数值}
修改数据库
命令格式: alter database 数据库名 [on { default | 数据库设备名 } [=大小] (以MB为单位) [,数据库设备名 [=大小]]...] [log on 数据库设备名 [=大小] [,数据库设备名 [=大小]]...] [with override] [for load]
Sybase数据库特点
• 关系型DBMS,多数据库(master,model, tempdb,sybsystemprocs,sybsystemdb等) • 采用单进程多线程体系结构 • 基于客户/服务器体系结构的RDBMS • 开放式、可编程 • 支持内存数据库
Sybase数据库特点
Sybase ASE体系结构
内容提要
• TБайду номын сангаасSQL
✓ Transact-SQL概述 ✓ Transact-SQL 常用命令 ✓ Transact-SQL构建块
• 实用工具
✓ Sybase Central ✓ isql ✓ bcp
• 性能调优
✓ 调优原理 ✓ 调优的方法和工具
一、Sybase基础知识
Sybase产品
• 1984年Sybase成立,1987推出Sybase SQL Server 1.0
设备初始化
初始化的过程就是将物理磁盘、磁盘分区或操作 系统文件变为SYBASE数据库可以识别的设备。初 始化数据库设备使用DISK INIT命令:
DISK INIT NAME = "逻辑设备名", PHYSNAME = "物理设备名", VDEVNO = "虚拟设备号", SIZE = 数据库设备大小(以2K的数据页计) [,VSTART = 起始的虚拟地址, ,CNTRLTYPE = 磁盘控制器号(缺省为0)]
段大小的修改
扩展段的范围 sp_exetendsegment 段名,数据库名,设备名 说明:设备在数据库中必须可用,否则需要扩展数据库 到新的设备上;指定的段、数据库、设备必须存在。 缩小段的范围
sp_dropsegment 段名,数据库名,设备名 说明:带第三个参数时,该命令并不删除段,只是段的 范围缩小了。若某个段包含了别的段要独占的设备,就 需要缩小该段的范围。
数据库修改注意事项
说明: ·for load 选项仅用在 create database for load 之后; ·扩充者: DBO、SA (在主数据库中); ·在数据库使用的同时可做扩展; ·主数据库只能在主设备上扩展; ·当用户指定大小不能满足时,系统会在每个指定设备上分配尽可 能多的空间。 其它处理: ⑴ 日志饱和时: dump trans / trancate 扩展日志段 ⑵ 数据段饱和时:drop无用的数据对象 扩展数据段
据库。
启动服务器
• 启动服务器 ----两种方式
进入到主目录下的install目录下: 1) 使用由srvbuild创建的RUN_server文件 2) 使用startserver命令
./startserver –f runserverfile(全路径)
SybaseASE服务器关闭
• 关闭服务器
• Sybase SQL Server 2.0,4.2,4.8,4.9 • 1989年OpenClient/OpenServer • 1992年Sybase System 10(Sybase SQL
Server 10为核心) • 1993年Replication Server • 1995年SQL Server 11.0
主设备创建方法
dataserver
磁盘镜像
磁盘镜像是磁盘上数据的绝对拷贝,语法如下: Disk mirror Name=“device_name”,//被镜像的设备名称 Mirror=“physical_name”, //物理磁盘位置名 [,writes=serial|noserial] 注意
sa 权限,先要打开磁盘镜像,使用 sp_configure ‘disable disk mirroring’,0 并重新启动 服务器
设备初始化注意事项
1) 只有SA可使用DISK INIT 2) 在使用DISK INIT 前要:
·备份主数据库 ·确保有足够的空间 ·确保将使用的设备尚未初始化 ·确保sybase用户对此设备有写的权限 ·确 认 sybase 的 系 统 配 置 满 足 要 求 ( device、 memory、
设备管理要考虑的问题
✓恢复:将磁盘镜象或另外的设备上管理日志可以 在系统磁盘损坏是提供完全的恢复。 ✓性能:将日志和数据库对象放置在不同的设备上 可以提高系统的整体性能
设备信息查询
✓Master库 sysusages sysdevices ✓用户库 syssegments sysindexes ✓存储过程 sp_helpdevice