随着Sybase被完全整合到SAP下,Sybase原来的支持网站被SAP Support Portal取代。
只有购买了SAP服务的用户才能使用账号登录SAP Support Portal进行介质下载、补丁升级、报Incident等。
目前,原Sybase所有产品(包括:Adaptive Server Enterprise、Sybase IQ、Replication Server、PowerDesigner等)的官方手册仍然可以从https://infocenter.sybase.com/help/index.jsp进行浏览或下载。暂不清楚该网站https://infocenter.sybase.com/help/index.jsp何时会被完全迁移到SAP Support上!
Sybase官方手册英文版有html和pdf两种格式,而中文版手册只有pdf一种格式。为了国内Sybase用户更方便、快捷地搜索Sybase常见产品的官方手册内容,特将中文版Sybase官方手册转为html格式!
Sybase产品官方手册中文版的html格式所有内容的版权归SAP公司所有!本博客站长是Sybase数据库的铁杆粉丝!
如有Sybase数据库技术问题需要咨询,请联系我!
以下官方手册为ASE 15.7 ESD#2中文版:
- 新增功能公告 适用于 Windows、Linux 和 UNIX 的 Open Server 15.7 和 SDK 15.7
- 新增功能摘要
- 新增功能指南
- ASE 15.7 发行公告
- 配置指南(windows)
- 安装指南(windows)
- 参考手册:构件块
- 参考手册:命令
- 参考手册:过程
- 参考手册:表
- Transact-SQL® 用户指南
- 系统管理指南,卷 1
- 系统管理指南,卷 2
- 性能和调优系列:基础知识
- 性能和调优系列:锁定和并发控制
- 性能和调优系列:监控表
- 性能和调优系列:物理数据库调优
- 性能和调优系列:查询处理和抽象计划
- 性能和调优系列:使用 sp_sysmon 监控 Adaptive Server
- 性能和调优系列:利用统计分析改进性能
- 程序员参考 jConnect for JDBC 7.0.7
- Adaptive Server Enterprise 中的 Java
- 组件集成服务用户指南
- Ribo 用户指南
- 内存数据库用户指南
- Sybase Control Center for Adaptive Server® Enterprise
- 安全性管理指南
- 实用程序指南
生成 XML 格式消息的 set 命令
可以以 XML 文档格式重新生成诊断。这更易于前端工具解读文档。如 果启用了 XML 选项,则可以使用 Adaptive Server 中的本机 XPath 查询 处理器查询此输出。
查询优化程序或查询执行层可以生成诊断输出。要生成诊断输出的 XML
文档,请使用以下 set plan 命令:
set plan for
{show_exec_xml, show_opt_xml, show_execio_xml, show_lop_xml, show_managers_xml, show_log_props_xml, show_parallel_xml, show_histograms_xml, show_final_plan_xml, show_abstract_plan_xml, show_search_engine_xml, show_counters_xml, show_best_plan_xml, show_pio_costing_xml, show_lio_costing_xml, show_elimination_xml}
to {client | message} on
选项 |
定义 |
show_exec_xml |
以 XML 形式获取编译的计划输出,显示每个查询计划运算符。 |
show_opt_xml |
获取优化程序诊断输出,其中显示不同的组成部分,例如逻辑运算符、管理 器输出、某些搜索引擎诊断和最佳查询计划。 |
show_execio_xml |
获取计划输出以及估计的和实际的 I/O。 show_execio_xml 还包括查询文本。 |
show_lop_xml |
以 XML 形式获取输出逻辑运算符树。 |
show_managers_xml |
显示查询优化程序准备阶段中各组件管理器的输出。 |
show_log_props_xml |
显示给定等效类的逻辑属性 (查询中的一个或多个关系组)。 |
选项 定义
show_parallel_xml 显示生成并行查询计划时与优化程序有关的诊断。
show_histograms_xml 显示与直方图和直方图合并有关的诊断。
show_final_plan_xml 获取计划输出。不包括估计的和实际的 I/O。 show_final_plan_xml 包括查询文本。
show_abstract_plan_xml 显示生成的抽象计划。 show_search_engine_xml 显示与搜索引擎相关的诊断。 show_counters_xml 显示计划对象构造 / 破坏计数器。 show_best_plan_xml 以 XML 形式显示最佳计划。
show_pio_costing_xml 以 XML 形式显示实际的物理输入 / 输出开销。 show_lio_costing_xml 以 XML 形式显示实际的逻辑输入 / 输出开销。 show_elimination_xml 以 XML 形式显示分区排除。
client 如果指定,则将输出发送到客户端。缺省情况下这是错误日志。但如果打开 跟踪标志 3604,输出将发送到客户端连接。
message 如果指定,则将输出发送到内部消息缓冲区。
若要关闭某一选项,请指定:
set plan for
{show_exec_xml, show_opt_xml, show_execio_xml, show_lop_xml, show_managers_xml, show_log_props_xml, show_parallel_xml, show_histograms_xml,show_final_plan_xml show_abstract_plan_xml, show_search_engine_xml, show_counters_xml, show_best_plan_xml, show_pio_costing_xml, show_lio_costing_xml, show_elimination_xml} off
关闭选项时,不需要指定目标流。
如果指定了 message,客户端应用程序必须使用名为 showplan_in_xml(query_num) 的内置函数从缓冲区中获得诊断信息。
query_num 指的是在缓冲区中高速缓存的查询数。当前,缓冲区中最多 可高速缓存 20 个查询。当查询达到 20 个时,高速缓存会停止收集查询 计划;它会忽略其余的查询计划。但是,消息缓冲区会继续收集查询计 划。在超过 20 个查询后,您只能使用值 0 来显示整个消息缓冲区。
query_num 的有效值为 1 – 20、 -1 和 0 (零)。值 -1 指的是高速缓存中 的最后一个 XML 文档;值 0 指的是整个消息缓冲区。
消息缓冲区可能会溢出。如果发生溢出,则无法记录所有 XML 文档, 这可能造成 XML 文档不完整和无效。
当使用 showplan_in_xml 访问消息缓冲区时,在执行后会清空缓冲区。
您可能要使用 set textsize 设置最大文本大小,因为 XML 文档会作为文 本列输出,并且如果该列不够大,文档将会被截断。例如,使用以下命 令将文本大小设置为 100000 个字节:
set textsize 100000
当 set plan 与 off 一起发出时,如果已关闭所有跟踪选项,则将关闭所有 XML 跟踪。否则,仅关闭指定的选项。以前打开的其它选项仍然有效, 并会在指定的目标流中继续跟踪。当您发出另一个 set plan 选项时,之 前的选项会与当前选项联合,但目标流将无条件地切换到新的目标流。
使用 show_execio_xml 诊断查询计划
show_execio_xml 包括诊断信息,您可能会发现这些信息有助于调查有问 题的查询。 show_execio_xml 提供的信息包括:
• 查询计划的版本级别。计划的每个版本都唯一地进行标识。这是计 划的第一个版本:
<planVersion>1.0</planVersion>
• 批处理或存储过程中的语句号,以及语句在初始文本中的行号。查 询中的语句号是 2,行号是 6:
<statementNum>2</statementNum>
<lineNum>6</lineNum>
• 查询的抽象计划。例如,下面是查询 select * from titles 的抽象计划:
<abstractPlan>
<![CDATA[>
( i_scan titleidind titles ) ( prop titles ( parallel 1
) ( prefetch 8 ) ( lru ) )
]]>
</abstractPlan>
• 逻辑 I/O、物理 I/O 和 CPU 开销:
<costs>
<lio> 2 </lio>
<pio> 2 </pio>
<cpu> 18 </cpu>
</costs>
可以使用以下公式估计总开销 (25、 2 和 0.1 是常量):
25 X pio + 2 X lio + 0.1 X cpu
• 估计的执行资源使用情况,包括查询计划使用的线程数和辅助扫描 描述符数。
• 查询引擎查看的计划数和它确定为有效的计划数,查询在查询引擎 中花费的总时间 (以毫秒为单位),查询引擎确定第一个合法计划 所花费的时间,以及在优化过程中使用的过程高速缓存量。
<optimizerMetrics>
<optTimeMs>6</optTimeMs>
<optTimeToFirstPlanMs>3</optTimeToFirstPlanMs>
<plansEvaluated>1</plansEvaluated>
<plansValid>1</plansValid>
<procCacheBytes>140231</procCacheBytes>
</optimizerMetrics>
• 上次对当前表运行 update statistics 的时间,以及查询引擎是否对给 定列使用了估计常量 (如果统计信息可用,则可以进行更准确的估 计)。本部分包括有关缺少统计信息的列的信息:
<optimizerStatistics>
<statInfo>
<objName>titles</objName>
<columnStats>
<column>title_id</column>
<updateTime>Oct 5 2006 4:40:14:730PM</updateTime>
</columnStats>
<columnStats>
<column>title</column>
<updateTime>Oct 5 2006 4:40:14:730PM</updateTime>
</columnStats>
</statInfo>
</optimizerStatistics>
• 运算符树,包括表和索引扫描以及有关高速缓存策略和 I/O 大小的 信息 (insert、 update 和 delete 具有目标表的相同信息)。运算符树 还显示是以 “直接”模式还是 “延迟”模式执行 update。 exchange 运算符包括有关查询使用的生产者进程和消耗程序进程数的信息。
<TableScan>
<VA>0</VA>
<est>
<rowCnt>18</rowCnt>
<lio>2</lio>
<pio>2</pio>
<rowSz>218.5555</rowSz>
</est>
<varNo>0</varNo>
<objName>titles</objName>
<scanType>TableScan</scanType>
<partitionInfo>
<partitionCount>1</partitionCount>
</partitionInfo>
<scanOrder> ForwardScan </scanOrder>
<positioning> StartOfTable </positioning>
<dataIOSizeInKB>8</dataIOSizeInKB>
<dataBufReplStrategy> LRU </dataBufReplStrategy>
</TableScan>
以 XML 格式显示高速缓存计划
show_cached_plan_in_xml 可帮助跟踪语句高速缓存中的查询性能。 对于给定查询, show_cached_plan_in_xml (由其对象 ID 或者 SSQLID 和 PlanID 标识)返回以下内容:
• 标题节,其中包含有关高速缓存语句的信息,例如语句 ID、对象 ID 和文本:
<?xml version="1.0" encoding="UTF-8"?>
<query>
<statementId>1328134997</statementId>
<text>
<![CDATA[SQL Text: select name from sysobjects where id = 10]]>
</text>
如果 PlanID 设置为 0, show_cached_plan_in_xml 会显示与高速缓存 语句关联的所有可用计划的输出。
• 计划节,其中包含计划 ID 和以下小节:
• 参数 — 返回计划状态,用于编译查询的参数以及导致最低性能 的参数值。
<planId>11</planId>
<planStatus> available </planStatus>
<execCount>1371</execCount>
<maxTime>3</maxTime>
<avgTime>0</avgTime>
<compileParameters/>
<execParameters/>
• opTree — 返回运算符树、行计数以及每个运算符的逻辑 I/O (lio) 和物理 I/O (pio) 估计值。 opTree 小节返回查询计划和优化程序 估计值,例如 lio、 pio 和行计数。
<opTree>
<Emit>
以下是 Emit 运算符的输出示例。
<VA>1</VA>
<est>
<rowCnt>10</rowCnt>
<lio>0</lio>
<pio>0</pio>
<rowSz>22.54878</rowSz>
</est>
<act>
<rowCnt>1</rowCnt>
</act>
<arity>1</arity>
<IndexScan>
<VA>0</VA>
<est>
<rowCnt>10</rowCnt>
<lio>0</lio>
<pio>0</pio>
<rowSz>22.54878</rowSz>
</est>
<act>
<rowCnt>1</rowCnt>
<lio>3</lio>
<pio>0</pio>
</act>
<varNo>0</varNo>
<objName>sysobjects</objName>
<scanType>IndexScan</scanType>
<indName>csysobjects</indName>
<indId>3</indId>
<scanOrder> ForwardScan </scanOrder>
<positioning> ByKey </positioning>
<perKey>
<keyCol>id</keyCol>
<keyOrder> Ascending </keyOrder>
</perKey>
<indexIOSizeInKB>2</indexIOSizeInKB>
<indexBufReplStrategy> LRU </indexBufReplStrategy>
<dataIOSizeInKB>2</dataIOSizeInKB>
<dataBufReplStrategy> LRU </dataBufReplStrategy>
</IndexScan>
</Emit>
<opTree>
<Emit>
<Details>
• execTree — 返回查询计划以及运算符内部详细信息。根据运算符 的不同,详细信息也有所不同。以下是 Emit 运算符的输出示例。
<VA>5</VA>
<Vtuple Label="Output Vtuple">
<collection Label="Columns (#2)">
<Column>
<0x0x1462d2838) type:GENERIC_TOKEN len:0 offset:0 valuebuf:0x(nil) status:(0x00000008 (STATNULL)) (constant:0x0x1462d24c0 type:INT4 len:4 maxlen:4 constat:(0x0004 (VARIABLE), 0x0002 (PARAM)))
</Column>
<Column>
(0x0x1462d2878) type:GENERIC_TOKEN len:0 offset:0 valuebuf:0x(nil) status:(0x00000008 (STATNULL)) (constant:0x0x1462d26e8 type:INT4 len:4 maxlen:4 constat:(0x0004 (VARIABLE), 0x0002 (PARAM))
</Column>
<Collection>
<Collection Label="Evals">
<EVAL>
constp:0x0x1462d2290 status:0 E_ASSIGN
</EVAL>
<EVAL>
constp:0x0x1462d2348 status:0 E_ASSIGN
</EVAL>
<EVAL>
constp:0x(nil) status:0 E_END
</EVAL>
</Collection>
</Vtuple>
</Details>
Sybase SQL Anywhere数据库恢复工具ReadASADB:
之前就已经研发成功了能够从Sybase SQL Anywhere的DB文件中恢复数据的工具: ReadASADB。此工具支持ASA v5.0, v6.0, v7.0, v8.0, v9.0, v10.0, v11.0, v12.0, v16.0, v17.0等版本。
能够从损坏的SQL Anywhere数据文件(.db)和UltraLite数据文件(.udb)上提取数据的非常规恢复工具。
恢复Sybase SQL Anywhere的工具在国内处于领先水平。
Sybase SQL Anywhere数据库恢复工具ReadASADB功能
能够从损坏的SQL Anywhere数据文件(.db)和UltraLite数据文件(.udb)上提取数据的非常规恢复工具
- 适用于所有的SQL Anywhere版本 包括:5.x,6.x,7.x,8.x,9.x,10.x,11.x,12.x,16.x,17.x
- 适用于所有的UltraLite版本
- 能够恢复出来表结构和数据
- 能够恢复自定义数据类型
- 能够恢复存储过程等对象的语法
- 能够导出到目标数据库
- 能够导出到SQL文件并生成导入脚本
- 支持多种字符集,包括:cp850、cp936、gb18030、utf8等
- 能够恢复未加密或者简单加密类型的数据
- 简单易用
- 限制:不支持AES加密的数据文件
SQL Anywhere数据库非常规恢复工具ReadASADB使用介绍
Sybase SQL Anywhere数据库恢复工具ReadASADB适用场景
各种误操作:
- 误截断表(truncate table)
- 误删除表(drop table)
- 错误的where条件误删数据
- 误删除db或log文件
- 误删除表中的字段
Sybase SQL Anywhere数据库恢复工具ReadASADB的应用场景:
1.因为物理磁盘故障、操作系统、系统软件方面或者掉电等等原因导致的Sybase SQL Anywhere数据库无法打开的情况;
2.误操作,包括truncate table,drop table,不正确的where条件导致的误删除等;
Sybase SQL Anywhere无法打开时,比较常见的错误是:Assertion failed。
如:
1、Internal database error *** ERROR *** Assertion failed:201819 (8.0.1.2600) Checkpoint log: invalid bitmap page -- transaction rolled back
2、Internal database error *** ERROR *** Assertion failed:201819 (8.0.1.2600) Page number on page does not match page requested -- transaction rolled back
3、Internal database error *** ERROR *** Assertion failed:200502 (9.0.2.2451) Checksum failure on page 23 -- transaction rolled back
4、File is shorter than expected
5、Internal database error *** ERROR *** Assertion failed: 201116 Invalid free list index page found while processing checkpoint log -- transaction rolled back
6、*** ERROR *** Assertion failed: 51901 Page for requested record not a table page or record not present on page
7、*** ERROR *** Assertion failed: 201417 (7.0.4.3541) Invalid count or free space offset detected on a table page
8、Internal database error *** ERROR *** Assertion failed: 201425 (8.0.3.5594) Invalid count or free space offset detected on a free list page -- transaction rolled back.
9、Internal database error *** ERROR *** Assertion failed: 100702 (8.0.1.2600) Unable to modify indexes for a row referenced in rollback log -- transaction rolled back
Sybase ASE数据库恢复工具READSYBDEVICE:
一个不依赖数据库管理系统、直接从Sybase数据库设备文件上提取数据的业内领先的恢复工具!能够从损坏的Sybase ASE设备文件(.dat)上提取数据的非常规恢复工具。
Sybase ASE数据库恢复工具READSYBDEVICE的主要功能:
- 被勒索病毒加密数据文件及备份文件情况下的恢复;
- 系统崩溃只剩下数据文件的情况下的恢复,甚至数据库文件不存在而只有损坏的备份文件情况下的恢复;
- 因断电、硬盘坏道等造成数据库文件损坏情况下的恢复;
- delete数据恢复、误update数据恢复、误删除表(drop)恢复、误truncate表恢复 等;
- 各种Sybase内部系统表损坏、索引错误的修复;
- master数据库损坏而无法正常运行情况下的恢复;
- Sybase数据库被标记为可疑,不可用等情况的恢复;
- Sybase数据库中数据文件内部出现坏块情况下的恢复;
- Sybase数据库无数据文件但有日志文件的情况下的恢复;
- Sybase数据库只有数据文件无任何日志文件的情况下的恢复;
- Sybase数据文件被误删除情况下的碎片提取恢复;
- 磁盘阵列上的Sybase数据库被误格式化情况下的数据库恢复;
- 数据库sysobjects等系统表损坏无法正常应用情况下的恢复;
- Sybase数据库还原数据库出现失败情况下的恢复;
- Sybase数据库只剩下损坏的备份文件情况下的恢复。
Sybase ASE数据库恢复工具READSYBDEVICE支持的版本:
Sybase ASE 11.0.x,11.5.x,11.9.x,12.0.x,12.5.x,15.0.x,15.5.x,15.7.x,16.0.xSQL Server数据库恢复工具SQLRescue:
一个不依赖数据库管理系统、直接从SQL Server数据库文件上提取数据的业内领先的恢复工具!能够从损坏的SQL Server数据库文件(.mdf)上提取数据的非常规恢复工具。
SQL Server数据库恢复工具SQLRescue的主要功能:
- 系统崩溃只剩下数据文件的情况下的恢复,即无日志文件或者日志文件损坏情况下的恢复;
- 断电导致数据库文件损坏情况下的恢复;
- 硬盘坏道造成数据库损坏情况下的恢复;
- 数据文件内部存在坏页情况下的恢复;
- 企业管理器误删除数据表记录,管理软件误删除数据表记录的恢复;
- 并闩锁错误、格式化、误删除后导致软件不能使用的情况;
- 无法读取并闩锁页sysindexes失败情况下的修复;
- 数据文件被误删除情况下的碎片提取恢复;
- 系统表损坏、索引错误、误删除数据库表、删除记录的数据找回;
- master数据库损坏而无法正常运行情况下的恢复;
- 数据文件无法附加情况下的数据恢复;
- 数据库被标记为可疑,质疑,不可用等情况的恢复;
- 数据库sysobjects等系统表损坏情况下的恢复;
- 数据被误(drop、delete、truncate)删除表数据的恢复,误update后的数据恢复等;
- 还原时报一致性错误,错误823等情况下的数据恢复,各种错误提示的数据库文件修复;
- 数据库被误格式化等情况下的数据库恢复;
- 日志收缩造成数据库损坏情况下的恢复;
- 仅剩损坏的备份文件情况下的恢复。
SQL Server数据库恢复工具SQLRescue技术特点:
只要SQL Server数据库的数据文件存在,我们就有办法帮您从数据文件中找回重要数据。- 从数据文件中直接恢复数据
- 不能附加时直接恢复数据并生成新的数据库
- 系统表损坏的数据库修复
- 快速修复SQL 823错误、连接中断错误
SQL Server数据库恢复工具SQLRescue支持的版本:
Microsoft SQL Server 7.0, 2000, 2005, 2008, 2008R2, 2012, 2014, 2016, 2017,2019。+-------------------------------------华丽的分割线-------------------------------------------------------------------------