Sybase ASE各系统数据库

一、ASE中的各种数据库

在我们安装Adaptive Server后创建一套ASE数据库系统时,ASE的数据库配置程序(asecfg、srvbuild、syconfig等)将默认创建下面的系统数据库,每个数据库各有其用途:

master数据库,包含系统表,这些系统表中的数据用于管理;

model模板数据库,用于创建新的数据库;

sybsystemprocs数据库,存放系统存储过程;

sybsystemdb数据库,关于分布式事务管理功能;

tempdb数据库,包含临时表,放置临时数据。

除去上述5个必须安装的系统数据库外,还可以选装下面几个数据库:

审计数据库sybsecurity,包含审计信息,用于系统管理员对用户的审计;

样本数据库pubs2、pubs3,关于一个虚构的图书销售公司的示例;

语法数据库sybsyntax,包含SQL关键词的语法帮助;

dbcc数据库dbccdb,包含从dbcc checkstorage的输入和输出,用于检查数据库一致性;

Job Scheduler数据库sybmgmtdb,用于存储作业数据、预定作业信息等与Job Scheduler内部处理相关的数据。

最后一种,是为应用而建立的,用于存放应用数据的应用数据库,或者说用户数据库。因此,在一套ASE系统中,可能有的数据库如图1-25所示。

第一行:系统数据库

第二行:用户数据库、演示数据库

第三行:选装数据库

ASE是通过master数据库来管理其他数据库的,因此它也称为主数据库。它与其他数据库的关系如图1-26所示。

ASE中master库之所以可以管理其他数据库,是因为master中拥有记载和管理ASE全系统信息的"系统表",这些系统表(也可称为系统数据字典)存放了所有有关ASE系统配置、安全管理、对象管理的全局性信息。

每个非master数据库也有自己的系统表,称为数据库级系统表。和master数据库中记录全局性信息的系统表不同,这些数据库级系统表用于存储这个特定数据库中的系统数据和状态信息记录。

master中的系统表存放的是ASE RDBMS全局层面的信息,数据库级系统表存在的仅是局部数据库中的管理信息。这也是master数据库和其他所有数据库的区别所在--存在意义不同!

1.master数据库

master数据库是ASE中管理整个系统、管理其他数据库的系统数据库,它对整个ASE都至关重要。如果master数据库发生损坏,则ASE启动失败、不能运行。master数据库特殊的作用在于其拥有其他数据库所没有的系统表,这些系统表记录了ASE系统级别的信息:

分配给ASE系统的全部存储空间

ASE中创建的所有数据库系统

一套ASE数据库系统中的用户登录信息

可与本ASE服务器进行互操作的远程服务器

ASE可以使用的联机引擎

ASE可以使用的备份设备

ASE用户可设置部分的环境变量

ASE所使用的字符集和语言

当前在ASE中运行的进程信息

当前在ASE中锁的活动信息

……

可见,ASE的master数据库存储了全局的数据字典数据,在功能上非常类似于Oracle和DB2的系统表空间。由于master数据库存储内容的特殊性,master的可靠性决定了整个系统的可靠性。

因此,对于master数据库来说,一些特殊的DBA工作是必要的:

保证master数据库所在的存储设备的可靠性,必要时使用镜像;

保证master数据库存储内容的逻辑可靠性,进行必要的备份。

2.sybsystemprocs数据库

sybsystemprocs数据库存放的是ASE系统用于服务器管理的存储过程工具。当一个用户登录到ASE的某个数据库中,试图执行某个系统存储过程时,ASE将在sybsystemprocs数据库中寻找该过程。

如果该系统过程未能在sybsystemprocs中找到,则继续搜索master数据库。

这个数据库一般是一个"静态"的数据库。如果该数据库的内容发生改变,则即刻的备份操作是必要的。

3.model数据库

model数据库,正如其名,是一个"模板"数据库,它是在ASE创建一个数据库时使用的模板,ASE创建新数据库的方法就是把model数据库中的所有内容复制到新数据库。

正因为model数据库有这个特点,因此可以定制model数据库,用来作为建立新数据库的模板。

作为数据库创建模板,有必要在model发生更改的时候制作其备份副本。当发生故障时,可以用来恢复model数据库。

4.tempdb数据库

tempdb数据库称为临时数据库,用来存放数据库运行中出现的临时表和临时工作表。这些临时类型的表可能有如下几种形式:

数据库临时表;

SQL导致的大数据量分组操作、排序操作、并行排序等活动。

tempdb数据库在ASE每次启动时都会临时性派生。ASE的自动恢复进程在系统启动时,复制model数据库并将其初始化到临时库所需大小,最后联机临时库。所以,tempdb一定大于等于model数据库。

tempdb数据库为所有ASE用户所共享使用,其默认大小是2MB(取决于数据页的大小)。在大多数情况下,这个数据库需要扩容,来应对大的SQL操作。

在Oracle系统中,临时表空间的作用类似于ASE的临时数据库。

5.sybsystemdb数据库

sybsystemdb数据库存储了有关于分布式事务的运行状态信息。ASE从12.0版开始可以为使用远程过程调用(RPC)或组件集成服务(CIS)将SQL事务中的数据推送到远程数据库服务器的那些事务提供事务协调服务。这也就是ASE著名的"分布式事务管理(DTM)服务"。

6.用户数据库

用户数据库就是为应用系统而创建的自定义数据库。当然,用户数据库也是通过复制model数据库生成的,用于存放用户应用系统的表、索引等数据库对象。ASE系统的核心价值即在于这些用户数据库,因此其维护和管理是ASE DBA管理任务的核心。

至于其他数据库,系统数据库也好,选装数据库也罢,都是为了这些用户数据库服务而存在的。

二、ASE选装数据库

ASE还有若干选装数据库,这些数据库用于某些个别的用途:

sybsecurity:审计数据库

sybsyntax:语法数据库

pub2、pub3:样本数据库

dbccdb:一致性检查数据库

sybmgmtdb:任务管理数据库

1.sybsecurity审计数据库

sybsecurity审计数据库用于装载ASE审计系统。ASE审计系统提供了跟踪、审计的系统表,用来记录数据库审计信息。

2.sybsyntax语法数据库

sybsyntax数据库用来存储Transact-SQL命令、Sybase系统过程、ASE、Open Client CT/DB-Library函数的语法帮助。安装sybsyntax数据库后,ASE中即可使用一个特殊的系统过程sp_syntax查看语法信息。例如,若要学习Transact-SQL的select命令,可以输入以下命令:

 
 
  1. 1> sp_syntax "insert" 
  2. 2> go  
  3.  Syntax Help  
  4.  ---------------------------------------------------  
  5.  Transact-SQL  
  6.  insert - Adds new rows to a table or view.  
  7.    insert [into]  
  8.       [database.[owner.]]{table_name|view_name}  
  9.       [(column_list)]  
  10.       {values (expression [, expression]...)  
  11.           |select_statement [plan "abstract plan"] } 

3.pub2、pub3样本数据库

pub2和pub3数据库是用来帮助学习Sybase ASE这个庞大系统的辅助数据库。这两个数据库本身无任何功效,仿真的是一个"书店"系统。ASE所有联机文档中使用的示例数据库对象和脚本,都是针对pub2、pub3数据库的。

鉴于pub2、pub3数据库的局限性,本书也设计了另外一个示例数据库:ase_db,和pub2、pub3数据库共同使用。

4.dbccdb一致性检查数据库

ASE中有一个进行数据库一致性检查(dbcc操作)的命令"dbcc checkstorage",用来检查数据库的一致性状态信息。这些信息需要记录在一个特殊的数据库dbccdb中。dbccdb数据库专用于存放"dbcc checkstorage"命令的返回结果,并依据结果生成dbcc报告。

5.sybmgmtdb数据库

ASE 15具有一个产品组件Job Scheduler(任务调度器)用于执行ASE的任务。sybmgmtdb数据库即用来保存任务作业信息、调度设置等相关数据以及已执行任务的输出结果。


1. 基本概念篇 5 1.1 什么是Sybase Adaptive Server Enterprise (ASE)? 5 1.2 Sybase 具有哪些Server以及这些Server的用途? 5 Backup Server 5 1.3 什么是登录帐户? 5 1.4 什么是角色,Sybase具有哪些常用的系统角色以及这些系统角色的作用? 5 1.5 什么是超级用户,它具有哪些特点? 6 1.6 什么是数据库设备? 6 1.7 什么是数据库? 6 1.8 Sybase具有那些重要和必要的系统数据库,它们的作用分别是什么? 7 1.9 什么是数据库用户,以及登录帐户与数据库用户的区别? 7 1.10 什么是用户定义组? 7 1.11 什么是数据库的属主? 7 1.12 什么是数据库选项,Sybase具有那些常用的数据库选项? 8 1.13 什么是数据库一致性检查,Sybase具有哪些常用的检查命令? 8 1.14 什么是 APL表和DOL表,它们的特点和区别? 8 1.15 什么是Sybase的锁,它具有哪些类型以及这些锁的作用? 9 1.16 什么是数据库备份和恢复? 10 2. 日常维护篇 11 2.1 常规数据库服务器维护的基本要点和步骤? 11 2.2 例行数据库备份恢复策略和必要步骤? 12 2.3 查找定位数据库服务器性能问题的常用工具和方法? 13 2.4 开发数据库应用时需要开发人员重点关注的几个问题? 16 2.5 如何在Windows 平台上启动和关闭Sybase数据库服务器? 16 2.6 如何在UNIX平台上启动和关闭Sybase数据库服务器? 16 2.7 如何使用交互式管理工具isql? 16 2.8 如何在Windows操作系统安装Open Client12.0 17 2.9 如何使用图形化管理工具Sybase Central? 17 2.10 如何使用图形化管理工具Dsedit实用程序? 20 2.11 如何创建登录帐户? 24 2.12 如何修改自己以及其登录帐户的口令? 24 2.13 如何查看登录帐户的信息? 24 2.14 如何设置登录帐户的缺省数据库? 24 2.15 如何为登录帐户授予系统角色? 25 2.16 如何创建数据库设备? 25 2.17 如何把数据库设备设置为缺省设备? 25 2.18 如何镜像数据库设备和取消数据库设备镜像? 26 2.19 如何创建数据库? 27 2.20 如何在Sybase Central中配置Monitor Server? 27 2.21 如何配置用户自定义命名缓存以及缓冲池? 27 2.22 如何扩展数据库? 28 2.23 如何设置数据库为单用户模式? 28 2.24 如何把数据库设置为自动截断事务日志? 28 2.25 为了可以在用户事务中执行数据定义语言,应如何设置数据库选项? 29 2.26 如何设置数据库选项可以在用户表中自动添加序号生成器? 29 2.27 如何为数据库创建数据库用户? 29 2.28 如何创建用户自定义组? 29 2.29 如何改变用户自定义组中数据库用户? 29 2.30 如何查看数据库空间的大小? 30 2.31 如何改变数据库的属主? 30 2.32 如何执行sp_configure 系统存储过程来查看系统参数? 30 2.33 如何为当前的Sybase数据库服务器设置最大可用内存? 31 2.34 影响数据库服务器内存配置的基本参数 31 2.35 如何为当前的Sybase ASE 12.5设置可用的数据缓存? 32 2.36 如何为当前的Sybase ASE 12.5设置可用的过程缓存? 32 2.37 如何为当前的Sybase数据库服务器设置可用的最大数据库设备数量? 32 2.38 如何为当前的Sybase数据库服务器设置可用的最大锁数? 32 2.39 如何为当前的Sybase数据库服务器设置可用的最大用户连接数? 32 2.40 如何备份数据库? 33 2.41 如何进行数据库的增量备份? 33 2.42 如何恢复数据库? 33 2.43 如何截断数据库的事务日志? 34 2.44 如何恢复数据库到某一具体时间? 34 2.45 如何把表、索引等数据库对象的定义从数据库中导出来? 34 2.46 如何把整个数据库中所有用户表的数据全部导出来? 35 2.47 如何执行快速bcp操作? 35 2.48 如何查看当前数据库中的进程信息? 35 2.49如何查看当前数据库中锁发生的情况? 36 2.50 如何更改用户表的锁模式? 36 2.51 如何执行optdiag命令来监控表和索引的物理使用情况? 36 2.52 如何执行reorg 系列命令来优化Dol表及其索引? 36 2.53 如何使用sp_sysmon存储过程来查看当前数据库的性能情况? 37 3. 技术专刊 38 3.1 关于Backup Server 38 3.2 Backup Server的名字 41 3.3 Sybase数据库设备 41 3.4 数据库选项(dboptions)的使用与管理 43 3.5 Index & Performance 45 3.6 SYBASE ASE 事务日志 49 3.7 阀值管理(Threshold Management) 53 3.8 日常后备数据库 57 3.9 使用dump transaction with no_log的危险性 57 3.10 在ASE 11.9.2版中采用了行级加锁机制以提高性能 58 3.10.1 所支持的加锁机制 59 3.10.2 对小量数据的多次并发访问 62 3.10.3 堆栈表和热点 64 3.10.4 死锁 66 3.10.5 何时使用不同类型的加锁方法 69 3.10.6 结论 70 3.11 DBCC 70 3.12 Sybase ASE的字符集 74 3.12.1 概念 74 3.12.2 配置 79 3.12.3 错误处理 85 3.12.4 附:如何安装cp936字符集 85 4. 提高篇 87 4.1 为什么数据库事务日志满了,使用dump tran with no_log仍不能截断日志? 87 4.2 如何后备数据量大于2GB的数据库 87 4.3 如何更改ASE名称(在UNIX、OPENVMS平台上) 87 4.4 如何在HP平台BCP OUT超过2G的数据 88 4.5 如何将ASE SERVER移植到同种平台(相同操作系统)的系统上 89 4.6 如何扩展master数据库空间 91 4.7 Invalid tdslength value 93 4.8 如何将master设备从UNIX的文件系统移到裸分区 94 4.9 如何生成bcp命令文件(以pubs2为例) 95 4.10 如何动手修改interfaces文件 95 4.11 关于tempdb的优化 96 4.12 ASE12.5.x的一条有用的命令: disk resize 97 4.13 如何更改字符集为cp936 97 5. 灾难恢复篇 99 5.1 数据库服务不能启动 99 5.1.1 如何查找数据库启动失败原因 99 5.1.2 简单故障及排除方法 99 5.1.3 master数据库日志满了,server无法启动,怎么办 (error 1105) 100 5.1.4 SQL Server 10.x配置内存过大、Server不能启动时怎么办? 100 5.2 数据库被挂起 101 5.2.1 如何解决数据库被挂起的问题(error 926) 101 5.2.2 如何做 rebuild log 103 5.3 数据库恢复 105 5.3.1 如何删除坏的用户数据库?(以pubs2为例) 105 5.3.2 如何做Rebuild Master 106 5.3.3 如何恢复master数据库 108 5.3.4 如何移植master设备 109 5.3.5 如何重建sybsystemprocs系统数据库 111 5.3.6 如何挽救 corrupt table 中的数据 112 5.3.7 Recovering the master Database or Master Device under ASE 12.5 114 5.3.8 如何只用数据库设备文件生成新的数据库服务器 122 5.3.9如何单独在备份机上启动Sybase ASE12.5 (ASE HA) 125 5.4 数据库恢复以后的工作 126 5.4.1 如何检查数据库中数据的一致性 126 6. SYBASE培训服务 128 6.1 SYBASE培训概述 128 6.2 SYBASE主要数据库培训班介绍 129 7. 如何获得帮助 130 7.1 热线电话 130 7.2 Sybase技术文档 130 7.3 Sybase网上资源 130 7.4 您的建议 130
本文档详细介绍了sybase ASE的从基本感念到具体的详细的操作,目录如下: 1. 基本概念篇 5 1.1 什么是Sybase Adaptive Server Enterprise (ASE)? 5 1.2 Sybase 具有哪些Server以及这些Server的用途? 5 Backup Server 5 1.3 什么是登录帐户? 5 1.4 什么是角色,Sybase具有哪些常用的系统角色以及这些系统角色的作用? 5 1.5 什么是超级用户,它具有哪些特点? 6 1.6 什么是数据库设备? 7 1.7 什么是数据库? 7 1.8 Sybase具有那些重要和必要的系统数据库,它们的作用分别是什么? 7 1.9 什么是数据库用户,以及登录帐户与数据库用户的区别? 7 1.10 什么是用户定义组? 7 1.11 什么是数据库的属主? 8 1.12 什么是数据库选项,Sybase具有那些常用的数据库选项? 8 1.13 什么是数据库一致性检查,Sybase具有哪些常用的检查命令? 9 1.14 什么是 APL表和DOL表,它们的特点和区别? 9 1.15 什么是Sybase的锁,它具有哪些类型以及这些锁的作用? 9 1.16 什么是数据库备份和恢复? 11 2. 日常维护篇 12 2.1 常规数据库服务器维护的基本要点和步骤? 12 2.2 例行数据库备份恢复策略和必要步骤? 13 2.3 查找定位数据库服务器性能问题的常用工具和方法? 14 2.4 开发数据库应用时需要开发人员重点关注的几个问题? 18 2.5 如何在Windows 平台上启动和关闭Sybase数据库服务器? 18 2.6 如何在UNIX平台上启动和关闭Sybase数据库服务器? 18 2.7 如何使用交互式管理工具isql? 19 2.8 如何在Windows操作系统安装Open Client12.0 19 2.9 如何使用图形化管理工具Sybase Central? 19 2.10 如何使用图形化管理工具Dsedit实用程序? 22 2.11 如何创建登录帐户? 26 2.12 如何修改自己以及其登录帐户的口令? 26 2.13 如何查看登录帐户的信息? 27 2.14 如何设置登录帐户的缺省数据库? 27 2.15 如何为登录帐户授予系统角色? 27 2.16 如何创建数据库设备? 28 2.17 如何把数据库设备设置为缺省设备? 28 2.18 如何镜像数据库设备和取消数据库设备镜像? 28 2.19 如何创建数据库? 29 2.20 如何在Sybase Central中配置Monitor Server? 30 2.21 如何配置用户自定义命名缓存以及缓冲池? 30 2.22 如何扩展数据库? 31 2.23 如何设置数据库为单用户模式? 31 2.24 如何把数据库设置为自动截断事务日志? 31 2.25 为了可以在用户事务中执行数据定义语言,应如何设置数据库选项? 32 2.26 如何设置数据库选项可以在用户表中自动添加序号生成器? 32 2.27 如何为数据库创建数据库用户? 32 2.28 如何创建用户自定义组? 32 2.29 如何改变用户自定义组中数据库用户? 33 2.30 如何查看数据库空间的大小? 33 2.31 如何改变数据库的属主? 33 2.32 如何执行sp_configure 系统存储过程来查看系统参数? 33 2.33 如何为当前的Sybase数据库服务器设置最大可用内存? 34 2.34 影响数据库服务器内存配置的基本参数 34 2.35 如何为当前的Sybase ASE 12.5设置可用的数据缓存? 35 2.36 如何为当前的Sybase ASE 12.5设置可用的过程缓存? 35 2.37 如何为当前的Sybase数据库服务器设置可用的最大数据库设备数量? 35 2.38 如何为当前的Sybase数据库服务器设置可用的最大锁数? 36 2.39 如何为当前的Sybase数据库服务器设置可用的最大用户连接数? 36 2.40 如何备份数据库? 36 2.41 如何进行数据库的增量备份? 37 2.42 如何恢复数据库? 37 2.43 如何截断数据库的事务日志? 38 2.44 如何恢复数据库到某一具体时间? 38 2.45 如何把表、索引等数据库对象的定义从数据库中导出来? 38 2.46 如何把整个数据库中所有用户表的数据全部导出来? 39 2.47 如何执行快速bcp操作? 39 2.48 如何查看当前数据库中的进程信息? 39 2.49如何查看当前数据库中锁发生的情况? 40 2.50 如何更改用户表的锁模式? 40 2.51 如何执行optdiag命令来监控表和索引的物理使用情况? 40 2.52 如何执行reorg 系列命令来优化Dol表及其索引? 41 2.53 如何使用sp_sysmon存储过程来查看当前数据库的性能情况? 41 3. 技术专刊 43 3.1 关于Backup Server 43 3.2 Backup Server的名字 46 3.3 Sybase数据库设备 47 3.4 数据库选项(dboptions)的使用与管理 48 3.5 Index & Performance 51 3.6 SYBASE ASE 事务日志 55 3.7 阀值管理(Threshold Management) 60 3.8 日常后备数据库 64 3.9 使用dump transaction with no_log的危险性 65 3.10 在ASE 11.9.2版中采用了行级加锁机制以提高性能 65 3.10.1 所支持的加锁机制 66 3.10.2 对小量数据的多次并发访问 70 3.10.3 堆栈表和热点 73 3.10.4 死锁 74 3.10.5 何时使用不同类型的加锁方法 77 3.10.6 结论 79 3.11 DBCC 79 3.12 Sybase ASE的字符集 84 3.12.1 概念 84 3.12.2 配置 89 3.12.3 错误处理 96 3.12.4 附:如何安装cp936字符集 97 4. 提高篇 98 4.1 为什么数据库事务日志满了,使用dump tran with no_log仍不能截断日志? 98 4.2 如何后备数据量大于2GB的数据库 98 4.3 如何更改ASE名称(在UNIX、OPENVMS平台上) 99 4.4 如何在HP平台BCP OUT超过2G的数据 99 4.5 如何将ASE SERVER移植到同种平台(相同操作系统)的系统上 100 4.6 如何扩展master数据库空间 103 4.7 Invalid tdslength value 105 4.8 如何将master设备从UNIX的文件系统移到裸分区 106 4.9 如何生成bcp命令文件(以pubs2为例) 107 4.10 如何动手修改interfaces文件 107 4.11 关于tempdb的优化 108 4.12 ASE12.5.x的一条有用的命令: disk resize 110 4.13 如何更改字符集为cp936 110 5. 灾难恢复篇 111 5.1 数据库服务不能启动 111 5.1.1 如何查找数据库启动失败原因 111 5.1.2 简单故障及排除方法 111 5.1.3 master数据库日志满了,server无法启动,怎么办 (error 1105) 112 5.1.4 SQL Server 10.x配置内存过大、Server不能启动时怎么办? 113 5.2 数据库被挂起 113 5.2.1 如何解决数据库被挂起的问题(error 926) 113 5.2.2 如何做 rebuild log 116 5.3 数据库恢复 118 5.3.1 如何删除坏的用户数据库?(以pubs2为例) 118 5.3.2 如何做Rebuild Master 119 5.3.3 如何恢复master数据库 121 5.3.4 如何移植master设备 123 5.3.5 如何重建sybsystemprocs系统数据库 125 5.3.6 如何挽救 corrupt table 中的数据 126 5.3.7 Recovering the master Database or Master Device under ASE 12.5 128 5.3.8 如何只用数据库设备文件生成新的数据库服务器 136 5.3.9如何单独在备份机上启动Sybase ASE12.5 (ASE HA) 139 5.4 数据库恢复以后的工作 140 5.4.1 如何检查数据库中数据的一致性 140 6. SYBASE培训服务 143 6.1 SYBASE培训概述 143 6.2 SYBASE主要数据库培训班介绍 144 7. 如何获得帮助 145 7.1 热线电话 145 7.2 Sybase技术文档 145 7.3 Sybase网上资源 145 7.4 您的建议 146
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值