Oracle数据库导入导出程序
2007-05-23 10:24
561 查看
使用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
( name char terminated by ‘,’,
rank interger external terminated by ‘,’,
birthday date “dd-mm-yyyy” terminated by ‘,’
)
导入有界定符的文件 (续)
再看一个例子(处理空字段):
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(
stu_num number(10,0),
stu_name varchar2(50),
stu_date date
)
(2)准备数据文件(可以采用spool导出,再下来会讲到): dateFile.txt
"1234","niegc","2006-01-01"
"1235","ngc","2006-01-02"
(3)写控制文件(必须注意每一个字段的位置,和时间字段的格式):loader.ctl
Load data
infile 'F:/test/dateFile.txt'
Append into table test_load
fields Terminated by "," Optionally enclosed by'"'
(
stu_num,
stu_name,
stu_date date "YYYY-MM-DD"
)
(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
---------- -------------------------------------------------- ----------
1234 niegc 01-1月 -06
1235 ngc 02-1月 -06
SQL> spool off
这样就可以导出了
如果你想导出自己定义的格式,你可以先set 参数然后再spool
例如:
SET COLSEP ' '
SET ECHO OFF
SET FEEDBACK OFF
SET HEADING OFF
SET PAGESIZE 0
SET LINESIZE 1000
SET NUMWIDTH 12
SET TERMOUT OFF
SET TRIMOUT ON
SET TRIMSPOOL ON
5、
下面这些在使用过程中经常使用到的.(以后加上调优的参数说明,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
( name char terminated by ‘,’,
rank interger external terminated by ‘,’,
birthday date “dd-mm-yyyy” terminated by ‘,’
)
导入有界定符的文件 (续)
再看一个例子(处理空字段):
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(
stu_num number(10,0),
stu_name varchar2(50),
stu_date date
)
(2)准备数据文件(可以采用spool导出,再下来会讲到): dateFile.txt
"1234","niegc","2006-01-01"
"1235","ngc","2006-01-02"
(3)写控制文件(必须注意每一个字段的位置,和时间字段的格式):loader.ctl
Load data
infile 'F:/test/dateFile.txt'
Append into table test_load
fields Terminated by "," Optionally enclosed by'"'
(
stu_num,
stu_name,
stu_date date "YYYY-MM-DD"
)
(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
---------- -------------------------------------------------- ----------
1234 niegc 01-1月 -06
1235 ngc 02-1月 -06
SQL> spool off
这样就可以导出了
如果你想导出自己定义的格式,你可以先set 参数然后再spool
例如:
SET COLSEP ' '
SET ECHO OFF
SET FEEDBACK OFF
SET HEADING OFF
SET PAGESIZE 0
SET LINESIZE 1000
SET NUMWIDTH 12
SET TERMOUT OFF
SET TRIMOUT ON
SET TRIMSPOOL ON
5、
相关文章推荐
- C# 程序导入导出oracle数据库
- Oracle数据库dmp文件Dos命令下导入导出
- oracle数据库导入导出cmd命令
- Oracle 删除用户和表空间////Oracle创建删除用户、角色、表空间、导入导出、...命令总结/////Oracle数据库创建表空间及为用户指定表空间
- oracle数据库cmd命令导入导出dmp库文件
- 从服务器将ORACLE数据库导出和导入本地oracle数据库中的方法
- Oracle数据库导入导出逻辑备份方法总结
- oracle数据库导入导出命令!
- Oracle数据库导入导出方法的个人总结
- oracle数据库导入、导出、备份方法大放送
- c# Winform程序实现多sheet的Excel文件导入与导出
- 如何使用PLSQL Developer从oracle数据库 导入导出数据
- Oracle数据库远程导入、导出
- Eclipse调试程序及项目的导入导出
- 数据库的导入导出、以及更新服务器上的oracle数据库
- Oracle数据库的导入和导出
- oracle数据库的导入、导出、创建用户、授权
- oracle数据库导入导出imp/exp
- oracle数据库导入导出命令!
- Oracle数据库导入导出DMP文件