收藏 分销(赏)

sybase日常操作和维护.doc

上传人:人****来 文档编号:3316632 上传时间:2024-07-01 格式:DOC 页数:26 大小:103.50KB
下载 相关 举报
sybase日常操作和维护.doc_第1页
第1页 / 共26页
sybase日常操作和维护.doc_第2页
第2页 / 共26页
sybase日常操作和维护.doc_第3页
第3页 / 共26页
sybase日常操作和维护.doc_第4页
第4页 / 共26页
sybase日常操作和维护.doc_第5页
第5页 / 共26页
点击查看更多>>
资源描述

1、中国现代化支付系统SYBASE日常操作和维护深圳金融电子结算中心二二年五月目 录1.SQL SERVER基本框架21.1.系统数据库21.2.interfaces文件31.3.SYBASE.cfg31.4.数据库设备41.5.常见问题及解决方法52.数据库启动/关闭62.1.查看数据库状态62.2.数据库启动62.3.数据库关闭62.4.出错日志72.5.常见问题及解决方法73.用户数据库管理113.1.数据库选项113.2.查看数据库信息133.3.常见问题及解决方法144.用户管理164.1.增加/删除用户164.2.查看用户信息174.3.常见问题及解决方法175.数据库备份/恢复195

2、.1.数据库备份195.2.恢复数据库206.如何调整SQL SERVER基本配置参数226.1.配置sqlserver参数的方法226.2.常见问题及解决方法23 1. sql server基本框架sql server由系统数据库、用户数据库、数据库设备和一些辅助文件组成。1.1. 系统数据库sql server是个多数据库结构的数据库管理系统。分为系统数据库和用户数据库。系统数据库是在安装时自动创建的。(1) master数据库master数据库全面控制和管理用户数据库及sql server上的一切操作。Master数据库主要包含以下纪录:l 用户账号。l 正在处理的进程。l 环境变量的配

3、置。l 系统出错信息。l 每个数据库的存储分配。l 活动锁。l 联机的 sqlserver引擎。(2) temp数据库它为临时表和其他临时工作空间提供一个存储区域。是公用的。、 当对大表进行order by 或group by操作时、 当建立过多的临时表时。(3) model 数据库它为新建的用户数据库提供一个原型。(4) sybsystemproc数据库 存储系统存储过程。其他系统数据库:审计数据库(sybsecurity)、样本数据库(pubs2)、句法数据库(sybsyntax)查看当前数据库服务器中的用户数据库和系统数据库的信息的命令如下:$isql Usa P1 sp_helpdb2

4、 go 要查看某一个数据库的信息,用下面命令 $isql Usa P1 sp_helpdb dbname2 go1.2. interfaces文件interfaces位于$sybase目录下,接口文件就象一个地址本,其中列出每个已知的服务器的名称及网络地址和端口号。结构如下:server_name service_type protocol network machine protservice_type 该登记项的服务类型query 供客户去找 sql server 的端口master 供sql server 确定用来监听客户连接请求的端口。Sort 网络端口号(1025-65535)例:S

5、ybase Query tcp 168.33.56.171 5000 Master tcp 168.33.56.171 5000 Interfaces文件的作用:1、 在客户端的interfaces文件中列出可被连接的各个server的网络地址。2、 在server端,每个server用于同其它server的连接。用户可以更改此文件,来改变数据库服务器的地址。1.3. SYBASE.cfgSYBASE.cfg文件存在于$sybase目录下,用于存放sqlserver的系统参数信息。数据库在启动时,读取该文件。用户可以通过直接修改该文件中的参数的值,来改变数据库的系统参数,必须注意,修改了此文件

6、中的参数以后,只有数据库重新启动以后才生效。1.4. 数据库设备数据库设备是指逻辑磁盘上的一组连续磁盘空间。用来存放数据库的数据和日志数据。存放数据库和事务日志。数据库设备最好建在原始分区上,也可以创建在文件系统上。只有系统管理员有权建立数据库设备查看数据库设备的命令如下:$isql Usa P1 sp_helpdevice2 godevice_name physical_name descriptionhisdatadb/home/sybase/mbfe/hisdatadb special, physical disk, 1000.00 MBhisdblog/home/sybase/mbfe

7、/hisdblog special, physical disk, 400.00 MBhisindexdb/home/sybase/mbfe/hisindexdb special, physical disk, 200.00 MBmasterd_master special, default disk, physical disk, 70.00 MBsysprocsdev/home/sybase/systemprocs special, physical disk, 100.00 MBsystemdbdev/home/sybase/systemdb special, physical disk

8、, 5.00 MB tempdb/home/sybase/tempdb special, physical disk, 20.00 MB wkdatadb/home/sybase/mbfe/wkdatadb special, physical disk, 200.00 MB wkdblog/home/sybase/mbfe/wkdblog special, physical disk, 100.00 MB wkindexdb/home/sybase/mbfe/wkindexdb special, physical disk, 100.00 MB要查看某一个数据库设备信息用下面命令:$isql

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

10、如何根该interfaces文件?安装SYBASE Adapive Server的机器IP地址改变后, 应修改 interfaces 文件及有关的设置。如果 interfaces 文件中使用的是机器名而不是 IP 地址, 则不需要变动。 但如果客户端联接服务器使用的是服务器的 IP 地址而不是机器名,那么客户端需修改联接服务器的 IP 地址.。如果 interfaces 文件中使用的是 IP 地址, 那么需要修改 interfaces 文件中和地址有关的部分, 可使用dscp 或 dsedit 进行修改。 如果客户端联结服务器使用的是服务器的地址而不是机器名,那么客户端也需修改。2. 数据库启

11、动/关闭2.1. 查看数据库状态以sybase用户登录到操作系统,用命令showserver查看数据库是否启动。$showserverUSER PID %CPU %MEM SZ RSS TTY STAT STIME TIME COMMANDsybase 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命令后如果出

12、现上面信息,证明数据库已经启动。2.2. 数据库启动以下是数据库启动的步骤:1sybase用户登录操作系统如果是unixware操作系统2$SYBASE/install目录如果是aix操作系统2$SYBASE/ASE-12_0启动数据库服务器: 3startserver启动备份服务器:4 startserver f RUN_SYB_BACKUP注意:一般情况,备份服务器是不用启动的,只有需要备份的时候才启动备份服务器。2.3. 数据库关闭在一般情况下,数据库并不是每天都关闭,最好每天都不关闭,在特殊情况下才关闭。数据库关闭过程如下:1、 以SYBASE用户登陆操作系统。2、 以数据库管理员(超

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

14、YBASE/install/errorlog 11.5* 或 11.9*: $SYBASE/install/.log 12.0*: $SYBASE_ASE/install/.log NT:11.0* 11.5* 或 11.9*: $SYBASEinstallerrorlog 12.0*: $SYBASEASE-12_0installerrorlog CASE 1:basis_dlock: file /sybase/master.dat already in use by a SQL Serverkernel kdconfig: unable to read primary master dev

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

16、master network listeners have failed. Shutting down检查network ip 及 port配置 ( netstat -a ) CASE 4:kernel:kscsinit: connectivity library error. Operation: cs_ctx_alloc().o 检查操作系统参数是否已经修改并重新启动操作系统 (参见安装手册) 若操作系统异常宕机,ASE未启动而$SYBASE/.krg已经存在, 删除该文件 CASE5现象:Error 926 Severity Level 14 Error Message Text Dat

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

18、igure allow updates, 1 2go 1begin tran 2go 1use master2go1update sysdatabases 2set status = -32768 3Where name=pubs2 4go如果得到(1 row affected),则1commit2go否则1rollback2go(4)重新启动SQL Server. 注:SQL Server重新启动之后,当发现数据库本身存在不可恢复的问题时,如数据页损坏等,且没有完好的数据库备份,一定要用bcp.out备份用户数据库数据。此时,以下步骤省略,并按照“如何删除坏的用户数据库”文章删除此数据库。之

19、后重建此数据库,恢复备份。dbcc dbrepair ( database_name, dropdb )否则,按以下步骤继续操作:用sa帐号注册到SQL Server. 1begin tran 2go 1use master2go1update sysdatabases 2set status=0 3Where name=pubs2 4go 如果得到(1 row affected),则1commit2go否则1rollback2go1sp_configure allow updates ,02go (5)重新启动SQL Server. 3. 用户数据库管理用户数据库是用户创建的,用来存放用户数

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

21、default:置为ture,将列的缺省状态从not null置为null,这与ANSI标准一致。l dbo use only:置为true时,只有数据库属主可以使用此库。l ddl in tran:置为ture时,用户可以在事务中使用某些数据定义的命令。如:create table。注意:临时库的ddl in tran 必须为false状态。l no chkpt on recovery:决定在sql server启动时对数据库进行恢复后是否加入一个checkpoint记录。置为true时,checkpoint记录不被加入。l no free space acctg:置为ture时,抑制剩余空

22、间记帐及非日志段阀值活动的执行。由于不再计算此时段的剩余空间,所以将加速恢复时间。l read only:置为true时,用户可以从数据库中检索数据,但不能修改数据。l select into/bulkcopy:置为ture时,可以执行select into生成永久表;或用bcp批量拷贝库例程,或高速批拷贝到没有索引或触发器的表。l single user:设置为true时,每次只能有一个用户访问该数据库。查看数据库当前的具有的数据库选向的命令是sp_dboption:举例:isql Usa P1 use MBFEWKDB2 go1sp_dboption2godatabase_options

23、- abort tran on log full allow nulls by default auto identity dbo use only ddl in tran identity in nonunique index no chkpt on recovery no free space acctg read only select into/bulkcopy/pllsort single user trunc log on chkpt trunc. log on chkpt. unique auto_identity index 3.2. 查看数据库信息查看数据库信息的命令是sp_

24、helpdb。举例:isql Usa P1 sp_helpdb2 goname db_size owner dbid created status - - - - - - MBFEHISDB 1600.0 MB sa 7 Apr 08, 2002 select into/bulkcopy/pllsort, trunc log on chkpt MBFEWKDB 400.0 MB sa 6 Apr 08, 2002 select into/bulkcopy/pllsort, trunc log on chkpt master 28.0 MB sa 1 Jan 01, 1900 no option

25、s set model 2.0 MB sa 3 Jan 01, 1900 no options set sybsystemdb 5.0 MB sa 5 Apr 05, 2002 no options set sybsystemprocs 100.0 MB sa 4 Apr 05, 2002 no options set tempdb 22.0 MB sa 2 Jun 14, 2002 select into/bulkcopy/pllsort 查看某一数据库的信息命令是:sp_helpdb db_nameisql Usa P1 sp_helpdb MBFEWKDB2 goname db_size

26、 owner dbid created status - - - - - - MBFEWKDB 400.0 MB sa 6 Apr 08, 2002 select into/bulkcopy/pllsort, trunc log on chkpt device_fragments size usage free kbytes - - - - wkdatadb 200.0 MB data only 186608 wkdblog 100.0 MB log only 102368 wkindexdb 100.0 MB data only 1016163.3. 常见问题及解决方法由于用户没有为用户数据

27、库设置“trunc log on chkpt”选项,如果用户没有及时备份事务日志,当日志满时,用户事务不能正常执行,处于等待状态,这是任何操作都不能进行,像死机了一样。此时连进行日志备份都不能进行。解决这个问题的办法如下:执行命令: dump tran database_name with turncate_only这条命令的意思就是清空事务日志,其他事务就可以正常运行了。执行上面命令以后,由于事务日志被请空,为了保证数据的安全性,日志清空后要做完全备份数据库。数据库的备份方法见第5章。4. 用户管理4.1. 增加/删除用户Sql server 存在两个层次的认证:一个用户首先必须分配一个sq

28、l server 注册帐户。在该用户要求访问的数据库中必须有该用户的标识。增加帐户:语法: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增加用户

29、sp_adduser login_name,name_in_db,grpname别名:别名是多个sqlserver帐户共享的数据库用户名,多个帐户以同一个数据库用户的身份来访问数据库,并具有与该数据库用户同等的权限。语法:addalias login_name,name_in_db别名信息记录在sysalternates系统表中。锁定/解锁用户:sp_locklogin login_name,”lock|unlick”4.2. 查看用户信息查看用户信息的命令是sp_helpuser举例:isql Usa P1 use MBFEWKDB2 go1 sp_helpuser2 goUsers_nam

30、e ID_in_db Group_name Login_name - - - - appuser 6 public appuser ccpcuser 3 mbfe ccpcuser dbo 1 public sa mbuser 4 mbfe mbuser pbuser 5 mbfe pbuser 4.3. 常见问题及解决方法自增加了用户以后,每个用户就有密码,如果想更改密码为空,步骤如下:1. 使用sa登录Server:isql -Usa -Psa_password -Sserver_name 2. 记录当前版本号(以当前版本号12000为例): sp_configure upgrade ve

31、rsion go 3. 修改当前值为492: sp_configure upgrade version,492 go 4. 将某用户口令设置为NULL(以sa为例,当前口令为123456): sp_password 123456,NULL,sa go 5. 重新设置当前版本号: sp_configure upgrade version,12000 go 5. 数据库备份/恢复每天业务完成后,最好对数据库进行备份,以防止数据库发生意外时数据的丢失。5.1. 数据库备份数据库备份主要通过转储数据库(dump database)和转储事务(dump transaction)来完成。都允许动态转储。转

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

33、init|init说明:转储设备名 可以是文件系统也可以时磁带设备with init 的作用是当备份到磁带设备是从磁带开始备份,如果原来磁带上已有内容将被删除。举例:1. 以sybase用户登录系统。2. 以sa用户登录数据库。 $isql Usa P3. 备份数据库。1use master2go1 dump database MBFEWKDB to “/home/Sybase/mbfewkdb.backup”2 go注意:如果修改了sybase数据库中的系统参数,修改后最好备份master数据库。转储日志命令语法:dump transaction to with truncate_onlyn

34、o_log|no_truncate 参数说明:truncate_only:在数据与日志在同一数据库设备上时,用来截短日志,并不转储日志。也不记日志。No_log:在没有足够空间的情况下截短日志。No_truncate: 转储日志,但不截短日志5.2. 恢复数据库要把以前备份的数据库恢复,必须要先启动备份服务器。备份服务器的启动方法见2.1。装载数据库命令语法:load database from 恢复数据库的步骤如下:(1) 以sybase用户登录系统。(2) 以sa用户登录数据库。 $isql Usa P(3) 恢复数据库。$isql Usa P1 use master2 go1 load

35、database DATABASE_NAME from DEVICE_NAME 2 go1nline database DATABASE_NAME2go说明:(2) DABASE_NAME是要备份的数据库名字。(3) DEVICE_NAME是备份设备的名字,也可以是文件系统。如果是文件系统要用“”括起来。举例:从 /home/sybase/mbfewkdb.backup文件中恢复MBFEWKDB数据库。1 load database MBFEWKDB from “/home/sybase/mbfewkdb.backup”2 go1 online database MBFEWKDB2 go装载日

36、志命令语法:load transaction from 恢复数据库的步骤:、 用load database装载最新的数据库备份。Load database把数据库状态设置为”offline”、 用load transaction 命令按顺序装载在最近的数据库转储之后生成的事务日志。、 用online命令把数据库的状态设置为online,是数据库能为用户使用。6. 如何调整sql server基本配置参数为了调节sql server的性能以及系统资源的分配和利用达到最优效果。可以通过调整sqlserver的基本配置参数达到。sql server中的配置可分为静态和动态两种。动态参数在使用sp_configure命令配置新值后立即生效。静态参数因需要sqlserver对内存进行重新分配,所以修改静态参数应该重新启动sqlserver。系统参数存放在maseter库中的sysconfigures 表和syscurconf

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服