我已经使用EXPDP
process创建了一个转储文件。
我正在尝试使用上述转储文件创建一个外部表。
我正在使用以下语句来创建外部表:
CREATE TABLE HR.DATA_LOAD
(
"EMP_NO" NUMBER(10,0) NOT NULL ENABLE,
"EMP_NAME" VARCHAR2(20 BYTE),
"DEPT_ID" NUMBER(10,0),
"DEPT_NM" VARCHAR2(20 BYTE),
"DOJ" VARCHAR2(20 BYTE),
"LOCATION" VARCHAR2(20 BYTE),
"PHN_NUM" NUMBER(20,0),
"EMAIL" VARCHAR2(20 BYTE),
"COL1" VARCHAR2(20 BYTE),
"COL2" VARCHAR2(20 BYTE)
)
ORGANIZATIONAL EXTERNAL
(
TYPE ORACLE_DATAPUMP
DEFAULT DIRECTORY DATA_PUMP_DIR
LOCATION ('exp_dumpfile.dmp')
);
Run Code Online (Sandbox Code Playgroud)
执行上述语句后,表已创建,但是当我发出SELECT
语句查看数据时,出现以下错误:
Run Code Online (Sandbox Code Playgroud)CREATE TABLE HR.DATA_LOAD ( "EMP_NO" NUMBER(10,0) NOT NULL ENABLE, "EMP_NAME" VARCHAR2(20 BYTE), "DEPT_ID" NUMBER(10,0), "DEPT_NM" VARCHAR2(20 BYTE), "DOJ" VARCHAR2(20 BYTE), "LOCATION" VARCHAR2(20 BYTE), "PHN_NUM" NUMBER(20,0), "EMAIL" VARCHAR2(20 BYTE), "COL1" VARCHAR2(20 BYTE), "COL2" VARCHAR2(20 BYTE) ) ORGANIZATIONAL EXTERNAL ( TYPE ORACLE_DATAPUMP DEFAULT DIRECTORY DATA_PUMP_DIR LOCATION ('exp_dumpfile.dmp') );
我是不是做错了什么,还是我可以使用 Datapump 方法生成的转储文件来创建外部表?
如果您ORA-39324
在Oracle 文档中查找错误描述,您将看到:
原因:为使用数据泵创建的加载操作指定了转储文件。使用
ORACLE_DATAPUMP
访问驱动程序的外部表无法处理此类转储文件。行动:使用数据泵访问此转储文件中的数据。
创建的转储EXPDP
只能由IMPDP
(或dbms_datapump
)读取。而使用可写外部表(使用数据泵驱动程序)创建的转储只能使用外部表接口(使用数据泵驱动程序)重新读取。Expdp
不仅仅是转储数据(这是使用数据泵驱动程序的可写外部表所做的唯一事情)。
社区 Wiki 的回答最初基于BriteSponge和Raj 的评论
社区 wiki 帖子已捐赠给社区,希望其他人能够对其进行编辑以使其保持最新状态、添加有用信息并总体上提高其质量。
归档时间: |
|
查看次数: |
1081 次 |
最近记录: |