分类: 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”,选“是”→在随后的确认窗口中单击“确定”→进入“解压缩进度”窗口→完成后单击“关闭”按钮。