Sybase数据库维护篇--高级
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SYB来自百度文库SE
培 训 教 材
•
• • • • • • • • •
6
TEMPDB库
• 它是个临时数据库,为服务器运行与处理提供一 个共享的存储区域,如group by和order by的中间 结果就存放在这里。Tempdb的空间为服务器中 所有数据库的所有用户所共享。 • 每次重启SQL Server,服务器的一个自动进程都 拷贝model数据库到tempdb数据库,并清除 tempdb中原来的内容。因此tempdb中的用户表 都是临时的。临时表分为两类:可共享的和不可 共享的。不可共享的临时表在由create table中将 符号#置于表名之前创立;可共享的临时表通过 create table中指定表名前缀tempdb..而创立。不 可共享的临时表SQL Server自动为其添加数字后 缀名,且它只存在于当前会话中 7
SYBASE
培 训 教 材
5
master库
• 它是管理和控制用户数据库以及维护服务器正常运行的核心数据库,它包 含许多系统表和系统过程,从总体上控制用户数据库和SQL Server的操作 ,构成了SYBASE系统的数据字典,它保存了大量的系统信息,如服务器 配置、用户、设备等。 在master数据库中不允许普通用户在其中创建数据库对象,否则会使得 master数据库的事务日志很快变满。如果事务日志用尽,就无法使用 dump transaction命令释放master数据库中的空间。 master数据库主要记录信息为: 登录帐号(SQL服务器用户名);syslogins,sysremolelogins 正在执行的过程;sysprocesses 可修改的环境变量;sysconfigures 系统错误信息;sysmessages SQL服务器上每个数据库的信息;sysdatabases 每个数据库占用的存储空间;sysusages 系统上安装的设备及磁带信息;sysdevices 活动锁信息;syslocks
SYBASE
培训计划
• 培训内容 • 培训目标 • 培训对象
培 训 教 材
0
SYBASE
培训内容
Sybase数据库简介 • Sybase产品(ASA,ASE,IQ) • ASE它是基于客户/服务器体系结构的数据库 OLTP • 1:Oracle Server是一个真正的多进程数据库引擎,Sybase数 据库管理系统采用的是单进程多线程的引擎结构。 • 2:Sybase的数据库引擎还代替操作系统来管理一部分硬件资 源,如端口、内存、硬盘,绕过了操作系统这一环节,提高了 性能。
SYBASE
培 训 教 材
数据库有关概念(segment/device)
数据库设备从逻辑上被划分为数据库段以允许将某一特定的对象放置在指 定的段上(创建对象时指定),一数据库设备可拥有多达192个段,一段可 使用255个逻辑设备上的存储空间。当用户创建一个数据库时,SQL SERVER 会自动在该数据库中创建三个段: SYSTEM、LOGSEGMENT 、DEFAULT,这三个段分别用来存储数据库的系统表、事务日志和其他数 据库对象 • 提高性能:处于不同磁盘设备上的段可以并行地读写; • 处理大表:利用段,可以将一个大表分段放在独立的物理设备上。 所谓数据库设备,不是指一个可识别的物理设备,而是指用于存储数据库 和数据库对象的磁盘原始分区或操作系统文件。 初始化数据库设备使用DISK INIT命令: DISK INIT NAME=设备名, PHYSNAME=物理设备名, VDEVNO=虚拟设备号, SIZE=块数
培 训 教 材
10
SYBASE
Index与性能
索引(index): 索引就是加快检索表中数据的方法。在数据库中, 索引也允许数据库程序迅速地找到表中的数据,而不必Table scan 。 1. 索引可以加快数据库的检索速度 • 2. 索引降低了数据库插入、修改、删除等维护任务的速度 • 3. 索引创建在表上,不能创建在视图上 • 4. 索引既可以直接创建(create index) ,也可以间接创建 ( 主 键约束或者唯一性键约束时) • Sybase支持三种不同类型的索引,一是复合索引,即包含几 个列的索引;二是唯一性索引,即任意两行中的索引列不能 有相同的取值;三是簇类索引(Clustered indexes)和非簇 类索引(Nonclustered indexs),
培 训 教 材
13
SYBASE
Index与性能-4
维护索引统计表: 数据库拥有者必须用命令维护统计表。 update statistics table_name [index_name] 索引优化调整 用这条命令可以改善创建索引的性能,减少建索引所用的时间。 在 SQL SERVER 11.x版本中可以调整如下参数: sp_configure "extent i/o buffers",nnnn带来的影响是增加了extent i/o buffers大小, 在SQL Server使用内存不变情况下,减少了procedure和data cathe ,而且同一时刻仅有一个用户能用到extent buffer。 性能 sp_configure 'max memory'----先调整内存值---重新启动server sp_cacheconfig ‘default data cache’,‘500000’-----调整 ‘default data cache‘为500M
培 训 教 材
1
SYBASE
数据库(raid0,1,5)
培 训 教 材
2
SYBASE
数据库设备分配结构
培 训 教 材
3
SYBASE
数据库page分配结构
培 训 教 材
4
Sybase的多库结构
• • • • • • • • • 安装Sybase数据库时自动生成的下列系统数据库: ●主数据库master: 数据库全面控制和管理用户数据库以及SQLSERVER 上的一切操作。 ●模型数据库model: 为新建的用户数据库提供一个原形 ●系统过程数据库sybsystemprocs: SYBASE的系统存储过程被储存在这 个数据库中 ●临时数据库tempdb: 作为临时表和其他的临时工作空间提供一个存储区 域。 TEMPDB的空间为全体数据库用户共享也可选择下列数据库: ●安全审核数据库sybsecurity: 包含SQLSERVER的审计系统 ●示例数据库pubs2: 这是一个样本库 ●命令语法数据库sybsyntax: 为用户提供联机帮助用户数据库 用户数据 库是指用Create database 命令创建的数据库。 使用”use 数据库名”来切 换不同的数据库 执行sp_changedbowner 改变数据库的属主关系 建议 事务日志放在单独的设备上(log)
培 训 教 材
15
SYBASE
数据库属性
数据库属性: 语法:sp_dboption [dbname , optin_name, {true |false}] abort tran on log full -----日志满时事物中断 allow nulls by default -----允许缺省值为空 dbo use only ------只有库的属主才可以使用此库 ddl in tran --------------是否允许在事物中使用DDL语句 no chkpt on recovery----库恢复时是否做checkpoint no free space acctg --------是否计算段的空闲空间(可以加快库 的恢复时间) read only --------只读 select into/bulkcopy/pllsort ----是否允许BCP批量copy single user ------------ 是否只允许单用户访问 trunc log on chkpt
培 训 教 材
14
SYBASE
sybase目录结构
• 它是个临时数据库,为服务器运行与处理提供一个共享 的存储区域,如group by和order by的中间结果就存放 在这里。Tempdb的空间为服务器中所有数据库的所有用 户所共享。 • 每次重启SQL Server,服务器的一个自动进程都拷贝 model数据库到tempdb数据库,并清除tempdb中原来的内 容。因此tempdb中的用户表都是临时的。临时表分为两 类:可共享的和不可共享的。不可共享的临时表在由 create table中将符号#置于表名之前创立;可共享的临 时表通过create table中指定表名前缀tempdb..而创立。 不可共享的临时表SQL Server自动为其添加数字后缀名, 且它只存在于当前会话中 • 由于这些表都是临时的,所以每当用户退出或系统失败, 这些表都将消失。
SYBASE
培 训 教 材
• •
•
。
9
SYBASE
数据库对象
(1) 表(Tables) (2) 视图(Views) : 视图是一个虚拟表,其内容由查询定 义。同真实的表一样,视图包含一系列带有名称的列和 行数据。但是,视图并不在数据库中以存储的数据值集 形式存在。行和列数据来自由定义视图的查询所引用的 表,并且在引用视图时动态生成。对其中所引用的基础 表来说,视图的作用类似于筛选。 作用: 安全 ; 可使 复杂的查询易于理解和使用
培 训 教 材
11
SYBASE
Index与性能-2
a) 普通索引(create index) 和唯一性索引(create UNIQUE index) b) 单个索引和组合索引( 最多16 个字段 组成) c) 聚簇索引CLUSTERED 和非聚簇索引UNCLUSTERED : 聚簇索引:即物理索引,与基表的物理顺序相同(不断重排表行的物 理顺序以使其与逻辑索引顺序相一致),数据值的顺序总是按照顺序 排列. 即索引树的叶级页包含实际的数据 . 非聚簇索引: 索引顺序与数据物理排列顺序无关, 即叶级页指向表中 的记录. , 一个表最多可建249 个非聚簇索引. 可以这么理解聚簇索 引:索引的叶节点就是数据节点。而非聚簇索引的叶节点仍然是索引 节点,只不过有一个指针指向对应的数据块. 每个表最多只能建立一个簇类索引,非簇类索引则可建立多个。与非 簇类索引相比,簇类索引的检索速度要快。应当在建立任何非簇类索 引以前建立簇类索引。
SYBASE
培 训 教 材
8
数据库有关概念(segment/device)
• Sybase segments – Table创建于segment上 – 每个db最多可有32个segments 创建段: sp_addsegment „seg', „db_name', „device_name„ 注:创建表需要指定索引和数据的存放段名称 Device 和 segment 关系: 单个device上可以创建多个segment,单个segment可以跨越多个 device Table和segment关系: 单个segment上创建多个table,单个table可以跨越多个segment(分区 表)
培 训 教 材
16
SYBASE
数据库全局变量
• sybase 的全局变量格式为@@ 变量名 • Select @@error :检查最近执行的语句错误状态=0: 成功,否 则为错误号 • Select @@rownum :上一个语句影响的行数 • Select @@sqlstatus :上次的语句状态信息 • Select @@servername :服务器名 • Select @@version :版本 • Select @@language :使用的语言 • Select @@spid :当前DBServer 服务进程ID • Select @@max_connections :可连接的最大连接数 • Select @@identity :上次用insert 时插入表的identiy 值 Select @@client_csname: 客户端的字符集名称 • Select @@total_read/write :自启动以来sqlserver 从磁盘读/ 写的页数
培 训 教 材
12
SYBASE
Index与性能-3
1:选择Clustered索引的建议: 主键时常作为where子句的条件 某一列经常以这样的格式出现在where表达式中(x<=column <="y)" 某一列非常频繁地被访问 某列被用作order by或group by 某列很少被改写 某列常出现在join中。 2:选择Non-Clustered索引的建议: 某列常用于Aggregate函数(如Sum,....) 某列常用于join,order by,group by。 查寻检索出的数据不超过表中数据量的20%