Chinaunix首页 | 论坛 | 博客
  • 博客访问: 544769
  • 博文数量: 252
  • 博客积分: 6057
  • 博客等级: 准将
  • 技术积分: 1635
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-21 10:17
文章分类

全部博文(252)

文章存档

2013年(1)

2012年(1)

2011年(32)

2010年(212)

2009年(6)

分类: Sybase

2010-05-17 10:27:59

Sybase SQL Anywhere管理技巧 
 
Sybase SQL Anywhere功能很强,结构也比较复杂。一般情况下,用户都是通过用PowerBuilder开发的应用程序界面来 访问它。但应用程序固定的界面不能完全满足管理员的特殊要求。这时,就需要用系统工具进行直接访问。

案例环境:应用程序 test,含三个SQL文件:test1.db、test2.db、test3.db,存放在 C:\test\db下,可执行文件和动态链接库放在C:\test\exe下。

同时启动多个后台服务器进程

Sybase SQL Anywhere可以同时启动多个后台服务器进程,而每个进程又都可以至少控制一个SQL,这大大方便了的分类管理。

操作方法是:

1.开始→程序→MS-DOS方式→在命令 行窗口里“C:\test\exe〉”提示符号下运行:dbstart -n db_server1。

2.同样,打开第2个命令行窗口, 键入:dbstart -n db_server2。

这两条命令分别启动了名为db_server1、db_server2的服务器进程,其中-n参数用来为进程命名。

同时打开多个

在进行复杂的数据提取时,往往需要同时打开多个。在下面的示例中,服务器进程db_server1同时控制着db_alias1(对应的物理文件为C:\test\db\test1.db)、db_alias2(对应的物理文件为C:\test\db\test2.db)。

操作方法是:

资源 管理器→运行C:\test\exe\scview.exe,打开SQL控制中心→“工具”选单→连接→弹出“SQL Anywhere Logon”登录窗口→填入:用户标识:管理员dba;口令:dba的口令;服务器进程名:db_server1;名:为要打开的任取一别名,这里是db_alias1;文件:用“浏览”按钮选中物理C:\test\db\test1.db→点击OK按钮。这样就打开了第1个db_alias1。

为了打开第2个,在SQL控制中心→选中服务器db_server1图标→单击右键,弹出快捷选单→单击“启动”项→弹出“启动SQL Anywhere”窗口→在“With database name”文本框中填入要使用的名db_alias2→在“Using database file”文本框中填入要使用的文件名C:\test\db\test2.db→点击“确定”按钮→选中db_alias2从右键选单 中选“打开”→出现Logon界面→输入dba和口令→点击“确定”按钮。这样就打开了第2个db_alias2。

SQL命令工具的使用

Sybase SQL Anywhere包含了一个交互式SQL命令解释器----ISQL。有时,直接用SQL命令来操纵,速度要比用Sybase图形界面工具高得多。

1.操作方法是:选中要操作的db_alias1→单击右键,弹出快捷选单→单击“打开ISQL”项→弹出ISQL界面,共有3个小 窗口:数据窗口、状态窗口、命令窗口→在命令窗口里输入SQL命令,单击“执行”按钮,即可在“数据窗口”里显示命令结果,同时“状态窗口”也会显示一些 系统提示信息。

2.几个隐含功能:


在“文件”选单中选“打开”,可以将事先编辑好的SQL命令过程调入,以批处 理的方式执行。
在“编辑”选单中选“插入”,可以看到当前所包含的表的名称及其字段信息。
在“命令”选单中选“重新调用”,可以看到历史命令列表,从 中点取一个,ISQL自动将其粘贴进命令窗口等待编辑或执行,省去了重新录入的麻烦。


表的导出

一个SQL Anywhere往往包含上百个二进制格式的二维表。为了便于备份和管理,DBA经常需要将其导出存为文本格式。SQL Anywhere支持两种形式的表导出:

1.停止状态下二维表的离线导出。这种形式的导出,比较安全完整,DBA可以在服务器比较空闲、无人使用时进行。

2.正在运行时二维表的在线导出。这种形式的导出,DBA可以随时进行,便于为的当前状态保存一个“快照”。

操作步骤为:进入SQL控制中心窗口→在左窗格单击 SQL Anywhere实用工具项→在右窗格列出当前可用的实用工具→选择Unload工具→出现导出询问窗口,选择离线导出或在线导出。若是离线导出,用“浏 览”按钮选择物理文件名;若是在线导出,录入服务器名、名。

然后,单击“下一步” →以DBA名义登录→系统自动创建一个名为RELOAD.SQL的命令文件,用于以后的重新导入,您可以给它改名。单击“下一步”→出现导出位置选择窗 口。一种是内部导出,导出文件放在网络服务器端;另一种是外部导出,导出文件放在网络客户端。需要DBA根据网络和存储设备的负载情况进行选择。系统将在 指定位置下自动创建一个名为“UNLOAD”的文件夹,用于存放导出文件。单击“下一步”,出现导出内容选择窗口。可以选数据和结构全部导出,也可选只导 出数据或结构。单击“下一步” →出现“确认”对话窗,如有需要更改的选项,单击“上一步”退回修改,否则,单击“完成”→出现导出状况动态显示窗口,实时显示某个表正在被导出。需要注意的是,导出的文件主名由SQL Anywhere自行编号设定,和表名不一定相同,其后缀为dat,可用文本编辑器打开。

的压缩/解压缩

通常,SQL文件的体积都比较大,几百MB一个文件并不稀奇。所以,如果不进行压缩,备份起来费时费力,比较麻烦。 幸好,SQL Anywhere自带了压缩工具,而且效率也很高,一般可压缩掉70%以上。

ccid_nobr>

 

 

压 缩


比较快捷的方法是:在MS-DOS方式窗口中,直接使用dbshrink压缩命令。格式为:dbshrink 〈要压缩的文件名〉 。

以压缩test1.db为例,键入:dbshrink C:\test\db\test1.db


提示:将C:\test\db\test1.db压缩为C:\test\db \test1.cdb,然后自动进入压缩过程,生成名为test1.cdb的压缩文件。

还有一种方法,利用SQL控制中心图形界面工具。


选 中SQL Anywhere实用工具项→选择“压缩”项目→弹出“压缩SQL Anywhere ”窗口→按“浏览”按钮选择要压缩文件C:\test\db\test1.db→在“压缩文件命名”选择默认文件名C:\test\db \test1.cdb→在确认窗口单击“确定”即可。


解压缩


同样地,比较快捷的方法是:使用 dbexpand解压缩命令,其格式为:dbexpand 〈压缩文件名〉 。

要解压缩test1.cdb,键入dbexpand C:\test\db\test1.cdb

这时,屏幕出现:将C:\test\db\test1.cdb解压缩为C:\test\db \test1.db,同时 提示:C:\test\db\test1.db已存在,是否覆盖?选“是”,即开始解压缩,覆盖掉当前文件。

利用SQL控制中心解压缩。


选中SQL Anywhere实用工具→选择“解压缩”项→弹出“解压缩SQL Anywhere ”窗口,默认解压缩“C:\test\db\test1.cdb”,按“浏览”按钮可以选择其他压缩文 件→“下一步”,将弹出选择窗口,为解压缩后的文件指定存放路径及名称,默认为C:\test\db\test1.db→下一步,出现询问窗口,“是 否替换已有的C:\test\db\test1.db”,选“是”→在随后的确认窗口中单击“确定”→进入“解压缩进度”窗口→完成后单击“关闭”按钮。



阅读(1578) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~