提供7*24专业Sybase数据库远程及现场技术支持,Sybase ASE及Sybase SQL Anywhere数据库修复服务,
请联系电话: (微信),QQ: 289965371!
We supply technical support for Sybase ASE and Sybase SQL Anywhere, also have many years of experience in recovering data from damanged Sybase devices.
Please contact us:
Phone:
Wechat: 13811580958
QQ: 289965371 联系我们获取数据库技术支持!
Email: 289965371@qq.com
扫描下方微信,联系我们:
扫描雨翰数据恢复官方微信获取专业数据库恢复服务

 

随着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数据库技术问题需要咨询,请联系我!

  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_configure ‘enable semantic partitioning’, 1

循环分区始终可用,它不受 enable semantic partitioning 值的影响。


启用语义分区命令可执行常用的管理和维护操作,如:

创建和截断表 — create tabletruncate table

改变表以更改锁定或修改方案 — alter table

创建索引 — create index

更新统计信息 — update statistics

重组表页以符合聚簇索引并充分利用空间 — reorg rebuild


对磁盘进行分区


在对表或索引进行分区之前,必须准备好磁盘设备和段或要用于分区的 其它存储设备。

可以为一个段分配多个分区,但一个分区只能分配给一个段。通过给每 个段分配一个分区,并将设备绑定到各个段,可确保最大限度地利用并 行和分的优势。

分区任务的一般顺序如下:

1 使用 disk init 初始化新的数据库设备。 disk init 会将物理磁盘设备或 操作系统文件映射到逻辑数据库设备名。例如:

use master disk init

name ="pubs_dev1",

physname = "SYB_DEV01/pubs_dev", size = "50M"

请参见 《系统管理指南第一卷》中的第 7 章 “初始化数据库设备”。

2 使用 alter database 将新设备分配给包含要分区的表或索引的数据库。 例如:

use master

alter database pubs2 on pubs_dev1

3 (可选)使用 sp_addsegment 在数据库中定义段。以下示例假定已经 用与创建 pubs_dev1 类似的方法创建了 pubs_dev2pubs_dev3 pubs_dev4

use pubs2

sp_addsegment seg1, pubs2, pubs_dev1 sp_addsegment seg2, pubs2, pubs_dev2 sp_addsegment seg3, pubs2, pubs_dev3 sp_addsegment seg4, pubs2, pubs_dev4


4 从要分区的表中删除所有索引。例如:

use pubs2

drop index salesdetail.titleidind, salesdetail.salesdetailind

5 使用 sp_dboption 将表或索引数据成批复制到新分区中。例如:

use master

sp_dboption pubs2,"select into", true

6 使用 alter table 对表进行重新分区,或使用 create table 创建一个新的 分区表;使用 create index 创建一个新的分区索引;或使用 select into 根据现有表创建一个新的分区表。

例如,对 pubs2 中的 salesdetail 表进行重新分区:

use pubs2

alter table salesdetail partition by range (qty) (smsales values <= (1000) on seg1,

medsales values <= (5000) on seg2, lgsales values <= (10000) on seg3)

7 在分区表上重新创建索引。例如,在 salesdetail 表上:

use pubs2

create nonclustered index titleidind on salesdetail (title_id)

create nonclustered index salesdetailind on salesdetail (stor_id)


创建数据分区


本节介绍如何使用 create table 创建域、散列、列表和循环分区表。请参 见 《参考手册:命令》。


创建域分区表


以下示例创建一个名为 fictionsales 的域分区表;它有四个分区,每个分 区与一年中的一个季度相对应。为了获得最佳性能,每个分区分别驻留 在一个段上:

create table fictionsales (store_id int not null, order_num int not null, date datetime not null)

partition by range (date)


(q1 values <= ( 3/31/2004) on seg1, q2 values <= ( 6/30/2004) on seg2, q3 values <= ( 9/30/2004) on seg3, q4 values <= ( 12/31/2004) on seg4)

分区键列是 dateq1 分区驻留在 seg1 上,包含 date 值到 3/31/2004 的所 有行。q2 分区驻留在 seg2 上,包含日期值从 4/1/2004 6/30/2004 的所 有行。 q3 q4 也是按类似的方式进行分区。

如果尝试插入晚于 “12/31/2004”的 date 值,则会出现错误且插入失败。 这样,通过限制可插入到表中的行,域条件可充当表的检查约束。

若要确保包含所有的值 (最大可达到数据类型的最大值),请使用 MAX

关键字作为最后创建的分区的上限。例如:

create table pb_fictionsales (store_id int not null, order_num int not null, date datetime not null)

partition by range (order_num) (low values <= (1000) on seg1, mid values <= (5000) on seg2, high values <= (MAX) on seg3)


对域分区表的分区键和边界值的限制

分区边界必须依照分区创建顺序按升序排列。也就是说,第二个分区的 上限必须高于第一个分区的上限,依此类推。

此外,分区边界值必须与对应的分区键列的数据类型兼容。例如, varchar char 兼容。如果边界值的数据类型与其对应的分区键列的数据 类型不同, Adaptive Server 会将该边界值转换为相应分区键列的数据类 型,但以下情况例外:

不允许显式转换。以下示例尝试执行从 varchar int 的非法转换。

create table employees(emp_names varchar(20)) partition by range(emp_name)

(p1 values <=(1), p2 values <= (10))

不允许进行导致数据丢失的隐式转换。在以下示例中,如果 Adaptive Server 将边界值转换为 integer 值,则舍入假定可能会导致 数据丢失。分区边界与分区键的数据类型不兼容。

create table emp_id (id int) partition by range(id)

(p1 values <= (10.5), p2 values <= (100.5))


在以下示例中,分区边界与分区键的数据类型兼容。 Adaptive Server 直接将边界值转换为 float 值。不需要舍入,因而支持转换。

create table id_emp (id float) partition by range(id)

(p1 values <= (10), p2 values <= (100))

不允许从非二进制数据类型转换为二进制数据类型。不允许进行此 转换的示例如下所示:

create table newemp (name binary) partition by range(name)

(p1 values <= ( Maarten), p2 values <= ( Zymmerman))


创建散列分区表


以下示例创建一个具有三个散列分区的表:

create table mysalesdetail (store_id char(4) not null, ord_num varchar(20) not null,

title_id tid not null, qty smallint not null, discount float not null)

partition by hash (ord_num)

(p1 on seg1, p2 on seg2, p3 on seg3)

散列分区表很容易创建和维护。 Adaptive Server 会选择散列函数并尝试 在分区之间平均分配行。

利用散列分区,可保证所有行都属于某一分区。不存在插入和更新无法 找到分区的情况,而域或列表分区表可能会出现这种情况。


创建列表分区表


列表分区控制各行映射到特定分区的方式。列表分区没有顺序,因而对 于较小的基数值很有用。每个分区值列表必须至少有一个值,而任何值 都不能现在多个列表中。

以下示例创建一个具有两个列表分区的表:

create table my_publishers (pub_id char(4) not null, pub_name varchar(40) null, city varchar(20) null, state char(2) null)


partition by list (state)

(west values (‘CA’, ‘OR’, ‘WA’) on seg1, east value ( ‘NY’, ‘NJ’) on seg2)

如果尝试用 state 列中不是列表所提供的值插入行,则会失败。类似地, 如果尝试用不是列表所提供的键列值更新现有行,也会失败。与域分区 表一样,每个列表中的值充当对整个表的检查约束。


创建循环分区表


此分区策略不使用任何分区标准,因此是随机的。循环分区表没有分 区键。

以下示例指定循环分区:

create table currentpublishers (pub_id char(4) not null, pub_name varchar(40) null, city varchar(20) null,

state char(2) null)

partition by roundrobin 3 on (seg1)

所有面向分区的实用程序和管理任务都可用于循环分区表,无论是否已 授权或配置语义分区。


创建分区索引


本节介绍如何使用 create index 创建分区索引。请参见 《参考手册: 命令》。

可以在串行或并行模式下创建索引,但只能在并行模式下在循环分区表 上创建全局索引。请参见 Performance and Tuning Series: Query Processing and Abstract Plans (《性能和调优系列:查询处理和抽象计划》)中的 第 7 章 “控制优化”。


创建全局索引


只能为循环分区表创建全局聚簇索引。 Adaptive Server 支持所有类型分 区表上的全局未分区非聚簇索引。

可以使用 Adaptive Server 版本 12.5.x 和更早版本所支持的语法,在分区 表上创建聚簇和非聚簇全局索引。


创建全局索引 在分区表上创建索引时,如果您执行以下操作, Adaptive Server 会自动 创建全局索引:

在任意分区表上创建非聚簇索引,并且未包含 local index 关键字。 例如,在散列分区表 mysalesdetail (详见 357 页的 “创建散列分 区表 )上输入:

create nonclustered index ord_idx on mysalesdetail (au_id)

在循环分区表上创建聚簇索引,并且未包含 local index 关键字。例 如,在 currentpublishers 表 (详见 358 页的 “创建循环分区表 ) 上输入:

create clustered index pub_idx on currentpublishers


创建本地索引


Adaptive Server 支持所有类型分区表上的本地聚簇索引和本地非聚簇索 引。本地索引继承基表的分区类型、分区列和分区边界。

对于域、散列和列表分区表,无论 create index 语句中是否包含关键字

local indexAdaptive Server 始终会创建本地聚簇索引。

以下示例在分区表 mysalesdetail (请参见 357 页的 “创建散列分区 表 )上创建本地聚簇索引。在聚簇索引中,索引行的物理顺序必须与 数据行的相同;只能为每个表创建一个聚簇索引。

create clustered index clust_idx

on mysalesdetail(ord_num) local index

以下示例在分区表 mysalesdetail 上创建本地非聚簇索引。由 title_id 对该 索引进行分区。可以为每个表创建多达 249 个非聚簇索引。

create nonclustered index nonclust_idx on mysalesdetail(title_id)

local index p1 on seg1, p2 on seg2, p3 on seg3


在已分区表上创建聚簇索引

可以在以下情况下在分区表上创建聚簇索引:

select into/bulkcopy/pllsort 数据库选项设置为 true,并且

可用的工作线程数与分区数同样多。


image

注释 在循环分区表上创建全局索引之前,请确保服务器配置为并行 运行。

image


为了加快恢复过程,应在创建聚簇索引之后转储数据库。 在已分区表上创建聚簇索引之前,可与系统管理员或数据库所有者联系。


从现有表创建分区表

若要从现有表创建分区表,请使用 select into 命令。可以使用带有 into_clause select 创建域、散列、列表或循环分区表。从中进行选择 的表可以是分区或未分区的。请参见 《参考手册:命令》。


image

注释 在应用程序中,可以使用带有 into_clause select tempdb 中创 建临时分区表。

image


例如,若要从 salesdetail 表创建分区表 sales_report,请输入:

select * into sales_report partition by range (qty) (smallorder values <= (500) on seg1,

bigorder values <= (5000) on seg2) from salesdetail




--------------------------------------华丽的分割线-------------------------------------------------------------------------

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)上提取数据的非常规恢复工具
  1. 适用于所有的SQL Anywhere版本    包括:5.x,6.x,7.x,8.x,9.x,10.x,11.x,12.x,16.x,17.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使用介绍

Sybase SQL Anywhere数据库恢复工具ReadASADB适用场景

各种误操作:

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

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的主要功能:

  1. 被勒索病毒加密数据文件及备份文件情况下的恢复;
  2. 系统崩溃只剩下数据文件的情况下的恢复,甚至数据库文件不存在而只有损坏的备份文件情况下的恢复;
  3. 因断电、硬盘坏道等造成数据库文件损坏情况下的恢复;
  4. delete数据恢复、误update数据恢复、误删除表(drop)恢复、误truncate表恢复 等;
  5. 各种Sybase内部系统表损坏、索引错误的修复;
  6. master数据库损坏而无法正常运行情况下的恢复;
  7. Sybase数据库被标记为可疑,不可用等情况的恢复;
  8. Sybase数据库中数据文件内部出现坏块情况下的恢复;
  9. Sybase数据库无数据文件但有日志文件的情况下的恢复;
  10. Sybase数据库只有数据文件无任何日志文件的情况下的恢复;
  11. Sybase数据文件被误删除情况下的碎片提取恢复;
  12. 磁盘阵列上的Sybase数据库被误格式化情况下的数据库恢复;
  13. 数据库sysobjects等系统表损坏无法正常应用情况下的恢复;
  14. Sybase数据库还原数据库出现失败情况下的恢复;
  15. 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.x


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

SQL Server数据库恢复工具SQLRescue:

一个不依赖数据库管理系统、直接从SQL Server数据库文件上提取数据的业内领先的恢复工具!
能够从损坏的SQL Server数据库文件(.mdf)上提取数据的非常规恢复工具。

SQL Server数据库恢复工具SQLRescue的主要功能:

  1. 系统崩溃只剩下数据文件的情况下的恢复,即无日志文件或者日志文件损坏情况下的恢复;
  2. 断电导致数据库文件损坏情况下的恢复;
  3. 硬盘坏道造成数据库损坏情况下的恢复;
  4. 数据文件内部存在坏页情况下的恢复;
  5. 企业管理器误删除数据表记录,管理软件误删除数据表记录的恢复;
  6. 并闩锁错误、格式化、误删除后导致软件不能使用的情况;
  7. 无法读取并闩锁页sysindexes失败情况下的修复;
  8. 数据文件被误删除情况下的碎片提取恢复;
  9. 系统表损坏、索引错误、误删除数据库表、删除记录的数据找回;
  10. master数据库损坏而无法正常运行情况下的恢复;
  11. 数据文件无法附加情况下的数据恢复;
  12. 数据库被标记为可疑,质疑,不可用等情况的恢复;
  13. 数据库sysobjects等系统表损坏情况下的恢复;
  14. 数据被误(drop、delete、truncate)删除表数据的恢复,误update后的数据恢复等;
  15. 还原时报一致性错误,错误823等情况下的数据恢复,各种错误提示的数据库文件修复;
  16. 数据库被误格式化等情况下的数据库恢复;
  17. 日志收缩造成数据库损坏情况下的恢复;
  18. 仅剩损坏的备份文件情况下的恢复。

SQL Server数据库恢复工具SQLRescue技术特点:

只要SQL Server数据库的数据文件存在,我们就有办法帮您从数据文件中找回重要数据。
  1. 从数据文件中直接恢复数据
  2. 不能附加时直接恢复数据并生成新的数据库
  3. 系统表损坏的数据库修复
  4. 快速修复SQL 823错误、连接中断错误

SQL Server数据库恢复工具SQLRescue支持的版本:

Microsoft SQL Server 7.0, 2000, 2005, 2008, 2008R2, 2012, 2014, 2016, 2017,2019。
+-------------------------------------华丽的分割线-------------------------------------------------------------------------