Sybase数据库系统常用操作
- 格式:doc
- 大小:154.00 KB
- 文档页数:16
Sybase数据库系统常用操作
目录
附录 D Sybase数据库系统常用操作 D-1
D.1 Sybase数据库系统常用操作 D-1
D.1.1 isql D-1
D.1.2 bcp D-3
D.1.3 showserver D-4
D.1.4 startserver D-5
D.1.5 shutdown D-5
D.2 T-SQL语言 D-6
D.2.1 数据定义语句(DDL) D-6
D.2.2 数据操作语句(DML) D-7
D.2.3 数据控制语言(DCL) D-8
D.3 Sybase数据库的备份与恢复 D-12
D.3.1 系统软件故障恢复 D-12
D.3.2 备份数据库及其事务日志 D-12
D.3.3 恢复数据库 D-13
D.3.4 监控事务日志空间大小方法 D-14
附录 D Sybase数据库系统常用操作
本附录介绍Sybase系统常用操作、T-SQL语言、Sybase数据库的备份与恢复,方便用户在维护过程中进行查询。
D.1 Sybase数据库系统常用操作
Sybase数据库系统为用户的管理、维护和访问SQL Server提供了下面几种常用的操作:
isql Sybase数据库提供的标准接口,也常用于批处理程序的执行
bcp 用于SQL Server表和操作系统文件之间的数据的引入和引出
showserver 查看SQL Server是否启动(若没有启动,可以用下面的命令startserver来启动SQL Server;若想关闭,可以用命令shutdown来关闭SQL Server)
startserver 启动SQL Server
shutdown 关闭SQL Server
D.1.1 isql
isql是Sybase数据库系统的一个前台工具,是基于字符的最基本的访问SQL
Server数据库服务器的实用程序。能够实现与服务器的连接,向服务器发送T-SQL命令。所有的SQL查询语言和系统存储过程都必须在isql下执行,并可在屏幕上显示返回的结果信息。
1. 启动isql
[简要说明]
在Unix操作系统的命令行下可以启动isql。
[命令格式]
isql [选项]
[选项说明]
-U username 允许用户访问SQL Server的一个登录帐号
-P password 允许用户访问当前SQL Server的口令
-S Server 允许用户指定与其连接的SQL Server的名称
-i inputfile 输入文件
-o outputfile 输出文件 -w column_width 为输出设置屏幕列宽
[使用实例]
以sa为用户名启动isql,访问当前SQL Server的口令为1234:
$ isql -Usa -P1234
1>
或:
$ isql -U sa
Password:密码不回显
1>
说明:
上例中,-U和-P后的用户名和密码不用空格也可以。例如:isql -Usa -P1234。
当正常启动isql后,isql也会像操作系统一样,提供一个isql工具环境提示符“1>”。此处的“1” 表示即将输入的为一个命令的第一行,当命令分为多行输入时,只要没有提交Sybase数据库系统执行,将会出现“2>”、“3>” 等提示符。当一个命令输入完毕,需要用命令go来结束输入,此时Sybase数据库系统开始执行该命令并显示输出结果或将结果输出到指定的输出文件中。命令执行完毕后,isql工具环境提示符自动复位为“1>”。若在输入时输错了命令,也可以用命令reset清除查询缓冲,回退到“1>”的环境提示符状态。
能够正常启动isql,也表明Sybase数据库服务器正常启动。当然,导致isql不能正常启动的原因是多方面的,一方面可能是Sybase服务器未启动,另一方面可能是用户名与密码不符。
2. 退出isql
[简要说明]
退出isql,只需在isql环境提示符下输入命令quit 或exit 即可。
[命令格式]
quit(或者exit)
[使用实例]
退出isql环境:
1> quit
$
或:
1> exit
$
D.1.2 bcp
[简要说明] 批拷贝命令bcp以用户指定的形式,将数据库表拷贝到操作系统文件中,或从操作系统文件中拷贝一个数据库表,该命令提供了在数据库表和操作系统文件之间传递数据的一种快速的方法。
[命令格式]
bcp [[数据库.]所有者.] 数据库表 {拷贝方向 in|out} 数据文件 [选项]
[选项说明]
-f formatfile 表明用户存有一个上次使用bcp处理同一表时得到的格式文件(扩展名为.fmt),并提供完整的路径名
-U username 允许用户连接服务器时指定一个注册名(缺省值是由用户环境标识的用户名)
-P password 允许用户指定登录当前SQL Server的口令(若未使用此选项,系统将提示输入一个口令)
-S Server 允许用户指定与其相连的SQL Server的名称(若没有提供服务器名,该选项使用$DSQUERY值;若$DSQUERY值不存在,则使用SYBASE)
-c 文件类型(如c-char 、t-text 、i-int等)
[参数说明]
数据库 表所在的数据库
所有者 欲拷贝的数据库表的所有者
数据库表 欲拷贝的数据库表
拷贝方向 in|out 拷贝方向(in表示从文件到数据库表的拷贝;out表示从数据库表到文件的拷贝)
数据文件 源数据文件或目标数据文件(由拷贝方向是in或out来决定),包含完整的路径名和文件说明
[使用实例]
将数据库warn中的表history备份成history.dat文件,文件类型为char:
$ bcp warn.. history out history.dat -U sa -P 1234 -c
Starting copy...
注意:
若将上述命令中的拷贝方向out改为in,则表示恢复数据库表。命令bcp主要用于备份与恢复数据库中某一个表,后面我们将介绍使用命令dump与命令load来对数据库进行备份与恢复操作。
D.1.3 showserver
[简要说明]
showserver可显示当前本机上正在运行的SQL Server ,查看其是否启动,但要注意的是该用户必须是Sybase用户。
[命令格式]
showserver
[使用实例]
显示当前本机上正在运行的SQL Server:
$ showserver
UID PID PPID C STIME TTY TIME CMD
sybase 204 203 1 Feb 19 ? 944:19 /home1/sybase/bin/dataserver -ssybserver -d/dev/rdsk/c0t0d0s4 -e/home1/sybase/i
sybase 208 206 0 Feb 19 ? 0:00 /home1/sybase/bin/backupserver -Ssybserver_back -e/home1/sybase/install/sybserv
如上内容显示主备数据库服务器均已启动。
注意:
若SQL Server已启动,运行该命令后,系统将打印如上有关SQL Server的信息;若SQL Server没有启动,则只打印标题信息。
D.1.4 startserver
[简要说明]
startserver用于启动SQL Server。
[命令格式]
startserver [选项]
[选项说明]
-f run_serverfile 指定一个运行服务器文件(每次重启SQL Server时,以此文件为参考,在实际机器上该文件名为RUN_sybserver或RUN_sybserver_back)
-m 以单用户方式启动SQL Server ,用于恢复master数据库
D.1.5 shutdown [简要说明]
系统管理员可用命令shutdown关闭SQL Server或Backup Server,此命令在isql环境下使用。
[命令格式]
(1) 关闭SQL Server
shutdown [选项]
(2) 关闭Backup Server
shutdown 备份服务器 [选项]
[选项说明]
with {wait|nowait} 系统是否立即关闭(若为with nowait则跳过checkpoint操作,立即关闭系统,此时重启服务器的自动恢复工作量将大大加大;否则相反)
[参数说明]
备份服务器 Backup Server名称
说明:
关闭数据库服务器时,必须注意关闭顺序,即必须先关闭备份服务器,然后再关闭主服务器。
shutdown后若没有给出服务器名称时,将关闭正在使用的SQL Server。当发出shutdown命令时,SQL Server会执行如下操作:
禁止登录,系统管理员除外。
对每个数据库执行checkpoint操作,将改动过的页从内存刷新到磁盘。
等待当前正在执行的SQL Server语句或过程完成。
以此种方法关闭SQL Server,会使重新启动SQL Server时必须做的自动恢复工作量减到最小。
关闭Backup Server时,选项缺省为with wait,因此在Backup Server进程终止之前,进行中的任何转储或装载都将完成。系统一旦发出shutdown命令,将不能再在Backup
Server上进行新的转储或装载会话。
D.2 T-SQL语言
T-SQL (Transact-SQL)是一种增强性型的标准结构化查询语言SQL(Structured
Query Language)语言,它不仅与IBM的SQL语言以及其它绝大多数的SQL语言兼容,而且还在SQL语言的基础进行了扩展,增加了许多新的功能,最大限度的降低了用户对编程语言的依赖性。
标准的SQL语言最初被认为是一种查询和执行语言,而不是发展成熟的编程语言。T-SQL对SQL进行了扩展,增加了程序流控制结构、局部变量和允许DBA创建存储过程、触发器等功能。