Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103554582
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: DB2/Informix

2008-04-30 23:09:30

在学习完本章后,你将能够:

  • 操纵动态服务器的运行模式
  • 管理动态服务器系统的数据空间
  • 管理逻辑日志和物理日志
  • 利用onstat命令监控动态服务器系统
[@more@]

onstat 命令

语法 onstat [-s] [-i] [-p] [-y]

onstat    将系统从off-line模式变为on-line模式

onstat -s   将系统从off-line模式变为quiescent模式

onstat -i   初始化系统

onstat -p   在共享内存初始化时,不搜索,删除临时表

onstat -y   对提示自动回答yes

             oninit -- 键入此命令可以获得使用帮助

onstat 命令用来改变系统的运行模式。其中-i选项用于初始化系统的root dbspace。注意,root-dbspace一旦被初始化,则等于整个数据库系统被初始化。

如果用户希望在计算机启动时自动自动启动动态服务器系统,请在系统初启文件(在许多UNIX系统中为/etc/rc)中加入onstat命令(不加任何选项)。

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 size    dbspace大小(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 pathname     chunk设备的全路径名

-s size      chunk大小

-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数据库的信息都保存在消息日志文件中(online.log)请注意由于所有的DDL语句都将被记录在日志中,所以一定要在日志文件中留出足够的空间以保证创建sysmaster所需。

sysmaster数据库模式记录在$INFORMIXDIR/etc/sysmaster.sql文件中。

oncheck 命令

  • 检查动态服务器磁盘上的数据结构
  • 定位并修补损坏的索引和数据
  • 有磁盘I/O操作
  • 一些操作在处理时将在表上加锁

oncheck命令用于修复磁盘上损坏的索引和数据页,该命令也可用于检查并打印系统的数据结构。在使用oncheck时一定要当心,因为改命令的某些选项会对表加共享锁,例如:oncheck -pt

为防止对系统的损坏,系统会对所有共享内存中的数据进行一次一致性检查。一旦发现数据页出现一致性错误或发现索引错误,系统将把问题和可能的解决方案(利用oncheck)写入消息日志文件,并返回isam错误代码105。

如果发现一致性错误信息,用户应该立即关闭系统并按消息日志文件中的提示运行oncheck。如果oncheck运行失败,则应尝试卸出表再重新装入;如果是索引得问题,则应先删除索引再重建之。如果所有这些步骤都失败了,只有根据原有的系统归档备份来恢复系统。

下面的命令可以提供extend信息:

oncheck -pe

阅读(807) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~