Informix数据库常用命令介绍
informix 常用命令

查具体的进程内容:
onstat –g sql 进程Id号)
onstat –g sql 5
Current statement name : cu_larg
Current SQL statement :
select *,rowid from ggxtcs
Last parsed SQL statement :
onstat -- 列出所有选项
onstat -i 设置进入交互模式
onstat - 显示运行模式和数据库引擎状态
onstat -g sub_option 运行多线索选项
onstat -r 每隔秒后重复选项
onstat -g act 显示系统中所有的活动线索
Log. Log Size一般是 Phy. Log Size的1/2。
Number of Logical Logs 是3
输入完毕按ESC进入下一画面。
Server Number 在本机器上应是唯一值。
Server Name 应与sqlhosts中配置的第一个字段一致。
Max # of Locks 与 Max # of Buffers联合调整Shared Memory size的大小,建议Shared Memory sizerestore? (y/n) 输入 y
Do you want to back up the logs? (y/n) 输入 n
Restore a level 1 archive (y/n) 输入 n
Do you want to restore log tapes? (y/n) 输入 n
Id Stmt type Database Lvl Mode ERR ERR Vers Explain
informix数据库常用命令

informix数据库常用命令一、onstat命令集1、onstat -说明:查看数据库当前的状态用法:onstat -2、onstat -c说明:查看数据库的配置文件用法:onstat -c3、onstat -d说明:查看数据库空间的使用情况用法:onstat -d4、onstat -l说明:查看数据库逻辑日志的备份情况及逻辑日志的状态用法:onstat -l5、onstat -m说明:查看最近的数据库日志信息用法:onstat -m6、onstat -g sql说明:查看数据库的所有客户端的连接情况用法:onstat -g sql7、onstat -g sql <sid>说明:查看一个指定的客户端连接执行的SQL语句用法:onstat -g sql <sid>二、oncheck命令集1、oncheck -cc [数据库名]说明:检查一个或所有的数据库的系统目录用法:oncheck -cc [数据库名]2、oncheck -cD 数据库名[:表名]说明:检查一个数据库或数据库中的一个表的数据用法:oncheck -cD 数据库名[:表名]3、oncheck -cI 数据库名[:表名]说明:检查一个数据库或数据库中的一个表的索引用法:oncheck -cI 数据库名[:表名]4、oncheck -pt 数据库名:表名说明:检查一个表所占用的空间大小(EXTENT数)用法:oncheck -pt 数据库名:表名三、备份相关命令1、onbar说明:备份数据库的数据或日志到磁带库中用法:全备份: onbar -b -w -L 0备份逻辑日志:onbar -b -l2、dbschema说明:生成数据库的库表结构用法:整个数据库:dbschema -d 数据库名 -ss 脚本文件名一个数据库中的表:dbschema -d 数据库名 -t 表名 -ss 脚本文件名3、dbexport说明:手工备份一个数据库到磁盘中用法:dbexport -ss 数据库名四、其他命令1、oninit说明:启动一个数据库服务器用法:oninit2、onmode -ky说明:停止一个数据库服务器用法:onmode -ky3、onmode -z <sid>说明:停止一个数据库的客户端连接(SESSION)用法:onmode -z <sid>1. dbexport将数据库以ASCII方式下载。
informix命令使用方法

onmode -ky offline
onmode -s graceful shutdown-->quiescent(联机到静态,让用户处理完成)
onmode -u immediate shutdown-->quiescent(联机到静态,所有用户立即终止)
根据上例中输出结果创建数据库。
3. dbload
将ASCII 文件中的数据传送到数据库中。
4. dbschema
将数据库的模式输出到文件中,可用于重建数据库或表。
5. onlog
显示系统逻辑日志的内容。常用选项有:
onlog -l 显示已经备份到磁带上的日志信息
6. 在x-windows下可以运行的程序
a) 改变文件db_name.exp/db_name.sql为db_name.exp/new_db_name.sql,“.sql”不变 ;
$ cd db_name.exp
$ mv db_name.sql new_db_name.sql
b) 改变目录db_name.exp为new_db_name.exp,“.exp”不变;
onmode -m quiescent--->online
onmode -z sid 删除某session
onmode -l 将当前正在使用的逻辑日志下移
onmode -c 强制执行检查点操作 即onmonitor->force ckpt
onmode 命令同样用于改变动态服务器的运行模式。除了上述选项外,onmode还有很多与改变系统运行模式无关的选项。
$ mv db_name.exp new_db_name.exp
Informix数据库sql常用语句

1、删除表字段alter table 表名 drop (字段名,字段名...);//逗号隔开可以同时删除多个字段2、新增表字段alter table 表名 add 字段名称字段类型 before 字段名;3、查询表主键名称select constrname from sysconstraints where constrtype='P' and tabid=(select tabid f rom systables where tabname='表名称');4、删除表主键名称alter table 表名 drop constraint 主键名;5、新增表主键名称alter table 表名称 add constraint primary key(字段1,字段2,字段3....) constraint 主键名称;6、复制内容insert into data_user (comcode, appcode, appcomname, comlevel, usercode, userna me, mobile)select distinct comcode, appcode, appcomname, comlevel, usercode, username, mo bile from temp_user where mobile is not null ;7、创建临时表select * from data_user into temp temp_1 with no log;8、sql中四舍五入保留2位有效小数cast(字段名称/10000 as decimal(14,2))数字转字符:to_char(cast(字段名称/10000 as decimal(14,2)))9、大表创建索引CREATE INDEX idx_user on user (username,usercode) online;10.修改表名称RENAME table data_user to data_user_new11.修改表字段名称RENAME COLUMN data_fwinfo.mobile TO username12、更新表字段alter table salesgrade modify newstatcode varchar(30);13、授权数据库grant select on salesgrade to ccpqry14、创建外键约束ALTER TABLE nx_carorprp2 ADD CONSTRAINT FOREIGN KEY (userunique)REFERENCES nx_staff (userunique) CONSTRAINT fk_nx_carorprp2 ON DELETE CASCA DE ;。
INFORMIX命令大全

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

Fluffy Harold cat
Clasws Gwen cat
Bowser Gwen dog
3 row(s) retrieved.
Sex列已经在pet表中了
接下来我们可以用update添加sex的属性值:
[test@datacenter ~]$ isql -s test<<!
现在用第三种发放“insert into表名字段values值”插入数据:
[test@datacenter ~]$ isql -s test<<!
> insert into pet (name,owner,species,sex) values ('Fluffy','Harold','cat','f')
> !
name owner species sex
Fluffy Haroldcat f
Clasws Gwen cat m
2 row(s) retrieved.
可以看见pet.txt文件中的命令已经插入到表pet中(第二行)。由于权限问题,不能进入菜单进行手动操作,故第二种方法在我的机器上不能进行。
第四种方法是把命令写进文件里,然后输入命令isql -s test<文件名,回车,现在我把命令写进pet.txt中:
[test@datacenter ~]$ isql -s test<<!
> alter table pet
> add sex char(1)
> !
Table altered.
查看一下:
[test@datacenter ~]$ isql -s test<<!
informix命令

dbaccess是捆绑在Informix-Online DB Server上的一套DBMS实例程序,可以做到:①.利用该工具可以做到创建和删除数据库.②.查询数据库中各种信息,编辑使用SQL语句.③.创建,更改,删除数据库基表.④.增加,删除,修改数据库中原始记录.⑤.从OS(操作系统)文件中装载数据到数据库中.⑥.将数据库中的数据卸出到一个OS(操作系统)文件中.⑦.创建回收权限.⑧.利用该工具可以创建,删除,修改Procedure(过程)。
dbexport使用dbexport命令进行数据备份1.dbexport命令简介:dbexport命令以ASCII码格式将整个数据库写到文件或备份介质上(如磁带)。
dbexport卸出的文件包括数据库模式文件和数据文件。
出错和警告信息将被写入一个称为Dbexport.out的文件中。
2.dbexport 命令语法如下:dbexport [-X] [-c] [-q] [-d] [-ss] [{-o -t -b -s [-f ]}] <database>以上命令中参数的意义如下:<>中包括的内容为必选项,[ ]中的内容为可选项。
-c:指示如果没有错误,则输出全部信息。
-q:不对SQL语句、出错信息及警告信息作出响应。
-d:仅输出blob描述符,不输出blob数据。
-ss:在模式文件中输出特定于服务器的用于创建数据库和表的信息,比如:初始的extent和附加的extent的大小、上锁方式、表所驻留的dbspace等信息。
-o:指定数据输出文件的磁盘目录。
-t:指定数据输出文件的备份介质名称。
-b:指定备份介质块大小。
-s:指定备份介质的最大存储量。
-f:用于指定存储在备份介质上的模式文件名。
database:指定备份的数据库名称。
3.使用dbexport功能及需注意的问题:1)执行dbexport命令必须是Informix用户或具有DBA访问权限的用户;2)用dbexport备份的数据必须用dbimport命令恢复;3)用户可以通过编辑模式文件来改变dbimport生成的数据库,如改变数据库名称或相关的表信息;4)dbexport以独占方式(exclusive mode)占用数据库,备份期间其他用户不能对数据库进行查询和修改及插入操作;5)模式文件不保留数据库的日志文件,用户使用dbimport命令建立数据库时必须为新建数据库选择一种日志方式(ANSI、buffered、nobuffered类型);6)用户可以使用dbexport/dbimport命令,将Informix-online和Informix-SE下的数据进行相互转换;也可以将数据在Informix-online的不同版本之间转换,这种转换对数据库服务器的结构和online的配置没有特别要求;7)使用dbexport/dbimport命令备份/恢复数据,可以起到消除数据分配空间碎块的作用,提高数据库整体运行效率。
informix数据库的操作和维护

INFORMIX数据库的常用管理命令约定✧命令行中,<>括起来的内容不是实际要键入的内容,而是要键入的内容的说明。
✧命令行中,[]括起来的内容表示是可选项。
✧命令行中,a | b表示a或b选其中之一,为消除二义性,有时也用{a | b }表示。
✧命令行尾的\表示由于排版的限制一行写不下换到下一行,实际输入时可以不换行。
✧/* */括起来的斜体字表示注释。
1.简介INFORMIX-OnLine Dynamic Server(以下简称OnLine)提供了一个字符窗口界面的集成管理工具onmonitor,通过它可以完成除了数据备份外的大部分常用管理任务。
同时,OnLine还提供了一整套命令行管理工具,常用的有以下这些:命令功能oninit 启动OnLineonmode 改变模式和共享内存onstat 通过共享内存结构监视OnLine的操作状态oncheck 检查、修复、显示OnLine的磁盘结构ondblog 改变database的log方式onparams 修改逻辑和物理日志的配置参数onspaces 修改blobspace和dbspace的配置ontape 数据库备份和恢复工具onarchive 比ontape功能更强的备份和恢复工具dbexport 将整个database备份成文本文件格式dbimport 用文本文件格式的database备份重建databasedbschema 显示数据库、表的结构dbaccess 字符窗口界面的交互式SQL命令执行环境严格来说,最后四个命令不属于管理工具,但是因为在进行数据库管理时经常用到,所以也在此列出。
2.权限在Informix中,用户root和informix拥有最高的权限,可以执行所有的管理命令,可以查看所有database中的数据。
其次是属于informix组的用户,它们可以执行数据库server的启动和关闭等重要的管理命令。
其它不在informix组中的用户权限最低,只能执行一般的管理命令。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
华为产品维护资料汇编 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注册才能执行本命令,本命令不但能初始化共享内存,还能初始化磁盘空间。
2. 使用说明用户可以在shell提示符下使用oninit –命令得到简单提示语法如下:oninit { -[ipsy] }其中主要选项说明如下:-i 指定初始化磁盘空间,该操作将破坏该盘已有的所有数据-p 指示oninit 在初始化共享内存空间时不搜索和删除临时表-s 指示oninit 让OnLine初始化后处于静止方式。
-y 对所有提示信息自动响应“yes”3. 举例说明下列命令首先让OnLine脱机,然后初始化共享内存,并使OnLine仍处于静止方式。
% onmode -y% oninit -s1.1.3 dbexport1. 功能简述dbexport 应用程序将数据库卸出到ASCII文件。
在其他INFORMIX环境下dbimport应用程序使用该ASCII模式文件重建数据库,用户可以通过编辑该模式文件来修改由dbimport 生成的数据库。
dbexport 应用程序支持下列三种选择方式:●将数据库及其模式文件卸出到磁盘●将数据库及其模式文件卸出到磁带●将模式文件卸出到磁盘以便用户检查和修改,将数据库的数据文件卸出到磁带使用此操作的用户必须具有DBA存取权限或注册到informix或为root用户。
在卸出数据过程中,dbexport进程以排他方式封锁数据库。
2. 使用说明用户可以在shell提示符下使用dbexport -- 得到简单提示。
语法如下:dbexport <database> [-X] [-c] [-q] [-d] [-ss] [{ -o <directory> | -t <tapedevice> -b <blocksize> -s <tapesize> [-f <sql-command-file>] }] 其中主要选项说明如下:-c 如果没有发生致命错误,则输出全部信息-d 仅输出blob描述符,不输出blob数据-q 在标准输出设备上不显示错误信息,警告和所生成的SQL数据定义语句database 指定卸出的数据库名-o directory 命名存储ASCII数据文件和模式文件的磁盘目录-t tapedevice指定存储ASCII数据文件和模式文件的磁带设备路径-b blocksize 指定磁带设备块大小(单位:KB)-s tapesize 指定磁带所能存储的数据总量(单位:KB)-f sql-command-file 指定存于磁盘上的模式文件3. 举例说明●将数据库stores7卸出到目录/usr/informix/export 中:使用如下命令:% dbexport stores7 -o /usr/informix/export●将数据库stores7卸出到磁带上,磁带每块大小为16KB,容量为24000KB,模式文件输出到/tmp/stores7.imp:使用如下命令:% dbexport stores7 -t /dev/rmt0/ -b 16 s 24000 -f /tmp/stores7.imp 1.1.4 dbimport1. 功能简述dbimport 应用程序以dbexport应用程序生成的ASCII文件为输入,建立数据库并装入数据。
该ASCII文件由两部分组成:用来重建数据库的模式文件,以及数据库数据的数据文件。
dbimport 应用程序所使用的ASCII文件来源可以是:●所有的输入文件都在磁盘上●所有的输入文件都在磁带上●模式文件在磁盘上,数据文件在磁带上。
使用该操作的用户对新创建的数据库具有DBA特权。
dbimport进程以封锁方式装入表,并在装入完成后释放锁。
2. 使用说明用户可以在shell提示符下使用dbimport -- 得到简单提示。
语法如下:dbimport <database> [-X] [-c] [-q] [-d <dbspace>] [-l [{buffuered |<log-file>}][-ansi]][{ -i <dir> | -t <tapdev> [-b <blksz> -s<tapesz> ][-f <script-file>] }]其中主要选项说明如下:-c 指示dbimport进程在没有发生致命错误的情况下完成装入工作。
-q 在标准输出设备上不显示错误信息和警告database 指定要创建的数据库名-b blksz 指定磁带设备块大小(单位:KB)-f script-file 指定磁盘上模式文件,以便dbimport以其为输入创建数据库-i dir 指定存储数据文件和模式文件的磁盘目录-s tapesz 指定磁带所能存储的数据总量(单位:KB)-t tapedev 指定含有输入文件的磁带路径名-ansi 创建与ANSI相兼容的数据库-d dbspace 命名用来生成数据库的数据空间-l 为装入的数据库建立无缓冲事务日志登录-l buffered 为装入的数据库建立有缓冲事务日志登录3. 举例说明●由磁带装入数据库,磁带每块大小为16KB,磁带容量为24,000KB。
模式文件在/tmp/stores7.imp。
使用如下命令:% dbimport stores7 -c -t /dev/rmt0 -b 16 -s 24000 -f /tmp/stores7.imp●从/usr/imformix/export 目录下的stores7.exp 子目录中装入stores7数据库。
假定模式文件为/usr/imformix/port/stores7.exp/stores7.sql。
使用如下命令:% dbimport stores7 -c -i /usr/imformix/port/stores7.exp●将stores7 数据库由/usr/informix/port/stores7.exp 目录下装入当前目录下。
新建数据库为ASNI相容的数据库,其事务日志文件为usr/work/stores.log。
则可以使用如下命令:% dbimport stores7 -c -i /usr/informix/port/stores7.exp-ansi/usr/work/stores7.log●将stores7数据库由磁带装入名为auckland的数据库空间,并为其生成无缓冲式日志登录。
不显示SQL语句的返回信息,且当发生致命错误时才发生致命错误才中止程序。
使用如下命令:% dbimport stores7 -cq -d auckland -1-t /dev/rmt0 -b 16 -s 240001.1.5 dbload1. 功能简述dbload应用程序的功能是将一至多个ASCII文件中的数据传送到一至多个已有的表中。
dbload 应用程序装入数据时,索引会极大地影响装入速度。
提高效率的做法是:在运行dbload装入数据之前删掉所有索引,完成之后再重建新的索引。
使用dbload装入数据前要创建两个文件,一个命令文件和一个数据文件,命令文件为ASCII格式,该命令文件用于指定输入的数据文件和接收数据的表,并将一个或多个输入文件的字段映射到数据库中一个或多个表的列上。
dbload命令文件指包含FILE语句和INSERT语句。
每个FILE语句指定一个输入数据文件,并定义该输入文件要插入表中的数据字段。
每个INSERT语句指定一个接收数据的表,并定义dbload如何将FILE语句中描述的数据插入到表列中。
●FILE语句的语法:FILE filename DELIMITER 'c' nfieldsfilename 指定的输入数据文件。
c 为指定的输入文件定义字段分隔符。
nfields 输入文件中每个数据行中的字段数。
●INSERT语句的语法:INSERT INTO [owner.]table_name [(column_name)][VALUES 子句]owner 表的属主用户名。
table_name 指定接收数据的表。
column_name 指定接收数据的表列。
2. 使用说明用户可以在shell提示符下使用dbload -- 得到简单提示。
语法如下:dbload [-d dbname ] [-c cfilename] [-l logfile] [-e errnum] [-n nnum] [-i inum] [-s] [-p] [-r] [-k] [-X]其中主要选项说明如下:-d dbname 指定接收数据的数据库名-c cfilename 指定指定dbload命令文件的文件名-l logfile 指定错误日志文件的文件名-r 在装入数据期间允许其他用户修改表中数据(装入数据期间不封锁表)-s 指示dbload 检查命令文件中语句的语法,而不插入数据-i inum 指示dbload忽略指定数目的行数-n nnum 指示dbload在插入指定数目的新行后提交操作-e errnum 指定dbload 中止前可读入的坏行数-p 如果坏行数超过了极限,给出提示信息,请用户指定解决方法3. 举例说明●将一批数据批量输入到stores7数据库中的stock表中。