informix数据库导入导出
INFORMIX的dbexport和dbimport使用示例说明
INFORMIX的dbexport和dbimport使用示例说明INFORMIX-IDS数据库进行迁移中,我们在进行数据级别的迁移时,采用dbexport,dbimport来完成。
dbexport导出数据库中所有对象的模式脚本和表数据文件,该模式脚本中包含有表等的创建脚本,同时包含了导出的表的对于数据文件的信息。
dbimport根据模式脚本进行导入,导入过程首先根据模式脚本创建对象,如何导入相应的数据,导入数据过程类似load过程。
如要加速导入,可以首先将数据库的日志模式选择为nolog模式。
导入完成后进行日志模式的改变即可。
以下说明如何使用dbexport和dbimport进行IDS的数据库的数据级别的迁移。
1、导出,首先创建导出一个目录,示例中在/db/目录下创建sunguorong的一个文件夹dbexport dbname -c -ss -o /db/sunguorong2、导出完成后,在sunguorong目录下生成一个dbname.exp的目录,找到该目录下的dbname.sql模式脚本文件,需要利用工具(如sqleditor)来验证一下脚本的语法的正确性(导出的脚本可能存在语法上的错误),需要加以修改纠正。
3、导入,在导入之前,需要按照存储情况先划分好DBSPACEdbimport dbname -i /db/sunguorong dbname -c -l buffered -ddefault_dbspacename4、导入完成后,进行数据库级别的统计更新update statistics ;【补充资料(一)】dbexportdbexport实用程序将数据库卸出到ASCII文件或磁带。
dbimport实用程序使用dbexport产生的模式文件和数据重建数据库。
用户可以通过编辑模式文件来修改由dbimport生成的数据库模式。
dbexport实用程序的语法:-c指示如果没有致命错误,则输出全部信息。
Informix导数总结
Infoxmix命令语法总结: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.sql6)如果导出更多的表的信息(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 all9)导出数据库中的Sequence。
$>dbschema -d payment -seq all cre_seq.sql10)导出表中所有数据$>unload to xxx.txt select * from tablename;11)导入数据到表中$>load from xxx.txt insert into tablename;。
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迁移.
Informix迁移工具1. 前沿总体上说,数据库迁移主要分为二进制迁移和文本迁移2. 二进制迁移二进制迁移使用的工具是ontape、on-bar、onunload等。
2.1 迁移环境源数据库版本:IBM Informix Dynamic Server Version 11.70.FC3DE目标数据库版本:IBM Informix Dynamic Server Version 11.70.FC3DE数据库名:test表名:testtable表中记录:1972124条数据2.2 迁移步骤设置备份路径✓将onconfig文件中的TAPEDEV和LTAPEDEV的路径分别设置为/home/Informix/tapedev、/home/Informix/ltapedev在源服务器上制作最终的0级备份✓ontape –s –L 0使源数据库服务器脱机✓onmode –ky将备份文件、onconfig、sqlhost以及环境变量的setenv1170文件均拷贝到目标服务器的相应位置(注意更改sqlhost文件中的ip地址栏位)在目标服务器上安装IDS软件在目标服务器上的相应位置建立与源数据库服务器相同的chunk文件并更改权限在目标服务器上使用ontape –r命令恢复数据恢复完毕之后,目标服务器自动启动到静默模式,更改使其进入联机模式 制作目标服务器的最初0级备份3. 文本迁移在数据库之间迁移,即将数据移动到不同操作系统上的数据库服务器中3.1 文本迁移中移动数据可以使用的传输工具和实用程序-dbexport和dbimport-onload和onunload-load和unload-dbload-external table-high performance loader(HPL)这些工具有各自的优点和限制。
综合考虑所有因素,选择适合环境的工具或实用程序3.2 迁移环境源数据库版本:IBM Informix Dynamic Server Version 11.50UC5目标数据库版本:IBM Informix Dynamic Server Version 11.70UC5数据库名:test表名:testtable表中记录:1972124条数据3.2 文本迁移的步骤使用on-bar on-archive或ontape来制作最终的0级备份(可选)请选择以下某一迁移实用程序集来卸载数据库:Dbexport和dbimportUnload、dbschema和loadUnload、dbschema和dbload安装并配置目标数据库服务器。
informix数据库常用备份方法
informix数据库常用备份方法informix数据库常用备份方法数据库导出dbexport和导入dbimport说明:dbexport用户导出和备份数据库,dbimport用于恢复dbexport备份的数据库;注意:dbimport导入数据库是,会创建数据库,所以不能存在与要导入重名的数据库。
利用dbexport 备份数据库时有个缺点就是要把所有和数据库操作相关的应用都要停止,而0级备份则不需要停应用。
假如我的数据库为:test_dbdbexport用法:[informix] /opt/informix/db_back>dbexport --Invalid option list.Usage:dbexport <database> [-X] [-c] [-q] [-d] [-ss [-si]][{ -o <dir> | -t <tapedev> -b <blksz> -s <tapesz> [-f <sql-command-file>] }]NOTE: arguments to dbexport are order independent.Dbexport执行后,产生一个文件dbexport.out和一个文件夹test_db.exp[里面是unl文件]如果想备份数据库以及其中的数据:[informix] /opt/informix /db_back>dbexport test_db[informix] /opt/informix /db_back>lsdbexport.out test_db.exp/dbimport用法:[informix] /opt/informix >dbimport --Invalid option list.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 patharguments to dbimport are order independent执行下面命令恢复数据库:[informix] /opt/informix/db_back>dbimport test_db -d workdbs -l bufferedFAQ1:dbimport导入数据失败错误现象如果导入的时候直接执行dbimport test_db这样的话,从建数据库后,就会出现如下错误(原因是直接恢复后,数据库日志级别不是buffer log这样就会出现下面的错误,利用-d指定恢复到哪个数据库空间,不指定的话,默认是rootdbs):[16:45:47]Error: Transaction begin failed.sqlca.sqlcode = -256[16:45:47]Error: Connect to database[evcscp_db@smp4_online_net]failed, sqlcode=-256或是:14:59:07,560 WARN [TransactionImpl] XAException: tx=TransactionImpl:XidImpl [FormatId=257, GlobalId=smp4//1, BranchQual=] errorCode=XA_UNKNOWN(0)org.jboss.resource.connectionmanager.JBossLocalXAException: Error trying to start local tx: ; - nested throwable: (org.jboss.resource.JBossResourceException: SQLException; - nested throwable:(java.sql.SQLException: Transactions not supported))解决方法方法1:导入数据库的时候,就直接指定日志类别-l buffered;方法2:通过ontape –s –B test_db –L 0 修改日志级别为buffer log;FAQ2:dbimport导入如果存在同名的数据库则会失败错误现象[informix] /opt/informix /db_back_01>dbimport test_db*** create database330 - Cannot create or rename database.100 - ISAM error: duplicate value for a record with unique key.解决方法利用informix用户登录删除该重名数据库FAQ3:dbexport导出数据库失败错误现象[informix] /opt/informix /db_back_01>dbexport test_db-425 - Database is currently opened by another user.-107 - ISAM error: record is locked.解决方法:停止所有和test_db数据库相关的应用,如果还出现上面的问题,就使用informix用户登录,查看连接该数据库的session,然后强制停止。
导出informix数据库表结构脚本
导出完成后将在 <保存的目录> 下产生一个文件夹 db_das.exp(导出的数据库名.exp)
导入数据库
输入:dbimport -c -i d:\informix db_das
select * from systables
where tabid > 99
// tabname 存放表的名字
// tabtype 存放表的类型 T=表,E=外部表,V=视图......
//SQL参考指南 nrows 表中的行数 ncols 表中的列数
//*****************************************************************************
7)导出数据库中对用户或角色的授权信息$>;dbschema -d your_database_name
7)导出数据库中对用户或角色的授权信息
$>dbschema -d your_database_name -p all
$>dbschema -d your_database_name -r all
onstat -d 看一看你的数据库空间是怎么分配的
如果你在做dbimport的时候没有指定参数,那么会把整个数据库建在rootdbs上。
如果数据库空间规划得比较细的话,应该有专用于装数据的dbspace。
//*****************************************************************************
数据库导入导出方法
1、在数据库新建一个表
1)在左边对象里选中“表”。
点上面“新建”选项。
2)出现一个对话框。
选“导入表”。
点“确定”。
3)出现对话框,选你要导入有Excel表。
4)导入后会出现“导入数据表向导”。
(1)选中“显示工作表”点“下一步”。
(2)选中“第一行包含列标题”点“下一步”。
(3)选中“新表中”点“下一步”。
(4)“下一步”。
(5)选中“不要主键”,点“下一步”
(6)“导入到表:”改表名,点完成。
5)左边“对象”选中“报表”,在右边点“”。
(1)在“表/查询”下选要导出的表名。
将下面“可用字段”里的选项。
按导出顺序依次选入“选定的字段”里,点“下一步”。
(2)点“下一步”,到报表布局方式,在“布局里”选“纵栏表”,方向选“纵向”。
点下一步。
(3)点“下一步”,选“修改报表设计”,点完成。
6)完成创建报表后会弹出报表修改的对话框。
(1)先删除页眉页脚。
(在表格处单击鼠标右键,点页眉页脚就可以删除。
)
(2)只留“主体”。
将主体中的字段调整到导出字段的大小,关闭报表保存。
7)选中报表,在工具栏里找到导出选择用WDRD导出。
(2)导出WORD后保存。
Informix数据库备份详解
Informix数据库1、备份表结构Dbschema -d dbname -t all -ss(1)导出数据库中所有的表结构到文件db.sql$>dbschema -d your_database -t all db.sql(2)导出数据库中所有的存储过程到文件db.sql$>dbschema -d your_database -f all db.sql(3)导出数据库中的所有对象(包含表,存储过程,触发器。
)到文件db.sql$>dbschema -d your_database db.sql(4)导出数据库中一个表的结构到文件db.sql$>dbschema -d your_database_name -t your_table_name db.sql(5)导出一个存储过程定义到文件db.sql$>dbschema -d your_database_name -f your_procedure_name db.sql(6)如果导出更多的表的信息(EXTENT...)$>dbschema -d your_database_name -ss db.sql(7)导出数据库中对用户或角色的授权信息$>dbschema -d your_database_name -p all$>dbschema -d your_database_name -r all(8)导出数据库中的同义词$>dbschema -d your_database_name -s all(9)导出数据库中数据unload to *.txt select * from table_name where ...Informix-Online数据库因其具有高性能、高可靠性、支持数据完整性定义/检查等特性而得到广泛应用。
Informix-Online数据库常用的三种数据备份方式:a. 使用ontape工具进行数据备份b. 使用dbexport命令进行数据备份c. 使用Onunload命令进行数据备份一.目的与优缺点「数据库系统」可说是一个企业的心脏,许多承先启后的宝贵数据,存放在数据库中。
数据库导入与导出的方法与注意事项
数据库导入与导出的方法与注意事项数据库是存储和管理数据的重要工具之一,对于使用数据库的人来说,数据库导入和导出是一项基本操作。
数据库导入和导出功能允许用户将数据从一个数据库迁移到另一个数据库,或从数据库导出到其他应用程序进行处理。
在进行数据库导入和导出时,有一些方法和注意事项需要我们了解和掌握。
一、数据库导出方法与注意事项1. 选择导出格式:数据库导出的格式通常有多种选择,如CSV、SQL脚本、Excel等。
根据自己的需求选择合适的导出格式,确保导出的数据可以被其他应用程序正确读取和处理。
2. 导出选定的表或整个数据库:在进行数据库导出前,需要明确导出的范围是选定的某些表还是整个数据库。
如果只需要导出部分数据,可以选择需要导出的表并进行设置。
3. 导出数据的筛选:在某些情况下,我们只需要导出符合一定条件的数据。
数据库导出功能通常提供了筛选条件的设置,可以根据自己的需求设定导出数据的筛选条件。
4. 导出数据的分隔符和字符编码:导出数据时,需要选择合适的分隔符,以便数据可以被其他应用程序正确分隔。
同时,选择正确的字符编码也是保证导出数据正确性的重要一步。
5. 导出数据的顺序:某些情况下,我们需要按照特定的顺序导出数据。
在数据库导出功能中,通常提供了数据排序的选项,可以根据自己的需求设置导出数据的顺序。
6. 导出数据的频率和定时导出:有些场景需要定时导出数据库数据,以备份数据或进行其他操作。
数据库导出功能通常提供了定时导出的选项,可以根据需求设定导出数据的频率和时间。
7. 导出完成后的数据校验:导出数据后,应该进行数据校验以确保导出的数据完整和准确。
通常可以通过对比导出前和导出后的数据进行比对,或者通过其他检验手段进行数据校验。
二、数据库导入方法与注意事项1. 选择导入数据的格式:与数据库导出相对应,数据库导入时也需要选择合适的数据格式。
导入数据的格式需与导出数据的格式相匹配,确保数据的一致性和正确性。
informix_online数据库三种备份方法的选择
informix_online数据库三种备份方法的选择第一篇:informix_online数据库三种备份方法的选择【IT168 服务器学院】INFORMIX-ONLINE数据库因其具有高性能、高可靠性、支持数据完整性定义和检查等特性而被广泛应用。
数据库被使用后,数据备份的安全可靠性便成为人们普遍关注的问题。
下面根据笔者多年的学习和使用经验,对INFORMIX-ONLINE数据库常用的三种数据备份方式加以归纳和比较。
一、使用ontape工具进行数据备份1.ontape工具的功能ontape工具具有如下功能:备份和恢复ONLINE数据、备份和恢复逻辑日志、改变数据库日志状态等。
在此着重介绍数据备份功能。
2.执行ontape备份数据的语法ontape备份语法为:ontape -s -L 备份级别(0、1、2)在ONLINE处于联机或静止方式时,informix用户或具有DBA权限的用户可以通过执行上面的命令进行备份。
根据备份方案安排进行0级、1级、2级备份。
0级备份是对整个数据库的所有数据进行完整备份,1级备份是只对0级备份以后修改过的数据进行备份,2级备份只是对1级备份以后修改过的数据进行备份。
3.需要注意的问题(1)在执行ontape备份前要对ONCONFIG文件中的TAPEDEV、TAPEBLK、TAPESIZE参数进行正确的设置。
(2)为了缩短数据恢复时间,应以进行0级为主,尽量减少1级和2级备份。
对银行等重要部门数据,应每天进行0级备份。
(3)如果需要将ontape备份的数据恢复到另一台服务器上时,要求两台服务器机型、操作系统、ONCONFIG配置文件及非临时分配的dbspace磁盘空间数量和大小必须一致,否则数据不能正常恢复。
(4)必须保证有足够可用的逻辑日志文件。
如果剩余的逻辑日志空间小于单个逻辑日志的50%,INFORMIX-ONLINE将拒绝执行备份操作,必须先备份已使用过的逻辑日志,然后才能进行数据备份。
informix数据库导出导入过程
informix数据库导出导入过程1.unloadzz.sh dbname导出(为了说明方便,假定导出的数据库名字叫做mysrcdb)2.修改dbname/schema/dbname.sql文件中的,这里此值为:mysrcdb/schema/mysrcdb.sql。
(1)检查用户名是否需要修改(一般在文件头位置),例如:(将netpilot用户名字改为informix名)grant dba to "netpilot";grant dba to "informix";修改为:grant dba to " informix";grant dba to "informix";(2)修改所属的数据库空间名是否需要修改(可以通过关键字” in “来查找(in的前后各带上一个空格进行查找,要不然太多了),一般是在创建索引或触发器的地方),例如:(将空间名字由原来存放在dldddbs上,改为存放在datadbs1上)create unique index "informix".ix_reply_header on "informix".dd_reply_header (dd_number,province) using btree in dldddbs ;修改为:create unique index "informix".ix_reply_header on "informix".dd_reply_header (dd_number,province) using btree in datadbs1;(3)检查创建视图的字段名字中是否存在””(双引号),如果存在,则将其去掉。
(可以通过”create view”关键字来查找)。
例如,(将”name”改为name,只需要去掉用来创建字段名字中的双引号,来源中(as select后的信息)的双引号可以不用去掉)create view "informix".x_linegroupid (id,"name",kind,pro,city,county) asselect x0.id ,x0."name" ,x0.kind ,x0.pro ,x0.city ,x0.countyfrom "informix".x_ductgroup x0 union select x1.id ,x1."name",x1.kind ,x1.pro ,x1.city ,x1.county from "informix".x_polewaygroupx1 union select x2.id ,x2."name" ,x2.kind ,x2.pro ,x2.city,x2.county from "informix".x_stonewaygroup x2 ;修改为:create view "informix".x_linegroupid (id, name,kind,pro,city,county) asselect x0.id ,x0."name" ,x0.kind ,x0.pro ,x0.city ,x0.countyfrom "informix".x_ductgroup x0 union select x1.id ,x1."name",x1.kind ,x1.pro ,x1.city ,x1.county from "informix".x_polewaygroupx1 union select x2.id ,x2."name" ,x2.kind ,x2.pro ,x2.city,x2.county from "informix".x_stonewaygroup x2 ;(4)检查创建触发器字段名字中是否存在””(双引号),如果存在,则将其去掉。
informix常用数据库操作
informix常用数据库操作查看数据库实例名: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 ,回车。
此时数据库应该已经建立。
查看某个数据库的表空间: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)导出数据库中的所有对象(包含表,存储过程,触发器。
)到文件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 your_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. 准备数据文件首先,用户需要准备待导入的数据文件。
数据文件可以采用常见的数据格式,如CSV、Excel等。
确保数据文件的格式与数据库表结构的字段类型和顺序相匹配。
2. 打开数据库管理工具使用合适的数据库管理工具(如MySQL Workbench、Navicat等),打开数据库并选择待导入的目标表。
3. 导入数据在数据库管理工具中,选择数据导入功能,并选择待导入的数据文件。
根据工具的指引,配置导入选项,如目标表名称、字段映射、插入模式等。
最后,点击“导入”按钮开始导入数据。
4. 验证导入结果导入完成后,用户可以通过查询相关表数据,或者使用数据库管理工具提供的查询功能,验证数据是否成功导入。
三、数据导出数据导出是将数据库中的数据导出为外部文件的过程,下面是数据导出的步骤和注意事项:1. 打开数据库管理工具同样,在合适的数据库管理工具中打开数据库,并选择需要导出的数据表。
2. 导出数据选择数据库管理工具中的数据导出功能,配置导出选项,如导出文件格式、导出表名称、筛选条件等。
点击“导出”按钮开始导出数据。
3. 验证导出结果导出完成后,用户可以通过查看导出文件,或使用其他软件打开导出文件,验证数据是否成功导出。
四、注意事项在进行数据库数据导入与导出操作时,还需要注意以下几点:1. 数据库连接确保数据库连接正常并且权限足够,以便进行数据导入与导出的操作。
2. 数据备份在进行数据导入与导出之前,建议先对数据库进行备份,以防止数据丢失或不可恢复。
3. 数据格式转换外部数据文件与数据库表结构可能存在差异,需根据实际情况进行数据格式转换或映射,以确保导入数据的准确性。
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 -z第二部分一、基础常用命令oninit 将系统从off-line模式变为on-line模式oninit -iy (初始化数据库,删除所有dbspace和chunk)oninit -s (脱机-->静态)onmode -ky offlineonmode -s graceful shutdown-->quiescent(联机到静态,让用户处理完成)onmode -u immediate shutdown-->quiescent (联机到静态,所有用户立即终止)onmode -m quiescent--->onlineonmode -z sid 删除某sessiononmode -l 将当前正在使用的逻辑日志下移onmode -c 强制执行检查点操作即onmonitor->force ckptonstat - 查看服务器状态onstat -d 查看dbspace和chunk情况onstat -l 查看逻辑日志onstat -F 查看写入磁盘的页刷新和类型情况,从共享内存缓冲区向磁盘写入页面有三种方式(fg:前台写 LRU:队列写 chunk:块写)onstat -R 打印LRU队列onstat -p 显示系统的基本I/O与性能配置文件onstat -c 查看onconfig文件onstat -m 查看消息日志onstat -f 查看受DATASKIP影响的dbspaceonstat -x 查看事务onstat -k 显示所有活动的锁onstat -g sub_option 运行多线索选项onstat -g ses/sqlonstat -r 每隔秒后重复选项onstat -g act 显示系统中所有的活动线索onstat -g ath -r 2 每隔两秒显示系统中所有的活动的线索onstat -i 交互方式>sql>sql sidipcs 查看共享内存情况ipcrm 删除某个共享内存ipcrm -m idipcrm -s idOntape命令:1)零级(一级或二级)备份$>ontape -s$>ontape -s -L 0$>ontape -s -L 1$>ontape -s -L 2自动备份逻辑日志文件$>ontape -a3)连续逻辑日志备份(日志文件写满一个,online系统自动备份一个,你可以插盘磁带到磁带机上,让IDS自动备份。
数据库的数据导入与导出的说明书
数据库的数据导入与导出的说明书一、介绍数据库的数据导入与导出功能是一种常见的操作需求。
无论是数据备份、数据迁移还是数据交换,通过导入与导出功能,可以方便地将数据从一个数据库中导入到另一个数据库中,或者将数据从数据库中导出到外部文件,从而实现数据的共享和传递。
本说明书将详细介绍数据库的数据导入与导出的操作步骤和注意事项。
二、数据导入数据导入是将外部文件中的数据导入到数据库中的过程。
下面是数据导入的操作步骤:1. 打开数据库管理系统,并登录到目标数据库。
2. 在数据库管理系统的图形界面或通过命令行工具,找到数据导入功能入口。
3. 选择要导入的文件类型,常见的文件类型包括CSV、Excel等,根据文件类型选择相应的选项。
4. 选择要导入的文件,并设置数据导入的参数,如字段映射、数据格式等。
5. 开始导入数据,等待导入过程完成。
在进行数据导入时,还需要注意以下事项:1. 确保导入的文件格式与目标数据库的格式兼容,避免数据丢失或错误。
2. 针对大规模数据导入,可以考虑使用批量导入或并行导入的方式,提高导入效率。
3. 在导入之前,建议先备份目标数据库,以防数据导入错误造成损失。
4. 导入过程中,可根据导入日志进行监控和检查,确保数据导入的准确性和完整性。
三、数据导出数据导出是将数据库中的数据导出到外部文件的过程。
下面是数据导出的操作步骤:1. 打开数据库管理系统,并登录到源数据库。
2. 在数据库管理系统的图形界面或通过命令行工具,找到数据导出功能入口。
3. 选择要导出的数据表或数据集合,并设置导出的参数,如导出的文件类型、导出的数据范围等。
4. 开始导出数据,等待导出过程完成。
在进行数据导出时,还需要注意以下事项:1. 根据目标外部文件类型,选择相应的导出格式,如CSV、Excel 等。
2. 可根据需求,选择导出的数据范围,如全部数据、特定时间段的数据等。
3. 导出的文件路径和命名要具有清晰的标识,方便后续使用和管理。
Informix数据库迁移
Informix数据库迁移一、说明由于借用设备要归还,数据库infomix要迁移到别的数据库上,只能硬着头皮研究一下,这里做一下记录,方便以后自己查阅或提供给其他人参考。
从201主机(CENTOS6.1)迁移到181主机(SUSE11 SP2)目前181主机已经安装完成,对应安装过程参考informix的安装文档,这里不做说明。
二、迁移前准备根据要数据情况在181上创建了一个lv,挂载在/infdata目录下。
informix表空间规划命令整理.TXT具体的表空间规划可以参考附件:新建的数据库自己数据的dbspace可以参考201主机的dbspace情况三、迁移过程记录1、201主机导出数据:[informix@R720-181:/infdata]$dbexport interface -c -ss -o /informix/wxz上面命令导出,在/informix/wxz目录生成interface.exp目录,打包ftp传到181主机,如存放181主机目录/informix/wxz目录并解包还原为interface.exp目录形式2、181主机导入数据:导入之前请先看注意事项,避免导入过程报错,要重复导入。
[informix@R720-181:/infdata]$dbimport interface -i /informix/wxz -c -l buffered -d interfacedbs导入完成后在客户端执行 update statistics;更新informix的系统字典表数据四、注意事项1、 dbexport的时候会报错,提示有连接锁住,可以 onmode �Cky 关闭数据库,然后oninit启动数据库,立即再dbexport就可以。
另外也可以停应用杀会话,查看连接该数据库的session,然后强制停止。
[informix] :/opt/informix>onstat -g sql |grep test_db401320 - test_db CR Wait 5 0 0 9.03 Off 401315 - test_db CR Not Wait 0 0 9.03 Off 杀死对应的Session进程[informix] :/opt/informix>onmode -z 401320[informix] :/opt/informix>onmode -z 401315然后再用onstat -g sql |grep test_db查看,直到杀死的没有session为止。
informix数据库导入导出
所谓中间库,就是说把从各个业务系统卸载下来的数据(通常是文本),装载到这个中间库Informix中,然后再然过ETL过程操作,最后装载到数据仓库中。
之所以要采用一个中间库,主要是为了使数据容易维护,因为从各业务系统卸载下来的数据(通常是文本),文本文件是比较难于维护的。
还有解决一些乱码问题,Informix这里可以把乱码的数据去除掉。
最后一个就是解决文本文件取定长数据的问题,很容易出错,不过这个具体我还是不是很明白。
其实也可以直接使用文本文件,就是说不经过这个中间库,然后需要解决上面说的三个问题。
Informix数据导出,也叫做卸数:unload to fileName.txt select * from tableName语法比较简单,unload to 后面接导出的文本文件名称,select后面接你所要导出的数据的条件。
Informix数据导入,也叫做装数:load fileName.txt insert into tableNameload后面接需要导入的文本文件名称,后面insert into后面接数据表名。
备份数据库结构dbschema -d database > database.sql-d表示导出整个数据库的表结构,备份表结构dbschema -t tablename >tablename.sqldbschema –d database –t tablename > tablename.txt-t表示导出某一个数据表的表结构。
informix数据库表的导入和导出使用dbaccess工具,选择相应数据库,然后执行SQL语句导出:unload to table1.txt select * from table1;命令含义为:将table1表格中的数据导入到table1.txt中,此处文件名可以带路径,否则就会被导出到当前目录。
导入:load from table1.txt insert into table1;命令含义:将当前目录下的table1.txt中的内容插入到表格table1中。
informix迁移.
Informix迁移工具1. 前沿总体上说,数据库迁移主要分为二进制迁移和文本迁移2. 二进制迁移二进制迁移使用的工具是ontape、on-bar、onunload等。
2.1 迁移环境源数据库版本:IBM Informix Dynamic Server Version 11.70.FC3DE目标数据库版本:IBM Informix Dynamic Server Version 11.70.FC3DE数据库名:test表名:testtable表中记录:1972124条数据2.2 迁移步骤设置备份路径将onconfig文件中的TAPEDEV和LTAPEDEV的路径分别设置为/home/Informix/tapedev、/home/Informix/ltapedev在源服务器上制作最终的0级备份ontape –s –L 0使源数据库服务器脱机onmode –ky将备份文件、onconfig、sqlhost以及环境变量的setenv1170文件均拷贝到目标服务器的相应位置(注意更改sqlhost文件中的ip地址栏位)在目标服务器上安装IDS软件在目标服务器上的相应位置建立与源数据库服务器相同的chunk文件并更改权限在目标服务器上使用ontape –r命令恢复数据恢复完毕之后,目标服务器自动启动到静默模式,更改使其进入联机模式制作目标服务器的最初0级备份3. 文本迁移在数据库之间迁移,即将数据移动到不同操作系统上的数据库服务器中3.1 文本迁移中移动数据可以使用的传输工具和实用程序-dbexport和dbimport-onload和onunload-load和unload-dbload-external table-high performance loader(HPL)这些工具有各自的优点和限制。
综合考虑所有因素,选择适合环境的工具或实用程序3.2 迁移环境源数据库版本:IBM Informix Dynamic Server Version 11.50UC5目标数据库版本:IBM Informix Dynamic Server Version 11.70UC5数据库名:test表名:testtable表中记录:1972124条数据3.2 文本迁移的步骤使用on-bar on-archive或ontape来制作最终的0级备份(可选)请选择以下某一迁移实用程序集来卸载数据库:Dbexport和dbimportUnload、dbschema和loadUnload、dbschema和dbload安装并配置目标数据库服务器。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
所谓中间库,就是说把从各个业务系统卸载下来的数据(通常是文本),装载到这个中间库Informix中,然后再然过ETL过程操作,最后装载到数据仓库中。
之所以要采用一个中间库,主要是为了使数据容易维护,因为从各业务系统卸载下来的数据(通常是文本),文本文件是比较难于维护的。
还有解决一些乱码问题,Informix这里可以把乱码的数据去除掉。
最后一个就是解决文本文件取定长数据的问题,很容易出错,不过这个具体我还是不是很明白。
其实也可以直接使用文本文件,就是说不经过这个中间库,然后需要解决上面说的三个问题。
Informix数据导出,也叫做卸数:unload to fileName.txt select * from tableName
语法比较简单,unload to 后面接导出的文本文件名称,select后面接你所要导出的数据的条件。
Informix数据导入,也叫做装数:load fileName.txt insert into tableName
load后面接需要导入的文本文件名称,后面insert into后面接数据表名。
备份数据库结构
dbschema -d database > database.sql
-d表示导出整个数据库的表结构,
备份表结构
dbschema -t tablename >tablename.sql
dbschema –d database –t tablename > tablename.txt
-t表示导出某一个数据表的表结构。
informix数据库表的导入和导出
使用dbaccess工具,选择相应数据库,然后执行SQL语句
导出:
unload to table1.txt select * from table1;
命令含义为:将table1表格中的数据导入到table1.txt中,此处文件名可以带路径,否则就会被导出到当前目录。
导入:
load from table1.txt insert into table1;
命令含义:
将当前目录下的table1.txt中的内容插入到表格table1中。
对于使用unload导出的文件,可以通过编写命令文件的方式,批量的插入到数据库中。
例如导出三个文件table1.txt,table2.txt,table3.txt
可以编写下面的命令文件,不妨命名为load.txt
内容如下
FILE table1.txt DELIMITER '|' 3;(此处的数字为表各中对应的字段数目)
INSERT INTO table1;
FILE table2.txt DELIMITER '|' 3;(此处的数字为表各中对应的字段数目)
INSERT INTO table2;
FILE table3.txt DELIMITER '|' 3;(此处的数字为表各中对应的字段数目)
INSERT INTO table3;
生成好了这个命令文件,则可以通过输入如下的dbload命令批量的导入三个表格数据:
首先进入到导入文件所在的目录,例如c:\bak
dbload -d test(数据库名字) -c c:\bak\load.txt -l aaa(随便输入的日志名字) 即可以将三个文件对应的数据导入到指定的表格中
Informix-dbexport用法
Usage:
dbexport <database> [-X] [-c] [-q] [-d] [-ss]
[{ -o <dir> | -t <tapedev> -b <blksz> -s <tapesz> [-f <sql-command-file>] }] NOTE: arguments to dbexport are order independent.
参数详解:
-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的文件,你可以指定一个绝对路径的文件
例:
1) 将数据库stores导出到当前目录下
$>dbexport stores
2) 将数据库stores导出到当前目录下,不将过程输出到屏幕,并且忽略小错$>dbexport stores -q -c
3) 将数据库stores导出到指定目录下
$>dbexport stores -q -c -o /tmp
4)将数据库stores导出到磁带上
$>dbexport stores -t /dev/tape -b 2048 -s 2000000 -f /tmp
5)将数据库stores导出前目录下,并且加上额外的信息
$>dbexport stores -ss。