远程Sybase数据库技术支持,联系手机:13811580958,QQ:289965371!

 

随着Sybase被完全整合到SAP下,Sybase原来的支持网站被SAP Support Portal取代。
只有购买了SAP服务的用户才能使用账号登录SAP Support Portal进行介质下载、补丁升级、报Incident等。
目前,原Sybase所有产品(包括:Adaptive Server Enterprise、Sybase IQ、Replication Server、PowerDesigner等)的官方手册仍然可以从http://infocenter.sybase.com/help/index.jsp进行浏览或下载。暂不清楚该网站http://infocenter.sybase.com/help/index.jsp何时会被完全迁移到SAP Support上!
Sybase官方手册英文版有html和pdf两种格式,而中文版手册只有pdf一种格式。为了国内Sybase用户更方便、快捷地搜索Sybase常见产品的官方手册内容,特将中文版Sybase官方手册转为html格式!
Sybase产品官方手册中文版的html格式所有内容的版权归SAP公司所有!本博客站长是Sybase数据库的铁杆粉丝!

如有Sybase数据库技术问题需要咨询,请联系我!

  QQ :289965371 点击这里给我发消息
  Email:

以下官方手册为ASE 15.7 ESD#2中文版:

  1. 新增功能公告 适用于 Windows、Linux 和 UNIX 的 Open Server 15.7 和 SDK 15.7
  2. 新增功能摘要
  3. 新增功能指南
  4. ASE 15.7 发行公告
  5. 配置指南(windows)
  6. 安装指南(windows)
  7. 参考手册:构件块
  8. 参考手册:命令
  9. 参考手册:过程
  10. 参考手册:表
  11. Transact-SQL® 用户指南
  12. 系统管理指南,卷 1
  13. 系统管理指南,卷 2
  14. 性能和调优系列:基础知识
  15. 性能和调优系列:锁定和并发控制
  16. 性能和调优系列:监控表
  17. 性能和调优系列:物理数据库调优
  18. 性能和调优系列:查询处理和抽象计划
  19. 性能和调优系列:使用 sp_sysmon 监控 Adaptive Server
  20. 性能和调优系列:利用统计分析改进性能
  21. 程序员参考 jConnect for JDBC 7.0.7
  22. Adaptive Server Enterprise 中的 Java
  23. 组件集成服务用户指南
  24. Ribo 用户指南
  25. 内存数据库用户指南
  26. Sybase Control Center for Adaptive Server® Enterprise
  27. 安全性管理指南
  28. 实用程序指南

 


< 上一个 | 内容 | 下一步 >

查看当前的优化程序设置

sp_options 允许您查看以下选项的当前优化程序设置:

set plan dump / load

set plan exists check

set forceplan

set plan optgoal

set [optCriteria]

set plan opttimeoutlimit

set plan replace

set statistics simulate

set metrics_capture

set prefetch

set parallel_degree number

set process_limit_action

set resource_granularity number

set scan_parallel_degree number

set repartition_degree number

sp_options 可查询 sysoptions 虚设表,该表存储有关每个 set 选项、其类 别及其当前和缺省设置的信息。 sysoptions 还包含可提供每个选项的详 细信息的位图。


sp_options 的语法为:

sp_options [ [show | help

[, option_name | category_name |null [, dflt | non_dflt | null

[, spid] ] ] ] ]


sp_options show

其中:

show — 列出所有选项的当前值和缺省值,并按这些值的类别进行 分组。发出带指定选项名的 sp_options show 会向您显示单个选项的 当前值和缺省值。您还可以指定会话 ID,并指定是要查看具有缺省 设置的选项,还是要查看具有非缺省设置的选项。

help — 显示用法信息。通过发出不带参数的 sp_options 可得到相同 的结果。

null — 表示要查看其设置的选项。

dflt | non_dflt | null — 表示是显示具有缺省设置的选项,还是显示具有 非缺省设置的选项。

spid — 指定会话 ID。使用会话 ID 查看其它会话设置。 例如,要显示如下所示的当前优化程序设置,请输入:

Category:Query Tuning name

currentsetting defaultsetting scope

--------------------------------------------------------------------

------------------ --------------------- ---------

optlevel optgoal

ase_default ase_current 3

allrows_mix allrows_mix 3

opttimeoutlimit

10 10 2

repartition_degree

1 1 2

scan_parallel_degree

0 1 2

resource_granularity

10 10 2


. . .


outer_join_costing:outer join row counts and histogramming 0 0 7

join_duplicate_estimates:avoid overestimates of dups in joins


0 0 7

imdb_costing:0 PIO costing for scans for in-memory database 1 1 7

auto_temptable_stats:auto generation of statistics for #temptables 0 0 7

use_mixed_dt_sarg_under_specialor:allow special OR in case of mixed . . .

0 0 7

timeout_cart_product:timeout queries involving cartesian product and more . . .

0 0 7


(81 rows affected)


有关详细信息,请参见 《Adaptive Server 参考手册:过程》。 任何用户都可以查询 sysoptions

您还可以使用字符串处理或转换。例如,如果选项是数值,则可以通过 输入下列内容来查询 sysoptions

if (isnumeric(currentsetting))

select@int_val = convert(int, currentsetting)

...

else


select@char_val = currentsetting

...

有关 sysoptions 的详细信息,请参见 《Adaptive Server 参考手册:表》。


设置优化级别


缺省情况下, Adaptive Server 不启用一些与性能相关的优化程序设置, 您必须使用 set 命令启用它们。由于不启用这些优化程序设置,因此升 级到最新版本的 Adaptive Server 时,已有效运行的任何应用程序不会受 优化程序更改的影响,也不会因这些更改而获益。

Adaptive Server 允许您在全局 (即,在服务器中设置优化级别)和会话 级别设置优化级别。启用这些更改可提高许多应用程序的查询性能,但 Sybase 建议进行更多性能测试。

使用 @@optlevel 全局变量确定当前优化级别设置:

select @@optlevel


优化设置根据每个 Adaptive Server 版本所适用的优化更改进行组织。 7-1 介绍了这些设置:

7-1:优化级别

image

参数 说明

ase_current 启用当前及之前版本中的所有优化程序更改

ase_default 禁用自 1503 ESD #1 版本以来的所有优化程序更改

ase1503esd2 启用 15.0.3 ESD #2 版本及之前版本中的所有优化程序更改

ase1503esd3 启用 15.0.3 ESD #3 版本及之前版本中的所有优化程序更改


缺省情况下,以下优化级别条件处于启用状态:

7-2:缺省情况下启用的优化条件

image

设置 说明

cr421607 支持 NULL=NULL 合并和散列连接键

cr467566 允许抽象计划和语句高速缓存一起工作 cr487450 改善 distinct 针对多表外连接和半连接的开销 cr497066 通过观察 isnull 的参数来推断其可为空性

cr500736 支持合并连接和散列连接键中的 nocase 排序顺序列 cr531199 增加优化程序考虑的有用的嵌套循环连接计划数 cr534175 如有可能,仅计算一次嵌套子查询中的 group by 工作表 cr544485 distinct 视图的子查询连接谓词标记为 SARG cr545059 减少缓冲区管理器优化排序使用

cr545180 如果存在有用的索引,则避免在不使用 SARG 的情况下 重新格式化

cr545379 禁止对用户强制执行的索引扫描重新格式化

cr545585 覆盖扫描 CPU 开销过大

cr545653 避免内部表缓冲区估计不足

cr545771 改善多表外连接和半连接的开销

cr546125 允许对隐式可更新游标进行非唯一索引扫描

cr552795 消除重新格式化期间不必要的重复行

cr562947 允许游标表扫描

data_page_prefetch_ costing

添加聚簇行偏差

mru_buffer_costing MRU 的清洗大小缓冲区限制


启用 ase1503esd2 时,将会启用这些优化级别条件:

7-3:通过 ase1503esd2 启用的优化条件

image

设置 说明

cr556728 便于小表之间的合并连接

cr559034 避免首选非覆盖索引扫描,而不是覆盖索引 扫描

allow_wide_top_sort 允许顶部排序超出 max row size avoid_bmo_sorts 避免仅用于缓冲区管理器优化的排序 conserve_tempdb_space 使估计的临时数据库低于资源粒度 distinct_exists_transform distinct 转换为半连接 join_duplicate_estimates 避免对连接重复的估计过高 outer_join_costing 外连接行计数和直方图 search_engine_timeout_factor 对复杂 select 语句打开游标命令时花费很长

时间

timeout_cart_product 涉及笛卡儿乘积和超过 5 个表的超时查询。


7-4 列出了在启用 ase1503esd3 ase_current 时启用的优化条件

7-4:通过 ase1503esd3 ase_current 启用的优化条件

image

设置 说明

auto_template_stats 自动生成临时表的统计信息

use_mixed_dt_sarg_under_specialor 允许在 in or 列表对混合数据类型

SARG 使用特殊 or


缺省情况下,以下优化条件处于禁用状态:

7-5:缺省情况下禁用的优化条件

image

设置 说明

full_index_filter 消除非覆盖全文索引扫描策略

no_stats_distinctness 允许重复估计,而不包含统计信息


使用以下方法之一设置优化和条件级别:

在会话级 — 使用 set plan optlevel 设置当前会话的优化级别。这会将 会话配置为使用 Adaptive Server 当前及之前版本的所有优化更改:

set plan optlevel ase_current


对于单个登录 — 使用 sp_modifylogin 设置登录的优化级别。 sp_modifylogin 会调用用户创建的存储过程来定义优化级别。例如, 如果创建此存储过程以启用 ase1503esd2 优化级别,但禁用 cr545180 优化级别:

create proc login_proc as

set plan optlevel ase1503esd2 set cr545180 off

go

您可以将这些优化设置应用于任何登录。这会将 login_proc 的设置 应用于用户 joe

sp_modifylogin joe, 'login script', login_proc

在服务器中 — 使用 sp_configure “optimizer level” 参数来全局设置优化 级别。这会启用 Adaptive Server 当前版本之前的所有优化程序更改:

sp_configure 'optimizer level', 0, 'ase_current'

在抽象计划中 — 使用 optlevel 抽象计划设置优化程序级别。此示例 会为当前计划启用 Adaptive Server 当前版本之前的所有优化程序 更改:

select name from sysdatabases plan '(use optlevel ase_current)'

在使用 set 命令的会话期间 — 使用 set 命令更改当前会话的优化程 序条件。优化程序条件更改可提高一些查询的性能,同时也会降低 其它查询的性能。您可以通过在精细级别 (或者在查询级别)应用 优化程序条件级别来获得更好的性能。Adaptive Server CR 编号表 示一些优化程序条件级别,而其它较新的优化程序更改通过描述性 名称指定。使用 sp_options 可查看当前版本中可用选项的列表。这 会启用 CR 545180 的优化条件:

set CR545180 on


image

注释 启用优化条件时, Adaptive Server 会保留以前的优化级别。

image




--------------------------------------华丽的分割线-------------------------------------------------------------------------
之前就已经研发成功了能够从Sybase SQL Anywhere的DB文件中恢复数据的工具:ReadASADB。
此工具支持ASA v5.0,v6.0,v7.0,v8.0,v9.0,v10.0,v11.0,v12.0等版本。
恢复Sybase SQL Anywhere的工具在国内应该算首创。

ReadASADB功能
能够从损坏的SQL Anywhere数据文件(.db)和UltraLite数据文件(.udb)上提取数据的非常规恢复工具

  1. 适用于所有的SQL Anywhere版本    包括:5.x,6.x,7.x,8.x,9.x,10.x,11.x,12.x
  2. 适用于所有的UltraLite版本
  3. 能够恢复出来表结构和数据
  4. 能够恢复自定义数据类型
  5. 能够恢复存储过程等对象的语法
  6. 能够导出到目标数据库
  7. 能够导出到SQL文件并生成导入脚本
  8. 支持多种字符集  包括:cp850、cp936、gb18030、utf8等
  9. 能够恢复未加密或者简单加密类型的数据
  10. 简单易用
  11. 限制:不支持AES加密的数据文件
请参考:研发成功了从Sybase SQL Anywhere的DB文件上恢复数据的工具
            SQL Anywhere数据库非常规恢复工具ReadASADB使用介绍

ReadASADB适用场景

各种误操作:

  1. 误截断表(truncate table)
  2. 误删除表(drop table)
  3. 错误的where条件误删数据
  4. 误删除db或log文件
  5. 误删除表中的字段

本工具的应用场景:

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等等。
+-------------------------------------华丽的分割线-------------------------------------------------------------------------