系统集成备忘(Sybase 12.5测试之一)
2006-01-10 21:38:24 来源:WEB开发网 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閻愵剙鍔ょ紓宥咃躬瀵鎮㈤崗灏栨嫽闁诲酣娼ф竟濠偽i鍓х<闁绘劦鍓欓崝銈囩磽瀹ュ拑韬€殿喖顭烽幃銏ゅ礂鐏忔牗瀚介梺璇查叄濞佳勭珶婵犲伣锝夘敊閸撗咃紲闂佺粯鍔﹂崜娆撳礉閵堝洨纾界€广儱鎷戦煬顒傗偓娈垮枛椤兘骞冮姀銈呯閻忓繑鐗楃€氫粙姊虹拠鏌ュ弰婵炰匠鍕彾濠电姴浼i敐澶樻晩闁告挆鍜冪床闂備浇顕栭崹搴ㄥ礃閿濆棗鐦遍梻鍌欒兌椤㈠﹤鈻嶉弴銏犵闁搞儺鍓欓悘鎶芥煛閸愩劎澧曠紒鈧崘鈹夸簻闊洤娴烽ˇ锕€霉濠婂牏鐣洪柡灞诲妼閳规垿宕卞▎蹇撴瘓缂傚倷闄嶉崝搴e垝椤栫偛桅闁告洦鍨扮粻鎶芥倵閿濆簼绨藉ù鐘荤畺濮婃椽妫冨☉娆愭倷闁诲孩鐭崡鎶芥偘椤曗偓瀹曞爼顢楁径瀣珫婵犳鍣徊鍓р偓绗涘洤绠查柛銉墮閽冪喖鏌i弬鎸庢喐闁荤喎缍婇弻娑⑩€﹂幋婵囩亪濡炪値鍓欓悧鍡涒€旈崘顔嘉ч幖绮光偓鑼嚬缂傚倷绶¢崰妤呭箰閹间焦鍋╅柣鎴f绾偓闂佺粯鍔曠粔闈浳涢崘顔兼槬闁逞屽墯閵囧嫰骞掗幋婵愪紑閻庤鎸风粈渚€鍩為幋锔藉亹闁圭粯甯╂导鈧紓浣瑰劤瑜扮偟鍒掑▎鎾宠摕婵炴垶鐭▽顏堟煙鐟欏嫬濮囨い銉︾箞濮婃椽鏌呴悙鑼跺濠⒀傚嵆閺岀喖鎼归锝呯3闂佹寧绻勯崑娑㈠煘閹寸姭鍋撻敐搴樺亾椤撴稒娅婇柡灞界У濞碱亪骞忕仦钘夊腐闂備焦鐪归崐鏇㈠箠閹邦喗顫曢柟鎯х摠婵挳鏌涢幘鏉戠祷闁告挸宕—鍐Χ閸℃浠搁梺鑽ゅ暱閺呮盯鎮鹃悜钘壩ㄧ憸澶愬磻閹剧粯鏅查幖绮瑰墲閻忓秹姊虹紒妯诲鞍婵炲弶锕㈡俊鐢稿礋椤栨氨鐤€闂傚倸鐗婄粙鎰姳閼测晝纾藉ù锝堟閻撴劖鎱ㄥΟ绋垮婵″弶鍔欓獮妯兼嫚閼碱剦妲伴梻浣稿暱閹碱偊宕愭繝姣稿洭寮舵惔鎾存杸濡炪倖姊婚妴瀣啅閵夛负浜滄い鎾跺仜濡插鏌i敐鍥у幋妤犵偞甯¢獮瀣籍閳ь剟鎮楁繝姘拺閻熸瑥瀚崕妤呮煕濡 鍋撻悢鎻掑緧婵犵數濮烽弫鍛婃叏閻戣棄鏋侀柛娑橈攻閸欏繑銇勯幘鍗炵仼缁炬儳顭烽弻鐔煎礈瑜忕敮娑㈡煃闁垮鐏﹂柕鍥у楠炴帡宕卞鎯ь棜缂傚倸鍊风粈渚€藝闁秴鏋佸┑鐘虫皑瀹撲線鏌涢埄鍐姇闁稿﹦鍏橀弻娑樷攽閸℃浼€濡炪倖姊归崝鏇㈠煘閹达附鍊婚柛銉㈡櫇鏍¢梻浣告啞閹稿鎮烽敂鐣屸攳濠电姴娲﹂崵鍐煃閸濆嫬鏆熼柨娑欑矒濮婇缚銇愰幒鎴滃枈闂佸憡鐟ユ鎼佸煝閹炬枼鍫柛顐ゅ枔閸樻悂鏌h箛鏇炰户缁绢厼鐖煎畷鎴﹀箻鐠囪尙鐤€婵炶揪绲介幉锟犲磹椤栫偞鈷戠痪顓炴噹娴滃綊鎮跺☉鏍у姦闁糕斁鍋撳銈嗗笒閸燁偊鎯冨ú顏呯厸濞达絽婀辨晶顏堟煃鐟欏嫬鐏撮柟顔界懇瀵爼骞嬮悩杈敇闂傚倷绀佸﹢杈ㄧ仚闂佺濮ょ划搴ㄥ礆閹烘绫嶉柛顐ゅ枎娴犺櫣绱撴担鍓插創妞ゆ洘濞婇弫鍐磼濞戞艾骞堥梻浣告惈濞层垽宕濆畝鍕€堕柣妯肩帛閻撴洟鏌熼懜顒€濡煎ù婊勫劤閳规垿鏁嶉崟顐℃澀闂佺ǹ锕ラ悧鐘茬暦濠靛鏅濋柍褜鍓熼垾锕傚锤濡も偓閻掑灚銇勯幒宥堝厡缂佺姴澧介埀顒€鍘滈崑鎾斥攽閻樿京绐旈柛瀣殔閳规垿顢欑涵鐑界反濠电偛鎷戠徊鍨i幇鏉跨闁瑰啿纾崰鎾诲箯閻樼粯鍤戦柤绋跨仛濮f劙姊婚崒姘偓鐑芥嚄閼哥數浠氭繝鐢靛仜椤曨參宕楀Ο渚殨妞ゆ劑鍊栫€氭氨鈧懓澹婇崰鏍р枔閵婏妇绡€闁汇垽娼ф牎缂佺偓婢樼粔鐟邦嚕閺屻儱绠甸柟鐑樼箘閸炵敻鏌i悩鐑橆仩閻忓繈鍔岄蹇涘Ψ瑜夐崑鎾舵喆閸曨剙纰嶅┑鈽嗗亝缁诲倿锝炶箛娑欐優闁革富鍘鹃敍婊冣攽閳藉棗鐏犻柟纰卞亰閿濈偛顓奸崶鈺冿紳婵炶揪缍侀ˉ鎾诲礉瀹ュ鐓欑紒瀣仢閺嗛亶鏌i敐鍥у幋妤犵偛顑夐弫鍐焵椤掑倻涓嶅┑鐘崇閸嬶綁鏌涢妷鎴濆暟妤犲洭鎮楃憴鍕碍缂佸鎸抽垾鏃堝礃椤斿槈褔鏌涢埄鍏狀亪妫勫鍥╃=濞达絽澹婇崕鎰版煕閵娿儱顣崇紒顔碱儏椤撳吋寰勭€n亖鍋撻柨瀣ㄤ簻闁瑰搫绉堕ˇ锔锯偓娈垮枛閻忔繈鍩為幋锕€鐓¢柛鈩冾殘娴狀垶姊洪崨濠庣劶闁告洦鍙庡ú鍛婁繆閵堝繒鍒伴柛鐕佸灦瀹曟劙宕归锝呭伎濠碘槅鍨抽崢褎绂嶆ィ鍐╁€垫慨妯煎亾鐎氾拷

核心提示:1概述70年代,随着大型共享数据库应用的普及,系统集成备忘(Sybase 12.5测试之一),美国SYBASE公司基于当时的关系代数理论所提出的数据库关系模型,开发了Sybase数据库系统; Sybase是基于SQL(Structured Query Language)的著名关系模型数据库系统,2)创建一备份用户,3)
1概述
70年代,随着大型共享数据库应用的普及,美国SYBASE公司基于当时的关系代数理论所提出的数据库关系模型,开发了Sybase数据库系统;
Sybase是基于SQL(Structured Query Language)的著名关系模型数据库系统,是世界上最流行的DBMS软件之一;它能在多种计算机硬件平台上运行,并能通过连网形成分布式数据库环境;
SQL Server是指运行在主机上,能提供SQL语言查询、修改或控制数据库中内容等操作的一个服务进程,形象地把它理解为一个数据库服务器;一般地数据库服务器有Data Server 和 Backup Server两个服务进程组成。数据库就是一系列表格(关系)所描述的客观世界中事实的集合;Sybase中的系统数据库基本包括有:master、model、sysprocs、tempdb,其它为用户库。
Sybase Adaptive Server Enterprise 12.5是Sybase公司开发的智能型数据库。
现场Sybase数据库系统结构
1.1参考资料
《SYBASE 数据库维护 快速参考手册 Version 1.1》,SYBASE公司出版
2基础操作、配置和维护
2.1安装Sybase 12.5
包括安装前环境配置、安装过程说明、安装成功测试、卸载等。
(详细请参考V1.00》)
2.2访问SQL Server
在安装配置好的Sybase服务器,可以通过以下操作开始访问SQL Server进行数据的查询和控制等操作:
% isql –U用户名 –S服务名
password: //该处输入该明户的密码
2.3Sybase的启动和关闭
2.3.1启动Sybase数据库
在$SYBASE/ASE-12_5/install目录下执行startserver命令启动Sybase数据库,如:
%$SYBASE/ASE-12_5/install/startserver -f RUN_服务名
%$SYBASE/ASE-12_5/install/Startserver –f RUN_服务名_BAKUP
2.3.2关闭Sybase数据库
使用isql命令登录Sybase数据库系统,在查询sysservers表查看可关闭的服务,如
isql –Usa -Sjoli
Password:
1> select * from sysservers
2> go
一般需要关闭的服务有:系统备份服务、系统主服务
在isql提示里先关闭系统备份服务(默认为SYB_BACKUP),再关闭主服务(默认可以不输入主服务名),如:
1>shutdown SYB_BACKUP
2>go
1>shutdown
2>go
2.4Sybase用户管理
2.4.1创建登录用户(login)
sp_addlogin login_name,passwd[,defaultdb[,deflanguage[,fullname]]]
例子:
1>sp_addlogin joli,joli,joli_db
2>go
2.4.2删除登录用户(login)
例子:
1> sp_droplogin test
2> go
2.4.3创建数据库用户(user)
sp_adduser login_name[,name_in_db[,grpname]]
例子:
1>sp_adduser joli,joli
2>go
2.4.4删除数据库用户(user)
例子:
1> sp_dropuser test
2> go
2.4.5修改该用户为该数据库dbo
例子:
1>use joli_db
3>sp_changedbowner joli
2.4.6查看数据库用户信息
sp_displaylogin [login_name]
sp_helpuser
例子:
1>sp_helpuser
2>go
1>sp_displaylog joli
2>go
1>sp_who
2>go
2.4.7修改用户口令
如果是修改sa口令,可用sa用户登录,然后执行以下命令修改
1>sp_password “旧命令 | null”,”new_password”
2>go
如果不是sa用户,则使用希望修改口令的user登录数据库,然后执行
1>sp_password 旧命令,新命令
2>go
2.4.8修改系统缺省设备
•关闭创建数据库master缺省设备:
•1>exec sp_diskdefault "master","defaultoff"
•指定user_db_dev为缺省设备:
•1>exec sp_diskdefault "user_db_dev","defaulton"
2.5创建、删除、修改Sybase设备、数据库
2.5.1创建设备
例子:
1> disk init
2> name="joli_dev",
3> physname="/opt/sybase/joli/joli_dev.dat",
4> vdevno=9,
5> size=51200
6> go
说明:
物理设备名称为:joli_dev
物理设备文件路径为:/opt/Sybase/joli/joli_dev.dat
设备编号(该号不能重复)为:9
大小(单位为2K)为:100M
(一般为用户数据库创建一个数字设备后,再单独为用户数据库创建一个日志设备)
2.5.2镜像设备
例子:
1> disk mirror
2> name="joli_dev",
3> mirror="/opt/sybase/joli/joli_dev_mirror.dat"
4> go
说明:
创建设备joli_dev的镜像,镜像后的镜像设备为/opt/sybase/joli/joli_dev_mirror.dat。
检查某设备是否被镜像,可使用“sp_helpdevice 设备名”查看。
2.5.3终止设备镜像
终止设备可分为:终止主设备和终止次设备两类,同时还可选择是临时性终止还是永久性终止。(如果是永久终止,还需要在操作系统上删除物理设备文件)
disk unmirror
name="设备名"
[,side=”{Prima(最完善的虚拟主机管理系统)ry|secondary}]”
[,mode={retain|remove}]
//终止主/次设备:Prima(最完善的虚拟主机管理系统)ry/secondary (缺省次)
//临时/永久终止:retain/remove (缺省临时)
例子:
1)临时终止主设备
1> disk unmirror
2> name="joli_dev",
3> side="Prima(最完善的虚拟主机管理系统)ry",
4> mode=retain
5> go
2)永久终次主设备
1> disk unmirror
2> name="joli_log_dev",
3> side="Prima(最完善的虚拟主机管理系统)ry",
4> mode=remove
5> go
恢复临时终止的镜像:
例子:
1> disk remirror
2> name="joli_dev"
3> go
2.5.4删除设备
需要确定该设备上没有数据库。
例子:
1> sp_dropdevice test_dev
2> go
再删除操作系统设备文件。
2.5.5查看设备状态
例子:
1>sp_helpdevice [设备名]
2>go
说明:
可查看设备是否镜像(相关镜像类型、是否有临时取消镜像等)等配置。
2.5.6创建数据库
例子:
1> create database joli_db on joli_dev=50 log on joli_log_dev=20
2> go
说明:
创建用户数据库joli_db,该数据库数据存储在设备joli_dev设备上,可使用大小为50M;日志存储在joli_log_dev设备上,可使用大小为20M。
2.5.7扩展数据库:
alter database db_name on device_name=size,device_name=size log on device_name=size,device_name=size
例子:
1> alter database joli_db on joli_dev=10 log on joli_log_dev=5
2> go
说明:
数据库joli_db在设备数字joli_dev上扩展10M,在日志设备joli_log_dev上扩展5M。
2.5.8删除数据库:
drop database db_name
例子:
3>drop database joli_db
4>go
2.5.9上线数据库
例子:
1>online database db_name
2>go
2.5.10检查数据库状态
一般性检查
1>sp_helpdb
2>go
系统性检查
所有库检查:
1>dbcc checkdb
2>go
指定用户数据库检查:
1>dbcc checkalloc(joli_db)
2>go
2.6Sybase日志管理
在创建用户数据库的时候,应尽量为事务日志创建独立的日志设备(一般创建为数据库大小的20%),这样可以单独备份事务日志、防止数据库溢满、可以看到事务日志的占用情况及可以镜像等。
dump transaction db_name with truncate_only //不备份事务日志,直接清除。
dump transaction db_name with no log
dump transaction db_name to “路径/名字” //备份事务日志
检查log大小
1>dbcc checktable(syslogs)
2>go
快速查看log大小
1> select data_pgs(8,doa mpg)
2> from sysindexes where id=8
3>go
2.7修改Sybase系统缺省参数
可修改$SYBASE/ASE-12_5目录 “服务名.cfg”文件,重新启动Sybase服务来修改Sybase系统参数。
也可使用Sp_configure来修改部分动态参数。
查询当前所有的参数配置
1>sp_configure
2>go
查询可动态修改的参数
1>sp_configure “abcdef”
2>go
查询特定参数的配置情况
1>sp_configure “参数名
2>go”
修改可动态配置的参数
1>sp_configure “参数名”,值
2>go
一般可视情况酌情修改以下参数:
cache size、number of open databases、number of open objects、number of open indexes、partition groups、number of large i/o buffers、number of devices、default network packet size、max network packet size、number of remote connections、number of remote logins、number of worker processes。
2.8修改数据库个例配置
每个在设备上创建的数据库,都可设置如下参数:
abort tran on log full、 allow nulls by default、 auto identity、 dbo use only、 ddl in tran、 disable alias access、 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
可通过sp_dboption [db_name,"option_name",{true|false}]命令来修改这些参数的配置。
例子:
1>use master
2>go
1> sp_dboption joli_db,"trunc log on chkpt",true
2> go
说明:
检查点时,清除以前的日志。如果设置为off,则一直保留日志,继续增长,直到使用dump transaction命令。
2.9网络服务配置
UNIX
在$SYBASE目录下,interfaces文件提供用户服务名的配置。一般通过执行命令dsedit来做修改。
执行dsedit后,根据提示,一步一步的添加、修改即可完成配置。
Windows
启动dsedit,选择server object->add,向server中新添一个数据源,在其属性“server address”中输入IP,Port(注意,IP地址和端口号间用“,”分隔,比如192.168.2.98,4100)。
2.10检查数据库的版本
1>Select @@version
2>go
2.11数据库坏页最小影响维护
在数据库发生可疑坏时,会脱机整个数据库(缺省),可以设置只脱机该可疑页(系统数据库不能改变)。
sp_setsuspect_granularity [dbname [,{"database"|"page"}[,"read_only"]]]
sp_setsuspect_threshold [dbname [,threshold]]
(必须具有sa_role且在master数据库中使用)
查看、修改数据库当前脱机设置
1)查看设置为数据库脱机还是页脱机
1>sp_setsuspect_granularity joli_db
2>go
2)设置数据库为页脱机
1>p_setsuspect_granularity joli_db,”page”
3)查看设置的最大脱机页(缺省最大可可疑20页,超出该20页,一样会脱机数据库)
1> sp_setsuspect_threshold joli_db
2>go
4)修改数据库最大可脱机页为300
1> sp_setsuspect_threshold joli_db,300
2>go
显示可疑页:sp_listsuspect_db
详细显示数据库可疑页信息:sp_listsuspect_page [dbname]
使数据库所有页联机联机:sp_forceonline_db dbname,{"sa_on"|"sa_off"|"all_users"}
使指定页联:sp_forceonline_page dbname,pgid {"sa_on"|"sa_off"|"all_users"} (//必须sa_sole在master中执行。)
2.12其他常用维护
1)可以执行命令$SYBASE/sybcent32/scjview使用图形界面进行维护。
2)查看$SYBASE/ASE-12_5/install目录下的日志文件(*.log)。
3)使用一些过程:sp_reportstats、sp_helpdb、sp_helpsegment segment_name(system,log,default)(sp_helpsegment logsegment检查可用于日志增长的空间)、sp_spaceused(sp_spaceused syslogs检查日志大小)、dbcc checkdb & dbcc checkcatalog & dbcc checkalloc、sp_lock等;也可以查询一些系统表:syslogs、master .. sysdevices、master .. sysusages、syssegments、sysindexes、sysdatabases等。
4)查看当前启动的服务:showserver。
5)>dbcc traceon (3604) 将信息显示在控制台和写入errorlog文件。;>go;>dbcc memusage;>go;>dbcc traceoff (3604);>go
use xxdb
checkpoint
sp_dboption mydb,"single user","true"
设置单用户模式
sp_logiosize "8k"
设置I/O为8K缓冲池
3备份设置
3.1备份到磁盘
本地磁盘备份
例子:
1>dump database joli_db to “备份目标绝对路径/备份文件名”
2>go
还可使用如下命令进行远程备份
dump database_name to “/u01/data/0102.dmp” at remote_server
dump transaction database_name to “/u01/log/0102.dmp” at remote_server
3.2备份到磁带
dump database database_name to “/dev/nrmt4” with init //初始化(设备被覆盖)
dump database database_name to “/dev/nrmt4” //默认 noinit nounload
dump database datbase_name to “/dev/nrmt4” with unload //磁带回卷并卸下
dump database 数据库名 to “/dev/rmt/0”
dump transaction 数据库名 to “dev/rmt/0” with no_truncate
3.3恢复数据库
load database 数据库名 from “dev/rmt/0”
3.4建立自动备份
可先把Sybase数据库备份到本地磁盘,压缩后再备份到磁带上。
1)创建一个本地目录或者远程目录的备份设备。
2)创建一备份用户。
3)编写备份脚本,并指定自动备份定时crontab任务。
更多精彩
赞助商链接