informix数据库常用命令
- 格式:doc
- 大小:52.00 KB
- 文档页数:23
华为产品维护资料汇编 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的常用SQL语句1、创建数据库eg1. 创建不记录日志的库testdb,参考语句如下:CREATE DATABASE testdb;eg2. 创建带缓冲式的记录日志的数据库testdb(SQL语句不一定在事务之中,拥有者名字不被用于对象的解析),参考语句如下:CREATE DATABASE testdb WITH BUFFERED LOG;eg3. 创建无缓冲式的记录日志的数据库testdb(SQL语句不一定在事务之中,拥有者名字不被用于对象的解析),参考语句如下:CREATE DATABASE testdb WITH LOG;eg4. 创建ANSI的数据库(记录日志时无缓冲,SQL总在事务之中,拥有者名字被用于对象的解析),参考语句如下:CREATE DATABASE testdb WITH LOG MODE ANSI;2、创建普通数据表普通数据表又被称为持久数据表,它在system catalog里注册。
一个普通数据表可对多个sessi on和connection。
创建时可以指定dbspace。
eg1、如下语句创建了一个集团信息表cti_vccinfo:create table cti_vccinfo(vccid CHAR(6) not null,vccname VARCHAR(255),effective INTEGER default0not null,agentmax INTEGER default0not null,ivrmax INTEGER default0not null,updatekey VARCHAR(30),primary key(vccid) constraint PK_CTI_VI);3、创建临时数据表临时数据表不在system catalog里注册。
一个临时数据表只对对应的某个session或connectio n可见,在对应的session或connection结束时被自动清除。
Unix系统及数据库常用操作命令oninit 数据库启动onmode -ky 数据库关闭onstat -l 查看逻辑日志使用情况ontape -c 连续备份逻辑日志onstat -g iof 查看每个chunk 的 I/O 情况onstat -g mem 查看数据库存的情况onstat -d 查看数据库chunk 的使用情况ontape -s -L 0 数据库 0 级备份dbimport <database> -d <dbspace> -i <dir> 数据恢复〔硬盘〕dbexport <database> -o <dir> 数据备份〔硬盘〕update staistics (high) (low) 数据库数据抽样统计ontape -r 数据恢复〔磁带〕onstat -c 配置情况onstat - 数据库状态信息ps –ef |grep cmcld 查看MC/Service Guard 进程cmviewcl 查看MC/ServiceGuard 运行情况cmruncl [ f ] 启动群集cmhaltcl [ -f ] 终止群集cmrunnode node 启动群集中的一个结点例: # cmrunnode HPK460-1cmhaltnode mode 终止群集中的一个结点例: # cmhaltnode HPK460-1cmrunpkg -n node pkg 在节点node 上运行 pkg 包例: # cmrunpkg -n HPK460-1 pkg1cmhaltpkg -n node pkg 在节点node 上终止运行 pkg 包例: # cmhaltpkg -n HPK460-1 pkg1cmmodpkg -e -n node pkg 允许在节点 node 上运行pkg 包例: # cmmodpkg -e -n HPK460-1 pkg1cmmodpkg -d -n node pkg 禁止在节点 node 上运行pkg 包例: # cmmodpkg -d -n HPK460-1 pkg1cm 系列命令,均可附加参数“-v〞,以冗余模式显示执行结果;参数“-f〞表示强制执行而忽略错误警告。
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 ;。
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数据库常用命令一、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说明:查看一个指定的客户端连接执行的SQL语句用法:onstat -g sql二、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说明:停止一个数据库的客户端连接(SESSION)用法:onmode -zInformix常用指令oninit/onmode/onstatOninitoninit –i 初始化数据库,不要对正常的数据库使用以下命令,仅当第一次初始化数据库时使用oninit将系统从off-line模式变为on-line模式oninit -s 将系统从off-line模式变为quiescent模式oninit -p 在共享内存初始化时,不搜索,删除临时表oninit -y 对提示自动回答yesoninit -v加入这个选项显示oninit详细处理过程oninit -- 键入此命令可以获得使用帮助onmodeonmode–k 停止数据库服务onmode –u修改数据库状态为单用户维护状态onmode -m将数据库从单用户转化为正常状态onmode –z sid 杀进程(sid由onstat –g sql得到)onstatOnstat –d查看dbspace和磁盘块的布局onstat -l 查看逻辑日志使用状况onstat -g sql 查看访问数据库情况onstat–u 查看用户活动onstat -g ses 查看有哪些用户session连接,如需要,可以用onmode -z id 杀掉onstat - 查看数据库当前状态(用于确认数据库是否正常启动)ontapeontape -s 做整个系统的0级备份ontape –s –N db_name停止记日志(一般出现在某个操作涉及数据量巨大,日志空间hold 不住时,可以暂停记录日志,动作完成后再恢复日志记录)ontape –s –U db_name恢复记日志。
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方式下载。
该命令常用于迁移数据库。
如:命令dbexport -o /informix/db_export stores7,将数据库 stores7 下载到/informix/db_export/stores7.exp 目录下。
数据库模式文件存放在/informix/db_export/stores7.exp/stores7.sql 下。
2. dbimport与dbexport 配合使用,根据dbexport 的输出创建数据库。
如:命令dbimport -c -i /informix/db_export stores7根据上例中输出结果创建数据库。
3. dbload将ASCII 文件中的数据传送到数据库中。
4. dbschema将数据库的模式输出到文件中,可用于重建数据库或表。
5. oncheck数据一致性检查和索引修复工具。
常用选项有: oncheck -ce 检查Chunks 和extents oncheck -cd 检查数据行oncheck -ci 检查索引值oncheck -cI 检查索引值和rowid oncheck -cr 检查系统保留页oncheck -cc 检查系统目录表6. oninit启动OnLine7. onlog显示系统逻辑日志的内容。
常用选项有: onlog -l 显示已经备份到磁带上的日志信息8. onmode改变OnLine 的运行模式,强制检查点动作,切换逻辑日志以及杀死指定的进程。
常用选项有:onmode -k 关闭OnLineonmode -c 强制检查点动作onmode -l 切换逻辑日志到下一个逻辑日志文件 onmode -z 杀死指定的进程onmode -F 释放多余的内存onmode -a 动态分配内存9. onparams改变OnLine 的逻辑日志和物理日志的配置参数。
(添加逻辑日志时使用)10. onspaces创建、删除和修改dbspace、chunk工具。
11. ontape进行逻辑日志的备份,改变数据库日志的状态,执行数据恢复。
常用选项有: ontape -a 备份所有已满的逻辑日志ontape -c 启动连续逻辑日志备份ontape -s 启动数据备份ontape -r 启动数据恢复ontape -s -B | -N | -U 数据库名改变数据库日志的状态12. onstat监视数据库的操作。
常用选项有: onstat --help 显示所有信息help onstat - 显示数据库状态信息onstat -l 显示物理日志和逻辑日志信息 onstat -g ses 显示用户线索信息onstat -g sql 显示sql语句onstat -k 显示锁信息onstat -x 显示事物信息onstat -d 显示数据库空间使用信息 onstat -D 显示CHUNK读写信息onstat -c 显示配置信息onstat -m 显示online.log最后20行信息 onstat -p 显示性能信息onstat -r 周期性重复显示信息onstat -u 显示用户信息onstat -z 将所有统计值置为0 onstat -g ath 显示线程onstat -g seg 显示内存信息onstat -g rea 显示等待线程onstat -g act 显示活动线程onstat -g iof 显示CHUNK读写信息 onstat -g ioq 显示AIO队列信息onstat -g ntu 显示网络端口读写信息 onstat -g ntd 显示线程读写信息13. 在x-windows下可以运行的程序 $ onperf 数据库性能监控$ ipload Informix最快的load数据工具 $ onpload ipload的命令行方式工具14. onbar$ onbar 支持IBM光盘库、磁带库的备份工具15. Dbaccess$ dbaccess 最常用的数据库管理(库、表、索引)工具16. onmonitor$ onmonitor 菜单界面的Informix数据库管理工具17. Update statistics 需要定期处理,最好每天都做对性能最有影响的SQL语句18. set explain on 打开分析SQL语句性能的开关19. dbaccessdemo7 建立demo数据库20. 数据库导入/导出Informix数据库在不同配置(如数据库空间大小、名称等)的系统上进行恢复与备份时,使用ontape、onbar等方式备份的数据库可能无法恢复。
推荐使用导入dbimport/导出dbexport方式进行备份与恢复。
21. 数据库导出(备份)$ cd /informix ; mkdir export_db 建立导出目录,已存在则可跳过 $ dbexport db_name -o /informix/export_db 导出数据库db_name $ tar cvfdb_name.tar /informix/export_db 打包export_db目录为db_name.tar $ compress db_name.tar 压缩为.Z文件22. 数据库导入(恢复、新建)$ cd /informix$ uncompress -c db_name.tar.Z | tar xvf - 解压缩、解包$ dbimport -d mapdbs_sd -l buffered -i <目录, db_name.exp的父目录> db_name 参数说明:-d mapdbs_db 指定dbspace为mapdbs_sd,应根据实际修改,注意:必须指定本参数,否则数据库可能会建立在rootdbs。
-l buffered 指定数据库为buffered日志模式db_name 数据库名,必须与目录db_name.exp匹配如果需要改变数据库的名称,如改变数据库名db_name为new_db_name则在导入前必须进行如下: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.sqlb) 改变目录db_name.exp为new_db_name.exp,“.exp”不变;$ mv db_name.exp new_db_name.exp23. 修改数据库日志模式$ ontape -U db_name如果失败,则可能需要0级备份,可使用如下命令$ ontape -s -L 0 -U db_name$ onmonitor选择Status/Databases可查看状态。
24. 数据库错误码查询方法Informix的错误码可通过命令finderr查询错误详细信息,该命令在安装目录的bin目录(如/informix/bin)下。
$ finderr 107 查询错误代码107的详细信息$ finderr 显示其帮助oninit 将系统从off-line模式变为on-line模式oninit -s 将系统从off-line模式变为quiescent模式oninit -i 初始化系统oninit -p 在共享内存初始化时,不搜索,删除临时表oninit -y 对提示自动回答yesoninit -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 shutdownonmode -u 执行immediate shutdwononmode -y 对提示自动回答yesonmode 命令同样用于改变动态服务器的运行模式。