sybase日常操作和维护.docx
- 文档编号:8887371
- 上传时间:2023-05-15
- 格式:DOCX
- 页数:21
- 大小:24.50KB
sybase日常操作和维护.docx
《sybase日常操作和维护.docx》由会员分享,可在线阅读,更多相关《sybase日常操作和维护.docx(21页珍藏版)》请在冰点文库上搜索。
sybase日常操作和维护
中国现代化支付系统
SYBASE日常操作和维护
深圳金融电子结算中心
二○○二年五月
1.sqlserver基本框架
sqlserver由系统数据库、用户数据库、数据库设备和一些辅助文件组成。
1.1.系统数据库
sqlserver是个多数据库结构的数据库管理系统。
分为系统数据库和用户数据库。
系统数据库是在安装时自动创建的。
(1)master数据库
master数据库全面控制和管理用户数据库及sqlserver上的一切操作。
Master数据库主要包含以下纪录:
●用户账号。
●正在处理的进程。
●环境变量的配置。
●系统出错信息。
●每个数据库的存储分配。
●活动锁。
●联机的sqlserver引擎。
(2)temp数据库
它为临时表和其他临时工作空间提供一个存储区域。
是公用的。
1、当对大表进行orderby或groupby操作时
2、当建立过多的临时表时。
(3)model数据库
它为新建的用户数据库提供一个原型。
(4)sybsystemproc数据库
存储系统存储过程。
其他系统数据库:
审计数据库(sybsecurity)、样本数据库(pubs2)、句法数据库(sybsyntax)
查看当前数据库服务器中的用户数据库和系统数据库的信息的命令如下:
$isql–Usa–P
1>sp_helpdb
2>go
要查看某一个数据库的信息,用下面命令
$isql–Usa–P
1>sp_helpdbdbname
2>go
1.2.interfaces文件
interfaces位于$sybase目录下,
接口文件就象一个地址本,其中列出每个已知的服务器的名称及网络地址和端口号。
结构如下:
server_name
service_typeprotocolnetworkmachineprot
service_type该登记项的服务类型
query供客户去找sqlserver的端口
master供sqlserver确定用来监听客户连接请求的端口。
Sort网络端口号(1025-65535)
例:
Sybase
Querytcp168.33.56.1715000
Mastertcp168.33.56.1715000
Interfaces文件的作用:
1、在客户端的interfaces文件中列出可被连接的各个server 的网络地址。
2、在server端,每个server用于同其它server的连接。
用户可以更改此文件,来改变数据库服务器的地址。
1.3.SYBASE.cfg
SYBASE.cfg文件存在于$sybase目录下,用于存放sqlserver的系统参数信息。
数据库在启动时,读取该文件。
用户可以通过直接修改该文件中的参数的值,来改变数据库的系统参数,必须注意,修改了此文件中的参数以后,只有数据库重新启动以后才生效。
1.4.数据库设备
数据库设备是指逻辑磁盘上的一组连续磁盘空间。
用来存放数据库的数据和日志数据。
存放数据库和事务日志。
数据库设备最好建在原始分区上,也可以创建在文件系统上。
只有系统管理员有权建立数据库设备
查看数据库设备的命令如下:
$isql–Usa–P
1>sp_helpdevice
2>go
device_namephysical_namedescription
hisdatadb/home/sybase/mbfe/hisdatadbspecial,physicaldisk,1000.00MB
hisdblog/home/sybase/mbfe/hisdblogspecial,physicaldisk,400.00MB
hisindexdb/home/sybase/mbfe/hisindexdbspecial,physicaldisk,200.00MB
masterd_masterspecial,defaultdisk,physicaldisk,70.00MB
sysprocsdev/home/sybase/systemprocsspecial,physicaldisk,100.00MB
systemdbdev/home/sybase/systemdbspecial,physicaldisk,5.00MB
tempdb/home/sybase/tempdbspecial,physicaldisk,20.00MB
wkdatadb/home/sybase/mbfe/wkdatadbspecial,physicaldisk,200.00MB
wkdblog/home/sybase/mbfe/wkdblogspecial,physicaldisk,100.00MB
wkindexdb/home/sybase/mbfe/wkindexdbspecial,physicaldisk,100.00MB
要查看某一个数据库设备信息用下面命令:
$isql–Usa–P
1>sp_helpdevicedevice_name
2>go
每天在业务开始之前,如果数据库是关闭的,要启动数据库。
数据库的启动过程如下:
1、以SYBASE用户登陆操作系统。
2、进入install目录。
(1)如果是unixware操作系统,执行
$cd$SYBASE/install
(2)如果是aix操作系统,执行
$cd$SYBASE/ASE-12_0/install
3、启动数据库服务器,执行下面命令
$startserver
4、如果是启动备份服务库,执行下面命令
$startserver–fRUN_SYB_BACKUP
1.5.常见问题及解决方法
修改主机的IP地址后,如何根该interfaces文件?
安装SYBASEAdapiveServer的机器IP地址改变后,应修改interfaces文件及有关的设置。
如果interfaces文件中使用的是机器名而不是IP地址,则不需要变动。
但如果客户端联接服务器使用的是服务器的IP地址而不是机器名,那么客户端需修改联接服务器的IP地址.。
如果interfaces文件中使用的是IP地址,那么需要修改interfaces文件中和地址有关的部分,可使用dscp或dsedit进行修改。
如果客户端联结服务器使用的是服务器的地址而不是机器名,那么客户端也需修改。
2.数据库启动/关闭
2.1.查看数据库状态
以sybase用户登录到操作系统,用命令showserver查看数据库是否启动。
$showserver
USERPID%CPU%MEMSZRSSTTYSTATSTIMETIMECOMMAND
sybase240000.12.01392410856-AJun134:
46/sybase/ASE-12_
0/bin/dataserver-d/sybase/data/master.dat-e/sybase/ASE-12_0/install/SYBASE.log
-M/sybase–sSYBASE
输入showserver命令后如果出现上面信息,证明数据库已经启动。
2.2.数据库启动
以下是数据库启动的步骤:
1>sybase用户登录操作系统
如果是unixware操作系统
2>$SYBASE/install目录
如果是aix操作系统
2>$SYBASE/ASE-12_0
启动数据库服务器:
3>startserver
启动备份服务器:
4>startserver–fRUN_SYB_BACKUP
注意:
一般情况,备份服务器是不用启动的,只有需要备份的时候才启动备份服务器。
2.3.数据库关闭
在一般情况下,数据库并不是每天都关闭,最好每天都不关闭,在特殊情况下才关闭。
数据库关闭过程如下:
1、以SYBASE用户登陆操作系统。
2、以数据库管理员(超级用户SA)登陆数据库。
$isql–Usa–P
3、关闭备份服务器
1〉shutdownSYB_BACKUP
2〉go
4、关闭数据库服务器
1>shutdown
2>go
2.4.出错日志
也许在数据库启动时,由于各种原因,数据库不能正常启动,数据库会把引起数据库错误的信息方到SYBASE..log文件中,这个文件在$SYBASE/install目录下。
2.5.常见问题及解决方法
在实际环境中,数据库Server无法启动的原因很多,本文仅列出了几种常见的情况,供您参考。
首先,应检查Server的日志文件。
不同版本缺省的日志文件如下(其中
UNIX:
11.0*:
$SYBASE/install/errorlog
11.5*或11.9*:
$SYBASE/install/
12.0*:
$SYBASE_ASE/install/
NT:
11.0*11.5*或11.9*:
$SYBASE\install\errorlog
12.0*:
$SYBASE\ASE-12_0\install\errorlog
∙CASE1:
basis_dlock:
file'/sybase/master.dat'alreadyinusebyaSQLServer
kernelkdconfig:
unabletoreadprimarymasterdevice
kernelkiconfig:
readofconfigblockfailed
检查server是否已经启动(showserver,ps-usybase或NTservice)
∙CASE2:
dopen:
open'/sybase/master.dat'failed,permissiondenied
kernelkdconfig:
unabletoreadprimarymasterdevice
kernelkiconfig:
readofconfigblockfailed
检查master设备文件的所有者及权限
∙CASE3:
ninit:
Allmasternetworklistenershavefailed.Shuttingdown
检查networkip及port配置(netstat-a)
∙CASE4:
kernel:
kscsinit:
connectivitylibraryerror.Operation:
cs_ctx_alloc().
o检查操作系统参数是否已经修改并重新启动操作系统(参见安装手册)
若操作系统异常宕机,ASE未启动而$SYBASE/
∙CASE5
现象:
Error926
SeverityLevel14
ErrorMessageText
Database'xx'cannotbeopened-ithasbeenmarkedSUSPECTbyrecoverExplanation
解决方法:
(1)当你使用Transact_SQL命令操作这个数据库的数据时,出现这个信息,这是一个严重的错误,如果你要使用这个数据库的数据,必须改正这个错误.
(2)启动BackupServer,后备master数据库
1>dumpdatabasemasterto"/usr/sybase/master.dup"
2>go
(3)用isql登录到SQLServer,须用sa帐号(本文以pubs2数据库为例)
1>sp_configure"allowupdates",1
2>go
1>begintran
2>go
1>usemaster
2>go
1>updatesysdatabases
2>setstatus=-32768
3>Wherename="pubs2"
4>go
如果得到(1rowaffected),则
1>commit
2>go
否则
1>rollback
2>go
(4)重新启动SQLServer.
注:
SQLServer重新启动之后,当发现数据库本身存在不可恢复的问题时,如数据页损坏等,且没有完好的数据库备份,一定要用bcp...out备份用户数据库数据。
此时,以下步骤省略,并按照“如何删除坏的用户数据库”文章删除此数据库。
之后重建此数据库,恢复备份。
dbccdbrepair(database_name,dropdb)
否则,按以下步骤继续操作:
用sa帐号注册到SQLServer.
1>begintran
2>go
1>usemaster
2>go
1>updatesysdatabases
2>setstatus=0
3>Wherename="pubs2"
4>go
如果得到(1rowaffected),则
1>commit
2>go
否则
1>rollback
2>go
1>sp_configure"allowupdates",0
2>go
(5)重新启动SQLServer.
3.用户数据库管理
用户数据库是用户创建的,用来存放用户数据的数据库。
用户数据库的创建分为两部分,一部分是用来存放数据,一部分是用来存放事务日志。
为了提高数据库的速度,最好将数据库的数据部分和日志部分分开存储,即存放在不同的数据库设备上,这样也可以单独备份事务日志。
3.1.数据库选项
sp_dboption[dbname,option_name,{turefalse}]
●aborttranonlogfull该选项决定当指定数据库日志段最后机会阀值越出时,对正在运行的事务的处理方法。
缺省值为false,即事务被暂停直到空间空余出来时再恢复。
为ture时,日志存储空间空余出来前,所有需要写入日志的事务都将停止。
●allownullsbydefault:
置为ture,将列的缺省状态从notnull置为null,这与ANSI标准一致。
●dbouseonly:
置为true时,只有数据库属主可以使用此库。
●ddlintran:
置为ture时,用户可以在事务中使用某些数据定义的命令。
如:
createtable。
注意:
临时库的ddlintran必须为false状态。
●nochkptonrecovery:
决定在sqlserver启动时对数据库进行恢复后是否加入一个checkpoint记录。
置为true时,checkpoint记录不被加入。
●nofreespaceacctg:
置为ture时,抑制剩余空间记帐及非日志段阀值活动的执行。
由于不再计算此时段的剩余空间,所以将加速恢复时间。
●readonly:
置为true时,用户可以从数据库中检索数据,但不能修改数据。
●selectinto/bulkcopy:
置为ture时,可以执行selectinto生成永久表;或用bcp批量拷贝库例程,或高速批拷贝到没有索引或触发器的表。
●singleuser:
设置为true时,每次只能有一个用户访问该数据库。
查看数据库当前的具有的数据库选向的命令是sp_dboption:
举例:
isql–Usa–P
1>useMBFEWKDB
2>go
1>sp_dboption
2>go
database_options
----------------
aborttranonlogfull
allownullsbydefault
autoidentity
dbouseonly
ddlintran
identityinnonuniqueindex
nochkptonrecovery
nofreespaceacctg
readonly
selectinto/bulkcopy/pllsort
singleuser
trunclogonchkpt
trunc.logonchkpt.
uniqueauto_identityindex
3.2.查看数据库信息
查看数据库信息的命令是sp_helpdb。
举例:
isql–Usa–P
1>sp_helpdb
2>go
namedb_sizeownerdbidcreatedstatus
----------------------------------------
MBFEHISDB1600.0MBsa7Apr08,2002selectinto/bulkcopy/pllsort,trunclogonchkpt
MBFEWKDB400.0MBsa6Apr08,2002selectinto/bulkcopy/pllsort,trunclogonchkpt
master28.0MBsa1Jan01,1900nooptionsset
model2.0MBsa3Jan01,1900nooptionsset
sybsystemdb5.0MBsa5Apr05,2002nooptionsset
sybsystemprocs100.0MBsa4Apr05,2002nooptionsset
tempdb22.0MBsa2Jun14,2002selectinto/bulkcopy/pllsort
查看某一数据库的信息命令是:
sp_helpdbdb_name
isql–Usa–P
1>sp_helpdbMBFEWKDB
2>go
namedb_sizeownerdbidcreatedstatus
----------------------------------------
MBFEWKDB400.0MBsa6Apr08,2002selectinto/bulkcopy/pllsort,trunclogonchkpt
device_fragmentssizeusagefreekbytes
------------------------------------
wkdatadb200.0MBdataonly186608
wkdblog100.0MBlogonly102368
wkindexdb100.0MBdataonly101616
3.3.常见问题及解决方法
由于用户没有为用户数据库设置“trunclogonchkpt”选项,如果用户没有及时备份事务日志,当日志满时,用户事务不能正常执行,处于等待状态,这是任何操作都不能进行,像死机了一样。
此时连进行日志备份都不能进行。
解决这个问题的办法如下:
执行命令:
dumptrandatabase_namewithturncate_only
这条命令的意思就是清空事务日志,其他事务就可以正常运行了。
执行上面命令以后,由于事务日志被请空,为了保证数据的安全性,日志清空后要做完全备份数据库。
数据库的备份方法见第5章。
4.用户管理
4.1.增加/删除用户
Sqlserver存在两个层次的认证:
一个用户首先必须分配一个sqlserver注册帐户。
在该用户要求访问的数据库中必须有该用户的标识。
增加帐户:
语法:
sp_addloginlogin_name,passed[,defaultdb[,deflanguage[,fullname]]]
例如:
sp_addloginchentao,passord,Sybase
修改帐户:
sp_modifyloginlogin_name,option,value
通过此命令可修改帐户访问的缺省数据库、缺省语言及该帐户的全名等选项。
删除帐户:
语法:
droploginlogin_name
修改口令:
sp_passwordold_passwd,new_passwd[,login_name]
增加用户
sp_adduserlogin_name[,name_in_db[,grpname]]
别名:
别名是多个sqlserver帐户共享的数据库用户名,多个帐户以同一个数据库用户的身份来访问数据库,并具有与该数据库用户同等的权限。
语法:
addaliaslogin_name,name_in_db
别名信息记录在sysalternates系统表中。
锁定/解锁用户:
sp_lockloginlogin_name,”{lock|unlick}”
4.2.查看用户信息
查看用户信息的命令是sp_helpuser
举例:
isql–Usa–P
1>useMBFEWKDB
2>go
1>sp_helpuser
2>go
Users_nameID_in_dbGroup_nameLogin_name
-----------------------------------------
appuser6publicappuser
ccpcuser3mbfeccpcuser
dbo1publicsa
mbuser4mbfembuser
pbuser5mbfepbuser
4.3.常见问题及解决方法
自增加了用户以后,每个用户就有密码,如果想更改密码为空,步骤如下:
1.使用sa登录Server:
isql-Usa-Psa_password-Sserver_name
2.记录当前版本号(以当前版本号12000为例):
▪sp_configure"upgradeversion"
▪go
3.修改当前值为492:
▪sp_configure"upgradeversion",492
▪go
4.将某用户口令设置为NULL(以sa为例,当前口令为"123456"):
▪sp_password'
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- sybase 日常 操作 维护