informix表空间规划命令整理

合集下载

Informix监控和管理命令 电脑资料

Informix监控和管理命令 电脑资料

Informix监控和管理命令电脑资料监控ONLINE系统后动情况的工具主要有以下三类:系统监控接口( I)、tbstat和tbcheck,不能对 I中的表加锁或使用隔离级别。

不允许使用insert,delete,update等语句(只读)不能使用dbsche ,dbexport等命令使用select rowid语句将会产生不可预料的结果主要的 I表有:sysdatabases:online中的数据库信息systabnames:某数据库中所有表的信息syslogs:逻辑日志信息sysdbspaces:数据库信息syschunks,syslocks等例1:显示处于脱机(offline)状态的chunk的序号和所在数据库空间Select chknum,dbsnum from syschunks where isoffline=1 or misline=!例二:显示满chunk的信息Select chknum,dbsnum from syschunks where nfree=0 二、TBSTAT ? 列出当前时刻的信息(实际也是读取 I表)不需要磁盘I/O不需要锁等系统资源,因此不会影响系统性能用法:tbstat [-abcdklmpstuzBDFPRX] [-r seconds] [-o file] [infile] -a print all info (options: bcdklmpstu)-b print buffers(缓冲区)-c print configuration file(配置文件)-d print dbspaces and chunks(dbspace和chunk)-k print locks(锁)-l print logging(日志)-m print message log(日志)-p print profile(profile文件)-s print latches(门闸)-t print tblspaces(表空间)-u print users(用户)-z zero profile counts-B print all buffers-D print dbspaces and detailed chunk stats-F print page flushers(页刷新进程)-P print profile, including BIGreads-R print LRU queues(LRU队列)-X print entire list of sharers and waiters for buffers-r repeat options every n seconds (default: 5)-o put shared memory into specified file (default: tbstat.out) infile use infile to obtain shared memory infor tion三、几个常用的tbstat选项 tbstat -m :显示消息日志的最后20行. 消息日志的内容包括:1)、检查点信息2)、读写错误信息3)、ONLINE模式转换信息4)、长事务5)、日志文件满(LOG FILE FULL )假设想显示完整信息,可直接编译消息日志文件.Tbstat -d:磁盘空间的使用情况,包括DBSPACE和CHUNK的信息例:RSAM Version 5.03.UC1 -- On-Line -- Up 09:45:41 -- 816 Kbytes Dbspaces address number flagsfchunk nchunksflags ownername 8040a244 1111 N informix rootdbs 1 active, 8 total Chunks address chk/dbs offset size free bpages flags pathname 80409d84 1 1 0 300000 231871PO-/dev/rdata 1 active, 8 total其中的FREE项,显示了该CHUNK的空闲空间大小(Kbytes).Tbstat -l :日志文件情况Physical Logging Buffer bufused bufsize numpages numwrits pages/io P-2 016 000.00 phybegin physize phypos phyused %used 101782 15000960 00.00 Logical Logging Buffer bufused bufsize numrecs numpages numwrits recs/pages pages/io L-2 016 1111.01.0 address number flagsuniqid beginsize used%used 8042de94 1U---C-L 110521a 7500 630 8.408042deb0 2F------ 0106f66 75000 0.00 8042de 3F------0108cb2 75000 0.00 8042dee8 4F------ 010a9fe 75000 0.00 8042df04 5F------ 010c74a 75000 0.00 8042df20 6F------010e496 75000 0.00其中:%USED:使用百分比FLAGS字段的含义:F: 空闲B:已备份C: 正在接收事物记录U: 正在使用A: 新增日志L: 包含最后一个检查点Tbstat - u:ONLINE的用户情况Users address flags pid user tty waittout locks nreads nwrites 804019f4 ------D 329 root console 0 00 179 2 80401a64 ------D 0 root console 0 00 00 80401ad4 ------F 330 root 0 00 00 3 active, 20 total Transactions address flags user locks log begin isolation retrys coordinator 804022b4 A---- 804019f4 0 0 NOTRANS 0 804028d8 A----80401a64 0 0 NOTRANS 0 2 active, 20 total其中:flages字段的含义:第一列:(S:等待mutex;Y:等待条件;L:等待锁;B:等待缓冲区;C:等待检查点;X:长事务清理;G:等待长缓冲写;T:等待事务)第二列:(*:事务执行时,发生I/O错误)第三列:(A:正在备份;B:操作已被记录在日志中;P:分布处理已准备好;C:正在提交;R:正在回滚)第四列:(P:会话的主线索)第五列:(R:在read rsam 调用中;X:进程在关键分区)第七列:(M:特殊监控;D:特殊线索;C:清理线索;F:特殊清页进程;B:特殊B+树清页线索) Tbstat -k :用户持有锁的情况锁按照粒度分为6种: 库锁、表锁、页锁、行锁、字节锁、键锁字节锁:更新包含有VARCHAR类型的行时,加在该行上的锁,键锁:用于索引树上的锁。

Informix创建各数据库空间

Informix创建各数据库空间

创建数据库空间Informix初始化只创建了rootdbs根数据空间,我们还要根据规划创建其他数据空间。

按logdbs→phydbs→tempdbs→workdbs(servicedbs)的顺序建立dbspace,创建数据空间。

数据规划:Rootdbs 256MLogdbs 1001MPhydbs 1000MTempdbs 500MWorkdbs 8000M1.cd data2.touch logdbs phydbs tempdbs workdbschmod 660 *dbs*onspaces –c –d logdbs –p /opt/Informix/data/logdbs –o 40 –s 1001000onspacse –c –d phydbs –p /opt/Informix/data/phydbs –o 40 –s 1000000onspacse –c –d tempdbs –p /opt/Informix/data/tempdbs –o 40 –s 500000onspacse –c –d workdbs –p /opt/Informix/data/workdbs –o 40 –s 8000000logdbs为逻辑日志空间phydbs为物理日志空间tempdbs为temp方式的数据库空间workdbs是创建工作区数据库空间,所有的用户数据库都是创建在这个数据库空间上。

其中40表示偏移量,200000表示数据库空间大小单位为KB。

注:如果空间大小不够,可以用onspace –a dbspace-name –p device-path-name –o 40 –s space-size在一个数据库空间中加入一个逻辑卷形式的chunk。

3.将逻辑日志和物理日志移出rootdbs数据空间。

1.重启数据库,进入单用户模式onmode –kyoninit –s2.查看系统日志情况onstat –lflags 表示逻辑日志状态,包含c的为当前日志,l检查点。

informix常用命令详解一(包括查询表结构信息,索引信息等)

informix常用命令详解一(包括查询表结构信息,索引信息等)

informix常用命令详解一(包括查询表结构信息,索引信息等)2011-08-03 18:27数据库文章很全的一个博客1 CREATE DATABASE database_name [WITH LOG IN “pat hname”]创建数据库。

database_name:数据库名称。

“pathname”:事务处理日志文件。

创建一database_name.dbs目录,存取权限由GRANT设定,无日志文件就不能使用BEGIN WORK等事务语句(可用START DATABASE语句来改变)。

可选定当前数据库的日志文件。

如:select dirpath form systables where tabtype = “L”;例:create databse customerdb with log in “/usr/john/log/custome r.log”;DATABASE databse-name [EXCLUSIVE]选择数据库。

database_name:数据库名称。

EXCLUSIVE:独占状态。

存取当前目录和DBPATH中指定的目录下的数据库,事务中处理过程中不要使用此语句。

例:dtabase customerdb;3. CLOSE DATABASE关闭当前数据库。

database_name:数据库名称。

此语句之后,只有下列语句合法:CREATE DATABASE; DATABASE; DROP DATABSE; ROLLF ORWARD DATABASE;删除数据库前必须使用此语句。

例:close database;4. DROP DATABASE database_name删除指定数据库。

database_name:数据库名称。

用户是DBA或所有表的拥有者;删除所有文件,但不包括数据库目录;不允许删除当前数据库(须先关闭当前数据库);事务中处理过程中不能使用此语句,通过ROLLBACK WORK 也不可将数据库恢复。

Informix数据库常用命令介绍

Informix数据库常用命令介绍

华为产品维护资料汇编 TELLIN智能网维护资料数据库基础知识目录目录第1章 Informix数据库常用命令介绍 (1)1.1 概述 (1)1.1.1 oninit (1)1.1.2 dbexport (2)1.1.3 dbimport (4)1.1.4 dbload (5)1.1.5 dbschema (7)1.1.6 oncheck (8)1.1.7 onload (9)1.1.8 onlog (10)1.1.9 onmode (11)1.1.10 onparams (13)1.1.11 onspaces (13)1.1.12 onstat (14)1.1.13 ontape (19)1.1.14 onunload (21)第1章 Informix数据库常用命令介绍1.1 概述Informix数据库服务器提供了在shell提示符下直接执行管理任务功能的应用程序。

列出这些应用程序:表1-1提示符下直接执行管理任务功能的应用程序以下对这些应用程序逐一简要说明。

1.1.2 oninit1. 功能说明oninit 应用程序用于改变系统的运行模式。

数据库有六种工作模式,它们是:离线(off-line)不运行状态●静模式(quiescent)在此模式下,用户不能连接到数据库,但可用onstat等命令查看数据库信息●在线(on-line)数据库运行状态●只读(read-only)只能读数据库但不能写●恢复(recovery)是一种临时状态,存在于从离线模式到静模式之间●关闭(shutdown)是一种临时状态,存在于从在线模式到静模式或离线模式oninit命令将在离线(off-line)状态的数据库启动为在线(on-line)模式,并初始化共享内存(shared memory),在作初始化之前,应先设置环境变量INFORMIXSERVER,否则数据库不建立sysmaster表,必须以root或informix注册才能执行本命令,本命令不但能初始化共享内存,还能初始化磁盘空间。

INFORMIX分片与表空间

INFORMIX分片与表空间

INFORMIX分片与表空间最近遇到informix分片的问题,所以查资料了解了下这方面的东西。

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------表tab1有c1,c2,c3这3个字段,同时数据库有dbspc1,dbspc2,dbspc3这3个数据库空间,想将tab1的字段c1,c2,c3分别存储到数据库空间dbspc1,dbspc2,dbspc3,informix怎样实现?想让表tab1的分段依据表tab2的c1字段的值,用informix该怎么做?tab1的分段依据本表的字段c3的值,如c3>0 and c3 <=100 in dbspc1, c3 >100 and c3<200 in dbspc2;现在有一条记录c3=50,按分段原则,该记录存储在dbspc1;现在将该记录的c3更新为150时,该记录的存储位置会变为dbspc2吗?一个表的数据由一个或多个segment,segment又由若干extent组成。

一行记录下的数据一般都是存放在一个extent里面,一个extent只能存放于一个chunk里面,又怎么会可能分布于不同表空间中?至于分片表,不同的行分布到不同的segment中,不同的行也就可以分布到不同的表空间上。

现在有一条记录c3=50,按分段原则,该记录存储在dbspc1;现在将该记录的c3更新为150时,该记录的存储位置会根据分段原则改变,变为dbspc2。

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------“数据分片”允许在表一级对数据存储进行控制。

informix空间管理

informix空间管理
= trunc (1196 / 8)
= 149
4. To obtain the maximum number of extents, add the value in the Number of extents line in the oncheck -pt output to the Additional_extents value, as the following formula shows:
Considering the Upper Limit on Extents
Do not allow a table to acquire a large number of extents because an upper limit exists on the number of extents allowed. Trying to add an extent after you reach the limit causes error -136 (No more extents) to follow an INSERT request.
Number of extents 1
Current serial value 1
Pagesize (k) 4
First extent size 4
Next extent size 4
Number of pages allocated 340
Number of pages used 337
7002c7 112686 5 2 PARTN 828 1196 0 0
slot ptr len flg
1 24 92 0
2 116 40 0
3 156 144 0

INFORMIX命令大全

INFORMIX命令大全

INFORMIX 常用命令1、dbaccess捆绑在Informix-Online DB Server上的一套DBMS实例程序,掌握:①.利用该工具可以做到创建和删除数据库.②.查询数据库中各种信息,编辑使用SQL语句.③.创建,更改,删除数据库基表.④.增加,删除,修改数据库中原始记录.⑤.从OS(操作系统)文件中装载数据到数据库中.⑥.将数据库中的数据卸出到一个OS(操作系统)文件中.⑦.利用该工具可以创建,删除,修改Procedure(过程)。

2、isql捆绑在Informix-Online DB Server上的一套DBMS实例程序,掌握:①.利用该工具可以做到创建和删除数据库.②.查询数据库中各种信息,编辑使用SQL语句.③.创建,更改,删除数据库基表.④.增加,删除,修改数据库中原始记录.⑤.从OS(操作系统)文件中装载数据到数据库中.⑥.将数据库中的数据卸出到一个OS(操作系统)文件中.⑧.利用该工具可以创建,删除,修改,编译屏幕表格文件(*.per),并运行.3、ontape说明:数据库日志模式变更用法:ontape–s –[NBU]ontape -s -B db_name 修改为buffer_logontape -s -U db_name 修改为unbuffer_logontape -s -N db_name 修改为无日志模式4、dbschema说明:卸载数据库结构例如:1)导出数据库中所有的表结构到文件db.sql$>dbschema -d your_database -t all db.sql2)导出数据库中所有的存储过程到文件db.sql$>dbschema -d your_database -f all db.sql3)导出数据库中的所有对象(包含表,存储过程,触发器。

)到文件db.sql $>dbschema -d your_database db.sql4)导出数据库中一个表的结构到文件db.sql$>dbschema -d your_database_name -t your_table_name db.sql5)导出一个存储过程定义到文件db.sql$>dbschema -d your_database_name -f your_procedure_name db.sql 6)如果导出更多的表的信息(EXTENT...)$>dbschema -d your_database_name -ss db.sql7)导出数据库中对用户或角色的授权信息$>dbschema -d your_database_name -p all$>dbschema -d your_database_name -r all8)导出数据库中的同义词$>dbschema -d your_database_name -s all5、dbexport与dbimportdbexport:dbexport实用程序将数据库卸出到ASCII文件或磁带。

informix命令

informix命令

onstat - 显示运行模式和数据库引擎状态
onstat -g MT子命令(默认值:all)
onstat -g sub_option 运行多线索选项
onstat -g act 显示系统中所有的活动线索
onstat -g ath -r 2 每隔两秒显示系统中所有的活动的线索
-c Continuous backup of logical logs.
-a Automatic backup of logical logs.
-r Restore entire INFORMIX-Online sytem.
-N Set the following database(s) to no logging.
onstat命令是一种非常有用的系统实时监控工具。该命令直接从共享内存的数据结构中读取信息,报告当时的系统状况。通常onstat 命令不会进行磁盘I/O操作,也不会对系统资源加锁,所以它对系统性能的影响减少到最小。简言之,onstat是informix提供的一种交互式的系统监控工具。
onstat 的一些常用选项:
all Print all MT information
ath Print all threads
wai Print waiting threads
act Print active threads
rea Print ready threads
-C Print btree cleaner requests
-D Print spaces and detailed chunk stats
-F Print page flushers(页刷新进程)
-G Print global transaction ids.
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

informix表空间规划命令整理
2010-02-24 11:16:02| 分类:技术知识| 标签:|字号大中小订阅
初始化informix数据库: oninit -ivy
此时,数据库是空的,什么都没有。

我们需要规划数据库空间,创建相应的物理表空间,逻辑表空间,临时表空间。

首先在dbs目录下创建相应的文件并给予权限:
touch phydbs logdbs appdbs temp01 temp02 temp03 temp04 chmod 660 phydbs logdbs appdbs temp01 temp02 temp03 temp04 执行创建表空间的命令:
onspaces -c -d phydbs -p {informixdir}/dbs/phydbs -o 0 -s 500000 【一般为300M。

此处创建500M】
onspaces -c -d logdbs -p {informixdir}/dbs/logdbs -o 0 -s 1000000 【一般为1G,共10个逻辑文件】
onspaces -c -d appdbs -p {informixdir}/dbs/appdbs -o 0 -s 4000000 【自己数据库所在空间,大小根据实际情况而定】onspaces -c -d temp01 -t -p {informixdir}/dbs/temp01 -o 0 -s 500000 【临时表空间,一般为4个,大小为500M,注意到创建临时表空间命令中多了 -t 】
onspaces -c -d temp02 -t -p {informixdir}/dbs/temp02 -o 0 -s
500000
onspaces -c -d temp03 -t -p {informixdir}/dbs/temp03 -o 0 -s 500000
onspaces -c -d temp04 -t -p {informixdir}/dbs/temp04 -o 0 -s 500000
切换物理日志:
onparams -p -s 480000 -d phydbs (注意:大小要比创建phydbs时稍微小一些不然会提示大小太大。

)
此时可能会提示:IBM Informix Dynamic Server must be in quiescent mode
可以用onmode -sy切换到静态模式。

也可以重启oninit -sy
切换逻辑日志:
首先创建逻辑文件:
for((i=0;i<10;i++))do onparams -a -d logdbs -s 100000 -i ;done; 最后一个逻辑文件创建会提示不成功,像之前的物理日志提示一样,要将大小修改的稍微小一些。

第二:切换逻辑日志
多次执行onmode -l 直到逻辑日志切换到新创建的逻辑文件中。

第三:删除原逻辑文件
onparams -d -l {逻辑文件号} -y。

相关文档
最新文档