随着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
- 安全性管理指南
- 实用程序指南
disk init
说明 使物理设备或文件可供 Adaptive Server 使用。
语法 disk init
name = "device_name",
physname = { 'physical_name' | 'cache_name'} skip_alloc={true | false},
[vdevno = virtual_device_number,] size = number_of_blocks
[, type = 'inmemory' ]
[, vstart = virtual_address
, cntrltype = controller_number] [, dsync = {true | false}]
[, directio = {true | false}]
[, instance = " instance_name"]
参数 device_name
是数据库设备名或文件名。此名称必须遵循标识符规则并用单引号或 双引号引起来。此名称用于 create database 和 alter database 命令。
physical_name 是数据库设备或高速缓存的全名。此名称必须用单引号或双引号引起 来。当物理设备路径为相对路径时, disk init 返回警告。
cache_name
在其中创建磁盘的高速缓存的名称。
inmemory
指示您正在创建内存设备。
skip_alloc
disk init 命令的布尔参数。在非 Windows 文件系统和 Windows 原始系 统上创建的设备支持该参数。当 skip_alloc 设置为 true 时,用户可以 避免用零初始化页。 skip_alloc 的缺省值为 false。
vdevno
是虚拟设备号,它在与 Adaptive Server 关联的数据库设备中必须是唯 一的。设备号 0 是为主设备保留的。否则,有效设备号必须在 1 和
2,147,483,647 之间。
若要确定虚拟设备号,请查看 sp_helpdevice 报告的 device_number 列, 并使用下一未用整数。
size
为分配给新设备的空间量。以下是示例单位指示符,交替使用了大 写、小写以及单引号和双引号:“k”或 “K”(千字节)、“m”或 “M”(兆字节)、“g”或 “G”(千兆字节)以及 “t”或 “T”
(兆兆字节)。 Sybase 建议始终包括单位指示符。如果不包括单位指 示符,则引号是可选的。不过,如果包括单位指示符,则必须使用引 号。可接受的值有:
• 5120 = 10MB
• "5120" = 10MB
• "10M" = 10MB
vstart
是供 Adaptive Server 开始使用数据库设备的起始虚拟地址,即偏移 量。以下是示例单位指示符,交替使用了大写、小写以及单引号和双 引号:“k”或 “K”(千字节)、“m”或 “M”(兆字节)、“g” 或 “G”(千兆字节)以及 “t”或 “T”(兆兆字节)。 Sybase 建议 始终包括单位指示符。如果不包括单位指示符,则引号是可选的。不 过,如果包括单位指示符,则必须使用引号。
偏移的大小取决于输入 vstart 值的方式。
• 如果未指定单位大小,则 vstart 将使用 2K 页作为其起始地址。例 如,如果指定 vstart = 13,则 Adaptive Server 使用 13 * 2K 页作 为起始地址的偏移量。
• 如果指定了单位值,vstart 就将该单位值用作起始地址。例如,如 果指定 vstart = "13M",则 Adaptive Server 将起始地址的偏移量 设置为 13MB。
vstart 的缺省值 (通常为首选值)为 0。如果指定设备中的块数达不 到可用的 vstart + size 的块数之和,则 disk init 命令将失败。如果在 AIX 操作系统上运行逻辑卷管理器,则 vstart 应为 2。除非有 Sybase 技术支持部门的指导,否则不要指定 vstart。
cntrltype
指定磁盘控制器。其缺省值为 0。除非有 Sybase 技术支持部门的指 导,否则不要重新设置 cntrltype。
dsync
指定对数据库设备的写入操作是刷新到存储介质中,还是仅在使用操 作系统文件时放入缓冲区。本选项只在初始化操作系统文件时才有意 义;初始化原始分区上的设备时不起作用。缺省情况下,所有操作系 统文件都通过将 dsync 设置为 true 进行初始化。
directio
允许您将 Adaptive Server 配置为跳过操作系统缓冲区高速缓存,直接 将数据传输到磁盘。 directio 为静态参数,需要重新启动 Adaptive Server 才能生效。
缺省情况下,directio 对于非集群 Adaptive Server 设置为 false,对于集 群 Adaptive Server 设置为 true。
对于原始设备,将忽略 directio 参数。
instance = "instance_name"
(仅限于集群)将设备指定为私有,将其拥有实例设置为
instance_name。
示例 示例 1 不用零初始化页:
disk init name="d2", physname="/usr/sybase/devices/d3.dat", skip_alloc="true",
size="10G"
如果 skip_alloc 设置为 true, Adaptive Server 在磁盘初始化期间将不分配 空间。
示例 2 在 UNIX 系统上初始化 10MB 的磁盘:
disk init
name = "user_disk", physname = "/dev/rxy1a", vdevno = 2, size = 5120
示例 3 在 UNIX 操作系统文件上初始化 10MB 的磁盘。Adaptive Server 使 用 dsync 设置打开设备文件,并确保对文件的写入操作直接在存储介质 上进行:
disk init
name = "user_file",
physname = "/usr/u/sybase/data/userfile1.dat", vdevno = 2, size = 5120, dsync = true
示例 4 创建名为 “user_disk”的设备,并且该设备使用 directio 直接将数 据写入磁盘:
disk init
name = "user_disk",
physname = "/usr/u/sybase/data/userfile1.dat", size = 5120,
directio= true
示例 5 创建名为 inmemory_dev 的设备:
disk init name = inmemory_dev, physname = 'imdb_cache',
size = '3G',
type = 'inmemory'
用法 • Sybase 建议您只在 HP-UX、Windows 和 Linux 平台上将块设备用作 数据库设备。如果尝试在 Sybase 建议不要使用块设备的平台上创建 块设备, disk init 和 disk reinit 将显示警告消息。
• 使用 skip_alloc 可加速非 NT 文件系统和 NT 原始系统的崩溃恢复。 而且,将 skip_alloc 与 directio 功能结合使用还可以更快速地创建设 备,并可改进更新的持久性。无论空间可用性如何, skip_alloc 总是 输出一条警告消息,指出要确保 Adaptive Server 具有所需的空间以 供以后使用。
• 主设备是由安装程序初始化的;您不需要用 disk init 初始化此设备。
• 使用 disk init 创建的设备有权限限制。
• 若要成功地完成磁盘初始化,“sybase”用户必须对将要被初始化 的设备拥有相应的操作系统权限。
• 可将 size 指定为浮点型,但会被下舍至最接近的 2K 的倍数。
• 如果不对 size 使用单位指示符,则 disk init 将使用 2K 的虚拟页大 小。
• 您可用 disk init 进行初始化的磁盘区段的最小大小是以下两者中的较 大者:
• 一兆字节
• 服务器的逻辑页大小的一个分配单元
• directio 和 dsync 互斥。如果某台设备的 dsync 已设置为 true,则不能 将此设备的 directio 设置为 true。若要为设备启用 directio,您必须先 将 dsync 重置为 false。
• directio 并非在所有平台上都可用。如果在不支持该参数的平台上发 出带有 directio 参数的 disk init,Adaptive Server 将发出消息 No such parameter:'directio'。
• 对每个新的数据库设备使用 disk init。每次发出 disk init 时,都会向 master..sysdevices 添加一行。新的数据库设备不会自动成为缺省数据 库存储池的一部分。使用 sp_diskdefault 为数据库设备指派缺省状态。
• 每次使用 disk init 之后请用 dump database 或 dump transaction 命令备 份 master 数据库。这使得在 master 损坏的情况下能够更容易和安全 地进行恢复。如果用 disk init 添加了设备且备份 master 失败,则您可 以用 disk reinit 恢复更改,然后停止并重新启动 Adaptive Server。
• 使用 create database 或 alter database 命令的 on 子句为数据库设备分 配用户数据库。
• 将数据库的事务日志 (系统表 syslogs )放置在与存储其它数据库的 设备不同的设备上的首选方法是对 create database 使用 log on 扩展。 或者,您可以在创建数据库时指定至少两个设备,然后执行 sp_logdevice 。您还可以用 alter database 将数据库扩展到另外的设备 上,然后运行 sp_logdevice。 log on 扩展会立即将整个日志移动到单 独的设备上。 sp_logdevice 方法在原来的设备上保留一部分系统日 志,直到事务活动使得迁移完成。
• 若要获取系统上的所有 Adaptive Server 设备 (数据库及转储设备) 的报告,请执行 sp_helpdevice。
• 使用 sp_dropdevice 删除数据库设备。必须先删除设备上的所有现有 数据库。
使用 dsync
注释 对于存储关键数据的任何设备,不要将 dsync 设置为 false。唯一 的例外是 tempdb,它可以安全地存储在 dsync 设置为 false 的设备上。
• (仅限 UNIX)在原始设备上,不能进行以下操作:
• 将 directio 或 dsync 设置为 true
• 通过 sp_deviceattr 存储过程将 directio 或 dsync 设置为 true。 注释 对于 HPUX,只有 dsync 选项适用。
这样做将会返回类似以下的消息:
You cannot set option dsync for raw device 'dev/raw/raw235'
或
You cannot set attribute dsync for raw device 'myrawdisk1'
• 当 dsync 打开时,可确保在物理存储介质上进行对数据库设备的写 入操作,并且 Adaptive Server 可以在出现系统故障时恢复设备上的 数据。
• 当 dsync 关闭时,UNIX 文件系统可能会对数据库设备的写入进行缓 冲。即使尚未修改物理介质, UNIX 文件系统仍可能将更新标记为 已经完成。出现系统故障时,不能保证物理介质上已进行数据更 新,并且 Adaptive Server 可能无法恢复数据库。
• 对于主设备文件, dsync 始终处于打开状态。
• 仅在出现系统故障后无需恢复设备上的数据库时,关闭 dsync 值。 例如,对于只存储 tempdb 数据库的设备,可以考虑将 dsync 关闭。
• Adaptive Server 会忽略存储在原始分区上的设备的 dsync 设置 确保在 物理存储介质上进行对这些设备的写入操作,无论怎样设置 dsync。
• disk reinit 确保在 master 数据库已损坏或者上次转储 master 之后又添 加了设备时, master..sysdevices 仍然是正确的。
为内存数据库和宽松持久性数据库创建设备
• 内存设备的逻辑名不能与创建设备所在的高速缓存的名称相同。
• 内存设备将保留用于您指派的第一个内存数据库。
• 必须使用物理设备名作为内存设备的逻辑名。
• 内存设备的逻辑名必须在所有设备中唯一。
• 您不能:
• 在创建内存设备时使用以下参数:vstart、 cntrltype、 dsync、 directio 和 skip_alloc。
• 创建的内存设备比所在的高速缓存大。
• 从常规命名高速缓存 (包括缺省数据高速缓存)中创建内存设 备。
• 创建内存设备后增大其大小。但是,可以使用 sp_cacheconfig 增 大内存高速缓存的大小,以及使用 disk init 创建新内存设备。
• 对内存设备使用以下命令:disk resize、disk mirror、disk remirror、 disk unmirror、 disk refit 和 disk reinit。
• 将 sp_deviceattr 和 sp_diskdefault 系统过程用于磁盘设备。
标准 符合 ANSI SQL 的级别Transact-SQL 扩展。
权限 对 disk init 的权限检查因您的细化权限设置而异。必须使用 master 数据 库才能使用 disk init。
细化权限已启用 在启用细化权限的情况下,您必须是具有 manage disk 特权的用户。 细化权限已禁用 在禁用细化权限的情况下,您必须是具有 sa_role 的用户。
disk init 权限不能移交。
审计 sysaudits 的 event 和 extrainfo 列中的值如下:
事件 |
审计选项 |
审计的命令或访问权限 |
extrainfo 中的信息 |
20 |
disk |
disk init |
• 角色 – 当前活动角色 |
• 关键字或选项 – disk init |
|||
• 先前值 – NULL |
|||
• 当前值 – NULL |
|||
• 其它信息 – 磁盘名称 |
|||
• 代理信息 – set proxy 有效时的初始登录名 |
另请参见 命令 alter database, create database, disk refit, disk reinit, dump database, dump transaction, load database, load transaction.
系统过程 sp_diskdefault, sp_dropdevice, sp_helpdevice, sp_logdevice.
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。+-------------------------------------华丽的分割线-------------------------------------------------------------------------