您好,欢迎访问三七文档
数据库系统管理:AdaptiveServerEnterprise12.5设备尹海宁高级顾问SybaseSoftware(China)Shanghaihyin@sybase.com©1999Sybase,Inc.anditssubsidiaries.Allrightsreserved.6-1单元概要AdaptiveServer通过一个称为设备的机制来分配数据库资源。在创建数据库之前,它所在的设备必须先初始化。目标完成本单元学习后,应该能够:初始化和删除设备;把设备变为缺省设备;镜像设备;创建和修改设备后备份master数据库。©1999Sybase,Inc.anditssubsidiaries.Allrightsreserved.6-2单元提要创建和删除设备缺省设备镜像设备备份master数据库©1999Sybase,Inc.anditssubsidiaries.Allrightsreserved.6-3设备数据库设备是一个物理资源,用它来存放数据库中的对象。术语“设备”并不需要指一个独立的物理设备。它可为一片磁盘,例如一个磁盘分区。它可为操作系统的一个文件。©1999Sybase,Inc.anditssubsidiaries.Allrightsreserved.6-4设备类型安装设master设备该设备初始时存放master,model,tempdb,和sybsystemdb系统数据库。除了master数据库外,所有其它数据库都可移出或扩展出master设备。设备,它存放sybsystemprocs数据库。用户定义数据库设备这些设备存放用户数据库。这些设备可存放除master外的其它系统数据库。转储设备这些设备存放数据库和日志的备份。©1999Sybase,Inc.anditssubsidiaries.Allrightsreserved.6-5物理硬盘类型可从两种物理存储类型创建一个设备:裸盘分区;操作系统文件。最合适的选择依赖于:使用的ASE版本;ASE运行的平台。©1999Sybase,Inc.anditssubsidiaries.Allrightsreserved.6-6裸分区服务器在磁盘初始化时就预分配了空间,这样创建数据库时就不容易失败。操作系统文件服务器在磁盘初始化时不预分配空间。由于没有预分配空间,在创建数据库时可能由于空间不够而失败。物理硬盘话题:ASE11.9.2和以前版本©1999Sybase,Inc.anditssubsidiaries.Allrightsreserved.6-7物理硬盘话题:ASE11.9.2和以前版本在UNIX上,设备的完整性无法保证。写到文件的数据要先写到UNIX文件系统缓冲区。在一些失败情况下,服务器不能保证恢复缓冲区中数据。所以,在UNIX上推荐使用裸设备。在NT上没有物理磁盘类型建议。©1999Sybase,Inc.anditssubsidiaries.Allrightsreserved.6-8物理硬盘话题:ASE12.5裸分区服务器在磁盘初始化时就预分配了空间,这样创建数据库时就不容易失败。操作系统文件服务器在磁盘初始化时就预分配了空间,这样创建数据库时就不容易失败。写盘操作在两个平台上都保证。性能通常较好。文件系统设备能够使用文件大缓存。查询文件系统设备通常性能好。所需页即使不能在Sybase缓存中也可能在文件系统缓存中找到。文件系统容易管理。所以,推荐使用文件系统。©1999Sybase,Inc.anditssubsidiaries.Allrightsreserved.6-9初始化设备设备初始化是设备准备存储并使服务器知道它的过程。设备在使用前必须初始化。一旦设备完成初始化后,就能用于存储:数据库;指定数据库对象;数据库事务日志。设备初始化使用diskinit命令。把指定的物理磁盘设备或操作系统文件映射到一个数据库设备名。新设备列在master..sysdevices中。该设备准备存放数据库。只有系统管理员能执行diskinit。©1999Sybase,Inc.anditssubsidiaries.Allrightsreserved.6-10分配单元diskinit将数据库设备分成分配单元。每个分配单元由256个2K的页组成。(等于1/2MB内存容量)每一分配单元的首页是分配页。即便在分配单元上,此页仍包含有关数据库的信息。©1999Sybase,Inc.anditssubsidiaries.Allrightsreserved.6-11diskinit语法语法:diskinitname=logical_device_name,physname=physical_name,vdevno=virtual_device_number,size=number_of_pages[,dsync={true|false}]UNIX例子:diskinitname=dev_dat_2,physname=/dev/rxyla,vdevno=2,size=5120©1999Sybase,Inc.anditssubsidiaries.Allrightsreserved.6-12diskinit语法NT例子:diskinitname=dev_dat_2,physname=d:\devices\userdisk.dat,vdevno=2,size=5120©1999Sybase,Inc.anditssubsidiaries.Allrightsreserved.6-13虚拟设备号虚拟设备号是在diskinit命令中赋给vdevno的值。可使用从2到(numberofdevices配置值-1)没有使用的任何数字。masterdevice设备使用vdevno值为0。sybprocsdev设备使用vdevno值为1。©1999Sybase,Inc.anditssubsidiaries.Allrightsreserved.6-14选择虚拟设备号sp_helpdevice列出所有正在使用的vdevno号。下面查询返回正在使用vdevno的最大值:selectmax(low/16777216)fromsysdevices每个设备最多有16,777,216个虚拟页。masterdevice设备使用0到16,777,216。sybprocsdevdevice设备使用16,777,217到33,554,431。下个设备使用33,554,432到50,331,647。sysdevices表中的列low记录了该设备使用的最低虚拟页号。所以(low/16,777,216)返回该设备的vdevno值。这在创建设备的脚本中有用。©1999Sybase,Inc.anditssubsidiaries.Allrightsreserved.6-15dsync子句dsync子句决定如何向UNIX操作系统文件设备上写数据。当设为TRUE时:直接写到磁盘上。保证完全恢复。当设为FALSE时:写盘要通过UNIX文件缓冲区。不能保证完全恢复。如果没有指定dsync值,该值设为TRUE。当使用UNIX裸设备和NT设备时,不考虑dsync值。©1999Sybase,Inc.anditssubsidiaries.Allrightsreserved.6-16删除设备语法:sp_dropdevicelogical_device_name例子:sp_dropdevicedev_dat_2删除设备。当需要改变、修理或增加硬件时;当需要改变设备大小时。为了达到该目的,删除然后重建该设备。一旦设备被删除,它的vdevno值就释放出来了。在删除设备前,必须先把该设备上所有的数据库移开。sp_dropdevice并不从操作系统中删除设备文件(它必须手工删除)。©1999Sybase,Inc.anditssubsidiaries.Allrightsreserved.6-17查看设备信息语法:sp_helpdevice[logical_device_name]带一个设备名,它返回该设备信息;不带设备名,它返回所有设备信息。例子:sp_helpdevicedev_dat_2device_namephysical_namedescription-----------------------------------dev_dat_2d:\Sybase\userdisk.datspecial,dsyncon,physicaldisk,10.00MBstatuscntrltypedevice_numberlowhigh---------------------------------------------1638607117440512117445631©1999Sybase,Inc.anditssubsidiaries.Allrightsreserved.6-18sysdevices系统表sysdevices是记录每个设备的系统表。它只在master数据库中。例子:select*fromsysdevices©1999Sybase,Inc.anditssubsidiaries.Allrightsreserved.6-19开发习惯建议要确认命令diskinit执行成功。确认有足够的磁盘剩余空间。在UNIX上,执行df-k命令。在WindowsNT上,查看磁盘的属性。在UNIX上,确认sybase帐户在该设备上有写权限。使用有意义的设备名。创建和保存你的设备分配脚本。将sysdevices系统表作一个硬拷贝。该硬拷贝为物理设备与逻辑设备的映射。©1999Sybase,Inc.anditssubsidiaries.Allrightsreserved.6-20动手练习06A:初始化设备除非特别指定,否则每个方标语句都在自己的批中执行。转到master数据库:usemaster正在使用的虚拟设备号最大是多少?selectmax(low/16777216)fromsysdevices________________________________________________初始化一个新设备。对应vdevno值,使用最大虚拟设备号加1:©1999Sybase,Inc.anditssubsidiaries.Allrightsreserved.6-21动手练习06A:初始化设备diskinitname=dev_dat_temp,physname=device_path_1,vdevno=highest_vdevno_plus_one,size=5120确认设备已创建好:sp_helpdevicedev_dat_tempdiskinit命令指定设备大小为5120,但sp_helpdevice报告设备大小为10MB。两个数为什么不同?©1999Sybase,Inc.anditssubsidiaries.Allrightsreserved.6-22动手练习06A:初始化设备______________________________________________正在使用的最大虚拟设备号是多少?selectmax(low/16777216)fromsysdevices删除已创建的设备:sp_dropdevicedev_dat_temp正在使用的最大虚拟设备号是多少?selectmax(low/16777216)fromsysdevices©1999Sybase,Inc.anditssubsidiaries.Allrightsreserved.6-23单元提要创建和删除设备缺省设备镜像设备备份master数据库©1999Sybase,Inc.anditssubsidiaries.Allrightsreserved.6-24缺省设备
本文标题:设备
链接地址:https://www.777doc.com/doc-1307934 .html