Sybase ASE学习笔记

本文详细介绍了Sybase数据库的安装、配置、连接、权限管理、设备管理及常见问题解决方案,包括如何设置Linux用户自动执行源代码、数据库使用经验、连接错误处理、字符集设置、日志管理、备份与恢复等关键操作。通过实操案例,帮助开发者高效掌握Sybase数据库的使用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      通过这两天的学习,由于之前完全没有接触过sybase,发现sybase跟oracle或者SQL server都有比较大的差别,一是需要配置运行sybase的环境,二是sybase采用的是Transaction-SQL。三是,其数据库管理开始时让我很不习惯。 

      在接触别人安装了的sybase(linux 64bit-ase15.7)时,我发现sybase老是连不上,通过showserver命令来查看,shell却说没此命令,接着进入其安装 SYBASE_HOME/ASE-15_0/install/检查了,showserver没有问题,但启动./startServer.sh时,发现错误 了,出现了can execute file RUN_SYBASE。此刻我发现了我与本目录的RUN_*****不同,虽然意识到不同,但我只是mark下它而没有进行进一步思考。通过上网搜索资 料,如果sybase是安装成功,那么应该就是环境问题了。所以我调用./SYBASE.sh(我以为起码当前的环境就配好了),于是我就调用isql -Usa -S服务名、isql -Usa -S192.168.*.*和isql -Usa -S192.168.*.*:5000 以及它们各种变形,其间还需用注意得在SYBASE_HOME/OCS-15_0/bin目录下(即存在isql.sh脚本文件的目录下),这里花了我不 少时间来弄明白,最后通过同事的协调,请到了高人给我展示了一下其登陆过程,我才弄明白。 

小结:1.出现can execute file RUN_SYBASE的错误可能是安装者修改了默认服务名而引起的。 

       2.调用./SYBASE.sh是不可以把环境信息导入当前的shell中的,要使用source ./SYBASE.sh才行。另外可以使用export -p来看当前shell的环境情况。 

       3.连接时出现了LANG的错误,可能就是sybase不识别系统使用的语言,我遇到的是由于多语言引起的。export应该可以了 。 

       4.另外还有一个方法可以快速查sybase有没启动服务。lsof -i:端口号。端口号可以在SYBASE_HOME/interfaces可以查看端口号。


       5.关闭服务可以通过Kill进程,或者通过isql以SA用户登录使用shutdown go来关闭数据库


       6.开启数据库,./startserver.sh -f RUN_服务名 -f RUN_备份服务名


some points in sybase:

sybsystemprocs 系统过程数据库

sybsystemdb 两阶段提交事务数据库

tempdb 临时数据库

master数据库存储有关用户数据库和设备的信息,但不要放置用户对象,这会导致master的事务日志很快就满。如果事务日志的空间已用完,则无法使用dump transaction命令来释放master数据库中的空间。

注意:不要将用户数据库存储在主设备上。在更改配置参数时要谨慎。


用于磁盘资源的命令:


命令 

任务 

disk init 

name="dev_name" 

physname="phys_name" ... 

使某个物理设备可供特定的Adaptive Server使用。 

指派数据库设备名称(dev_name),用于在其它 

Adaptive Server命令中表示该设备 

sp_deviceattr logicalname、 

optname、optvalue 

更改现有数据库设备文件的dsync设置 

sp_diskdefault "dev_name" 

向缺省数据库空间的常规缓冲池添加dev_name. 

disk resize 

name ="dev_name" 

size =addtional_space 

动态增加数据库设备的大少 

disk mirror 

name="dev_name" 

mirror ="phys_name" 

在特定物理设备上镜像数据库设备 


在创建登录用户时,最好指定好数据库,尽量不用master数据库,以免master有包含用户创建的数据库对象 


使用配置文件可有以下几方面的好处: 

1.可以使用同一个配置文件,在多台服务器上复制某一特定配置文件。 

2.能够以某个配置文件为基准测试服务器的配置值。 

3.可以在实际设置参数值之前,先使用配置文件对参数值进行检查。 

4.可以创建多个配置文件,以便需要更改资源时在它们之间转换。 


把日志放到独立的数据库设备上,可以: 

1,允许使用dump transaction 命令而不是dump database命令,从而节省时间和磁带 

2,允许建立固定长度的日志,防止它与其他数据库活动争用空间 

3,在日志段上创建缺省的可用空间或值监控,并允许在数据库的日志和数据部分创建额外的可用空间监控。 

4,提高性能 

5,确保硬盘崩溃后的完全恢复。 


事务日志的大小由下列因素决定: 

1.相关数据库中更新活动的数量 

2.事务日志转储的频率程度 


查看报告日志使用情况:dbcc checktable(syslogs) 

查看数据库使用情况: sp_spaceused 先通过 use 数据库名 go 去到想查看的数据库里先。 

sp_spaceused输出结果列解析: 

database_name 正在检查数据库的数据库名称 

database_size 数据库中的大小 

reserved 分配给所有在数据库中创建的表和索引的空间量。 

data,index 数据和索引所用的空间。 

unused 已保留但尚未被已存在的表和索引所用的空间量。 

如果想删除设备,先得删除使用该设备的数据库。 

将日志和数据在同一设备上的数据库的事务日志移到单独的数据库设备上:sp_logdevice dbname,devname 

1,只有在单用户模式下才能执行。2,只将sp_logdevice    用于日志和数据都在同一设备上的数据库,不要将它使用在具有单独的日志设备的数据库上。 

查看数据库大小和设备信息:sp_helpdb [dbname]。 


在sybase的数据类型中,只有可变长的数据类型才能置NULL值,如varchar(n)和varbinary(n).另外输入的带有E符号的文字货币都会被看成float。 


datetime 8个字节,date time smallldatetime 4个字节 

sybase不能进行一下转换: 

1.将smallint数据转换为datetime 

2.datetime数据转换成smallint 

3.将binary或varbinary数据转换为smalldatetime或datetime数据 


@@boottime 返回Adaptive Server 上次启动的日期和时间 

@@errorlog 返回指向Adaptive Server错误日志所在目录的完整路径。 

@@maxpagesize 返回服务器的逻辑页大小。 

@@servername  返回Adaptive Server的名称


@@version   返回sybase的版本

临时表名以#开头,变量名以@开头


my experiences:

在使用sybase的这几天内,遇到比较多问题:

一.如何设置linux用户登录时自动执行source SYBASE.sh?(~/.bash_profile中添加source SYBASE.sh)

二.sybase的数据库使用经验:

1.增加登录用户 以sa登录寻使用sp_addlogin loginname,password,defaultdb 增加用户。


                       sp_adduser loginname把用户添加到当前数据库中。


                      要注意的点是:sp_addlogin中虽然加入默认登录的db,但只执行该语句并不能使用户有登录默认数据库的权限,一定得使用sp_adduser加入数据库后才能访问该DB。

2.权限管理跟oracle语法差不多,只是有个别权限名字不同而已。create default、create procedure、create rule、create table、create view、create function。免得麻烦,我通常grant all。all就等于前面6个权限。如有怀疑,可通过以下方式验证: 


                用dbo登录数据库, 使用该语句可以查询用户具有的权限:select a.uid,a.name,b.action from sysusers a,sysprotects where a.uid=b.uid  


                关于sysusers和sysproctects的详情可下载官方的tables文档来看。     


3.设备的新建:

disk init

name="server中唯一识别符",   --不要漏了逗号

physname="物理路径",

size="1g"  --不加单位为多少页,页的大小在创建服务器时已制定,可以通过select @@maxpagesize来查询,大小写均可。

改变设备的大小(只能增大):在某些版本中没有disk resize

disk resize

name="dev_name",

size="addtional_space" -- 增加的大小

sybase ase默认的设备个数为10。

4. 新建数据库.

create database dbname

on dev_name=size

log on dev_name=size

在此过程,服务器将执行以下动作:

①.检查数据库名是否唯一

②.检查数据库所依赖的设备是否可用,即检查该设备是否存在,和它满不满足数据库要求的空间大小。

③.服务器将自动为该数据库寻找唯一的dbid.

④.在master的sysusages记录数据库占用设备的信息。

⑤.在sysdatabases中新增一行。

⑥.根据model数据库生成该数据库的系统表

⑦.因为上述语句没有for load,所以服务器会清除该数据库设备的剩余页。

5.数据库与设备的关系

设备根据其用途大概为分为3种:

①数据设备 ②日志设备 ③混合设备

但强烈不建议使用混合设备。原因:降低数据查询速度(具体看上面)。

虽然设备与数据库是多对多的关系(即一个设备可以对应多个数据库),但个人不建议这样做,建议一个数据库对应一个数据设备和一个日志设备。想要删除设备,就先得删除依赖它的数据库,使用sp_dropdevice删除设备。

三、遇到连接错误的问题:当使用isql登录服务器时,出现这样的错误:ct_connect(): network packet layer: internal net library error: Net-Lib protocol driver call to connect two endpoints failed。

一看到这个错误,应该是网络出现了问题,但使用lsof -i:5000 和RUN_servername来查看sybase服务器的状态,都没有问题,使用命令hostname -i也没有发现问题。因此具体造成此错误的原因我尚未弄明白,但通过重启服务就把它就解决了。这个错误让我想起之前我在oracle中遇到的一个问题:我 把原来关闭了orcle的console服务打开(其他相关的服务原来就开启了),打开后,我用cmd以sysdba的分配登录sqlplus时,报一个 监听错误,我用NET MANAGER查看监听信息,与ora的配置文件中信息对比,都没有发现错误,最后重启一个listener服务就可以了。我想可能console的服务 与listener的服务存在前后顺序的关联。


sybase的字符集问题:

1.安装字符集:到sybase安装目录下的charsets的目录,选择要安装的字符集,使用charset -Usa -Ppassword -Sserver_name binary.srt charset_name

2.查看默认字符集:sp_helpsort

3.设置默认字符集:sp_configure "default character set id",id 在master数据库下运行,id可以通过select * from syscharsets查询。


日志满了的问题:

两种解决方法:1.手动清除 truncate transaction dbname with truancate_only 当然如有需要,你可以先备份数据。

                      2.自动清除 sp_dboption dbname,"trunc log on ckpt",true (在master下运行,且需要在dbname下运行checkpoint才能生效,有提示信息的)


修改设备数量:sp_configure "number of devices",30 默认为10个

查看当前用户信息:sp_displaylogin

查看最大连接数:select @@max_connections

查看当前连接数: select @@connections

查看最大用户连接数:sp_configure "number of user connections"


查看sybase锁的个数(个人认为挺重要的参数):sp_configure “number of locks”


创建登录用户: sp_addlogin username,userpassword

把某个数据库的登录权限授予用户:use dbname。sp_adduser name

改变某个数据库的拥有者给某个用户: use dbname。sp_changedbowner username(这个用户不能是该数据库的用户)

修改用户参数:sp_modifylogin username,option,option_value


option有:authenticate with-登录鉴别

defdb-默认登录数据库

deflanguage-用户缺省语言的正式名称

fullname-用户的全名

"add default role"-增加用户角色

"drop default role"-删除用户角色

"passwd expiration"-口令有效日期(天数:0-32767)

"min passwd length"-密码最小长度

"max failed_logins"-允许登录失败次数

log script-登录时运行的脚本


 使用sp_who可以查看那当前所以用户和进程信息


dbcc traceon(3604)打开跟踪,使得dbcc的运行结果打印在控制台上。


dbcc sqltext(pid)就可以打印出进程号为pid正在运行的SQL语句。

sybase远程备份: 

环境描述:1.机器A是windows机器,sybase的备份服务器名为:A_BS 版本ase 15.7 页大小:8K 

                  2.机器B是linux机器,sybase的备份服务器名为:B_BS 版本ase 15.7 页大小:8K 

                  3.A,B联网 

注意点:如果A,B的备份服务名重复,需要更改或新建(未尝试过)。另外,sybase备份服务必须处于开启状态. 

问题:把B机器上名为XXX的数据库远程备份到A机器上? 

思路:sybase备份数据库要备份,必须使用到备份服务器,为了让B识别到A的备份服务器,因此在B中需要添加A的sybase备份服务器,再使用备份命令备份相应的数据库到远程服务器的路径就可以了。 

步骤: 

1.在linux下,修改${SYBASE_HOME}/interfaces,添加A_BS服务器(模仿已存在的服务,主要是变更服务名,远程机器名或IP,端口)(windows平台下该文件为sql.ini) (也可以使用dscp(linux平台)或dsedit(windows平台)) 

2.用sa登录系统,通过sp_addserver A_BS,ASEnterprise,A_BS.接着设置A_BS的serveroption 

sp_serveroption A_BS,"timeouts",true  --不保持常连接,如果机器B在一点时间段内没有对A_BS操作的话,链接会自动断开 

sp_serveroption A_BS,"net password encryption",false --密码在网络传输中不加密 

sp_serverooption A_BS,"readonly",false


(设置后要重启本地的ASE服务)


3.使用命令备份


dump database XXX to "F:\XXX_backup.dmp" at A_BS 

4.恢复数据库 

load database XXX from "F:\XXX_backup.dmp" at A_BS 

另外一种备份方法。 
PS:这里指的数据库迁移仅限于sybase到sybase(版本,页大小一致的)。 
环境描述、问题都同学习笔记2一样,即把linux上的数据库远程备份到windows下。 
先把要使用的工具介绍一下:1.ddlgen 2.bcp 
1.ddlgen在sybase ase 12.5以后才出现的工具,ddlgen参数说明可参考 http://infocenter.sybase.com/help/index.jsp(

Adaptive Server Enterprise 15.7 >  Utility Guide >  Utility Commands Reference

)

2.bcp这个工具可在cmd下bcp -help来查看用法,另外还可以参考 http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc30191.1570100/doc/html/san1367605030412.html 
问题:如何把linux下的数据库备份到windows下呢? 
步骤: 

1.为了让在windows下能识别远程linux下的sybase服务,因此必须在sql.ini(路径:${SYBASE_HOME}\ini\)中添加该服务。

另外sybase也提供了修改接口文件的工具,在windows下是dsedit.exe,在linux下是dscp

2.使用ddlgen工具导出数据库结构。

ddlgen -U用户名 -Ppassword -Ssybase -Ddb_name -OC:\script.txt(注:可以根据需要添加-E错误日志、-L过程日志和-J指定字符)

这里的用户名最好是DBO或者是SA,理由:经比较普通用户导出的文件和DBO或者SA导出的文件,我发现普通用户导出的文件在文件的开头会少了DBOPTION的设置(最后会use 目标db 运行checkpoint,从而使下方的增加用户脚本运行正确),导致脚本会出错。

3.使用bcp工具导出数据库的数据。

首先通过db连接工具链接要导出数据的数据库。 
运行以下sql: select 'bcp db_name..' + name + ' out C:\data\data_' + name + '.txt' + '  -U用户名 -Ppassword -Ssybase -c -t"|"' from sysobjects where type='U' 

其中红色部分是为了隔离\和',免得系统识别为转义,蓝色部分可选,可不填写格式或根据需要更改格式都行。(bcp中有t这个参数,它的作用是列与列之间的数据用什么分割,由于本人的经历,建议选择分隔符时一定要选择比较特殊的符合,这样可以避免在bcp in的时候出错)

打开notepad,把sql的结果复制到notepad中并保存,修改文件后缀,改为bat。(linux下改为shell脚本)

最后双击运行就可以了。 

恢复数据库 
1.用isql工具,isql -Usa -Ppassword -Ssybase -iC:\script.txt  
2.把上面的bat文件中out改为in,双击运行就可以了。 

个人比较推荐使用这种方法,一是所需要的物理空间较小,二是应该可以根据实际需要来修改ddl脚本。 在实际时候过程中,还会遇到字符集的问题,这个问题实践较少,内容有待补充,但值得一提是的bcp的-Y参数:specifies that character-set conversion is disabled in the server, and is instead performed by bcp on the client side when using bcp out 。NOTE:During bcp out, all character-set conversion is done in the server. 


最后跟大家分享一下:在导入的时候遇到报错,可以使用bcp -e保存错误日志,因为console台上打印的信息有时候是不完整。


转载于:https://my.oschina.net/u/2245781/blog/622152

1. 基本概念篇 5 1.1 什么是Sybase Adaptive Server Enterprise (ASE)? 5 1.2 Sybase 具有哪些Server以及这些Server的用途? 5 Backup Server 5 1.3 什么是登录帐户? 5 1.4 什么是角色,Sybase具有哪些常用的系统角色以及这些系统角色的作用? 5 1.5 什么是超级用户,它具有哪些特点? 6 1.6 什么是数据库设备? 6 1.7 什么是数据库? 6 1.8 Sybase具有那些重要和必要的系统数据库,它们的作用分别是什么? 7 1.9 什么是数据库用户,以及登录帐户与数据库用户的区别? 7 1.10 什么是用户定义组? 7 1.11 什么是数据库的属主? 7 1.12 什么是数据库选项,Sybase具有那些常用的数据库选项? 8 1.13 什么是数据库一致性检查,Sybase具有哪些常用的检查命令? 8 1.14 什么是 APL表和DOL表,它们的特点和区别? 8 1.15 什么是Sybase的锁,它具有哪些类型以及这些锁的作用? 9 1.16 什么是数据库备份和恢复? 10 2. 日常维护篇 11 2.1 常规数据库服务器维护的基本要点和步骤? 11 2.2 例行数据库备份恢复策略和必要步骤? 12 2.3 查找定位数据库服务器性能问题的常用工具和方法? 13 2.4 开发数据库应用时需要开发人员重点关注的几个问题? 16 2.5 如何在Windows 平台上启动和关闭Sybase数据库服务器? 16 2.6 如何在UNIX平台上启动和关闭Sybase数据库服务器? 16 2.7 如何使用交互式管理工具isql? 16 2.8 如何在Windows操作系统上安装Open Client12.0 17 2.9 如何使用图形化管理工具Sybase Central? 17 2.10 如何使用图形化管理工具Dsedit实用程序? 20 2.11 如何创建登录帐户? 24 2.12 如何修改自己以及其登录帐户的口令? 24 2.13 如何查看登录帐户的信息? 24 2.14 如何设置登录帐户的缺省数据库? 24 2.15 如何为登录帐户授予系统角色? 25 2.16 如何创建数据库设备? 25 2.17 如何把数据库设备设置为缺省设备? 25 2.18 如何镜像数据库设备和取消数据库设备镜像? 26 2.19 如何创建数据库? 27 2.20 如何在Sybase Central中配置Monitor Server? 27 2.21 如何配置用户自定义命名缓存以及缓冲池? 27 2.22 如何扩展数据库? 28 2.23 如何设置数据库为单用户模式? 28 2.24 如何把数据库设置为自动截断事务日志? 28 2.25 为了可以在用户事务中执行数据定义语言,应如何设置数据库选项? 29 2.26 如何设置数据库选项可以在用户表中自动添加序号生成器? 29 2.27 如何为数据库创建数据库用户? 29 2.28 如何创建用户自定义组? 29 2.29 如何改变用户自定义组中数据库用户? 29 2.30 如何查看数据库空间的大小? 30 2.31 如何改变数据库的属主? 30 2.32 如何执行sp_configure 系统存储过程来查看系统参数? 30 2.33 如何为当前的Sybase数据库服务器设置最大可用内存? 31 2.34 影响数据库服务器内存配置的基本参数 31 2.35 如何为当前的Sybase ASE 12.5设置可用的数据缓存? 32 2.36 如何为当前的Sybase ASE 12.5设置可用的过程缓存? 32 2.37 如何为当前的Sybase数据库服务器设置可用的最大数据库设备数量? 32 2.38 如何为当前的Sybase数据库服务器设置可用的最大锁数? 32 2.39 如何为当前的Sybase数据库服务器设置可用的最大用户连接数? 32 2.40 如何备份数据库? 33 2.41 如何进行数据库的增量备份? 33 2.42 如何恢复数据库? 33 2.43 如何截断数据库的事务日志? 34 2.44 如何恢复数据库到某一具体时间? 34 2.45 如何把表、索引等数据库对象的定义从数据库中导出来? 34 2.46 如何把整个数据库中所有用户表的数据全部导出来? 35 2.47 如何执行快速bcp操作? 35 2.48 如何查看当前数据库中的进程信息? 35 2.49如何查看当前数据库中锁发生的情况? 36 2.50 如何更改用户表的锁模式? 36 2.51 如何执行optdiag命令来监控表和索引的物理使用情况? 36 2.52 如何执行reorg 系列命令来优化Dol表及其索引? 36 2.53 如何使用sp_sysmon存储过程来查看当前数据库的性能情况? 37 3. 技术专刊 38 3.1 关于Backup Server 38 3.2 Backup Server的名字 41 3.3 Sybase数据库设备 41 3.4 数据库选项(dboptions)的使用与管理 43 3.5 Index & Performance 45 3.6 SYBASE ASE 事务日志 49 3.7 阀值管理(Threshold Management) 53 3.8 日常后备数据库 57 3.9 使用dump transaction with no_log的危险性 57 3.10 在ASE 11.9.2版中采用了行级加锁机制以提高性能 58 3.10.1 所支持的加锁机制 59 3.10.2 对小量数据的多次并发访问 62 3.10.3 堆栈表和热点 64 3.10.4 死锁 66 3.10.5 何时使用不同类型的加锁方法 69 3.10.6 结论 70 3.11 DBCC 70 3.12 Sybase ASE的字符集 74 3.12.1 概念 74 3.12.2 配置 79 3.12.3 错误处理 85 3.12.4 附:如何安装cp936字符集 85 4. 提高篇 87 4.1 为什么数据库事务日志满了,使用dump tran with no_log仍不能截断日志? 87 4.2 如何后备数据量大于2GB的数据库 87 4.3 如何更改ASE名称(在UNIX、OPENVMS平台上) 87 4.4 如何在HP平台BCP OUT超过2G的数据 88 4.5 如何将ASE SERVER移植到同种平台(相同操作系统)的系统上 89 4.6 如何扩展master数据库空间 91 4.7 Invalid tdslength value 93 4.8 如何将master设备从UNIX的文件系统移到裸分区 94 4.9 如何生成bcp命令文件(以pubs2为例) 95 4.10 如何动手修改interfaces文件 95 4.11 关于tempdb的优化 96 4.12 ASE12.5.x的一条有用的命令: disk resize 97 4.13 如何更改字符集为cp936 97 5. 灾难恢复篇 99 5.1 数据库服务不能启动 99 5.1.1 如何查找数据库启动失败原因 99 5.1.2 简单故障及排除方法 99 5.1.3 master数据库日志满了,server无法启动,怎么办 (error 1105) 100 5.1.4 SQL Server 10.x配置内存过大、Server不能启动时怎么办? 100 5.2 数据库被挂起 101 5.2.1 如何解决数据库被挂起的问题(error 926) 101 5.2.2 如何做 rebuild log 103 5.3 数据库恢复 105 5.3.1 如何删除坏的用户数据库?(以pubs2为例) 105 5.3.2 如何做Rebuild Master 106 5.3.3 如何恢复master数据库 108 5.3.4 如何移植master设备 109 5.3.5 如何重建sybsystemprocs系统数据库 111 5.3.6 如何挽救 corrupt table 中的数据 112 5.3.7 Recovering the master Database or Master Device under ASE 12.5 114 5.3.8 如何只用数据库设备文件生成新的数据库服务器 122 5.3.9如何单独在备份机上启动Sybase ASE12.5 (ASE HA) 125 5.4 数据库恢复以后的工作 126 5.4.1 如何检查数据库中数据的一致性 126 6. SYBASE培训服务 128 6.1 SYBASE培训概述 128 6.2 SYBASE主要数据库培训班介绍 129 7. 如何获得帮助 130 7.1 热线电话 130 7.2 Sybase技术文档 130 7.3 Sybase网上资源 130 7.4 您的建议 130
本文档详细介绍了sybase ASE的从基本感念到具体的详细的操作,目录如下: 1. 基本概念篇 5 1.1 什么是Sybase Adaptive Server Enterprise (ASE)? 5 1.2 Sybase 具有哪些Server以及这些Server的用途? 5 Backup Server 5 1.3 什么是登录帐户? 5 1.4 什么是角色,Sybase具有哪些常用的系统角色以及这些系统角色的作用? 5 1.5 什么是超级用户,它具有哪些特点? 6 1.6 什么是数据库设备? 7 1.7 什么是数据库? 7 1.8 Sybase具有那些重要和必要的系统数据库,它们的作用分别是什么? 7 1.9 什么是数据库用户,以及登录帐户与数据库用户的区别? 7 1.10 什么是用户定义组? 7 1.11 什么是数据库的属主? 8 1.12 什么是数据库选项,Sybase具有那些常用的数据库选项? 8 1.13 什么是数据库一致性检查,Sybase具有哪些常用的检查命令? 9 1.14 什么是 APL表和DOL表,它们的特点和区别? 9 1.15 什么是Sybase的锁,它具有哪些类型以及这些锁的作用? 9 1.16 什么是数据库备份和恢复? 11 2. 日常维护篇 12 2.1 常规数据库服务器维护的基本要点和步骤? 12 2.2 例行数据库备份恢复策略和必要步骤? 13 2.3 查找定位数据库服务器性能问题的常用工具和方法? 14 2.4 开发数据库应用时需要开发人员重点关注的几个问题? 18 2.5 如何在Windows 平台上启动和关闭Sybase数据库服务器? 18 2.6 如何在UNIX平台上启动和关闭Sybase数据库服务器? 18 2.7 如何使用交互式管理工具isql? 19 2.8 如何在Windows操作系统上安装Open Client12.0 19 2.9 如何使用图形化管理工具Sybase Central? 19 2.10 如何使用图形化管理工具Dsedit实用程序? 22 2.11 如何创建登录帐户? 26 2.12 如何修改自己以及其登录帐户的口令? 26 2.13 如何查看登录帐户的信息? 27 2.14 如何设置登录帐户的缺省数据库? 27 2.15 如何为登录帐户授予系统角色? 27 2.16 如何创建数据库设备? 28 2.17 如何把数据库设备设置为缺省设备? 28 2.18 如何镜像数据库设备和取消数据库设备镜像? 28 2.19 如何创建数据库? 29 2.20 如何在Sybase Central中配置Monitor Server? 30 2.21 如何配置用户自定义命名缓存以及缓冲池? 30 2.22 如何扩展数据库? 31 2.23 如何设置数据库为单用户模式? 31 2.24 如何把数据库设置为自动截断事务日志? 31 2.25 为了可以在用户事务中执行数据定义语言,应如何设置数据库选项? 32 2.26 如何设置数据库选项可以在用户表中自动添加序号生成器? 32 2.27 如何为数据库创建数据库用户? 32 2.28 如何创建用户自定义组? 32 2.29 如何改变用户自定义组中数据库用户? 33 2.30 如何查看数据库空间的大小? 33 2.31 如何改变数据库的属主? 33 2.32 如何执行sp_configure 系统存储过程来查看系统参数? 33 2.33 如何为当前的Sybase数据库服务器设置最大可用内存? 34 2.34 影响数据库服务器内存配置的基本参数 34 2.35 如何为当前的Sybase ASE 12.5设置可用的数据缓存? 35 2.36 如何为当前的Sybase ASE 12.5设置可用的过程缓存? 35 2.37 如何为当前的Sybase数据库服务器设置可用的最大数据库设备数量? 35 2.38 如何为当前的Sybase数据库服务器设置可用的最大锁数? 36 2.39 如何为当前的Sybase数据库服务器设置可用的最大用户连接数? 36 2.40 如何备份数据库? 36 2.41 如何进行数据库的增量备份? 37 2.42 如何恢复数据库? 37 2.43 如何截断数据库的事务日志? 38 2.44 如何恢复数据库到某一具体时间? 38 2.45 如何把表、索引等数据库对象的定义从数据库中导出来? 38 2.46 如何把整个数据库中所有用户表的数据全部导出来? 39 2.47 如何执行快速bcp操作? 39 2.48 如何查看当前数据库中的进程信息? 39 2.49如何查看当前数据库中锁发生的情况? 40 2.50 如何更改用户表的锁模式? 40 2.51 如何执行optdiag命令来监控表和索引的物理使用情况? 40 2.52 如何执行reorg 系列命令来优化Dol表及其索引? 41 2.53 如何使用sp_sysmon存储过程来查看当前数据库的性能情况? 41 3. 技术专刊 43 3.1 关于Backup Server 43 3.2 Backup Server的名字 46 3.3 Sybase数据库设备 47 3.4 数据库选项(dboptions)的使用与管理 48 3.5 Index & Performance 51 3.6 SYBASE ASE 事务日志 55 3.7 阀值管理(Threshold Management) 60 3.8 日常后备数据库 64 3.9 使用dump transaction with no_log的危险性 65 3.10 在ASE 11.9.2版中采用了行级加锁机制以提高性能 65 3.10.1 所支持的加锁机制 66 3.10.2 对小量数据的多次并发访问 70 3.10.3 堆栈表和热点 73 3.10.4 死锁 74 3.10.5 何时使用不同类型的加锁方法 77 3.10.6 结论 79 3.11 DBCC 79 3.12 Sybase ASE的字符集 84 3.12.1 概念 84 3.12.2 配置 89 3.12.3 错误处理 96 3.12.4 附:如何安装cp936字符集 97 4. 提高篇 98 4.1 为什么数据库事务日志满了,使用dump tran with no_log仍不能截断日志? 98 4.2 如何后备数据量大于2GB的数据库 98 4.3 如何更改ASE名称(在UNIX、OPENVMS平台上) 99 4.4 如何在HP平台BCP OUT超过2G的数据 99 4.5 如何将ASE SERVER移植到同种平台(相同操作系统)的系统上 100 4.6 如何扩展master数据库空间 103 4.7 Invalid tdslength value 105 4.8 如何将master设备从UNIX的文件系统移到裸分区 106 4.9 如何生成bcp命令文件(以pubs2为例) 107 4.10 如何动手修改interfaces文件 107 4.11 关于tempdb的优化 108 4.12 ASE12.5.x的一条有用的命令: disk resize 110 4.13 如何更改字符集为cp936 110 5. 灾难恢复篇 111 5.1 数据库服务不能启动 111 5.1.1 如何查找数据库启动失败原因 111 5.1.2 简单故障及排除方法 111 5.1.3 master数据库日志满了,server无法启动,怎么办 (error 1105) 112 5.1.4 SQL Server 10.x配置内存过大、Server不能启动时怎么办? 113 5.2 数据库被挂起 113 5.2.1 如何解决数据库被挂起的问题(error 926) 113 5.2.2 如何做 rebuild log 116 5.3 数据库恢复 118 5.3.1 如何删除坏的用户数据库?(以pubs2为例) 118 5.3.2 如何做Rebuild Master 119 5.3.3 如何恢复master数据库 121 5.3.4 如何移植master设备 123 5.3.5 如何重建sybsystemprocs系统数据库 125 5.3.6 如何挽救 corrupt table 中的数据 126 5.3.7 Recovering the master Database or Master Device under ASE 12.5 128 5.3.8 如何只用数据库设备文件生成新的数据库服务器 136 5.3.9如何单独在备份机上启动Sybase ASE12.5 (ASE HA) 139 5.4 数据库恢复以后的工作 140 5.4.1 如何检查数据库中数据的一致性 140 6. SYBASE培训服务 143 6.1 SYBASE培训概述 143 6.2 SYBASE主要数据库培训班介绍 144 7. 如何获得帮助 145 7.1 热线电话 145 7.2 Sybase技术文档 145 7.3 Sybase网上资源 145 7.4 您的建议 146
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值