informix数据迁移工具使用介绍
一.dbschema
USAGE:
dbschema [-q] [-t tabname] [-s user] [-p user] [-r rolename] [-f procname]
[-hd tabname] -d dbname [-w passwd] [-seq sequence] [-l [num]]
[-u [ia] udtname [all]] [-it [Type]] [-ss [-si]] [filename]
dbschema [-q] [-t tabname] [-s user] [-p user] [-r rolename] [-f procname]
[-hd tabname] -d dbname [-w passwd] [-seq sequence] [-l [num]]
[-u [ia] udtname [all]] [-it [Type]] [-ss [-si]] [filename]
EG:
1)dbschema -d my_dbname -t all my_table.sql
解析:导出数据库my_dbname中所有的表结构到文件my_table.sql
2)dbschema -d my_dbname -f all my_proce.sql
解析:导出数据库my_dbname中所有的存储过程到文件 my_proce.sql
3)dbschema -d my_dbname my_all.sql
解析:导出数据库my_dbname中所有的对象(表结构,存储过程,触发器等等...)到文件my_all.sql
4)dbschema -d my_dbname -t tab_name tab_name.sql
解析:导出数据库my_dbname中表名称tab_name到文件.sql tab_name.sql
5)dbschema -d my_dbname -f pro_name pro_name.sql
解析:导出数据库my_dbname中存储过程名称pro_name到文件.sql pro_name.sql
6)dbschema -d my_dbname -ss my_dbname .sql
解析:导出更多的表的信息(EXTENT...)
7)dbschema -d your_database_name -p all
dbschema -d your_database_name -r all
解析:导出数据库中对用户或角色的授权信息
8)dbschema -d your_database_name -s all
解析:导出数据库中的同义词
9)dbschema -t all -p all -f all -s all -d mydbname -ss mydbname.sql
解析:导出数据库名称为mydbname的所有表结构、用户授权信息、存储过程、及同义词到文件mydbname.sql
二.dbaccess
1)使用方法介绍:
Query-Language→提供管理者一个SQLeditor,可自行输入SQL指令并执行
Connection→建立或断开与数据库服务器的连接
Database→提供管理者管理数据库的建立、异动与删除
Table→提供管理者管理数据表的建立、异动与删除
Session→描述数据库服务库和主机
Exit→退出DBACCESS
New→清除Editor画面,输入SQL指令 若输入多条SQL语句,请用“;”将SQL语句分割开
Run→执行Editor中所输入之SQL指令
Run→执行Editor中所输入之SQL指令
Modify→修改Editor中所输入之SQL指令
Use-editor→使用DBEDIT所指定的Editor当编辑器
Use-editor→使用DBEDIT所指定的Editor当编辑器
Output→将执行结果产生至打印机或档案
Choose→选择已建立好的SQL档案复制到Editor中供使用
Save→Editor中所输入的SQL指令存至Editor中供以后参考使用
用户要保存的目标文件名最大长度为10个字符,DB-ACCESS自动为其添加扩展名“.sql”
Info→查询DATABASE与TABLE的资讯
Choose→选择已建立好的SQL档案复制到Editor中供使用
Save→Editor中所输入的SQL指令存至Editor中供以后参考使用
用户要保存的目标文件名最大长度为10个字符,DB-ACCESS自动为其添加扩展名“.sql”
Info→查询DATABASE与TABLE的资讯
Columns→显示指定表的列的信息,包括数据类型和是否允许为空值
Indexes→显示指定表的索引的名字、拥有者和类型(唯一索引和普通索引)
Privileges→列出具有表级插入、删除等权限的用户列表
References→列出对指定表中的列具有关联权限的用户
Status→列出表的状态信息,字段数、记录数、行的大小、创建日期
Status→列出表的状态信息,字段数、记录数、行的大小、创建日期
Constraints→关联、主码、唯一限制和列的默认值
Triggers→触发器的相关信息
Table→选择表
Fragments→表的空间分配策略
Fragments→表的空间分配策略
Connect→可以和特定的数据库建立联系
Disconnect→可以断开当前数据库服务器的连接 更多信息请查看http://wenku.baidu.com/view/5da801bdf121dd36a32d828a.html
2)dbaccess my_dbname my_dbname.sql
解析:将文件my_dbname.sql 导入my_dbname数据库中(与dbschema命令组合使用)
EG:
A.简单执行SQL文件
dbaccess testdb sqlfile.sql 或者 dbaccess testdb@testserver sqlfile.sql
B.执行输出打印执行语句及执行结果
dbaccess -e testdb sqlfile.sql
C.将执行结果重定向到文件(shell: bash)
dbaccess -e testdb sqlfile.sql > output.log > 2&1
cat output.log
1}执行SQL脚本文件时,当出错时打印详细的错误信息
dbaccess -e -m testdb sqlfile2.sql
2.}执行SQL脚本文件时,当出错时打印详细的错误信息并在出现第一个错误时,停止继续执行后续的语句
dbaccess -e -m -a testdb sqlfile2.sql
→可以和特定的数据库建立联系
Disconnect
→可以断开当前数据库服务器的连接
三.dbexport
作用:dbexport导出数据库中所有对象的模式脚本和表数据文件,该模式脚本中包含有表等的创建脚本,同时包含了导出的表的对于数据文件的信息;
Usage:
dbexport <database> [-X] [-c] [-q] [-d] [-ss [-si]][{ -o <dir> | -t <tapedev> -b <blksz> -s <tapesz> [-f <sql-command-file>] }]
参数详解:
-X 如果某个字符串字段中包含二进制数据,加上该参数后,dbexport将重新组织这些数据。-c 除非很严重的错误dbexport才中断,这些错误如下:
不能打开你指定的磁带设备;
不能写磁带设备或文件;
不正确的命令行参数;
不能打开数据库或没有连接数据库的权限;
-q 不用将导出过程输出到屏幕上
-d 让dbexport只导出BLOB字段的描述符,而不导出BLOB数据
-ss 能够生成更详细的信息,比如:
初始和附加extent的尺寸;
表的分片信息;
对表的锁的模式(行锁或页锁);
表所在的dbspace或BLOB数据所在的space;
-o <dir>
可以将数据库导入到你指定的目录下
-t <tapedev> -b <blksz> -s <tapesz>
将数据导入到磁带
-f <sql-command-file>
dbexport在导出数据的同时会产生一个DDL的文件,你可以指定一个绝对路径的文件
EG:
1) dbexport stores
解析:将数据库stores导出到当前目录下
2)dbexport stores -q -c
解析:将数据库stores导出到当前目录下,不将过程输出到屏幕,并且忽略小错
3)dbexport stores -q -c -o /tmp
解析:将数据库stores导出到指定目录下
4)dbexport stores -t /dev/tape -b 2048 -s 2000000 -f /tmp
解析:将数据库stores导出到磁带上
5)dbexport stores -ss
解析:将数据库stores导出前目录下,并且加上额外的信息
四.dbimport
作用:dbimport根据模式脚本进行导入,导入过程首先根据模式脚本创建对象,如何导入相应的数据,导入数据过程类似load过程.如要加速导入,可以首先将数据库的日志模式选择为nolog模式.导入完成后进行日志模式的改变即可.
Usage:
dbimport <database> [-X] [-c] [-q] [-d <dbspace>]
[-l [{ buffered | <log-file> }] [-ansi]]
[{ -i <dir> | -t <tapedev> [ -b <blksz> -s <tapesz> ] [-f <script-file>] }]
NOTE: <log-file> must be a complete path
dbimport -v 显示软件版本号
*运行dbimport的用户将对所创建的数据库拥有DBA权限
dbimport实用程序的语法:
-c 指示dbimport在没有发生致命错误的情况下完成装入工作.
-q 指示在标准输出设备上不显示错误信息和警告.
-X 标识符符字段中的HEX二进制数据.
输入文件位置选项:
-i 指定存储ASCII文件和模式文件的磁盘目录,以便dbimport查找.
-t 指定含有ASCII文件和模式文件的磁带设备名.
-b 指定磁带设备块大小.block以KB为单位,该值必须能为所使用的设备接受.
-s 指定磁带的最大数据存储量.
-f 指定磁盘上模式文件的路径名,以便dbimport查找模式文件,并以此为输入建立数据库.
建库选项:
-d 指定用来存储新建数据库的OnLine数据库空间(dbspace).如果没有使用-d选项指定dbspace,
则数据库缺省建立在根dbspace中.
-l 如果没有使用buffered参数,为装入的数据库建立无缓冲事务日志;如果使用了buffered参数,为装入的数据库建立有缓冲事务日志,
*运行dbimport的用户将对所创建的数据库拥有DBA权限
dbimport实用程序的语法:
-c 指示dbimport在没有发生致命错误的情况下完成装入工作.
-q 指示在标准输出设备上不显示错误信息和警告.
-X 标识符符字段中的HEX二进制数据.
输入文件位置选项:
-i 指定存储ASCII文件和模式文件的磁盘目录,以便dbimport查找.
-t 指定含有ASCII文件和模式文件的磁带设备名.
-b 指定磁带设备块大小.block以KB为单位,该值必须能为所使用的设备接受.
-s 指定磁带的最大数据存储量.
-f 指定磁盘上模式文件的路径名,以便dbimport查找模式文件,并以此为输入建立数据库.
建库选项:
-d 指定用来存储新建数据库的OnLine数据库空间(dbspace).如果没有使用-d选项指定dbspace,
则数据库缺省建立在根dbspace中.
-l 如果没有使用buffered参数,为装入的数据库建立无缓冲事务日志;如果使用了buffered参数,为装入的数据库建立有缓冲事务日志,
-l选项等价于CREATEDATABASE语句的WITH LOG字句,如果没有使用-l选项,新建数据库不带日志.
-ansi 为装入的数据库建立ANSI方式兼容的事务日志.
EG:dbimport mydbname -d mydbs [DBSPACE]
( 注:导入完成后,进行数据库级别的统计更新 update statistics )
修改数据库的日志模式:
ondblog unbuf 数据库名
ontape -s -L 0 -U 数据库名
ontape -s -L 0 -U 数据库名
五.load
EG:用dbaccess命令进入informix操作数据库操作界面,选择需要从中导出数据的库(sysadmin),输入下面sql 语句:
load from 【目录】test.txt insert into table_name;
六.unload
EG:
unload to 【目录】test.txt select * from table_name;