首页 > Linux操作系统 > Linux操作系统 > Oracle数据库导入导出 详解
|
使用oracle的导入导出 下面这些在使用过程中经常使用到的.(以后加上调优的参数说明,SGA区,共享池,PGA,等等spfile里面的参数) 1.Export工具是一个导出程序 语法: exp UserId/Password@数据库全局名 file=DMP文件的目录 其它参数 获取帮助,敲入:exp help=y Export常用的参数(1) Direst 选择是否采用直接路径导出 File指定导出文件名 Full Full=Y将整个数据库导出 Incremental导出上次Incremental 、Cumulative、Complete导出而改变的所有对象 Cumulative 导出上次Cumulative、Complete导出后改变的所有对象 Complete 导出所有的对象 Indexes 指定索引是否被导出 Export常用的参数(2) Log 指定日志的文件名 Owner 允许为指定的用户导出对象 Parfile 允许从一个文件读取导出参数 Query 指定从表中导出符合条件的行 Record 指定是否在导出系统表中记录Incremental或Cumulative导出,默认为Y Rows 控制表数据是否被导出 Tables 允许导入一个或多个表 Triggers 指定触发器是否和表一起导出 2.Import工具是一个导入程序 语法: imp UserId/Password@数据库全局名 file=DMP文件的目录 其它参数 获取帮助,敲入:imp help=y Import常用的参数(1) File 指定导入文件名 Fromuser 允许导入指定的用户拥有的表 Full full=Y时,导入DMP文件中所有的事物 Ignore 为Y时,如果数据出错,将继续下一行数据 Indexes 是否导入索引 Log 指定日志文件 Parfile 指定从文件中读导出参数 Rows 指定是否导入表的数据 Import常用的参数(2) Show 指定显示全部要被执行的参数 Tables 指定导入一个或多个表 Touser 指定导入到哪个用户名下 Userid 指定导入的用户的用户名和密码 3.SQL*Loader简介 SQL*Loader从文本文件导数据到数据库中。功能包括: 从定界文件装数据 从固定长度的文本文件装数据 从二进制文件装数据 在输入文件中过滤数据 SQL*Loader使用的数据类型 Char:该char和数据库中的char类型不同,它包括数据库中的char、varchar、CLOB等类型 Date:时间类型 Interger external:定义整数值 Decimal external:定义包括小数点的数值 装载字段固定长度的文件 一个例子: Load data infile ‘yyb_data.txt’ append Into table emp ( name position(1:10) char, rank position(11:13) interger external, birthday position(13:23) date “dd-mm-yyyy” ) 导入有界定符的文件 一个例子: Load data Infile ‘c:\yyb.txt’ Append Into table emp fields terminated by ',' ( name char, rank interger external, birthday date “dd-mm-yyyy” ) 导入有界定符的文件 (续) 再看一个例子(处理空字段): Load data Infile ‘c:\yyb.txt’ Append Into table emp trailing nullcols ( name char terminated by ‘,’, rank interger external terminated by ‘,’, birthday date “dd-mm-yyyy” terminated by ‘,’ ) 如何把数据放到表中 从前面的例子中可以看出,它们都包含关键字append,还有其它的关键字: Insert:指定要装载的是空表,否则失败 Append:添加数据到表,即使表中有数据 Replace:加载前,将删除表中的所有数据 Truncate:与replace同 使用SQL*Loader命令和参数 命令语法为: sqlldr [param=value [,param= valus … ] ] 参数: Userid 用户名和密码 Control 指定控制文件名,也就是存放前面的胶片中的代码的文件 Log 指定日志文件名 Bad 指定存放坏记录的文件名 SQL*Loader参数(续前) Data 指定数据文件名 Skip 允许跳过的记录数量 Load 允许装入的记录数量 Errors 指定允许的错误数 Rows 指定装载多少条记录提交一次 Direct 可以指定为直接路径装载 Parfile 指定包含命令参数的文件名 举个例子来说明: (1)先创建一张表: create table test_load( (2)准备数据文件(可以采用spool导出,再下来会讲到): dateFile.txt "1234","niegc","2006-01-01" (3)写控制文件(必须注意每一个字段的位置,和时间字段的格式):loader.ctl Load data (3)执行sqlldr C:\Documents and Settings\Administrator>sqlldr niegc/niegc control=f:\test\loader.ctl log=f:\test\aaaaaa.log SQL*Loader: Release 9.2.0.1.0 - Production on 星期三 4月 26 22:06:35 2006 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. 达到提交点,逻辑记录计数2 成功了,是不是很简单,append 还是insert 上面有说明的哦. 4.Spool简介 spool 是数据的导出命令,最简单的执行如下: 用sqlplus 登陆: SQL>spool f:\test\bbb.txt SQL> select * from test_load; STU_NUM STU_NAME STU_DATE SQL> spool off 这样就可以导出了 如果你想导出自己定义的格式,你可以先set 参数然后再spool 例如: SET COLSEP ' ' |
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/14613712/viewspace-616615/ ,如需转载,请注明出处,否则将追究法律责任。