硬盘阵列(RAID)技术详解
对于硬盘的历史发展来说,还有各种硬盘的附加技术,如硬盘数据保护技术和防震技术,以及降噪技术,它们也随着硬盘的发展而不断更新,但一般而言,不同硬盘厂商都有自己的一套硬盘保护技术,如昆腾的数据保护系统DPS、震动保护系统SPS;迈拓的数据保护系统MaxSafe、震动保护系统ShockBlock;西部数据公司的数据保护系统Data SafeGuide(数据卫士)等等。这些保护技术都是在原有技术的基础上推出第二代、第三代……等技术。
此外硬盘的数据缓存也随着硬盘的不断发展而不断增大,早期IDE硬盘的数据缓存只有128KB甚至更小,而那时2MB的数据的只能在高端的SCSI硬盘上看到。当然随着存储技术及高速存储器价格的降低,IDE硬盘的数据缓存增加到了256KB,而接下来就是512KB了,目前主流的IDE硬盘数据缓存则为2MB或8M。
接下来,让我们一起关注RAID(磁盘阵列)。
RAID的英文全称为:Redundant Array of Independent Disks。翻译成中文即为独立磁盘冗余阵列,或简称磁盘阵列。由美国加州大学在1987年开发成功。
RAID的初衷主要是为大型服务器提供高端的存储功能和冗余的数据安全。 我们可以这样来理解,RAID是一种把多块独立的硬盘(物理硬盘)按不同方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据冗余的技术。组成磁盘阵列的不同方式成为RAID级别(RAID Levels)。在用户看起来,组成的磁盘组就像是一个硬盘,用户可以对它进行分区,格式化等等。总之,对磁盘阵列的 *** 作与单个硬盘一模一样。不同的是,磁盘阵列的存储性能要比单个硬盘高很多,而且在很多RAID模式中都有较为完备的相互校检/恢复的措施,甚至是直接相互的镜象备份,从而大大提高了RAID系统的容错度,提高了系统的稳定冗余性,这也是Redundant一词的由来。
不过,所有的RAID系统最大的优点则是“热交换”能力:用户可以取出一个存在缺陷的驱动器,并插入一个新的予以更换。对大多数类型的RAID来说,可以利用镜像或奇偶信息来从剩余的驱动器重建数据不必中断服务器或系统,就可以自动重建某个出现故障的磁盘上的数据。这一点,对服务器用户以及其他高要求的用户是至关重要的。
数据冗余的功能指的是:在用户数据一旦发生损坏后,利用冗余信息可以使损坏数据得以恢复,从而保障了用户数据的安全性。
RAID以前一直是SCSI领域独有的产品,因为它当时的技术与成本也限制了其在低端市场的发展。今天,随着RAID技术的不断成熟与厂商的不断努力,我们已经能够享受到相对成本低廉的多的IDE-RAID系统,虽然稳定与可靠性还不能与SCSI-RAID相比,但它相对于单个硬盘的性能优势对广大玩家是一个不小的诱惑。随着相关设备的拥有成本和使用成本不断下降,这项技术也已获得一般电脑用户的青睐。
RAID技术是一种工业标准,下面我们就一起来对各主要RAID级别做一个大致的了解。
RAID 0
RAID 0又称为Stripe或Striping,中译为集带工作方式。它代表了所有RAID级别中最高的存储性能。RAID 0提高存储性能的原理是把连续的数据分散到多个磁盘上存取。系统传输来的数据,经过RAID控制器通常是平均分配到几个磁盘中,而这一切对于系统来说是完全不用干预的,每个磁盘执行属于它自己的那部分数据请求。这样,系统有数据请求就可以被多个磁盘并行的执行。这种数据上的并行 *** 作可以充分利用总线的带宽,显著提高磁盘整体存取性能。我们可以这样简单的认为:N个硬盘是一个容量为N个硬盘容量之和的“大”硬盘。RAID0的主要工作目的是获得更大的“单个”磁盘容量。另一方面就是多个硬盘同时读取,从而获得更高的存取速度。例如一个由两个硬盘组成的Raid系统中,系统向两个磁盘组成的逻辑硬盘(RADI 0 磁盘组)发出的I/O数据请求被转化为2项 *** 作,其中的每一项 *** 作都对应于一块物理硬盘。通过建立RAID 0,原先顺序的数据请求被分散到所有的两块硬盘中同时执行。从理论上讲,两块硬盘的并行 *** 作使同一时间内磁盘读写速度提升了2倍。虽然由于总线带宽等多种因素的影响,实际的提升速率肯定会低于理论值。但是,大量数据并行传输与串行传输比较,提速效果还是非常明显的。
RAID 0最大的缺点是不提供数据冗余,其安全性大大降低,构成阵列的任何一块硬盘的损坏都将带来灾难性的数据损失。
RAID 0具有的特点,使其不适用于关键任务环境,但是,它却非常适合于特别适用于对性能要求较高的视频生产和编辑或图像编辑领域。对个人用户,RAID 0也是提高硬盘存储性能的绝佳选择。
RAID 1
RAID 1又称为Mirror或Mirroring,中译为镜像方式。这种工作方式的出现完全是为了数据安全考虑的,因为在整个镜像的过程中,只有一半的磁盘容量是有效的,因为另一半用来存放同这一半完全一样的数据,也就是数据的冗余了。同RAID0相比,它是另一个极端。RAID0首要考虑的是磁盘的速度和容量,忽略安全;而RAID1首要考虑的是数据的安全性,容量可以减半、速度可以不变。它的宗旨是最大限度的保证用户数据的可用性和可修复性。
RAID 1的 *** 作方式是把用户写入硬盘的数据百分之百地自动复制到另外一个硬盘上。当读取数据时,系统先从RAID 0的源盘读取数据,如果读取数据成功,则系统不去管备份盘上的数据;如果读取源盘数据失败,则系统自动转而读取备份盘上的数据,不会造成用户工作任务的中断。当然,我们应当及时地更换损坏的硬盘并利用备份数据重新建立Mirror,避免备份盘在发生损坏时,造成不可挽回的数据损失。 由于对存储的数据进行百分之百的备份,在所有RAID级别中,RAID 1提供最高的数据安全保障。同样,由于数据的百分之百备份,备份数据占了总存储空间的一半,因而,Mirror的磁盘空间利用率低,存储成本高。
Mirror虽不能提高存储性能,但由于其具有的高数据安全性,使其尤其适用于存放重要数据,如服务器和数据库存储等领域。
RAID 0+1
正如其名字一样RAID 0+1是RAID 0和RAID 1的组合形式,也称为RAID 10。它的出现就是为了达到既高速又安全目的, RAID10也可以简单的理解成两个分别由多个磁盘组成的 RAID0阵列再进行镜像;其实反过来理解也没有错。
以四个磁盘组成的RAID 0+1为例,RAID 0+1是存储性能和数据安全兼顾的方案。它在提供与RAID 1一样的数据安全保障的同时,也提供了与RAID 0近似的存储性能。
由于RAID 0+1也通过数据的100%备份提供数据安全保障,因此RAID 0+1的磁盘空间利用率与RAID 1相同,存储成本高。
构建RAID 0+1阵列的成本投入大,数据空间利用率低。不是种经济高效的磁盘阵列解决方案。但特别适用于既有大量数据需要存取,同时又对数据安全性要求严格的领域,如银行、金融、商业超市、政府各种档案管理等。
RAID 3
RAID 3 采用的是一种较为简单的校验实现方式。将数据做XOR 运算,产生Parity Data后,在将数据和Parity Data以并行存取模式写入一个专门的存放所有校验数据的磁盘中,而在剩余的磁盘中创建带区集分散数据的读写 *** 作。因此具备并行存取模式的优点和缺点。RAID 3所存在的最大一个不足同时也是导致RAID 3很少被人们采用的原因就是校验盘很容易成为整个系统的瓶颈。我们已经知道RAID 3会把数据的写入 *** 作分散到多个磁盘上进行,然而不管是向哪一个数据盘写入数据,都需要同时重写校验盘中的相关信息。因此,对于那些经常需要执行大量写入 *** 作的应用来说,校验盘的负载将会很大,无法满足程序的运行速度,从而导致整个RAID系统性能的下降。RAID 3的并行存取模式,需要RAID 控制器特别功能的支持,才能达到磁盘驱动器同步控制,而且上述写入性能的优点,以目前的Caching 技术,都可以将其取而代之,因此一般认为RAID 3的应用,将逐渐淡出市场。
RAID 4
RAID 4 是采取独立存取模式,它的每一笔传输[Strip]资料较长,而且可以执行Overlapped I/O,因此其读取的性能很好。但是由于使用单一专属的Parity Disk 来存放Parity Data,因此每次写 *** 作都需要访问奇偶盘,就会造成系统很大的瓶颈。RAID 4在商业应用中很少使用
RAID 5
RAID 5 是一种存储性能、数据安全和存储成本兼顾的存储解决方案。
RAID 5也是目前应用最广泛的RAID技术。各块独立硬盘进行条带化分割,相同的条带区进行奇偶校验(异或运算),校验数据平均分布在每块硬盘上。以n块硬盘构建的RAID 5阵列可以有n-1块硬盘的容量,存储空间利用率非常高。RAID 5不对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。当RAID5的任何一块硬盘上的数据丢失,均可以通过校验数据推算出来它和RAI D 3最大的区别在于校验数据是否平均分布到各块硬盘上。RAID 5具有数据安全、读写速度快,空间利用率高等优点,应用非常广泛,但不足之处是如果1块硬盘出现故障以后,整个系统的性能将大大降低。RAID 5可以为系统提供数据安全保障,但保障程度要比Mirror低而磁盘空间利用率要比Mirror高。RAID 5具有和RAID 0相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比对单个磁盘进行写入 *** 作稍慢。同时由于多个数据对应一个奇偶校验信息,RAID 5的磁盘空间利用率要比RAID 1高,存储成本相对较低。
RAID 5模式适合多人多任务的存取频繁,数据量不是很大的环境,例如企业档案服务器、WEB 服务器、在线交易系统、电子商务等等。
RAID 6
RAID 6 与RAID 5相比,增加了第二个独立的奇偶校验信息块。两个独立的奇偶系统使用不同的算法,数据的可靠性非常高。即使两块磁盘同时失效,也不会影响数据的使用。但需要分配给奇偶校验信息更大的磁盘空间,相对于RAID 5有更大的“写损失”。RAID 6 的写性能非常差,较差的性能和复杂的实施使得RAID 6很少使用。
初步判断是数据同步时,B的控制文件被A覆盖了,导致数据库连接不上。
不知道你们架构是怎么样的。
主备两台机器应当公用一台存储,数据库相关的东西应该都在这台存储里面。从A接管到B不会产生什么覆盖的问题,因为文件只有一份,不是A用就是B用。
--完整备份
Backup Database NorthwindCS
To disk='G:\Backup\NorthwindCS_Full_20070908bak'
--差异备份
Backup Database NorthwindCS
To disk='G:\Backup\NorthwindCS_Diff_20070908bak'
With Differential
--日志备份,默认截断日志
Backup Log NorthwindCS
To disk='G:\Backup\NorthwindCS_Log_20070908bak'
--日志备份,不截断日志
Backup Log NorthwindCS
To disk='G:\Backup\NorthwindCS_Log_20070908bak'
With No_Truncate
--截断日志不保留
Backup Log NorthwindCS
With No_Log
--或者
Backup Log NorthwindCS
With Truncate_Only
--截断之后日志文件不会变小
--有必要可以进行收缩
--文件备份
Exec Sp_Helpdb NorthwindCS --查看数据文件
Backup Database NorthwindCS
File='NorthwindCS' --数据文件的逻辑名
To disk='G:\Backup\NorthwindCS_File_20070908bak'
--文件组备份
Exec Sp_Helpdb NorthwindCS --查看数据文件
Backup Database NorthwindCS
FileGroup='Primary' --数据文件的逻辑名
To disk='G:\Backup\NorthwindCS_FileGroup_20070908bak'
With init
--分割备份到多个目标
--恢复的时候不允许丢失任何一个目标
Backup Database NorthwindCS
To disk='G:\Backup\NorthwindCS_Full_1bak'
,disk='G:\Backup\NorthwindCS_Full_2bak'
--镜像备份
--每个目标都是相同的
Backup Database NorthwindCS
To disk='G:\Backup\NorthwindCS_Mirror_1bak'
Mirror
To disk='G:\Backup\NorthwindCS_Mirror_2bak'
With Format --第一次做镜像备份的时候格式化目标
--镜像备份到本地和远程
Backup Database NorthwindCS
To disk='G:\Backup\NorthwindCS_Mirror_1bak'
Mirror
To disk='\\1921681200\Backup\NorthwindCS_Mirror_2bak'
With Format
--每天生成一个备份文件
Declare @Path Nvarchar(2000)
Set @Path ='G:\Backup\NorthwindCS
常用命令oninit
将系统从off-line模式变为on-line模式oninit -iy
(初始化数据库,删除所有dbspace和chunk)oninit -s (
脱机-->静态)onmode -ky offlineonmode -s graceful shutdown-->quiescent(联机到静态,让用户处理完成)
onmode -u
immediate shutdown-->quiescent(联机到静态,所有用户立即终止)
onmode -m
quiescent--->onlineonmode -z sid 删除某session onmode -l 将当前正在使用的逻辑日志下移onmode -c
强制执行检查点 *** 作即onmonitor->force ckpt onstat - 查看服务器状态onstat -d 查看dbspace和chunk情况onstat -l
查看逻辑日志onstat -F 查看写入磁盘的页刷新和类型情况,从共享内存缓冲区向磁盘写入页面有三种方式(fg:前台写 LRU:队列写 chunk:块写)onstat -R
打印LRU队列onstat -p 显示系统的基本I/O与性能配置文件onstat -c 查看onconfig文件onstat -m 查看消息日志onstat -f
查看受DATASKIP影响的dbspaceonstat -x 查看事务onstat -k
显示所有活动的锁onstat -g sub_option 运行多线索选项
onstat -g ses/sql onstat -r <value> 每隔<value>秒后重复选项 onstat -g act
显示系统中所有的活动线索 onstat -g ath -r 2 每隔两秒显示系统中所有的活动的线索 onstat -i 交互方式 >sql>sql sidipcs
查看共享内存情况ipcrm
删除某个共享内存ipcrm -m id ipcrm -s id
Ontape命令:
1)零级(一级或二级)备份$>ontape -s$>ontape -s -L 0$>ontape -s -L 1$>ontape -s -L
2自动备份逻辑日志文件 $>ontape -a
3)连续逻辑日志备份(日志文件写满一个,online系统自动备份一个,你可以插盘磁带到磁带机上,让IDS自动备份。
要占用磁带机)$>ontape -c
4)备份恢复(对应零级备份或一级备份或二级备份)$>ontape -r (详细过程见ontape恢复文挡)
5)备份恢复几个DBSPACE(一定要存在逻辑日志备份,否则物理恢复完后,还是不能用)$>ontape -r -D dbs1 dbs2 。。。
6)配置HDR时使用的物理恢复$>ontape -p
7)修改数据库日志模式$>ontape -s -B db_name 修改为buffer_log 即缓冲日志模式$>ontape -s -U db_name
修改为unbuffer_log 即非缓冲日志模式$>ontape -s -N db_name
修改为无日志模式 数据库不含日志,即不支持事务,对数据库的任何修改都不会记录到逻辑日志中去$>ontape -s -A db_name
修改为ansi logging模式,从个模式无法改到其它模式,因此一般不要用该项。oncheck 命令 oncheck -pe
extendoncheck -ceoncheck -cr reserved pagesoncheck -cd TBLspace data rows including bitmaponcheck -ci
table indexes databases对逻辑日志的 *** 作:以informix用户登录, $ onmode -uy (由Online切换到Quiescent状态,所有用户立即中止)
onmode -m (切换到Online) $ onparams -a -d logdbs -s 100000 其中logdbs为dbspaces 名,-s 100000 表示增加了100M空间。
再连续执行4遍上述命令,这样新的逻辑日志空间总共为500M,可以用 onstat -l 查看逻辑日志情况,接下来就要删除前面3个旧逻辑日志,
删除前做一个0级备份 # ontape -s -L 0 执行该命令做0级备份,建议: 如果允许可以每天在业务系统结束工作
后做一次0级备份,做完备份后管理好备份磁带,做好标记。 $ onparams -d -l logid
logid 为逻辑日志id号,可以用onstat -l 查看,然后就可根据id号删 除3个旧逻辑日志。
将当前正在使用的逻辑日志下移 $onmode -l 三、DBSPACE及数据库导入导出1增加一个新的dbspace:(datadbs,15M, 偏移为0)
onspaces -c -d datadbs -p /home/informix/datadbs -o 0 -s 150002
在datadbs这一个dbspace中增加一个chunk:(datadbs_chunk1)onspaces -a datadbs -p /home/informix/datadbs_chunk1 -o 0 -s 150003将上述chunk删除onspaces -d datadbs -p /home/informix/datadbs_chunk1 -o 0 4删除dbspace(仅当要删除的dbspace空间没有数据时才可删除)onspace -d datadbs 导出数据库: 用dbexport工具将数据卸成文本,并装载到其它服务器上。(1)卸载文本的步骤如下:用informix用户注册 dbexport cleardb -o WORKDIR -ss 当系统提示dbexport completed!数据卸载完毕。其中: -ss 确保数据库的建库信息或建表信息被保留如日志模式、初始extent尺寸、lock mode、表所在dbspace等。 -o 指定存放卸载数据的目录数据存放在目录cleardbexp目录下,其中包含cleardbsql和形如unl的文件,
提示信息存放在dbexportout文件中。
(2)装载文本的步骤如下:用informix用户注册确保数据库处于On_Line状态,服务器上没有同名数据库。
dbimport cleardb -i WORKDIR 当系统dbimport completed!提示数据装载完毕。其中: -i
指定从何处装载。如何在不破坏库本身信息情况下(如行级锁等)将数据库卸载到磁带设备,并装载在其它服务器上?1)
p; 卸载的步骤如下:用DBA用户注册将存放数据的磁带插入磁带机,确认磁带及磁带机完好可用。
dbexport cleardb -t /dev/rmt/0m -b 512k -s 2048000k -ss当系统提示dbexport completed!数据卸载完毕。其中: -ss 确保数据库
的建库信息或建表信息被保留如日志模式,初始extent尺寸,lockmode,表所在dbspace -t 磁带设备/dev/rmt/0m -s
磁带容量2G -b 块大小512KB 提示信息存放在dbexportout文件中2)装载的步骤如下:
用DBA用户注册将存放卸载数据的磁带放在磁带机上,确认磁带机正常,确认数据库系统处于On_Line状态,
服务器上没有同名数据库。
$ dbimport cleardb -t /dev/rmt/0m -b 512k -s 2048000k 当系统dbimport completed 提示数据装载完毕!提示信息存放在dbimportout 文件中。
重建表格:1) dbschema -d dbname -t tabname -ss tabnamesql /将表格结构放进tabnamesql/编辑此文件并在create table
语句末尾增加新的区域长度暂时将生成表格索引的tabnamesql部分标为说明语句,即在索引句前后加上“{}”,
例如:{ create index xl on customer(last_name); create index x2 on customer(cust_nbr);}
最好在后面生成索引,因为这样表格能快速装入,索引能在连续磁盘空间生成,使其更加有效。
2)锁定表格lock table tabname in exclusive mode;
3)用SQL UNLOAD 将表格卸载到磁盘或磁带中unload to file_or_tape_path select from tabnameunload to "/usr/data/unload/customerunl" select from customer;
检查表中的行数(用SQL中的Table/Info命令),验证卸载是否成功。比较这个数与装入完成后SQL显示的消息。用此验证file_or_tape_path中的行数:wc -l file_or_tape_path
4)删除表格
5)用dbacess生产表格并运行tabnamesql。这时不要生成索引
6)用SQL的LOAD FROM 或用 dbload重新装入表格load from file_or_tape_path insert into tabname;load form "/usr/data/unload/customerunl" insert into customer;
对于日志数据库,上面的装入语句可能产生长事务或“to many lock”错误。
这时建议用dbload之类的实用程序将数据插入表中。dbload的 -n 选项强制在插入一定行后进行commit work(建议选1000行)。
检查表中的行数(用SQL中的Table/Info命令),验证装入是否成功。7)如要生产索引,运行第一步中标为说明语句的tabnamesql部分。
8)更新表格统计信息 update statistics on tabname;
语法 oninit [-s] [-i] [-p] [-y]
oninit 将系统从off-line模式变为on-line模式
oninit -s将系统从off-line模式变为quiescent模式
oninit -i初始化系统
oninit -p在共享内
存初始化时,不搜索,删除临时表
oninit -y对提示自动回答yes
oninit -v 加入这个选项显示oninit处理过程
oninit-- 键入此命令可以获得使用帮助
oninit命令用来改变系统的运行模式。其中-i选项用于初始化系统的root dbspace。注意,root-dbspace一旦被初始化,则等于整个数据库系统被初始化。
如果用户希望在计算机启动时自动自动启动动态服务器系统,请在系统初启文件(在许多UNIX系统中为/etc/rc)中加入oninit命令(不加任何选项)。
onmode 命令
语法: onmode [-k] [-m] [-s] [-u] [-y]
onmode -k 执行立即shutdown,将系统变为off-line模式
onmode -m 将系统从quiescent模式变为on-line模式
onmode -s 执行graceful shutdown
onmode -u 执行immediate shutdwon
onmode -y对提示自动回答yes
onmode 命令同样用于改变动态服务器的运行模式。除了上述选项外,onmode还有很多与改变系统运行模式无关的选项。
利用onspaces命令创建数据空间
语法: onspaces -c [-b] [-d] [-z] [-m] [-o] [-p] [-s] [-t]
-c创建blobspace或dbspace
-b blobspace blobspace名
-d dbspace dbspace名
-g page size blobpages大小
-m mirror 镜像设备设的全路径名和偏移量(KB)
-o offset 偏移量(KB)
-p pathname chunk设备的全路径名
-s sizedbspace大小(KB)
-t创建临时dbspace
onspaces 命令用于创建数据空间、临时空间和存储blob数据的空间(blobspace)。键入onspaces--可以获得该命令的联机帮助。
利用onstat -D或onstat -d可以看到系统中的关于数据空间的重要信息。包括:chunk的状态、空闲、每一chunk读写的次数。
系统中可能包括的多个系统空间,特别当进行数据分片后,我们建议用户最好能利用命令行来创建数据空间。
可以利用如下命令创建数据空间:
onspaces -c -d datadbs1 -o 0 -p /dev/rrvol3 -s 60000
可以用如下的方式创建临时数据空间:
onspaces -c -d tempdbs1 -t -o 0 -p /dev/rrvol5 -s 80000
在系统中,临时数据空间非常重要,通常情况下,应将多个临时数据空间分布在独立的物理设备上。
利用onspaces命令删除数据空间
增加或删除chunks
语法: onspaces -a -d [-m] [-o] [-p]
-a spacename为dbspace新增chunk
-m pathname镜像设备的全路径名和偏移量(KB)
-o offset 主设备的偏移量(KB)
P>
-p pathname chunk设备的全路径名
-s sizechunk大小
-d spacename删除chunk
-o offset chunk设备的偏移量(KB)
onspaces不仅能创建数据空间还能删除数据空间、临时数据空间或存储blob数据的空间。在删除数据空间时,必须首先保证它是无用的,即该数据空间上无数据库或表。
如需删除数据空间,请键入如下命令:onspaces -d dbspace_name /blobspace_name
数据空间最初由一个chunk(first chunk)构成,一旦其空间用尽,用户必须追加chunk为了提高系统性能,用户在为数据空间分配chunk时需要计算以保证它的大小能适应未来的需要,否则在追加chunk的时候,它与先前的chunk在物理上不一定相邻,导致增加读取数据的时间。关于如何计算空间需求将在以后章节中阐述。利用 onspaces命令可以对数据空间增加或者删除chunk,除此之外,利用该命令还可以完成如下任务:启动镜像、中止镜像或改变chunk的状态。
例如可以用如下命令为数据空间增加chunk:
onspaces -a -d datadbs1 -0 60002 -p /dev/rrvol3 -s 60000
再如可以用如下方式从数据空间中删除chunk:
onspaces -d datadbs1 -o 60002 -p /dev/rrvol3 -s 60000
onparams 命令
语法:onparams -a -d -p [-d] [-s] [-l]
-a 新增逻辑日志
-d dbspace 指定日志存放的dbspace
-s size新增逻辑日志的大小(KB)
-d 删除逻辑日志
-l logid 指定删除一个逻辑日志
-p 改变物理日志
-d dbspace 新物理日志存放的dbspace名
-s size物理日志大小(KB)
系统在初始化时自动地在root dbspace中创建逻辑日志和物理日志。在DBMS系统中,尤其在OLTP环境下,数据库的 *** 作非常频繁,日志中必须记录大量的信息,所以用户最好能将多个日志文件分布在不同的设备上。有一种非常简单的方法:即按所需大小创建逻辑日志,同时创建一个较小的物理日志,系统初始化完毕后,再将物理日志移至其它设备。关于如何确定所需的物理日志的大小,将在以后的章节详述。利用onstat -l命令可以看出系统中所有新增的逻辑日志被标识为A。这些逻辑日志只有在系统进行归档后才会真正被使用。为了激活这些逻辑日志有一种简单的方法:执行一次"伪"归档。具体步骤如下:将参数TAPEDEV设置为/dev/null然后运行一次ontape -s。也可以执行onbar -F命令。由于伪归档并不真正归档系统信息,所以千万要适时地对系统进行真正的归档 *** 作。
只有在逻辑日志真正无用时才能将其删除。利用onstat -l 可以看出所有的空闲日志被标记为F。如果逻辑日志中包含事务回滚或快速恢复所需的信息,该逻辑日志是不能被删除的。利用onstat -l命令可以看出接受当前事务的日志被标记为C。如果逻辑日志包括最后一个检查点记录,它也是不能被删除的,只有当检查点记录被写入下一个日志忠并且上一个日志被备份后,该日志才能被删除。利用onstat -l命令可以看出包含最后一个检查点记录的日志被标记为L。用户可以利用
onmode -c命令强制写检查点记录直至最后一个检查点记录被写入所要求的日志为止。
onstat 工具
显示动态服务器共享内存中的信息
涉及少量磁盘I/O *** 作
将对系统性能的影响极小
提供关于系统有价值得信息
命令行交互式监控系统
在本章中将讲解onstat 的各种重要选项,请熟悉它们的使用
onstat 命令是一种非常有用的系统实时监控工具。该命令直接从共享内存的数据结构中读取信息,报告当时的系统状况。通常onstat 命令不会进行磁盘I/O *** 作,也不会对系统资源加锁,所以它对系统性能的影响减少到最小。简言之,onstat是informix提供的一种交互式的系统监控工具。
onstat 的一些常用选项:
onstat -- 列出所有选项
onstat -i 设置进入交互模式
onstat - 显示运行模式和数据库引擎状态
onstat -g sub_option 运行多线索选项
onstat -r 每隔秒后重复选项
onstat -g act 显示系统中所有的活动线索
onstat -g ath -r 2 每隔两秒显示系统中所有的活动的线索
系统监控界面
sysmaster数据库在系统初始化时自动创建
数据库中包括指向系统共享内存结构数据字典信息
提供瞬时的系统性能和状态信息
提供SQL界面了解数据字典信息
允许管理员将系统管理工作自动化
用于执行重复性的监控任务
系统监控界面(system Monitoring Interface --SMI)是一种基于SQL的系统工具,
用户通过SMI可以非常方便地获取系统信息。系统在初始化时,自动地在root dbapace创建sysmaster系统数据库。
每一系统包括一个sysmaster数据库,该数据库中的大部分表为虚表,是指向共享内存中数据结构的指针。利用SMI可以自动监控系统,特别是在执行重复任务时。
sysmaster数据库是只读的,即不允许对其进行INSERT UPDATE,或DELETE *** 作。所有用户都拥有对该数据库的查询权限。
在系统初始化后,用户一定要注意检查sysmaster数据库是否建立成功。创建sysmaster数据库的信息都保存在消息日志文件中(onlinelog)请注意由于所有的DDL语句都将被记录在日志中,
所以一定要在日志文件中留出足够的空间以保证创建sysmaster所需。
sysmaster数据库模式记录在$INFORMIXDIR/etc/sysmastersql文件中。
oncheck 命令
检查动态服务器磁盘上的数据结构
定位并修补损坏的索引和数据
有磁盘I/O *** 作
一些 *** 作在处理时将在表上加锁
oncheck命令用于修复磁盘上损坏的索引和数据页,该命令也可用于检查并打印系统的数据结构。在使用oncheck时一定要当心,因为改命令的某些选项会对表加共享锁,例如:oncheck -pt
>
为防止对系统的损坏,系统会对所有共享内存中的数据进行一次一致性检查。一旦发现数据页出现一致性错误或发现索引错误,系统将把问题和可能的解决方案(利用oncheck)写入消息日志文件,并返回isam错误代码105。
如果发现一致性错误信息,用户应该立即关闭系统并按消息日志文件中的提示运行oncheck。如果oncheck运行失败,则应尝试卸出表再重新装入;如果是索引得问题,则应先删除索引再重建之。如果所有这些步骤都失败了,只有根据原有的系统归档备份来恢复系统。
下面的命令可以提供extend信息:
oncheck -pe
在onstat –l中,flag位表示了逻辑日志的状态,
A表示新加了还不能使用的日志
F表示空闲的可以使用的日志,一般是在0级备份之后才有这样的状态
U表示已经使用的逻辑日志
L表示当前的日志文件包含一个检查点
C表示正在使用当前的日志文件
B表示已经备份的日志文件
天正CAD快捷键命令大全:
A——arc绘圆弧
AA——area测量区域和周长
AL——align对齐
AP——appload加载应用程序
AR——array阵列
B——block定义图块
BO——boundary边界
BR——break打断
C——circle画圆
CO——copy复制
Ctrl+0——图形窗口最大化
Ctrl+1——打开特性对话框
Ctrl+2——打开设计中心
Ctrl+3——打印工具选项板
Ctrl+4——打开图纸集管理器
Ctrl+5——打开信息选项板
Ctrl+6——打开数据库连接管理器
Ctrl+7——打开标记集管理器
Ctrl+8——打开计算器
Ctrl+9——打开关闭命令行
Ctrl+A——全选
Ctrl+B——栅格捕捉模式控制(F9)
Ctrl+C——复制到剪贴板
Ctrl+D——打开关闭动态UCS(浩辰及其他CAD暂不支持)
Ctrl+F——控制是否实现对象自动捕捉(f3)
Ctrl+G——栅格显示模式控制(F7)
Ctrl+H——切换PICKSTYLE变量,确定是否使用编组
Ctrl+K——超链接
Ctrl+L——正交开关
Ctrl+N——新建图形文件
Ctrl+O——打开文件
Ctrl+P——打开打印对话框
Ctrl+Q——退出CAD
Ctrl+S——保存文件
Ctrl+U——极轴模式控制(F10)
Ctrl+V——粘贴剪贴板上的内容
Ctrl+W——对象追踪式控制(F11)
Ctrl+X——剪切所选择的内容
Ctrl+Y——重做
Ctrl+Z——取消前一步的 *** 作
D——dimstyle标注样式管理器
DI——distance测量两点间的距离
DT——text单行文字
E——erase删除
EX——extend延伸
F——fillet倒圆角
F1——获取帮助
F10——极轴模式控制
F11——对象追踪式控制
F2——实现作图窗和文本窗口的切换
F3——控制是否实现对象自动捕捉
F4——数字化仪控制
F5——等轴测平面切换
F6——控制状态行上坐标的显示方式
F7——栅格显示模式控制
F8——正交模式控制
F9——栅格捕捉模式控
G——group组、编组
H——hatch填充
I——insert插入
J——join链接
L——line直线
LA——layer图层管理器
M——move移动
MI——mirror镜像
ML——mline多线
O——offset偏移
OP——options选项设置
P——pan视图平移
PE——pedit编辑多段线
PL——pline多段线
R——redraw重画
RO——rotate旋转
S——stretch拉伸
SC——scale缩放比例
SE——settings打开捕捉和栅格设置对话框
SN——snap栅格捕捉模式设置
SP——spell拼写检查
ST——style打开字体样式对话框
T——mtext多行文字
TR——trim修剪
U——undo恢复上一次 *** 做
V——view设置视图
W——wblock定义块并保存块文件
X——explode炸开
XL——xline构造线
你好,wp酷七知道团队为你解答:我说下安装装双机热备软件Rose Mirror Ha的过程中遇到的问题及解决方案,
1安装双机热备Rose Mirror Ha因为核心不匹配不成功
解决方案:修改Mirror Ha的配置文件,在Mirror Ha的安装目录下/drv的目录下有一个ko的文件,把这个文件的名字中的内核名字改 成AXS3, 然后重新启动mirroha服务就可以了,命令如下:mirrorha start。
2安装双机热备Rose Mirror Ha时序列号的问题
解决方案:首先要注意的是申请序列号一定要安装完Rose Mirror Ha之后,由软件产生两个hostid号,然后提交给 rose公司才可以
3安装双机热备Rose Mirror Ha时oracle绑定数据
解决方案:双机热备软件Rose Mirror Ha提供了oracle数据库的服务,在设置oracle需要绑定哪些数据源时,一定要仔细斟酌,大概包括密码文件、控制文件、数据文件等,如果不确定的话可以联系rose公司确定需要绑定哪些文件,切记!绑定之前一定要先把这些文件做一下备份。
希望可以帮到你
该SQL语句会使用到sysextended_properties目录视图。
该视图的说明如下:
说明:该视图针对当前数据库中的每个扩展属性返回一行。
具体返回结果集中每列的含义请参考MSDN文档。
示例代码如下:
例如我要查询表table1的所有列的列说明:
select AValue,BName,
CName as TypeName,BMax_length,BPrecision,BScale
from sysextended_properties A inner join syscolumns B
on Amajor_id=Bobject_id
and Aminor_id=BColumn_id
inner join systypes c on Buser_type_id=Cuser_type_id
where Amajor_ID=object_id('Storage_Goods') and AValue!=''
注意:目录视图只有SQL SERVER2005及以上版本才有。
以上就是关于档案电子化数据库存储适合用磁盘阵列哪个级别全部的内容,包括:档案电子化数据库存储适合用磁盘阵列哪个级别、RoseMirrorHA 和Oracle 11G做双机热备切换时,数据库不能连接、sql数据库备份语句等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)