ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Informix简单维护

Informix简单维护

原创 Linux操作系统 作者:jifei0611 时间:2010-05-22 16:38:14 0 删除 编辑

数据库启动

语法:oninit [-s] [-p] [-y][-v]

oninit     将系统从off-line模式转换为on-line模式

oninit –s 将系统从off-line模式转换为quiescent模式

oninit –y   对于提示自动回答yes

oninit –v 显示启动过程

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

注:oninit –i只有数据库初次建立时使用,-i选项会清空已有数据,谨用.

数据库关闭

语法:onmode [-k] [-m] [-y] [-c] [-l] [-z]

onmode –k    执行immedate shutdown,将系统变为off-line模式

onmode –m    将系统从quiescent模式转换为on-line模式

onmode –s    将系统从on-line模式转换为quiescent模式

onmode –y    对于提示自动回答yes

onmode –c    进行检查点

onmode –l    切换到下一个日志

onmode -z    删除指定的会话id

onmode --         键入此命令可以获得帮助

 

磁盘空间管理

Informix Dbspace 磁盘空间类型:(1)Raw DiskSpace(2)Cooked-FileSystem.

每个online必须有一个rootdbs

create database 需指定存放哪个 dbspace 上,未指定则存放于rootdbs。

dbspace 可以随时新增或删除,但rootdbs 不能删除

temp dbspace 主要是专门存放 temp table 及 declare cursor

创建数据库空间

语法:onspaces –c [-d] [-o] [-s] [-t] [-p]

 -c                           创建dbspace

 -d dbspace             dbspace名

 -o offset                偏移量(KB)

 -s size                           dbspace大小

 -t                   创建临时 dbspace

 -p                  chunk设备的全路径名

eg:

$onspaces -c -d dbs2  -o 0 -p  /data/ifx301 –s 60000 #增加60M数据空间dbs2

$ onspaces -c -t -d tmpdbs -p /dev/temp -o 0 -s 100000 #创建,tempspace通过参数指定DBSPACETEMP中的

新增DBSAPCE之Chunk或删除数据库空间

语法:onspaces  -a –d [-m] [-o] [-p]

-a  spacename                为dbspace新增chunk

-m  pathname         镜像设备的全路径名和偏移量

-o  offset             主设备的偏移量

-p  pathname                       chunk设备的全路径名

-s  size                    chunk的大小

-d  spacename               删除chunk

onspaces  --           键入此命令可以获得帮助

eg:

onspaces  -a  dbs2 -o 0 -p /data/ifx302 –s 60000  #在dbs2增加一个60M chunk

onspaces  -d  dbs2   #删除dbs2 注:删除数据库空间时,必须保证它是无用的。

 

Informix日志管理

语法:onparams –s –d –p [-d] [-s] –[-l]

 -a                     新增逻辑日志

 -d dbspace        指定日志存放的dbspace

 -s size                新日志大小

 -l logid               指定删除一个逻辑日志

 -p                     改变物理日志

onparams  --              键入此命令可以获得帮助

 

eg:

$ onparams -p -s 100000 -d logdbs    #物理日志改到tmpwork(100MB)

 $ onparams -d -l logid         #删除日志序号为logid的逻辑日志

 $ onparams  –a -d logdbs      #增加日志

 

Informix数据库几种日志类型

无日志:

        若有故障,无法完全恢复,因为无事务记录,无法恢复和回滚事务

缓冲日志:

        对数据库的修改操作首先被写入缓冲区,当缓冲区写满后,刷新到硬盘。                  

优点:减少I/O操作次数,提高效率

缺点:系统失败时,事务被丢失的可能性较大。

无缓冲日志和ANSI模式:

        使用同样的方法操作缓冲区。事务记录首先被写到缓冲区,提交后马上被刷新到硬盘。

优点:安全性好,可靠。

缺点:I/O操作频繁,效率低。

 

改变日志模式

ontape  -s –U ds –L 0   --将ds数据库改为无缓冲日志模式(unbuffer)

ontape  -s –N ds –L 0  --将ds数据库改为无日志模式 (nolog)

 

常见问题

查看dbspace信息

日志满,数据库停止响应

 

onstat –l –显示逻辑日志信息

FLAGS字段的含义: F: 空闲 B:已备份 C: 正在接收事物记录 U: 正在使用 A: 新增日志 L: 包含最后一个检查点

若所有日志状态为U,并没有备份这时数据库将停止响应,可以用ontape –c将日志备份来解决问题

锁冲突

 

onstat -ks|grep HDR+X    查询表被锁

type     使用以下代码指示锁的类型
 HDR    头   B    字节    S    共享    X    互斥    I    意向    U    更新   IX    意向--互斥

 IS    意向--共享  SIX    共享的意向--互斥

onstat -u | grep < onstat -ks|grep HDR+X 查出owner> #找出锁表用户会话

onmode –z < sessid (onstat -u)> #结束会话

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7419833/viewspace-663425/,如需转载,请注明出处,否则将追究法律责任。

上一篇: LogSwitchMap
请登录后发表评论 登录
全部评论

注册时间:2008-01-12

  • 博文量
    143
  • 访问量
    289346