sqlldr,EXP,IMP,EXPDP,IMPDP的使用

--使用sqlldr命令导入数据

--先创建存储导入数据的表
CREATE TABLE TEST
(SCDM  VARCHAR2(2),
 JLLX  VARCHAR2(3),
 JSFS  VARCHAR2(3),
 QSRQ  VARCHAR2(10),
 JSRQ  VARCHAR2(10),
 XWH  VARCHAR2(6),
 QSBH  VARCHAR2(8),
 ZJZH  VARCHAR2(28),
 YHDM  VARCHAR2(5),
 SJMJE NUMBER(12,2),
 BJMJE NUMBER(12,2),
 QSJE  NUMBER(12,2),
 YHS  NUMBER(10,2),
 JSF  NUMBER(10,2),
 GHF  NUMBER(10,2),
 ZGF  NUMBER(10,2),
 SXF  NUMBER(10,2),
 QTFY1 NUMBER(10,2),
 QTFY2 NUMBER(10,2),
 QTFY3 NUMBER(10,2),
 SJSF  NUMBER(20,2),
 QSBZ  VARCHAR2(20),
 YYRQ  VARCHAR2(10),
 BCSM  VARCHAR2(40));
 --控制文件test.ctl
LOAD DATA
INFILE 'f:/source/a.dat'
APPEND INTO TABLE TEST
FIELDS TERMINATED BY X"09"
TRAILING NULLCOLS
(SCDM,JLLX,JSFS,QSRQ,JSRQ,XWH,QSBH,ZJZH,YHDM,SJMJE,BJMJE,QSJE,YHS,JSF,GHF,ZGF,SXF,QTFY1,QTFY2,QTFY3,SJSF,QSBZ,YYRQ,BCSM)
--参数文件test.par
userid=system/oracle@orcl
control='test.ctl'
data='f:/source/a.dat'
log='test.log'
skip=1
bindsize=12800000
readsize=12800000
rows=500
/*
SQL*Loader: Release 10.2.0.1.0 - Production on 星期二 5月 17 18:09:44 2005

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

控制文件:      test.ctl
数据文件:      f:/source/a.dat
  错误文件:    a.bad
  废弃文件:    未作指定
 
(可废弃所有记录)

要加载的数: ALL
要跳过的数: 1
允许的错误: 50
绑定数组: 500 行, 最大 12800000 字节
继续:    未作指定
所用路径:       常规

表 TEST,已加载从每个逻辑记录
插入选项对此表 APPEND 生效
TRAILING NULLCOLS 选项生效

   列名                        位置      长度  中止 包装数据类型
------------------------------ ---------- ----- ---- ---- ---------------------
SCDM                                FIRST     *  WHT      CHARACTER           
JLLX                                 NEXT     *  WHT      CHARACTER           
JSFS                                 NEXT     *  WHT      CHARACTER           
QSRQ                                 NEXT     *  WHT      CHARACTER           
JSRQ                                 NEXT     *  WHT      CHARACTER           
XWH                                  NEXT     *  WHT      CHARACTER           
QSBH                                 NEXT     *  WHT      CHARACTER           
ZJZH                                 NEXT     *  WHT      CHARACTER           
YHDM                                 NEXT     *  WHT      CHARACTER           
SJMJE                                NEXT     *  WHT      CHARACTER           
BJMJE                                NEXT     *  WHT      CHARACTER           
QSJE                                 NEXT     *  WHT      CHARACTER           
YHS                                  NEXT     *  WHT      CHARACTER           
JSF                                  NEXT     *  WHT      CHARACTER           
GHF                                  NEXT     *  WHT      CHARACTER           
ZGF                                  NEXT     *  WHT      CHARACTER           
SXF                                  NEXT     *  WHT      CHARACTER           
QTFY1                                NEXT     *  WHT      CHARACTER           
QTFY2                                NEXT     *  WHT      CHARACTER           
QTFY3                                NEXT     *  WHT      CHARACTER           
SJSF                                 NEXT     *  WHT      CHARACTER           
QSBZ                                 NEXT     *  WHT      CHARACTER           
YYRQ                                 NEXT     *  WHT      CHARACTER           
BCSM                                 NEXT     *  WHT      CHARACTER           


表 TEST:
  765 行 加载成功。
  由于数据错误, 0 行 没有加载。
  由于所有 WHEN 子句失败, 0 行 没有加载。
  由于所有字段都为空的, 0 行 没有加载。


为绑定数组分配的空间:               3096000 字节 (500 行)
读取   缓冲区字节数:12800000

跳过的逻辑记录总数:          1
读取的逻辑记录总数:           765
拒绝的逻辑记录总数:          0
废弃的逻辑记录总数:        0

从 星期二 5月  17 18:09:44 2005 开始运行
在 星期二 5月  17 18:09:56 2005 处运行结束

经过时间为: 00: 00: 11.79
CPU 时间为: 00: 00: 00.08
*/

--使用分别使用EXP、EXPDP导出hr用户下的所有表. (通过编写par文件实现)
--用 EXP导出HR下的所有表 hr.par 参数文件
userid=system/oracle@orcl
owner=HR
file=hr.dmp
filesize=500M
log=hr.log

/*
即将导出指定的用户...
. 正在导出 pre-schema 过程对象和操作
. 正在导出用户 HR 的外部函数库名
. 导出 PUBLIC 类型同义词
. 正在导出专用类型同义词
. 正在导出用户 HR 的对象类型定义
即将导出 HR 的对象...
. 正在导出数据库链接
. 正在导出序号
. 正在导出簇定义
. 即将导出 HR 的表通过常规路径...
. . 正在导出表                       COUNTRIES导出了          25 行
. . 正在导出表                     DEPARTMENTS导出了          27 行
. . 正在导出表                       EMPLOYEES导出了         107 行
. . 正在导出表                            JOBS导出了          19 行
. . 正在导出表                     JOB_HISTORY导出了          10 行
. . 正在导出表                       LOCATIONS导出了          23 行
. . 正在导出表                         REGIONS导出了           4 行
. 正在导出同义词
. 正在导出视图
. 正在导出存储过程
. 正在导出运算符
. 正在导出引用完整性约束条件
. 正在导出触发器
. 正在导出索引类型
. 正在导出位图, 功能性索引和可扩展索引
. 正在导出后期表活动
. 正在导出实体化视图
. 正在导出快照日志
. 正在导出作业队列
. 正在导出刷新组和子组
. 正在导出维
. 正在导出 post-schema 过程对象和操作
. 正在导出统计信息
成功终止导出, 没有出现警告。*/


--利用EXPDP导出HR下的表
--创建工作目录
CREATE OR REPLACE DIRECTORY documents AS 'f:/work';
--参数文件hr1.par
userid=system/oracle@orcl
dumpfile=hr1.dmp
logfile=hr1.log
directory=documents
job_name=job1
schemas=HR
/*
连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
启动 "SYSTEM"."JOB1":  parfile=hr1.par
正在使用 BLOCKS 方法进行估计...
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA
使用 BLOCKS 方法的总估计: 448 KB
处理对象类型 SCHEMA_EXPORT/USER
处理对象类型 SCHEMA_EXPORT/SYSTEM_GRANT
处理对象类型 SCHEMA_EXPORT/ROLE_GRANT
处理对象类型 SCHEMA_EXPORT/DEFAULT_ROLE
处理对象类型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
处理对象类型 SCHEMA_EXPORT/SEQUENCE/SEQUENCE
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE
处理对象类型 SCHEMA_EXPORT/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT
处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/INDEX
处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
处理对象类型 SCHEMA_EXPORT/TABLE/COMMENT
处理对象类型 SCHEMA_EXPORT/PROCEDURE/PROCEDURE
处理对象类型 SCHEMA_EXPORT/PROCEDURE/ALTER_PROCEDURE
处理对象类型 SCHEMA_EXPORT/VIEW/VIEW
处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
处理对象类型 SCHEMA_EXPORT/TABLE/TRIGGER
处理对象类型 SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
. . 导出了 "HR"."COUNTRIES"                            6.085 KB      25 行
. . 导出了 "HR"."DEPARTMENTS"                          6.632 KB      27 行
. . 导出了 "HR"."EMPLOYEES"                            15.76 KB     107 行
. . 导出了 "HR"."JOBS"                                 6.609 KB      19 行
. . 导出了 "HR"."JOB_HISTORY"                          6.585 KB      10 行
. . 导出了 "HR"."LOCATIONS"                            7.710 KB      23 行
. . 导出了 "HR"."REGIONS"                              5.289 KB       4 行
已成功加载/卸载了主表 "SYSTEM"."JOB1"
******************************************************************************
SYSTEM.JOB1 的转储文件集为:
  F:/WORK/HR1.DMP
作业 "SYSTEM"."JOB1" 已于 18:57:40 成功完成*/


--编写一个存储过程P_DROPTABLE,删除HR用户下的所有表

老师,为了安全起见,我怕万一没导好出错,所以我就创建一个临时表,然后导出SCOTT下的某张表
再把它导回去

CREATE TABLE EMP_TEST AS SELECT * FROM SCOTT.EMP;

导出该张表,过程跟前面一样,我用EXP为例子
--以下为导出参数文件emp_test.par
userid=system/oracle@orcl
tables=EMP_TEST
file=emp_test.dmp
filesize=10M
log=emp_test.log

--接下来删除该表

CREATE OR REPLACE PROCEDURE P_DROPTABLE AS
BEGIN
EXECUTE IMMEDIATE 'TRUNCATE TABLE EMP_TEST';
COMMIT;
END;

--调用存储过程CALL P_DROPTABLE();
SELECT * FROM EMP_TEST;--验证EMP_TEST表已经被删除
DROP TABLE EMP_TEST;
--用IMP导入
--以下为参数文件
userid=system/oracle
file=emp_test.dmp
FULL=Y
filesize=10M
log=emp_test.log

连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

经由常规路径由 EXPORT:V10.02.01 创建的导出文件
已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
. 正在将 SYSTEM 的对象导入到 SYSTEM
. 正在将 SYSTEM 的对象导入到 SYSTEM
. . 正在导入表                      "EMP_TEST"导入了          14 行
成功终止导入, 没有出现警告。


--验证一下是否真的导入

SELECT * FROM EMP_TEST; 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值