您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > 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-dyour_database-talldb.sql2)导出数据库中所有的存储过程到文件db.sql$dbschema-dyour_database-falldb.sql3)导出数据库中的所有对象(包含表,存储过程,触发器。。。)到文件db.sql$dbschema-dyour_databasedb.sql4)导出数据库中一个表的结构到文件db.sql$dbschema-dyour_database_name-tyour_table_namedb.sql5)导出一个存储过程定义到文件db.sql$dbschema-dyour_database_name-fyour_procedure_namedb.sql6)如果导出更多的表的信息(EXTENT...)$dbschema-dyour_database_name-ssdb.sql7)导出数据库中对用户或角色的授权信息$dbschema-dyour_database_name-pall$dbschema-dyour_database_name-rall8)导出数据库中的同义词$dbschema-dyour_database_name-sall导出数据库表结构:dbschema-ddatabasedatabase.sqldbschema-ttablenametablename.sql科学管理合理组织,不断深化“双基”建设,狠抓安全技术教育培训工作,全面落实“手指口述安全确认操作、岗位描述”安全管理规范,提高全员安全责任意识和整体操作技能。-d表示导出整个数据库的表结构,-t表示导出某一个数据表的表结构。数据库及数据表导入导出操作:数据库的导入:1.在dbaccess工具环境环境下建立数据库(如:gdxy)注意:此步操作一定不要直接在dbvis工具上建立,否则后期的脚步总是运行报错,因为在命令行环境下建的数据库里面会有设置数据库的临时空间和log文件。2.开始导入建表的sql脚本(如:createtab.sql在dbaccess工具环境下直接输入dbaccessgdxycreatetab.sql3.导入表中的数据(通常导出时为txt格式)一:对于单个表格,可以采用在dbaccess工具环境直接输入:loadfromtable1.txtinsertintotable1;二:对于使用unload导出的多个文件,可以通过编写命令文件的方式,批量的插入到数据库中。法一:第一步:内容如下FILEtable1.txtDELIMITER'|'3;(此处的数字为表各中对应的字段数目)INSERTINTOtable1;FILEtable2.txtDELIMITER'|'3;(此处的数字为表各中对应的字段数目)INSERTINTOtable2;FILEtable3.txtDELIMITER'|'3;(此处的数字为表各中对应的字段数目)INSERTINTOtable3;生成好了这个命令文件,则可以通过输入如下的dbload命令批量的导入三个表格数据:首先进入到导入文件所在的目录,例如c:\bakdbload-dtest(数据库名字)-cc:\bak\load.txt-laaa(随便输入的日志名字)即可以将三个文件对应的数据导入到指定的表格中法二:第一步:编写导入脚步(load.sql)loadfromtable1.txtDELIMITER'|'INSERTINTOtable1;loadfromtable2.txtDELIMITER'|'INSERTINTOtable2;第二步:在dbaccess工具环境下直接输入dbaccessgdxyload.sql、二、数据库的导出1、单个表格导出:unloadtofileName.txtselect*fromtableName三、导入导出操作备份表结构dbschema-ddatabasedatabase.sqldbschema-ttablename-dtablename.sql-d表示导出整个数据库的表结构,-t表示导出某一个数据表的表结构。导出数据库dbexport:dbexport在使用前必须保证该数据库未被别人打开。在实际环境中,因为很多业务正在运行,应用程序的连接尚未断开,所以不科学管理合理组织,不断深化“双基”建设,狠抓安全技术教育培训工作,全面落实“手指口述安全确认操作、岗位描述”安全管理规范,提高全员安全责任意识和整体操作技能。能直接运行dbexport。我一般使用onmode-ky关闭数据库,然后再用oninit启动数据库,立即执行dbexport数据名,即可将数据导入。假设数据库名为test,导出完成后,可以看见dbexport.out的日志文件和一个test.exp文件夹,这个文件夹里即包含了test这个库的建库脚本和所有的数据文件。导入数据库dbimport:导出来的数据拷贝到测试环境中,注意,如果只拷贝文件过来,dbimport是不认识的,我们需要建立一个刚才那样的文件夹即test.exp,然后在这个子目录的上层运行dbimport,才能将数据导入。命令很简单,只需执行dbimporttest即可。此时要保证你的数据库中没有test这个库,如果这个库存在,运行dbimport会导致失败。倒库之后没日志文件运行dbimport后,库倒是建起来了,可是日志文件没有了。这是因为dbexport将会导致数据库的日志模式丢失,不用担心,我们可以用ontape这个命令来解决,具体步骤如下:a.修改配置文件,在$INFORMIXDIR/etc/onconfig文件里,将TAPEDEV设置为/dev/console,然后重启数据库(我是执行onmode-ky和oninit命令)b.运行ondblogbuftest这个命令意思是先打上一个标志。将数据库日志设置为buffer模式。c.运行ontape-s-L0test即可,在转换数据库模式前,必须先做一个0级备份。d.好了,重启数据库,看看数据库日志模式已经改过来了。另外,还有一个onmonitor命令,也是相当的有用,命令记不得,就可以用这个东西来实现。JDBC连接informix出现的异常:Unabletoloadlocalecategories:昨天连接时出现了这个异常:首先连的库为中文库时才会出现这个异常,故可以判断是其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关闭informix数据服务器1.dbexport将数据库以ASCII方式下载。该命令常用于迁移数据库。如:命令dbexport-o/informix/db_exportstores7,将数据库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_exportstores7根据上例中输出结果创建数据库。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语句的WITHLOG字句。如果没有使用-l选项,新建数据库不带日志。如果没有使用buffered参数,为装入的数据库建立无缓冲事务日志;如果使用了buffered参数,为装入的数据库建立有缓冲事务日志。-ansi为装入的数据库建立ANSI方式兼容的事务日志。3.dbload将ASCII文件中的数据传送到数据库中。4.dbschema将数据库的模式输出到文件中,可用于重建数据库或表。5.oncheck科学管理合理组织,不断深化“双基”建设,狠抓安全技术教育培训工作,全面落实“手指口述安全确认操作、岗位描述”安全管理规范,提高全员安全责任意识和整体操作技能。数据一致性检查和索引修复工具。常用选项有:oncheck-ce检查Chunks和extentsoncheck-cd检查数据行oncheck-ci检查索引值oncheck-cI检查索引值和rowidoncheck-cr检查系统保留页oncheck-cc检查系统目录表6.oninit启动OnLine7.onlog显示系统逻辑日志的内容。常用选项有:onlog-l显示已经备份到磁带上的日志信息8.onmode改变
本文标题:informix数据库操作实例
链接地址:https://www.777doc.com/doc-7179630 .html