sybase教程

时间:2024.3.31

(转)sybase教程

作者: jack 来源: armsun.net

概述

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.3 Sybase的启动和关闭

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.4 Sybase用户管理

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="lwz_dev",

3> physname="/opt/sybase-12.5/data/lwz.dat",

4> vdevno=2,

5> size=512000

6> go

说明:

物理设备名称为:joli_dev

物理设备文件路径为:/opt/Sybase/joli/joli_dev.dat

设备编号(该号不能重复)为:9

大小(单位为2K)为:1000M

(一般为用户数据库创建一个数字设备后,再单独为用户数据库创建一个日志设备)

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=”{primary|secondary}]”

[,mode={retain|remove}]

//终止主/次设备:primary/secondary (缺省次)

//临时/永久终止:retain/remove (缺省临时)

例子:

1)临时终止主设备

1> disk unmirror

2> name="joli_dev",

3> side="primary",

4> mode=retain

5> go

2)永久终次主设备

1> disk unmirror

2> name="joli_log_dev",

3> side="primary",

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 lwz on lwz_dev=1024 log on lwzdev_log_dev=200 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 删除数据库:

例子:

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(db_name )

2> go

2.6 Sybase日志管理

在创建用户数据库的时候,应尽量为事务日志创建独立的日志设备(一般创建为数据库大小的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) 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中新添一个数据源,在其属性“s

erver address”中输入IP,Port(注意,IP地址和端口号间用“,”分隔,比如192.16

8.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任务。

无法备份解决

sp_dropserver SYB_BACKUP

go

sp_addserver SYB_BACKUP,null,jack_BACKUP #jack_BACKUP改成你的备份数据库名

go

更多相关推荐:
英国论文Essay参考文献知识辅导—优越论文

英国论文Essay参考文献知识辅导—优越论文在每次辅导过后,英国优越论文的老师都会总结学生们的问题,本次总结中,优越论文老师发现有的学生在写作论文时很不注重参考文献,总是觉得没必要。很多学生在写完论文之后就觉得…

英国论文Essay写作注意事项指导——留学论文宝

英国论文Essay写作注意事项指导——留学论文宝在英国留学的同学可都是知道的,国外论文写作可不像国内的大学这么松松垮垮,国外的管理是非常严格的,在学术上导师可是绝对追求质量的,因此不仅在选题上有价值,资料数据上…

WM-会计品质-ESSAY-范文

wordsunny.com|顶尖的留学文书写作机构|DIY留学Whatqualitiesdoyouhavethatwillmakeyouagoodaccountant?Nowadaystheinternatio…

英国essay范文

要写出一篇漂亮的命题小essay可不是那么容易内容技巧以及格式都不可小视尽量做到全面和细节如果哪一点出了错误录取官很容易认为该学生大意不注重细节学生的形象也许就会打折扣了一些学生的小文章没有通过有共同的地方也有...

essay范文

Essay由introductionmainbodyconclusionreference四部分组成下面以这篇文章为例教你如何写作一篇符合格式的essay全文统一用timesnewroman字体小四15倍行距文...

美国高中申请essay范文

美国高中申请essay范文Essay在国外被称为话题作文或论文也可以看作是说明文在申请高中时都要写Essay每年一到招生季美国学校就会收到大量申请如何让校方对你留下深刻印象如何让你的申请在激烈竞争中脱颖而出除了...

分享一篇申请哈佛大学成功的留学文书(Essay)范文

分享一篇申请哈佛大学成功的留学文书Essay范文Sameer在美国的底特律长大高中时他的随着家人移居加拿大Sameer有色盲和音盲这两个题目他在他的申请短文时解释为什么对于他来说他在烹饪的创造表现能力是有限的他...

How to write essay

HowtowriteessayManyfriendsofmineaskmeabouttherightwayofwritinganessayTherearecertainstepsonemustfollowtomakeagoodes...

英语记叙文--Narrative essay

NarrativeessayIfyouaskmetosharemybestexperienceduringmyuniversityIwillfirsttellyouthisexperiencethatIactedasamanage...

申请国外大学的优秀essay

美国留学部分大学会要求学生写Essay尤其是名校几乎是都会有所要求其实这也是一个有力的展现自己的途径所以如果要申请名词靠前的学校还是多多练习一下Essay文章的写作Sameer在美国的底特律长大高中时他的随着家...

Persuasive Essay 英语专业写作 原创范文(议论文)

Kimi胡劼No0210650123010PersuasiveEssayRevisedLifeinCitiesisofMoreQualityinChinaInrecentyearspeoplehavepaidc...

Process Essay

AistodescribehowsomethingisdonehowsomethingoperatesknownasaProcessThefirstthingtodowhenwritingaProcessEssayis1deter...

essay(40篇)