远程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. 实用程序指南

 


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

使用主管名


主管名是服务器向 Kerberos 密钥分发中心 (KDC) 进行鉴定时使用的名 称。如果有多个正在运行的 Adaptive Server 实例,则必须为每个 Adaptive Server 使用不同的主管名。


指定 Adaptive Server 主管名

使用 DSLISTEN DSQUERY 环境变量或 dataserver -s server_name 命令 行选项来指定 Adaptive Server 名称。

使用 setenv 命令或 -k dataserver 选项来设置主管名。

缺省情况下,主要名称即 Adaptive Server 名称。若要指定不同的名称, 请在启动 Adaptive Server 以使用 Kerberos 之前设置 SYBASE_PRINCIPAL

setenv SYBASE_PRINCIPAL <name of principal>

一旦设置了 Adaptive Server 主管名, Adaptive Server 即使用此变量的值 向 Kerberos 鉴定自身。

若要在启动 Adaptive Server 时指定 Adaptive Server 主管名,请使用:

-k <server principal name>

在启用了 Kerberos 安全性机制的情况下启动 Adaptive Server 时, Adaptive Server 首先会使用 -k 选项指定的主要名称进行 Kerberos 鉴定。 如果未指定 -k 选项,则 Adaptive Server 在环境变量 SYBASE_PRINCIPAL 中查找主体名称。如果两者均未指定,则 Adaptive Server 使用服务器名 进行鉴定。

如果 keytab 文件中存在主管名条目,则 Adaptive Server 接受使用不同服 务器主管名的 Kerberos Open Client 连接。允许使用不同主管名的连接:

传递一个空字符串作为 -k 选项的参数,或者

SYBASE_PRINCIPAL 环境变量设置为 ""。例如:

export SYBASE_PRINCIPAL=""

示例 在此示例中, Adaptive Server 名称是 “secure_ase”,领域名是 “MYREALM.COM”。 Adaptive Server 名称是使用 dataserver -s 参数在命令行上指定的。当前领域是在 libtcl.cfg 中由 secbase 属性值 指定的:

[SECURITY]

csfkrb5=libskrb.so libgss=/krb5/lib/libgss.so secbase=@MYREALM.COM

缺省 Adaptive Server 主管名为 “ secure_ase@MYREALM.COM”。 如果 Adaptive Server keytab 文件中定义的主管名为

aseprincipal@MYREALM.COM”,您可以使用下面的选项 1 2 设置 服务器主管名,从而覆盖缺省 Adaptive Server 主管名:

选项 1,指定 -k ''

%

$SYBASE/$SYBASE_ASE/bin/dataserver -dmaster.dat

-s secure_ase -k aseprincipal@MYREALM.COM


通过 Kerberos 进行鉴定时使用的 Adaptive Server 主管名为 “ aseprincipal@MYREALM.COM”。

选项 2,设置 SYBASE_PRINCIPAL

setenv SYBASE_PRINCIPAL aseprincipal@MYREALM.COM

$SYBASE/$SYBASE_ASE/bin/dataserver dmaster.dat

-s secure_ase

通过 Kerberos 进行鉴定时使用的 Adaptive Server 主管名为 “ aseprincipal@MYREALM.CO M”,即 $SYBASE_PRINCIPAL 的值。

选项 3,既不设置 -k 也不设置 SYBASE_PRINCIPAL

% $SYBASE/$SYBASE_ASE/bin/dataserver dmaster.dat

-s secure_ase

通过 Kerberos 进行鉴定时使用的 Adaptive Server 主管名为 “ secure_ase@MYREALM.COM”。


使用 sybmapname 处理用户主要名称

sybmapname Kerberos 环境中使用的外部用户主管名转换为 Adaptive Server 用户登录名的命名空间。您可以自定义 sybmapname 共享对象, 并将 Kerberos 输入缓冲区中指定的名称映射为适合于登录到 Adaptive Server 输出缓冲区的名称。

使用 sybmapname 共享对象来执行用户主管名和 Adaptive Server 登录名 之间的自定义映射。可以选择在服务器启动时装载此共享对象,在成功 完成 Kerberos 鉴定之后、用户主要名称映射到 syslogins 表中的登录名之 前,将调用此共享对象中包含的函数 syb map_name。当要映射的用户 主管名和登录名不同时,此函数很有用。

syb map_name(NAMEMAPTYPE *protocol, char *orig, int origlen, char *mapped, int *mappedlen)

其中:

NAMEMAPTYPE *protocol — 是为使用此函数而保留的结构。

char *orig — 是输入缓冲区,该缓冲区不以 null 终止。

int origlen — 是输入缓冲区长度,应小于或等于 255 个字符。

char *mapped — 是输出缓冲区,该缓冲区不应以 null 终止。

int *mappedlen — 是输出缓冲区长度,应小于或等于 30


如果映射成功, syb__map_name 将返回大于 0 的值,或者,如果未发生 映射,则返回值 0,而当 syb__map_name 中发生错误时则返回小于 0 的 值。发生错误时,将向 Adaptive Server 错误日志中写入报告映射失败的 内容。

例如,若要鉴定 Adaptive Server 上的 Kerberos 用户,请执行下列操作:

1 配置 Adaptive Server 以使用 Kerberos 安全性机制。请参见 123 页 上的 “使用 Kerberos Open Client/Server 文档,以及 Sybase 网 站 ( http://www.sybase.com/detail?id=1029260) 上标题为“为 Sybase 配置 Kerberos(Configuring Kerberos for Sybase) 的白皮书。

$SYBASE/$SYBASE_ASE/sample/server/sybmapname.c 中有一个示例 文件 sybmapname.c

2 修改 sybmapname.c 以执行您的逻辑。请参见 133 页上的 “使用

sybmapname 时的注意事项

3 使用提供的通用平台专用的 makefile 生成共享对象或 DLL。可能需 要修改 makefile 以适合您的平台特定设置。

4 请将生成的共享对象放在 $LD_LIBRARY_PATH UNIX 计算机) 和 PATH 变量 (Windows 计算机)中指定的位置。“sybase”用户 应该具有该文件的读取和执行权限。


image

注释 Sybase 建议只赋予 “sybase”用户读取和执行权限,并应当拒绝 所有其它访问权限。

image


使用 Kerberos 鉴定来 验证您的 Adaptive Server 登录

要使用 Kerberos 鉴定来检验您的 Adaptive Server 登录,请假设:

$SYBASE 是指您的版本和安装目录。

$SYBASE_ASE 指的是服务器二进制文件所在的 Adaptive Server 版本 目录。

$SYBASE_OCS 指的是 Open Client/Server 版本目录。

示例 1. 如果客户端的主管名为 user@REALM,并且 syslogins 表中对应的 条目为 user_REALM,则可以对 sybmapname 进行编码,以接受输入字 符串 user@realm,并将输入字符串转换为输出字符串 user_REALM

示例 2. 如果客户端主体名称为 user,并且在 syslogins 表中的相应条目 为 USER,则可以对 sybmapname 进行编码,使其接受输入字符串 user 并将此字符串转换为大写字符串 USER

sybmapname Adaptive Server 在运行时装载并使用其逻辑进行必要的 映射。


以下操作和输出阐释了示例 2 中描述的 sybmapname 函数。应将包含 syb map_name() 的自定义定义的 sybmapname.c 文件作为共享对象(或 DLL)来编译和生成,并最终放在合适的路径位置。在启用了 Kerberos 安全性机制的情况下启动 Adaptive Server

对提供标识的加密文件 “票证授予票证 (TGT)”进行初始化:

$ /krb5/bin/kinit johnd@public Password for johnd@public:

$

列出 TGT

$ /krb5/bin/klist

Cache Type:Kerberos V5 credentials cache Cache Name:/krb5/tmp/cc/krb5cc_9781

Default principal:johnd@public

以 “sa”身份登录并验证 “johnd”的用户登录名:

$ $SYBASE/$SYBASE_OCS/bin/isql -Usa -P

-Ipwd`/interfaces

1>


1> sp_displaylogin johnd

2> go

No login with the specified name exists. (return status = 1)


1> sp_displaylogin JOHND

2> go Suid:4

Loginame:JOHND Fullname:

Default Database:master Default Language:

Auto Login Script: Configured Authorization: Locked:NO

Password expiration interval:0 Password expired:NO

Minimum password length:6 Maximum failed logins:0 Current failed login attempts:

Authenticate with:ANY (return status = 0)

Kerberos 鉴定成功,使用 sybmapname 实用程序将小写的 johnd 映射到 大写的 JOHND,并允许用户 johnd 登录到 Adaptive Server



使用 sybmapname 时 的注意事项

$ $SYBASE/$SYBASE_OCS/bin/isql -V -I'pwd'/interfaces 1>

sybmapname 进行编码时:

修改 sybmapname.c 样本程序时要小心。避免使用可能生成分段错 误、可能调用 exit、可能调用 system calls、可能更改 UNIX 信号或进 行任何阻塞调用的代码。不正确的编码或调用可能会干扰 Adaptive Server 引擎。


image

注释 Sybase 不对 sybmapname 中的编码错误承担任何责任。

image


编码时应当小心,在不再引用指针之前请检查所有指针,并避免系 统调用。您编写的函数必须为快速名称过滤函数。

不要使用 goto 语句,因为这些语句可能导致无法预料的副作用,具 体取决于平台。

如果使用多个领域,在将用户主管名映射到合适的登录名以反映领 域信息要小心。例如,如果您拥有的两个用户的用户主要名称分别 为 userA@REALMONE userB@REALMTWO,应将它们映射到登录名 userA_REALMONE userB_REALMTWO,而不是 userA userB。 这样可区别两个属于不同领域的用户。




--------------------------------------华丽的分割线-------------------------------------------------------------------------
之前就已经研发成功了能够从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等等。
+-------------------------------------华丽的分割线-------------------------------------------------------------------------