SYBASE数据库系统培训教程.ppt
SYBASE数据库系统管理培训,(一)、SYBASE数据库基本框架(二)、数据库的启动和关闭(三)、用户数据库管理(四)、数据库设备管理(五)、用户管理(六)、数据库备份/恢复(七)、如何调整SYBASE配置参数,SYBASE数据库系统管理培训,主要内容,(一)、SYBASE数据库基本框架 SYBASE数据库由系统数据库、用户数据库、数据库设备和一些辅助文件组成。1、系统数据库 SYBASE是个多数据库结构的数据库管理系统。分为系统数据库和用户数据库。系统数据库是在安装时自动创建的,包括以下部分:(1)master数据库:全面控制和管理用户数据库及SYBASE上的一切 操作(2)temp数据库:它为临时表和其他临时工作空间提供一个存储区域,是公用的(3)model数据库:它为新建的用户数据库提供一个原型(4)sybsystemproc数据库:存储系统存储过程,SYBASE数据库系统管理培训,(一)、SYBASE数据库基本框架(5)其他系统数据库:审计数据库(sybsecurity)、样本数据库(pubs2)、句法数据库(sybsyntax)查看当前数据库服务器中的用户数据库和系统数据库的信息的命令如下:$isql Usa P 1 sp_helpdb 2 go 要查看某一个数据库的信息,用下面命令:$isql Usa P 1 sp_helpdb dbname 2 go,SYBASE数据库系统管理培训,(一)、SYBASE数据库基本框架 2、interfaces文件 interfaces位于$sybase目录下,接口文件就象一个地址本,其中列出每个已知的服务器的名称及网络地址和端口号。结构如下:例如:Sybase Query tcp 168.33.56.171 8000 Master tcp 168.33.56.171 8000 Interfaces文件的作用:(1)在客户端的interfaces文件中列出可被连接的各个server的网络地址。(2)在server端,每个server用于同其它server的连接。用户可以更改此文件,来改变数据库服务器的地址。,SYBASE数据库系统管理培训,(一)、SYBASE数据库基本框架 3、SYBASE.cfg文件 SYBASE.cfg文件存在于$sybase目录下,用于存放 sqlserver的系统参数信息。数据库在启动时,读取该文件。用户可以通过直接修改该文件中的参数的值,来改变数据库的系统参数,必须注意,修改了此文件中的参数以后,只有数据库重新启动以后才生效。,SYBASE数据库系统管理培训,(一)、SYBASE数据库基本框架 4、常见问题及解决办法 修改主机的IP地址后,如何更改interfaces文件?安装SYBASE Adapive Server的机器IP地址改变后,应修改 interfaces 文件及有关的设置。如果 interfaces 文件中使用的是机器名而不是 IP 地址,则不需要变动。但如果客户端联接服务器使用的是服务器的 IP 地址而不是机器名,那么客户端需修改联接服务器的 IP 地址。如果 interfaces 文件中使用的是 IP 地址,那么需要修改 interfaces 文件中和地址有关的部分,可使用dscp 或 dsedit 进行修改。,SYBASE数据库系统管理培训,(二)、数据库启动/关闭 1、查看数据库状态 以sybase用户登录到操作系统,用命令showserver查看数据库是否启动。$showserver USER PID%CPU%MEM SZ RSS TTY STAT STIME TIME COMMAND sybase 24000 0.1 2.0 13924 10856-A Jun 13 4:46/sybase/ASE-12_0/bin/dataserver-d/sybase/data/master.dat-e/sybase/ASE-12_0/install/SYBASE.log-M/sybase sSYBASE 输入showserver命令后如果出现上面信息,证明数据库已经启动。,SYBASE数据库系统管理培训,(二)、数据库启动/关闭 2、数据库启动 以下是数据库启动的步骤:(1)sybase用户登录操作系统 如果是unixware操作系统(2)$SYBASE/install目录 如果是aix操作系统(2)$SYBASE/ASE-12_0 启动数据库服务器:(3)startserver-f RUN_SYBASE 启动备份服务器:(4)startserver f RUN_SYB_BACKUP,SYBASE数据库系统管理培训,注意:一般情况,备份服务器是不用启动的,只有需要备份的时候才启动备份服务器。,(二)、数据库启动/关闭 2、数据库关闭 在一般情况下,数据库并不是每天都关闭,最好每天都不关闭,在特殊情况下才关闭。数据库关闭过程如下:(1)以SYBASE用户登陆操作系统。(2)以数据库管理员(超级用户SA)登陆数据库。$isql Usa P(3)关闭备份服务器 1shutdown SYB_BACKUP 2go(3)关闭数据库服务器 1shutdown 2go,SYBASE数据库系统管理培训,(二)、数据库启动/关闭 3、出错日志 也许在数据库启动时,由于各种原因,数据库不能正常启动,数据库会把引起数据库错误的信息方到SYBASE.log文件中,这个文件在$SYBASE/install目录下。,SYBASE数据库系统管理培训,(二)、数据库启动/关闭 4、常见问题及解决方法 在实际环境中,数据库Server无法启动的原因很多,本文仅列出了几种常见的情况,供大家参考。首先,应检查Server的日志文件。不同版本缺省的日志文件如下(其中为Sybase Server的名称:UNIX:11.0*:$SYBASE/install/errorlog 11.5*或 11.9*:$SYBASE/install/.log12.0*:$SYBASE_ASE/install/.log NT:11.0*11.5*或 11.9*:$SYBASEinstallerrorlog 12.0*:$SYBASEASE-12_0installerrorlog,SYBASE数据库系统管理培训,(二)、数据库启动/关闭 4、常见问题及解决方法 CASE1:basis_dlock:file/sybase/master.dat already in use by a SQL Serverkernel kdconfig:unable to read primary master device kernel kiconfig:read of config block failed 检查server是否已经启动(showserver,ps-u sybase 或NT service),SYBASE数据库系统管理培训,(二)、数据库启动/关闭 4、常见问题及解决方法 CASE2:dopen:open/sybase/master.dat failed,permission denied kernel kdconfig:unable to read primary master device kernel kiconfig:read of config block failed 检查master设备文件的所有者及权限,SYBASE数据库系统管理培训,(二)、数据库启动/关闭 4、常见问题及解决方法 CASE3:ninit:All master network listeners have failed.Shutting down 检查network ip 及 port配置(netstat-a)检查/etc/hosts文件,SYBASE数据库系统管理培训,(二)、数据库启动/关闭 4、常见问题及解决方法 CASE4:kernel:kscsinit:connectivity library error.Operation:cs_ctx_alloc().检查操作系统参数是否已经修改并重新启动操作系统 若操作系统异常宕机,ASE未启动$SYBASE/.krg已经 存在,删除该文件,SYBASE数据库系统管理培训,(二)、数据库启动/关闭 4、常见问题及解决方法 CASE5:现象:Error 926 Severity Level 14 Error Message Text Database xx cannot be opened-it has been marked SUSPECT by recover Explanation 解决方法:(1)出现这个信息,这是一个严重的错误,如果你要使用这个数据库的数据,必须改正这个错误.(2)启动Backup Server,后备master数据库,SYBASE数据库系统管理培训,(二)、数据库启动/关闭 4、常见问题及解决方法 1dump database master to/usr/sybase/master.dup 2go(3)用isql登录到SQL Server,须用sa帐号(这里以pubs2数据库为例)1sp_configure allow updates,1 2go 1begin tran 2go 1use master 2go,SYBASE数据库系统管理培训,(二)、数据库启动/关闭 4、常见问题及解决方法 1update sysdatabases set status=-32768 Where name=pubs2 2go 如果得到(1 row affected),则 1commit 2go 否则 1 rollback 2go,SYBASE数据库系统管理培训,(二)、数据库启动/关闭 4、常见问题及解决方法 1update sysdatabases set status=-32768 Where name=pubs2 2go 如果得到(1 row affected),则 1commit 2go 否则 1 rollback 2go(4)重新启动SQL Server.,SYBASE数据库系统管理培训,(二)、数据库启动/关闭 4、常见问题及解决方法 注:SQL Server重新启动之后,当发现数据库本身存在不可恢复的问题时,如数据页损坏等,且没有完好的数据库备份,一定要用bcp.out备份用户数据库数据。此时,以下步骤省略,并按照“如何删除坏的用户数据库”文章删除此数据库。之后重建此数据库,恢复备份。否则,按以下步骤继续操作:用sa帐号注册到SQL Server 1begin tran 2go 1use master 2go,SYBASE数据库系统管理培训,(二)、数据库启动/关闭 4、常见问题及解决方法 1update sysdatabases set status=0 Where name=pubs2 2go 如果得到(1 row affected),则 1commit 2go 否则 1rollback 2go 1sp_configure allow updates,0 2go,SYBASE数据库系统管理培训,(三)、用户数据库管理 用户数据库是用户创建的,用来存放用户数据的数据库。用户数据库的创建分为两部分,一部分是用来存放数据,一部分是用来存放事务日志。为了提高数据库的速度,最好将数据库的数据部分和日志部分分开存储,即存放在不同的数据库设备上,这样也可以单独备份事务日志。1、创建用户数据库 创建数据库命令如下:CREATE DATABASE database_name ON database_ device=size,database_device=size LOG ON database_device=size,database_device=size 参数说明:database_name:创建的数据库名称 database_device:数据库设备 size:数据库在数据库设备上占有的空间大小,SYBASE数据库系统管理培训,(三)、用户数据库管理 log on:指明数据库的日志部分单独放在与数据库数据部分不同的数据库设备上。例如:要在wklogdb和wkdatadb数据库设备上创建数据库MBFEWKDB create database MBFEWKDB on wkdatadb=300M log on wklogdb=100M 注意:数据库的数据部分和数据库的日志部分可以创建在同一个数据库设备上,但一般建议数据库的数据部分和日志部分分别放在不同的数据库设备上,这样一方面可以提高数据库的性能,另一方面可以单独进行日志备份。如果日志部分和数据部分放在一个数据库设备上,不能单独对数据库日志进行备份。,SYBASE数据库系统管理培训,(三)、用户数据库管理 2、查看数据库信息 查看数据库信息的命令是sp_helpdb。举例:isql Usa P 1sp_helpdb 2go,SYBASE数据库系统管理培训,(三)、用户数据库管理 2、查看数据库信息 查看某一数据库的信息命令是:sp_helpdb db_name。举例:isql Usa P 1sp_helpdb MBFEWKDB 2go,SYBASE数据库系统管理培训,(三)、用户数据库管理 3、常见问题及解决方法 由于用户没有为用户数据库设置“trunc log on chkpt”选项,如果用户没有及时备份事务日志,当日志满时,用户事务不能正常执行,处于等待状态,这是任何操作都不能进行,像死机了一样。此时连进行日志备份都不能进行。解决这个问题的办法如下:执行命令:dump tran database_name with turncate_only 这条命令的意思就是清空事务日志,其他事务就可以正常运行了。执行上面命令以后,由于事务日志被请空,为了保证数据的安全性,日志清空后要做完全备份数据库。,SYBASE数据库系统管理培训,(四)、数据库设备管理 数据库设备是指逻辑磁盘上的一组连续磁盘空间。用来存放数据库的数据和日志数据。存放数据库和事务日志。数据库设备最好建在原始分区上,也可以创建在文件系统上。只有系统管理员有权建立数据库设备 命令如下:DISK INIT NAME=“device_name”,PHYSNAME=“physicalname”,VDEVNO=“virtual_device_number”,SIZE=number_of_blocks 说明:device_name:数据库设备名称 physicalname:数据库设备对应的操作系统的文件名 virtual_device_number:设备号,必须唯一,可以通过sp_helpdevece命令察,SYBASE数据库系统管理培训,(四)、数据库设备管理 的设备的设备号。Number_of_blocks:数据库设备的大小,单位为2K。例如:创建100M的wkindexdb数据库设备 disk init name=“wkindexdb”,physname=“/Sybase/data/wkindexdb”,vdevno=10,size=51200 查看数据库设备的命令如下:isql Usa P 1sp_helpdevice 2go,SYBASE数据库系统管理培训,(四)、数据库设备管理,SYBASE数据库系统管理培训,(四)、数据库设备管理 要查看某一个数据库设备信息用下面命令:isql Usa P 1sp_helpdevice device_name 2go 删除数据库设备 sp_dropdevice device_name 例如:删除wkindexdb设备 sp_dropdevice wkindexdb,SYBASE数据库系统管理培训,(五)、用户管理 Sql server 存在两个层次的认证:一个用户首先必须分配一个sql server 注册帐户。在该用户要求访问的数据库中必须有该用户的标识。1、增加帐户:语法:sp_addlogin login_name,passed,defaultdb,deflanguage,fullname 例如:sp_addlogin test,123456 2、删除帐户:语法:sp_droplogin login_name 例如:sp_droplogin test 3、修改口令:sp_password old_passwd,new_passwd,login_name 4、增加用户:sp_adduser login_name,name_in_db,grpname,SYBASE数据库系统管理培训,(五)、用户管理 5、查看用户信息:查看用户信息的命令是sp_helpuser 举例:isql Usa P 1use MBFEWKDB 2go 1sp_helpuser 2go,SYBASE数据库系统管理培训,(五)、用户管理 6、常见问题及解决方法:自增加了用户以后,每个用户就有密码,如果想更改密码为空,步骤如下:(1)使用sa登录Server:isql-Usa-Psa_password(2)记录当前版本号(以当前版本号12000为例):1sp_configure upgrade version 2go(3)修改当前值为492:1sp_configure upgrade version,492 2go(4)将某用户口令设置为NULL(以sa为例,当前口令为“123456”):1sp_password 123456,NULL,sa 2go,SYBASE数据库系统管理培训,(六)、数据库备份/恢复 每天业务完成后,最好对数据库进行备份,以防止数据库发生意外时数据的丢失。1、数据库备份:数据库备份主要通过转储数据库(dump database)和转储事务(dump transaction)来完成。都允许动态转储。转储数据库就是为整个数据库即数据和事务日志做一份物理备份。转储事务就是只为事务日志做一份物理备份。只有当日志单独放在数据库设备上时,才能做转储事务。在做数据库备份之前,一定要检查备份数据库是否启动,如果没有启动,要限启动备份服务器。转储数据库命令语法:dump database to 说明:转储设备名 可以是文件系统也可以时磁带设备,SYBASE数据库系统管理培训,(六)、数据库备份/恢复 举例:(1)以sybase用户登录系统。(2)以sa用户登录数据库$isql Usa P(3)备份数据库 1use master 2go 1dump database MBFEWKDB to“/home/Sybase/mbfewkdb.bak”2go 注意:如果修改了sybase数据库中的系统参数,修改后最好备份master数据库。,SYBASE数据库系统管理培训,(六)、数据库备份/恢复 转储日志命令语法:dump transaction to withtruncate_onlyno_log|no_truncate 参数说明:truncate_only:在数据与日志在同一数据库设备上时,用来截短日志,并不转储日志。也不记日志。No_log:在没有足够空间的情况下截短日志。No_truncate:转储日志,但不截短日志,SYBASE数据库系统管理培训,(六)、数据库备份/恢复 2、恢复数据库 要把以前备份的数据库恢复,必须要先启动备份服务器。装载数据库命令语法:load database from 恢复数据库的步骤如下:(1)以sybase用户登录系统。(2)以sa用户登录数据库$isql Usa P(3)恢复数据库。1use master 2go 1load database DATABASE_NAME from DEVICE_NAME 2go 1online database DATABASE_NAME 2go,SYBASE数据库系统管理培训,(六)、数据库备份/恢复 说明:DABASE_NAME是要备份的数据库名字 DEVICE_NAME是备份设备的名字,也可以是文件系统。如果是文件系统要用“”括起来。举例:从/home/sybase/mbfewkdb.backup文件中恢复MBFEWKDB数据库。1load database MBFEWKDB from“/home/sybase/mbfewkdb.bak”2go 1online database MBFEWKDB 2go,SYBASE数据库系统管理培训,(六)、数据库备份/恢复 装载日志命令语法:load transaction from 恢复数据库的步骤:(1)用load database装载最新的数据库备份。Load database把数据库状态设置为”offline”(2)用load transaction 命令按顺序装载在最近的数据库转储之后生成的事务日志。(3)用online命令把数据库的状态设置为online,是数据库能为用户使用。,SYBASE数据库系统管理培训,常见问题及解决方法:1、用户连接数问题:当数据库报错说,用户联接数已达到最大值,不能打开新的进程时,修改用户联接数。1sp_configure“number of user connections”,number 2go 系统默认的是25,可以改为50。1sp_configure“number of user connections”,50 2go,SYBASE数据库系统管理培训,常见问题及解决方法:2、配置sqlserver内存过大,服务器不能正常启动 SQL Server使用的内存与机器的内存总数有一定的比例关系。如果Server使用内存太小,影响到SQL Server的性能,但内存配置过大超过一定比例时,导致SQL Server不能启动。在ISQL中,用sp_configure“total memory”可以看到你的Server现在使用的内存大小。这个数字单位为Page,每一个Page为2K。参数memory在启动Server时被读入内存。所以memory被修改之后,必须shutdown Server,再重新启动Server,新的参数才生效。1GB物理内存的值大概为265000,SYBASE数据库系统管理培训,