说明:本文为面向Oracle ORACLE_DATAPUMP初学者的指导手册
标签:ORACLE_DATAPUMP、数据加载、数据导入、数据卸载、数据导出、跨平台迁移、外部表
注意:文中删去了不需要的多余部分,让初学者一目了然一学就会
相关工具:Oracle常用的3种数据加载工具sql_loader、oracle_loader、oracle_datapump
温馨提示:如果您发现本文哪里写的有问题或者有更好的写法请留言或私信我进行修改优化
★ 相关文章
※ SQL*Loader
※ ORACLE_LOADER Access Driver
※ ORACLE_DATAPUMP Access Driver(本文)
★ 本文大纲
※ 工具对比
※ 知识点
※ 详情
★工具对比
属性/对象
SQL_Loader
ORACLE_LOADER
ORACLE_DATAPUMP
用途
将外部数据导入数据库
对外部表进行装载
对外部表进行装载/卸载
★ 知识点
※ oracle_datapump常用来进行跨平台的数据迁移,如MySQL→Oracle
※ oracle_datapump不是数据泵(expdp/impdp),新学者容易混淆
※ oracle_datapump属于外部表工具,而SQL*Loader只是数据导入工具
★ 详情
✔ 导出数据到外部表
SQL> create directory zzt_dir as '/home/oracle/';
SQL> grant read,write on directory zzt_dir to scott;
SQL> DROP TABLE zzt_oracle_datapump_out;
SQL> CREATE TABLE zzt_oracle_datapump_out
ORGANIZATION EXTERNAL
(
TYPE ORACLE_DATAPUMP
DEFAULT DIRECTORY zzt_dir
LOCATION ('zzt_oracle_datapump.dmp')
)
AS SELECT * FROM SCOTT.EMP;
✔ 导入外部表的二进制数据到数据库表中
SQL> DROP TABLE zzt_oracle_datapump_in;
SQL> CREATE TABLE zzt_oracle_datapump_in
(EMPNO NUMBER(4),
ENAME VARCHAR2(10),
JOB VARCHAR2(9),
MGR NUMBER(4),
HIREDATE DATE,
SAL NUMBER(7,2),
COMM NUMBER(7,2),
DEPTNO NUMBER(2)
)
ORGANIZATION EXTERNAL
(
TYPE ORACLE_DATAPUMP
DEFAULT DIRECTORY zzt_dir
LOCATION ('zzt_oracle_datapump.dmp')
);
SQL> select * from zzt_oracle_datapump_in;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
7369 SMITH CLERK 7902 17-DEC-80 800 20
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30
7566 JONES MANAGER 7839 02-APR-81 2975 20
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30
7782 CLARK MANAGER 7839 09-JUN-81 2450 10
7788 SCOTT ANALYST 7566 19-APR-87 3000 20
7839 KING PRESIDENT 17-NOV-81 5000 10
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30
7876 ADAMS CLERK 7788 23-MAY-87 1100 20
7900 JAMES CLERK 7698 03-DEC-81 950 30
7902 FORD ANALYST 7566 03-DEC-81 3000 20
7934 MILLER CLERK 7782 23-JAN-82 1300 10
14 rows selected.
★ 常见问题
※ 数据源丢失后会有如下提示(务必保留数据源)
ORA-29913: error in executing ODCIEXTTABLEOPEN callout
ORA-29400: data cartridge error
KUP-11010: unable to open at least one dump file for fetch
※ 如果您觉得文章写的还不错, 别忘了在文末给作者点个赞哦 ~
over