เจอ Error ORA-39087: directory name DATA_DUMP_DIR is invalid บน Oracle Database 12c ระหว่างที่ import datapump เข้า pdb ครับ
ใช้คำสั่ง import data pump แบบปกติ
impdp \"sys@pdb as sysdba\" dumpfile=DATA_DUMP_DIR:<dumpfile> logfile=DATA_DUMP_DIR:<logfile> schemas=<schema_name>
ปรากฎว่าเจอ error ORA-39087: directory name DATA_DUMP_DIR is invalid
Import: Release 12.1.0.2.0 - Production on Fri Jan 29 16:58:09 2016
Copyright (c) 1982, 2014, Oracle and/or its affiliates. All rights reserved.
Password:
Connected to: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit
Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing opt
ions
ORA-39002: invalid operation
ORA-39070: Unable to open the log file.
ORA-39087: directory name DATA_DUMP_DIR is invalid
เราก็ลองเข้า sqlplus และ select * from dba_directories; ดู
SQL> select * from dba_directories where DIRECTORY_NAME='DATA_PUMP_DIR';
OWNER
--------------------------------------------------------------------------------
DIRECTORY_NAME
--------------------------------------------------------------------------------
DIRECTORY_PATH
--------------------------------------------------------------------------------
ORIGIN_CON_ID
-------------
SYS
DATA_PUMP_DIR
E:\oracle\data_pump_file
1
กำละ (= ="
วิธีแก้ไขปัญหา
Command> sqlplus / as sysdba
SQL> alter session set container=pdb;
SQL> CREATE DIRECTORY PDB_DUMP_DIR AS 'E:\oracle\data_pump_file';
Command> impdp \"sys@pdb as sysdba\" dumpfile=DATA_DUMP_DIR:<dumpfile> logfile=DATA_DUMP_DIR:<logfile> schemas=<schema_name>
เนื่องจาก 12c แบ่ง directory โดยแยก directory ของ container และ pluggable จากการ select * from dba_directories ภายใน pdb ได้ข้อมูลตามภาพด้านล่าง
มีอะไรที่ผมเข้าใจผิดแจ้งด้วยนะครับ
Young Oracle DBA Thailand ..
No comments:
Post a Comment