linux系统sql语句报错_linux操作informix数据库命令

linux操作informix数据库命令。

a

以informix登录,oninit 启动informix数据服务器 onmode 关闭informix数据服务器

1. dbexport

将数据库以ASCII方式下载。该命令常用于迁移数据库。

如:命令dbexport -o /informix/db_export stores7,将数据库 stores7 下载到/informix/db_export/stores7.exp 目录下。

数据库模式文件存放在/informix/db_export/stores7.exp/stores7.sql 下。

dbexport语法:

dbexport [-c ] [-d] [-q] [-o] [目标文件选项] database [-ss] [-V]

-c:指示如果没有错误,则输出全部信息。

-q:在标准输出设备上不显示错误信息、警告和所生成的SQL 数据定义语句。

-d:仅输出blob 描述符,不输出blob 数据。

-ss:在模式文件中输出特定于服务器的用于创建数据库和表的信息,比如:初始的extent

和附加的extent 的大小、上锁方式、表所驻留的dbspace 等信息。

-o:指定数据输出文件的磁盘目录。

-t:指定数据输出文件的备份介质名称。

-b:指定备份介质块大小。

-s:指定备份介质的最大存储量。

-f:用于指定存储在备份介质上的模式文件名。

2. dbimport

与dbexport 配合使用,根据dbexport 的输出创建数据库。

如:命令dbimport -c -i /informix/db_export stores7

根据上例中输出结果创建数据库。

dbimport语法

dbimport [-c] [-q] [输入文件定位选项] [create 选项] database

-c 指示dbimport在没有发生致命错误的情况下完成装入工作。

-q 指示在标准输出设备上不显示错误信息和警告。

-X 标识符符字段中的HEX二进制数据。

-i 指定存储ASCII文件和模式文件的磁盘目录,以便dbimport查找。

-t 指定含有ASCII文件和模式文件的磁带设备名。

-b 指定磁带设备块大小。block以KB为单位,该值必须能为所使用的设备接受。

-s 指定磁带的最大数据存储量。

-f 指定磁盘上模式文件的路径名,以便dbimport查找模式文件,并以此为输入建立数据库。

-d 指定用来存储新建数据库的OnLine数据库空间(dbspace)。如果没有使用-d选项指定dbspace,则数据库缺省建立在根dbspace中。

-l 等价于CREATEDATABASE语句的WITH LOG字句。如果没有使用-l选项,新建数据库不带日志。如果没有使用buffered参数,为装入的数据库建立无缓冲事务日志;如果使用了buffered参数,为装入的数据库建立有缓冲事务日志。

-ansi 为装入的数据库建立ANSI方式兼容的事务日志。

3. dbload

将ASCII 文件中的数据传送到数据库中。

4. dbschema

将数据库的模式输出到文件中,可用于重建数据库或表。

5. oncheck

数据一致性检查和索引修复工具。常用选项有:

oncheck -ce 检查Chunks 和extents

oncheck -cd 检查数据行

oncheck -ci 检查索引值

oncheck -cI 检查索引值和rowid

oncheck -cr 检查系统保留页

oncheck -cc 检查系统目录表

6. oninit

启动OnLine

7. onlog

显示系统逻辑日志的内容。常用选项有:

onlog -l 显示已经备份到磁带上的日志信息

8. onmode

改变OnLine 的运行模式,强制检查点动作,切换逻辑日志以及杀死指定的进程。常用选项有:

onmode -k 关闭OnLine

onmode -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数据库

3.5 数据库导入/导出

Informix数据库在不同配置(如数据库空间大小、名称等)的系统上进行恢复与备份时,使用ontape、onbar等方式备份的数据库可能无法恢复。推荐使用导入dbimport/导出dbexport方式进行备份与恢复。

3.5.1 数据库导出(备份)

$ cd /informix ; mkdir export_db 建立导出目录,已存在则可跳过

$ dbexport db_name -o /informix/export_db 导出数据库db_name

$ tar cvf db_name.tar /informix/export_db 打包export_db目录为db_name.tar

$ compress db_name.tar 压缩为.Z文件

3.5.2 数据库导入(恢复、新建)

$ cd /informix

$ uncompress -c db_name.tar.Z | tar xvf – 解压缩、解包

$ dbimport -d mapdbs_sd -l buffered -i 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.sql

b) 改变目录db_name.exp为new_db_name.exp,“.exp”不变;

$ mv db_name.exp new_db_name.exp

2.3.5.3 修改数据库日志模式

$ ontape -U db_name

如果失败,则可能需要0级备份,可使用如下命令

$ ontape -s -L 0 -U db_name

$ onmonitor

选择Status/Databases可查看状态。

2.3.6 数据库错误码查询方法

Informix的错误码可通过命令finderr查询错误详细信息,该命令在安装目录的bin目录(如/informix/bin)下。

$ finderr 107 查询错误代码107的详细信息

$ finderr 显示其帮助

4、权限

数据库的操作权限分为三级connect、resource、dba,三种权限依次加大。

DBA权限:全部权利,修改系统表,建立和删除表与索引、增加和恢复表数据,以及授予其他用户数据库权限等;

RESOURCE权限:允许对数据库表中的数据进行存取,建立永久性表以及索引。

CONNECT权限:只允许对数据库表中的数据进行存取,建立和删除视图与临时表。

对表的操作权限分为:alter、delete、index、insert、execute、select、update、references、 all等。

ALTER:更改权限

DELETE:删除权限

INDEX:索引权限

INSERT:插入权限

SELECT [(cols)]:指定字段或所有字段上的查询权限,不指明字段缺省为所有字段。

UPDATE [(cols)] :指定字段或所有字段上的更新权限,不指明字段缺省为所有字段。

ALL [PRIVILEGES]:以上所有表级权限

赋权:

1.grant db-privilege to user-list 含义是:将对库的权限db-privilege赋予用户user-list

2.GRANT tab-privilege ON table-name TO {PUBLIC|user-list} [WITH GRANT OPTION]

tab_privilege:表级权限

table_name:表名称

PUBLIC|user-list:全部或指定的用户。

[WITH GRANT OPTION]:表示被授权用户有否权限进行二次授权。

例句:grant resource to pulbic;或 grant update(c1,c6) on sys_user to dick with grant option;

收权:1.1 REVOKE {DBA|RESOURCE|CONNECT} FROM {PUBLIC|user-list}

PUBLIC|user-list:全部或指定的用户。

例句:revoke resource from john;

1.2 REVOKE tab-privilege ON table-name FROM {PUBLIC|user-list} 收回表级权限

tab_privilege:表级权限

table_name:表名称

PUBLIC|user-list:全部或指定的用户。

例句:revoke update on user from dick;

1) 储蓄安装完后,终极用户root要想查询数据库,系统提示:

387: No connect permission.

111: ISAM error: no record found.

原因 就是root对bankstar数据库没有connect权限

我们能使用下面的语句赋予root权限

grant connect to root

2)目前我们要收回root对会计数据库的dba权限,语句如下:

revoke dba from root ;revoke update on user from dick;

5、 下载语句

用于将表中的数据下载成文本文件,多用于一些共用参数。其语法格式为:

unload to “pathname” select-statement

其含义是:将通过 select语句查询出来的结果输出到文件pathname中去。

例如:我们将在甲所对公会计中已定义好的科目下载成文本文件,存放到”/tmp/kmzd”文件中

unload to “/tmp/kmzd” select * from kmzd

6、 上载语句

用于将已下载成文本文件的数据加载到数据库中的相应的表中,其语法结构为:

load from “pathname” insert into table-name

其含义是:将文本文件pathname中的数据加载到表table-name中去。

例如:我们将上面从甲所下载来的数据通过软盘带到乙所,然后将其加载到乙所的kmzd中

load from “/tmp/kmzd” insert into kmzd

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值