一、Sybase ASE存储管理:
1.初始化数据库设备:
数据库设备: 用于存放数据库及其对象的物理磁盘空间,其可以是操作(文件)系统的文件,也可以是裸设备、硬盘分区等。
在ASE中,数据存取的基本单位是“页”(Page),每页的尺寸可能为2KB、4KB、8KB、16KB。
初始化数据库设备,就是对数据库将要占用的磁盘空间进行重新划分(划分为若干个分配单元,每个分配单元由256个“页”组成(0-255,256-511,...),并将每个分配单元上的第一“页”设置为分配页,该页将包含本分配单元中数据库对象的信息),并存入特定的ASE信息。
在ASE中可以使用disk init命令初始化数据库设备:
1> disk init name='Device_Name',
2> physname='Physical_Name',vdevno=Virtual_Device_Number,size=Number_of_Pages
3> go
vdevno: 数据库设备号(唯一)。初始安装ASE(15)时,系统会默认占用三个设备号0、1和2。
--查看当前已使用的设备及设备号(sysdevices,sp_helpdevice [数据库设备逻辑名]):
1> select status,cntrltype,name,phyname,mirrorname,vdevno,crdate,resizedate
2> from sysdevices
3> go → [USE master]
设备的容量以页为单位,每页大小为2KB到16KB,每个设备的容量最小为512页。如果数据库采用2KB的页,则每个设备的最小容量为512*2KB,即1MB。
vdevno:0 → Device_Name:master ← db:[master|model|tempdb].
vdevno:1 → Device_Name:sysprocsdev ← db:sybsystemprocs.
2.数据库默认设备:
3.镜像数据库设备:
镜像数据库设备(实时复制,数据库设备损害,自动切换不间断)
数据库设备 读操作只对原设备进行 写操作对两者都进行
设备镜像的过程: (1)镜像设备的准备。(2)进行原设备、镜像设备间的数据同步。(3)在sysdevices系统表中修改该设备的status和description列,并记录相应镜像设备的信息。(4)原设备和镜像设备在ASE中作为同一逻辑设备存在。任何时候对原设备的修改都将会反应到镜像设备上。
占用磁盘空间,占用I/O。 → 主设备(master) 日志设备。
在默认情况下,ASE并未启动镜像支持。该功能由一个参数“disable disk mirroring”决定,该参数的值默认为1,即不允许镜像。
1> sp_configure 'disable disk mirroring' → 1> sp_configure 'disable disk mirroring',0
Type → static,重启Adaptive Server后生效。
1> disk mirror name='Device_Name',
2> physname='Physical_Name',writes='Mirror_Write_Type' → ['serial'|'noserial']
3> go
・镜像写入的方式: 可以选择“串行”(Serial,默认值)或“并行”(Parallel)。串行方式可以保证对主/原数据库设备写入完成后再开始对镜像设备的写入,而并行则表示同时写入。
查看镜像信息: sp_helpdevice Device_Name → status,description.
1> disk unmirror name='Device_Name' | 1> disk remirror name='Device_Name'.
如果是自动终止镜像,则一定是ASE检测到镜像中的两个设备文件之一发生了某种I/O错误,这时ASE自动停止镜像,进行如下的处理:(1)维护系统表sysdevices(其中status列的值会被重新设置).(2)禁止使用存在I/O错误的设备,使没有错误的设备变为主设备.(3)在master数据库中执行Checkpoint(检查点).(4)发送一条错误信息到错误日志.