sybase日常操作和维护.docx

上传人:scccc 文档编号:14467569 上传时间:2022-02-06 格式:DOCX 页数:47 大小:169.86KB
返回 下载 相关 举报
sybase日常操作和维护.docx_第1页
第1页 / 共47页
sybase日常操作和维护.docx_第2页
第2页 / 共47页
sybase日常操作和维护.docx_第3页
第3页 / 共47页
sybase日常操作和维护.docx_第4页
第4页 / 共47页
sybase日常操作和维护.docx_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《sybase日常操作和维护.docx》由会员分享,可在线阅读,更多相关《sybase日常操作和维护.docx(47页珍藏版)》请在三一文库上搜索。

1、v1.0可编辑可修改中国现代化支付系统SYBASE日常操作和维护深圳金融电子结算中心二。二年五月3目 录1. SQL SERVER 本框架2.1.1. 系统数据库2.1.2. INTERFACE文件3.1.3. 41.4. 数据库设备4.1.5. 常见问题及解决方法5.2. 数据库启动/关闭7.2.1. 查看数据库状态 7.2.2. 数据库启动7.2.3. 数据库关闭8.2.4. 出错日志8.2.5. 常见问题及解决方法8.3. 用户数据库管理1.33.1. 数据库选项1.33.2. 查看数据库信息1.53.3. 常见问题及解决方法1.64. 用户管理1.74.1. 增加/删除用户1.74.2

2、. 查看用户信息1.84.3. 常见问题及解决方法1.85. 数据库备份/恢复205.1. 数据库备份205.2. 恢复数据库 216. 如何调整SQL SERVER本配置参数 236.1. 配置 SQLSERVER数的方法 236.2. 常见问题及解决方法24v1.0可编辑可修改1. sql server基本框架sql server由系统数据库、用户数据库、数据库设备和一些辅助文件组成1.1. 系统数据库sql server是个多数据库结构的数据库管理系统。分为系统数据库和用户数据库。系统数据库是在安装时自动创建的。(1) master数据库master数据库全面控制和管理用户数据库及sql

3、 server上的一切操作。Master数据库主要包含以下纪录:用户账号。正在处理的进程。环境变量的配置。系统出错信息。每个数据库的存储分配。活动锁。联机的sqlserver 引擎。(2) temp数据库它为临时表和其他临时工作空间提供一个存储区域。是公用的。1、 当对大表进行order by 或group by操作时2、 当建立过多的临时表时。(3) model数据库它为新建的用户数据库提供一个原型。(4) sybsystemproc 数据库存储系统存储过程。其他系统数据库:深圳金融电子结算中心#v1.0可编辑可修改审计数据库(sybsecurity )、样本数据库(pubs2)、句法数据库

4、(sybsyntax )查看当前数据库服务器中的用户数据库和系统数据库的信息的命令如下:$isql - Usa - P1 sp_helpdb2 go要查看某一个数据库的信息,用下面命令$isql - Usa - P1 sp_helpdb dbname2 go1.2. i nterfaces 文件interfaces 位于 $sybase 目 录下,接口文件就象一个地址本,其中列出每个已知的服务器的名称及网络地址和端口号。结构如下:server_nameservice_type protocol network machine protservice_type 该登记项的服务类型query供客户

5、去找sql server 的端口master供sql server确定用来监听客户连接请求的端口。Sort 网络端口号(1025-65535)例:SybaseQuery tcp 5000Master tcp 5000Interfaces 文件的作用:1、在客户端的interfaces 文件中列出可被连接的各个server 的网络地址。2、在 server 端,每个 server 用于同其它 server 的连接。21圳金融电子结算中心v1.0可编辑可修改用户可以更改此文件,来改变数据库服务器的地址1.3.文件存在于$sybase目录下,用于存放sqlserver的系统参数信息。数据库在启动时,

6、读 取该文件。用户可以通过直接修改该文件中的参数的值,来改变数据库的系统参数,必须注意,修改了此文件中的参数以后,只有数据库重新启动以后才生效。1.4. 数据库设备数据库设备是指逻辑磁盘上的一组连续磁盘空间。用来存放数据库的数据和日志数据。存放数据库和事务日志。数据库设备最好建在原始分区上,也可以创建在文件系统上。只有系统管理员有权建立数据库设备 查看数据库设备的命令如下:$isql - Usa - P1 sp_helpdevice2 godevice_name physical_namehisdatadb /home/sybase/mbfe/hisdatadb hisdblog /home/

7、sybase/mbfe/hisdblog MB hisindexdb /home/sybase/mbfe/hisindexdb master d_masterspecial,MB sysprocsdev /home/sybase/systemprocs systemdbdev /home/sybase/systemdbdescriptionspecial, physical disk, MBspecial, physical disk,special, physical disk, MBdefault disk, physical disk,special, physical disk, MB

8、special, physical disk, MBtempdb /home/sybase/tempdbspecial, physical disk, MBwkdatadb /home/sybase/mbfe/wkdatadb special, physical disk, MB 深圳金融电子结算中心#v1.0可编辑可修改wkdblog / home/sybase/mbfe/wkdblog special, physical disk, MB wkindexdb /home/sybase/mbfe/wkindexdb special, physical disk, MB 要查看某一个数据库设备

9、信息用下面命令:$isql - Usa - P1 sp_helpdevice device_name2 go每天在业务开始之前,如果数据库是关闭的,要启动数据库。数据库的启动过程如下:1、以SYBAS剧户登陆操作系统。2、进入install 目录。(1)如果是unixware操作系统,执行$cd $SYBASE/install(2)如果是aix操作系统,执行$cd $SYBASE/ASE-12_0/install3、启动数据库服务器,执行下面命令$ startserver4、如果是启动备份服务库,执行下面命令$startserver -f RUN_SYB_BACKUP1.5.常见问题及解决方法

10、修改主机的IP地址后,如何根该interfaces 文件安装SYBASE Adapive Server的机器IP地址改变后,应修改interfaces文件及有关的设置。如果interfaces文件中使用的是机器名而不是IP地址,则不需要变动。但如果客户端联接服务器使用的是服务器的IP地址而不是机器名,那么客户端需修改联接服务 器的IP地址.。21圳金融电子结算中心v1.0可编辑可修改如果interfaces文件中使用的是IP地址,那么需要修改interfaces文件中和地址有关的部分,可使用dscp或dsedit进行修改。如果客户端联结服务器使用的是服务器的地址而不是机器名,那么客户端也需修改

11、。深圳金融电子结算中心#v1.0可编辑可修改2.数据库启动/关闭2.1. 查看数据库状态以sybase用户登录到操作系统,用命令 showserver查看数据库是否启动。$showserverUSER PID %CPU %MEM SZ RSS TTY STAT STIME TIME COMMANDsybase 2400013924 10856 - A Jun 13 4:46 /sybase/ASE-12_0/bin/dataserver -d/sybase/data/ -e/sybase/ASE-12_0/install/-M/sybase - sSYBASE输入showserver命令后如果

12、出现上面信息,证明数据库已经启动。2.2. 数据库启动以下是数据库启动的步骤:1sybase用户登录操作系统如果是unixware操作系统2$SYBASE/install 目录如果是aix操作系统2$SYBASE/ASE-12_0启动数据库服务器:3startserver启动备份服务器:4 startserver -f RUN_SYB_BACKUP注意:一般情况,备份服务器是不用启动的,只有需要备份的时候才启动备份服务器21圳金融电子结算中心v1.0可编辑可修改2.3. 数据库关闭在一般情况下,数据库并不是每天都关闭,最好每天都不关闭,在特殊情况下才关闭。数据库关闭过程如下:1、以SYBAS剧

13、户登陆操作系统。2、以数据库管理员(超级用户 SA)登陆数据库。$ isql - Usa - P3、关闭备份服务器1shutdown SYB_BACKUP2go4、关闭数据库服务器1 shutdown2 go2.4. 由错日志也许在数据库启动时,由于各种原因,数据库不能正常启动,数据库会把引起数据库错误 的信息方到SYBASE.log文件中,这个文件在$SYBASE/install目录下。2.5. 常见问题及解决方法在实际环境中,数据库Server无法启动的原因很多,本文仅列出了几种常见的情况,供您参考。首先,应检查 Server的日志文件。不同版本缺省的日志文件如下(其中 为 Sybase

14、Server 的名称:UNIX:* : $SYBASE/install/errorlog* 或 *: $SYBASE/install/.log* : $SYBASE_ASE/install/.log深圳金融电子结算中心9v1.0可编辑可修改NT:* * 或 *: $SYBASEinstallerrorlog* : $SYBASEASE-12_0installerrorlogCASE 1:basis_dlock: file /sybase/ already in use by a SQL Serverkernel kdconfig: unable to read primary master d

15、evicekernel kiconfig: read of config block failed检查 server 是否已经启动(showserver, ps -u sybase 或 NT service ) CASE 2:dopen: open /sybase/ failed, permission deniedkernel kdconfig: unable to read primary master devicekernel kiconfig: read of config block failed检查master设备文件的所有者及权限CASE 3:ninit: All master

16、network listeners have failed. Shutting down 检查 network ip 及 port 酉己置(netstat -a )CASE 4:kernel:kscsinit:connectivity library error. Operation:cs_ctx_a110co.o检查操作系统参数是否已经修改并重新启动操作系统(参见安装手册)若操作系统异常宕机,ASU启动而$SYBASE/.krg已经存在,删除该文件CASE5现象:Error 92621圳金融电子结算中心v1.0可编辑可修改Severity Level 14Error Message Text

17、Database xx cannot be opened - it has been marked SUSPECT by recoverExplanation解决方法:(1)当你使用Transact_SQL命令操作这个数据库的数据时,出现这个信息,这是一个严 重的错误,如果你要使用这个数据库的数据,必须改正这个错误.(2) 启动 Backup Server, 后备 master 数据库1dump database master to /usr/sybase/2go(3)用isql登录到SQL Server,须用sa帐号(本文以pubs2数据库为例)1sp_configure allow upd

18、ates, 12go1begin tran2go1use master2go1update sysdatabases2set status = -327683Where name=pubs24go如果得到(1 row affected), 贝1commit2go否则1rollback深圳金融电子结算中心11v1.0可编辑可修改2go(4)重新启动 SQL Server.注:SQL Server重新启动之后,当发现数据库本身存在不可恢复的问题时,如数据页损 坏等,且没有完好的数据库备份,一定要用bcp.out备份用户数据库数据。此时,以下步骤省略,并按照“如何删除坏的用户数据库”文章删除此数据库

19、。之后重建此数据库, 恢复备份。dbcc dbrepair ( database name, dropdb )否则,按以下步骤继续操作:用sa帐号注册到SQL Server.1begin tran2go1use master2go1update sysdatabases2set status=03Where name=pubs24go如果得到(1 row affected), 贝1commit2go否则1rollback2go1sp_configure allow updates ,0渊圳金融电子结算中心v1.0可编辑可修改2go(5)重新启动 SQL Server.深圳金融电子结算中心#v1

20、.0可编辑可修改3.用户数据库管理用户数据库是用户创建的,用来存放用户数据的数据库。用户数据库的创建分为两部分,一部分是用来存放数据,一部分是用来存放事务日志。为了提高数据库的速度,最好将数 据库的数据部分和日志部分分开存储,即存放在不同的数据库设备上,这样也可以单独备 份事务日志。3.1. 数据库选项sp_dboption dbname,option_name,ture falseabort tran on log full该选项决定当指定数据库日志段最后机会阀值越出时,对正在运行的事务的处理方法。缺省值为 false ,即事务被暂停直到空间空余出 来时再恢复。为ture时,日志存储空间空余

21、出来前,所有需要写入日志的事务都 将停止。allow nulls by default :置为 ture ,将列的缺省状态从 not null 置为 null , 这与ANSI标准一致。dbo use only :置为true时,只有数据库属主可以使用此库。ddl in tran :置为ture时,用户可以在事务中使用某些数据定义的命令。如: create table 。注意:临时库的ddl in tran 必须为false状态。no chkpt on recovery :决定在sql server 启动时对数据库进行恢复后是否加入 一个checkpoint 记录。置为 true 时,chec

22、kpoint 记录不被加入。no free space acctg :置为ture时,抑制剩余空间记帐及非日志段阀值活动的 执行。由于不再计算此时段的剩余空间,所以将加速恢复时间。read only :置为true时,用户可以从数据库中检索数据,但不能修改数据。select into/bulkcopy :置为ture时,可以执行select into 生成永久表;或用 bcp批量拷贝库例程,或高速批拷贝到没有索引或触发器的表。single user :设置为true时,每次只能有一个用户访问该数据库。21圳金融电子结算中心v1.0可编辑可修改查看数据库当前的具有的数据库选向的命令是举例:isq

23、l - Usa - P1 use MBFEWKDB2 go1sp_dboption2gosp_dboption :database_options abort tran on log fullallow nulls by defaultauto identitydbo use onlyddl in tranidentity in nonunique indexno chkpt on recoveryno free space acctgread onlyselect into/bulkcopy/pllsortsingle usertrunc log on chkpttrunc. log on

24、chkpt.unique auto_identity index深圳金融电子结算中心#v1.0可编辑可修改21圳金融电子结算中心3.2.查看数据库信息查看数据库信息的命令是sp_helpdb o举例:isql - Usa - P1 sp_helpdb2 gonamedbsize ownerdbidcreated statusMBFEHISDBMB sa7 Apr 08,MBFEWKDBMBsa62002 select into/bulkcopy/pllsort,masterMBtrunc log on chkpt sa11900 no options set modelMB sa01, 190

25、0 no options set sybsystemdbMB sa05, 2002 no options set sybsystemprocsMB3 Jan5 Apr sa42002 no options settempdbMBsa22002 select into/bulkcopy/pllsort查看某一数据库的信息命令是:sp_helpdb db_name2002 select into/bulkcopy/pllsort, trunc log on chkptisql Usa PApr 08,Jan 01,Apr 05,Jun 14,v1.0可编辑可修改1 sp_helpdb MBFEWK

26、DB2 gonamedb_size ownerdbidcreated statusMBFEWKDBMBsa6Apr 08,2002 select into/bulkcopy/pllsort, trunc log on chkptdevice_fragmentssize usagefreekbyteswkdatadbMBdata only186608wkdblogMBlog only102368wkindexdbMBdata only1016163.3.常见问题及解决方法由于用户没有为用户数据库设置“ trunc log on chkpt ”选项,如果用户没有及时备份 事务日志,当日志满时,用户

27、事务不能正常执行,处于等待状态,这是任何操作都不能进 行,像死机了一样。此时连进行日志备份都不能进行。解决这个问题的办法如下:执行命令:dump tran database_name with turncate_only这条命令的意思就是清空事务日志,其他事务就可以正常运行了。执行上面命令以后,由于事务日志被请空,为了保证数据的安全性,日志清空后要做完全备份数据库。数据库的备份方法见第 5章。深圳金融电子结算中心#v1.0可编辑可修改4,用户管理4.1. 增加/删除用户Sql server 存在两个层次的认证:一个用户首先必须分配一个sql server注册帐户。在该用户要求访问的数据库中必须

28、有该用户的标识。增加帐户:语法:sp_addlogin login_name,passed,defaultdb,deflanguage,fullname例如:sp_addlogin chentao,passord,Sybase修改帐户:sp_modifylogin login_name,option,value通过此命令可修改帐户访问的缺省数据库、缺省语言及该帐户的全名等选项。删除帐户:语法:droplogin login_name修改口令:sp_password old_passwd,new_passwd,login_name增加用户sp_adduser login_name,name_in

29、_db,grpname别名:别名是多个sqlserver帐户共享的数据库用户名,多个帐户以同一个数据库用户的身份来 访问数据库,并具有与该数据库用户同等的权限。语法:addalias login_name,name_in_db别名信息记录在sysalternates 系统表中。锁定/解锁用户:sp_locklogin login_name, ” lock|unlick ”21圳金融电子结算中心v1.0可编辑可修改4.2. 查看用户信息查看用户信息的命令是sp_helpuser举例:isql - Usa - P1 use MBFEWKDB2 go1 sp_helpuser2 goUsers_na

30、me ID_in_db Group_name Login_nameappuser6 publicappuserccpcuser3 mbfeccpcuserdbo1 publicsambuser4 mbfembuserpbuser5 mbfepbuser4.3. 常见问题及解决方法自增加了用户以后,每个用户就有密码,如果想更改密码为空,步骤如下:1 .使用sa登录Server :2 . isql -Usa -Psa_password -Sserver_name3 .记录当前版本号(以当前版本号12000为例):sp_configure upgrade versiongo4 .修改当前值为492:

31、sp_configure upgrade version,492深圳金融电子结算中心#v1.0可编辑可修改go5 .将某用户口令设置为NULL(以sa为例,当前口令为123456): sp_password 123456,NULL,sago6 .重新设置当前版本号:sp_configure upgrade version,12000go21圳金融电子结算中心v1.0可编辑可修改5.数据库备份/恢复每天业务完成后,最好对数据库进行备份,以防止数据库发生意外时数据的丢失。5.1. 数据库备份数据库备份主要通过转储数据库(dump database)和转储事务(dumptransaction ) 来

32、完成。都允许动态转储。转储数据库就是为整个数据库即数据和事务日志做一份物理备份。转储事务就是只为事务日志做一份物理备份。 只有当日志单独放在数据库设备上时,才能做转储事务。Dump transaction 命令为事务日志做备份。Dump transaction与许多操作系统提供的增量备份相似。它拷贝事务日志,提供自上次数据库或事务日志转储以来所有数据库变化的 记录。一旦dump transaction 拷贝了日志,它会截去其不活动的部分。在做数据库备份之前,一定要检查备份数据库是否启动,如果没有启动,要限启动备份服 务器,备份服务器的启动方法前面已经讲过。转储数据库命令语法:dump data

33、base to with noinit|init说明:转储设备名 可以是文件系统也可以时磁带设备with init的作用是当备份到磁带设备是从磁带开始备份,如果原来磁带上已有内容将被删除。举例:1 .以sybase用户登录系统。2 .以sa用户登录数据库。$isql - Usa - P深圳金融电子结算中心#v1.0可编辑可修改3 .备份数据库。1use master2go1 dump database MBFEWKDBto/home/Sybase/ 2 go注意:如果修改了 sybase数据库中的系统参数,修改后最好备份master数据库。转储日志命令语法:dump transaction t

34、o withtruncate_onlyno_log|no_truncate 参数说明:truncate_only:在数据与日志在同一数据库设备上时,用来截短日志,并不转储日 志。也不记日志。No_log:在没有足够空间的情况下截短日志。No_truncate: 转储日志,但不截短日志5.2. 恢复数据库要把以前备份的数据库恢复,必须要先启动备份服务器。备份服务器的启动方法见。装载数据库命令语法:load database from 恢复数据库的步骤如下:(1)以sybase用户登录系统。(2)以sa用户登录数据库。$isql - Usa - P21圳金融电子结算中心v1.0可编辑可修改(3)恢

35、复数据库。$isql - Usa - P1 use master2 go1 load database DATABASE_NAMTEm DEVICE_NAME2 go1nline database DATABASE_NAME2go说明:(2) DABASE_NA哂备份的数据库名字。(3) DEVICE_NAM是备份设备的名字,也可以是文件系统。如果是文件系统要 用“”括起来。举例:从/home/sybase/文件中恢复MBFEWKDBg库。1 load database MBFEWKDBfrom 7home/sybase/2 go1 online database MBFEWKDB2 go装载

36、日志命令语法:load transaction from 恢复数据库的步骤:1、 用load database 装载最新的数据库备份。Load database 把数据库状 态设置为“ offline ”2、 用load transaction命令按顺序装载在最近的数据库转储之后生成的事务日志。3、 用online命令把数据库的状态设置为 online ,是数据库能为用户使用。6,如何调整sql server 基本配置参数为了调节sql server的性能以及系统资源的分配和利用达到最优效果。可以通过调整sqlserver的基本配置参数达到。sql server中的配置可分为静态和动态两种。动

37、态参数在使用sp_configure命令配置新值后立即生效。静态参数因需要sqlserver对内存进行重新分配,所以修改静态参数应该重新启动sqlserver。系统参数存放在 maseter库中的 sysconfigures 表和 syscurconfigs 表中。6.1, 配置sqlserver 参数的方法配置sql server 的方法就是通过sp_configure命令或直接修改文件。sp_configure的使用方法如下:sp_configure name , values 如果只用sp_configure 命令,此命令的作用是查看全部参数的值。如果用sp_configurename

38、,此命令的作用是查看参数“ nam3 ,当前的值。举例:更改用户联接数。1 sp_configure“number of user connections ”2 goParameter NameDefault Memory Used Config ValueRun Valuenumber of user connections 2525912525显示出参数 number of user connections 的值。1 sp_configure “number of user connections ,30 2 go此时,number of user connections的值仍然为25,因

39、为它是静态参数,重新启动sqlserver后,此参数的值变为30。6.2, 常见问题及解决方法增加用户联接数当数据库报错说,用户联接数已达到最大值,不能打开新的进程时,修改用户联接数。 1sp_configure “number of user connections ” ,number 2go系统默认的是25,可以该为50。1 sp_configure “number of user connections ” ,50 2 go因为这个参数是静态参数,必须重新启动数据库才能生效。配置sqlserver内存过大,服务器不能正常启动SQLServer使用的内存与机器的内存总数有一定的比例关系。如

40、果Server使用内存太小,影响到SQLServer的性能,但内存配置过大超过一定比例时,导致SQLServer不能启动。 在ISQL中,用sp_configure “total memor y”可以看到你的 Server现在使用的内存大 小。这个数字单位为Page,每一个Page为2K。参数memory在启动Server时被读入内存。 所以memory被修改之后,必须shutdown Server ,再重新启动Server ,新的参数才生效。 1sp_configure memory,number_of_memory 2go 1reconfigure with override 2go 1shutdown with nowait 2go如果新的内存配置太大,SQLServer不能启动,那么必须修改 Master设备上的内存配置参数。修改方法有两种:在$SYBASE/install目录下,使用buildmaster命令$buildmaster -d/path/ -y cmemsize = XXX其中XXX为内存页数。如果新的内存大小合适,SQL Server可以启动。(2)修改配置文件$SYBASE/修改 total memory= xxxxxx其中XXX为内存页数。如果新的内存大小合适,SQL Server可以启动25圳金融电子结算中心

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1