inix数据库操作实例(共8页)

上传人:494895****12427 文档编号:58523232 上传时间:2022-02-28 格式:DOC 页数:9 大小:33KB
收藏 版权申诉 举报 下载
inix数据库操作实例(共8页)_第1页
第1页 / 共9页
inix数据库操作实例(共8页)_第2页
第2页 / 共9页
inix数据库操作实例(共8页)_第3页
第3页 / 共9页
资源描述:

《inix数据库操作实例(共8页)》由会员分享,可在线阅读,更多相关《inix数据库操作实例(共8页)(9页珍藏版)》请在装配图网上搜索。

1、精选优质文档-倾情为你奉上查看数据库实例名:dbaccess,然后选择database,在选择select,数据库名符号后面的即为数据库实例名新建数据库:1、使用dbaccess进入informix交互环境2、选择Database,回车3、选择 Create,回车4、输入数据库名:uniacctr,回车5、选择 Dbspace(表空间) ,回车6、选择跟局数据数据库bureaudb一样的表空间,回车7、选择 Log ,回车8、选择 Log,回车(选择日志模式,其他不支持事务)9、选择 Exit,回车10、选择 Create-new-database ,回车。此时数据库应该已经建立。查看某个数据

2、库的表空间:1、使用dbaccess进入informix交互环境2、选择Database,回车3、选择 Select,回车4、选择局数据数据库bureaudb,回车5、选择Info,回车6、选择dBSpace,回车图中rootdbs位置显示的即是表空间关键字: dbschema工具:1)导出数据库中所有的表结构到文件db.sql$dbschema -d your_database -t all db.sql2)导出数据库中所有的存储过程到文件db.sql$dbschema -d your_database -f all db.sql3)导出数据库中的所有对象(包含表,存储过程,触发器。)到文件

3、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.sql6)如果导出更多的表的信息(EXTENT.)$dbschema -d your_database_name -ss db.sql7)导出数据库中对用户或角色的授权信息$dbschema -d you

4、r_database_name -p all$dbschema -d your_database_name -r all8)导出数据库中的同义词$dbschema -d your_database_name -s all导出数据库表结构:dbschema -d database database.sqldbschema -t tablename tablename.sql-d表示导出整个数据库的表结构,-t表示导出某一个数据表的表结构。数据库及数据表导入导出操作:数据库的导入:1. 在dbaccess工具环境环境下建立数据库(如:gdxy)注意:此步操作一定不要直接在dbvis工具上建立,否则

5、后期的脚步总是运行报错,因为在命令行环境下建的数据库里面会有设置数据库的临时空间和log文件。2.开始导入建表的sql脚本(如:createtab.sql在dbaccess工具环境下直接输入 dbaccess gdxy createtab.sql3.导入表中的数据(通常导出时为txt格式)一:对于单个表格,可以采用在dbaccess工具环境直接输入:load from table1.txt insert into table1;二:对于使用unload导出的多个文件,可以通过编写命令文件的方式,批量的插入到数据库中。法一:第一步:内容如下FILE table1.txt DELIMITER |

6、3;(此处的数字为表各中对应的字段数目)INSERT INTO table1;FILE table2.txt DELIMITER | 3;(此处的数字为表各中对应的字段数目)INSERT INTO table2;FILE table3.txt DELIMITER | 3;(此处的数字为表各中对应的字段数目)INSERT INTO table3;生成好了这个命令文件,则可以通过输入如下的dbload命令批量的导入三个表格数据:首先进入到导入文件所在的目录,例如 c:bakdbload -d test(数据库名字) -c c:bakload.txt -l aaa(随便输入的日志名字)即可以将三个文

7、件对应的数据导入到指定的表格中法二: 第一步:编写导入脚步(load.sql) load from table1.txt DELIMITER | INSERT INTO table1;load from table2.txt DELIMITER | INSERT INTO table2; 第二步: 在dbaccess工具环境下直接输入 dbaccess gdxy database.sql dbschema -t tablename -d tablename.sql -d表示导出整个数据库的表结构,-t表示导出某一个数据表的表结构。 导出数据库 dbexport: dbexport在使用前必须保

8、证该数据库未被别人打开。 在实际环境中,因为很多业务正在运行,应用程序的连接尚未断开,所以不能直接运行dbexport 。 我一般使用 onmode -ky 关闭数据库,然后再用 oninit 启动数据库,立即执行 dbexport 数据名,即可将数据导入。 假设数据库名为 test ,导出完成后,可以看见 dbexport.out 的日志文件和一个 test.exp 文件夹,这个文件夹里即包含了test 这个库的建库脚本和所有的数据文件。 导入数据库 dbimport: 导出来的数据拷贝到测试环境中,注意,如果只拷贝文件过来,dbimport 是不认识的, 我们需要建立一个刚才那样的文件夹即

9、 test.exp , 然后在这个子目录的上层运行 dbimport ,才能将数据导入。 命令很简单,只需执行 dbimport test 即可。 此时要保证你的数据库中没有 test 这个库,如果这个库存在,运行 dbimport 会导致失败。 倒库之后没日志文件运行 dbimport 后,库倒是建起来了,可是日志文件没有了。这是因为 dbexport 将会导致数据库的日志模式丢失,不用担心,我们可以用 ontape 这个命令来解决,具体步骤如下:a. 修改配置文件,在 $INFORMIXDIR/etc/onconfig 文件里,将 TAPEDEV 设置为 /dev/console ,然后重

10、启数据库(我是执行onmode -ky 和 oninit 命令)b. 运行 ondblog buf test 这个命令意思是先打上一个标志。将数据库日志设置为 buffer 模式。c. 运行 ontape -s -L 0 test 即可,在转换数据库模式前,必须先做一个0级备份。d. 好了,重启数据库,看看数据库日志模式已经改过来了。另外,还有一个 onmonitor 命令,也是相当的有用,命令记不得,就可以用这个东西来实现。JDBC连接informix出现的异常:Unable to load locale categories:昨天连接时出现了这个异常:首先连的库为中文库时才会出现这个异常,

11、故可以判断是其unix环境的问题。后来查了下资料,修改jdbc的URl如下:jdbc:informix-sqli:/10.203.68.151:8898/jiangqh:INFORMIXSERVER=onjz1;user=dccenter;password=sjjh151;DB_LOCALE=zh_cn.gb;CLIENT_LOCALE=zh_cn.gb;DBDATE=mdy4;红色字为后加的。即解决了此问题因为环境默认是英文的,所以通过修改URL来解决这个问题linux操作informix数据库命令以informix登录,oninit 启动informix数据服务器 onmode 关闭inf

12、ormix数据服务器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:在标准输出设备上不显示错误信息、警告和

13、所生成的SQL 数据定义语句。-d:仅输出blob 描述符,不输出blob 数据。-ss:在模式文件中输出特定于服务器的用于创建数据库和表的信息,比如:初始的extent和附加的extent 的大小、上锁方式、表所驻留的dbspace 等信息。-o:指定数据输出文件的磁盘目录。-t:指定数据输出文件的备份介质名称。-b:指定备份介质块大小。-s:指定备份介质的最大存储量。-f:用于指定存储在备份介质上的模式文件名。2. dbimport 与dbexport 配合使用,根据dbexport 的输出创建数据库。 如:命令dbimport -c -i /informix/db_export stor

14、es7 根据上例中输出结果创建数据库。dbimport语法dbimport -c -q 输入文件定位选项 create 选项 database -c 指示dbimport在没有发生致命错误的情况下完成装入工作。-q 指示在标准输出设备上不显示错误信息和警告。-X 标识符符字段中的HEX二进制数据。-i 指定存储ASCII文件和模式文件的磁盘目录,以便dbimport查找。-t 指定含有ASCII文件和模式文件的磁带设备名。-b 指定磁带设备块大小。block以KB为单位,该值必须能为所使用的设备接受。-s 指定磁带的最大数据存储量。-f 指定磁盘上模式文件的路径名,以便dbimport查找模式

15、文件,并以此为输入建立数据库。-d 指定用来存储新建数据库的OnLine数据库空间(dbspace)。如果没有使用-d选项指定dbspace,则数据库缺省建立在根dbspace中。-l 等价于CREATEDATABASE语句的WITH LOG字句。如果没有使用-l选项,新建数据库不带日志。如果没有使用buffered参数,为装入的数据库建立无缓冲事务日志;如果使用了buffered参数,为装入的数据库建立有缓冲事务日志。-ansi 为装入的数据库建立ANSI方式兼容的事务日志。3. dbload 将ASCII 文件中的数据传送到数据库中。 4. dbschema 将数据库的模式输出到文件中,可

16、用于重建数据库或表。 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 的运行模式,强制检查点动作,切换逻辑日志以及杀死指定的进程。常用选项有

17、: 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 启动连续逻辑日志备份 ontap

18、e -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 显示配置信息

19、 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下

20、可以运行的程序 $ 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. dbacce

21、ssdemo7 建立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

22、 打包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_

23、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 修改数据库日志模式 $ o

24、ntape -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权限:全部权利,修改系统表,建立和删

25、除表与索引、增加和恢复表数据,以及授予其他用户数据库权限等;RESOURCE权限:允许对数据库表中的数据进行存取,建立永久性表以及索引。CONNECT权限:只允许对数据库表中的数据进行存取,建立和删除视图与临时表。对表的操作权限分为:alter、delete、index、insert、execute、select、update、references、 all等。ALTER:更改权限DELETE:删除权限INDEX:索引权限INSERT:插入权限SELECT (cols):指定字段或所有字段上的查询权限,不指明字段缺省为所有字段。UPDATE (cols) :指定字段或所有字段上的更新权限,不指

26、明字段缺省为所有字段。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 pu

27、lbic;或 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:全

28、部或指定的用户。 例句: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

29、、 下载语句 用于将表中的数据下载成文本文件,多用于一些共用参数。其语法格式为: 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专心-专注-专业

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!