そういうのがいいブログ

SIerで働く30代サラリーマンSEがインフラエンジニアに憧れてLinux・クラウド・AWSの勉強をするブログ

Oracle19cからOracle23aiへdatapumpでデータ移行する手順

※[PR]当ブログの記事の中にはプロモーションが含まれています。

・Oracle19cからOracle23aiへdatapumpでデータ移行する方法を知りたい。

こういった疑問に答えます。

本記事の内容

  1. Oracle19cからOracle23aiへdatapumpでデータ移行する手順

サトナカ (@souiunogaii)

この記事を書いている私は、某SIerに勤務しながら、
WEB系エンジニア・インフラエンジニアに憧れて、プログラミングおよびインフラ技術の勉強をしています。

こういった私が、解説していきます。

私が実機で試したコマンドや画像を載せて書いています。
記事の信頼性担保に繋がると思います。

Oracle19cからOracle23aiへdatapumpでデータ移行する手順

[Oracle19c側]datapump用ディレクトリの確認

select OWNER, DIRECTORY_NAME, DIRECTORY_PATH
from SYS.DBA_DIRECTORIES;
OWNER DIRECTORY_NAME DIRECTORY_PATH
SYS DATA_PUMP_DIR /opt/oracle/admin/ORCLCDB/dpdump/9CEEFEB21FA30422E0536A01A8C0BE10

[Oracle19c側]管理者ユーザーでexpdpやろうとすると権限エラー

[oracle@SV-PLUTO ~]$ expdp findtadm/★★パスワード@FINDTPDB directory=DATA_PUMP_DIR schemas=findtuser01 dumpfile=findtuser01_expdp.dmp exclude=statistics logfile=findtuser01_expdp_20250904.log

Export: Release 19.0.0.0.0 - Production on94 15:41:58 2025
Version 19.3.0.0.0

Copyright (c) 1982

接続先: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
ORA-31626: ジョブが存在しません
ORA-31633: マスター表"FINDTADM.SYS_EXPORT_SCHEMA_05"を作成できません
ORA-06512: "SYS.DBMS_SYS_ERROR"
ORA-06512: "SYS.KUPV$FT"
ORA-01950: 表領域'SYSTEM'に対する権限がありません
ORA-06512: "SYS.KUPV$FT"
ORA-06512: "SYS.KUPV$FT"

[Oracle19c側]SYSTEMユーザーでexpdp実施

expdp system/★★パスワード@FINDTPDB directory=DATA_PUMP_DIR schemas=findtuser01 dumpfile=findtuser01_expdp.dmp exclude=statistics logfile=findtuser01_expdp_20250904.log
[oracle@SV-PLUTO ~]$ expdp system/★★パスワード@FINDTPDB directory=DATA_PUMP_DIR schemas=findtuser01 dumpfile=findtuser01_expdp.dmp exclude=statistics logfile=findtuser01_expdp_20250904.log

Export: Release 19.0.0.0.0 - Production on94 15:45:40 2025
Version 19.3.0.0.0

Copyright (c) 1982

接続先: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
SYSTEM."SYS_EXPORT_SCHEMA_01"を起動しています: system/********@FINDTPDB directory=DATA_PUMP_DIR schemas=findtuser01 dumpfile=findtuser01_expdp.dmp exclude=statistics logfile=findtuser01_expdp_20250904.log
オブジェクト型SCHEMA_EXPORT/TABLE/TABLE_DATAの処理中です
オブジェクト型SCHEMA_EXPORT/USERの処理中です
オブジェクト型SCHEMA_EXPORT/SYSTEM_GRANTの処理中です
オブジェクト型SCHEMA_EXPORT/ROLE_GRANTの処理中です
オブジェクト型SCHEMA_EXPORT/DEFAULT_ROLEの処理中です
オブジェクト型SCHEMA_EXPORT/TABLESPACE_QUOTAの処理中です
オブジェクト型SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMAの処理中です
オブジェクト型SCHEMA_EXPORT/TABLE/TABLEの処理中です
オブジェクト型SCHEMA_EXPORT/VIEW/VIEWの処理中です
. . "FINDTUSER01"."T1"            1.324 MB    3338行がエクスポートされました
. . "FINDTUSER01"."T2"               534.1 KB    1446行がエクスポートされました
. . "FINDTUSER01"."T3"               99.18 KB     237行がエクスポートされました
. . "FINDTUSER01"."T4"        72.17 KB     176行がエクスポートされました
. . "FINDTUSER01"."T5"             40.04 KB     124行がエクスポートされました
 
  (中略)
 
マスター表"SYSTEM"."SYS_EXPORT_SCHEMA_01"は正常にロード/アンロードされました
******************************************************************************
SYSTEM.SYS_EXPORT_SCHEMA_01に設定されたダンプ・ファイルは次のとおりです:
  /opt/oracle/admin/ORCLCDB/dpdump/9CEEFEB21FA30422E0536A01A8C0BE10/findtuser01_expdp.dmp
ジョブ"SYSTEM"."SYS_EXPORT_SCHEMA_01"が木 9月 4 15:46:14 2025 elapsed 0 00:00:31で正常に完了しました

[Oracle23ai側]datapump用ディレクトリの確認

select OWNER, DIRECTORY_NAME, DIRECTORY_PATH
from SYS.DBA_DIRECTORIES;
OWNER DIRECTORY_NAME DIRECTORY_PATH
SYS DATA_PUMP_DIR /opt/oracle/admin/FREE/dpdump/3DF3A83B074C3E2AE0637C64A8C0CDEA

[Oracle23ai側]dmpファイルを配置

[Oracle23ai側]SYSTEMユーザーでimpdpを実施

impdp system/★★★パスワード@FINDTPDB directory=DATA_PUMP_DIR schemas=findtuser01 dumpfile=findtuser01_expdp.dmp  table_exists_action=truncate logfile=findtuser01_impdp_20250904.log
[oracle@a-oracl01 ~]$ impdp system/★★★パスワード@FINDTPDB directory=DATA_PUMP_DIR schemas=findtuser01 dumpfile=findtuser01_expdp.dmp  table_exists_action=truncate logfile=findtuser01_impdp_20250904.log        
        
Import: Release 23.0.0.0.0 - Production on94 16:00:50 2025        
Version 23.9.0.25.07        
        
Copyright (c) 1982  2025   Oracle and/or its affiliates.  All rights reserved.
        
接続先: Oracle Database 23ai Free Release 23.0.0.0.0 - Develop     Learn   and Run for Free
マスター表"SYSTEM"."SYS_IMPORT_SCHEMA_01"は正常にロード/アンロードされました        
SYSTEM."SYS_IMPORT_SCHEMA_01"を起動しています: system/********@FINDTPDB directory=DATA_PUMP_DIR schemas=findtuser01 dumpfile=findtuser01_expdp.dmp table_exists_action=truncate logfile=findtuser01_impdp_20250904.log      
オブジェクト型SCHEMA_EXPORT/USERの処理中です      
ORA-31684: オブジェクト型USER:"FINDTUSER01"はすでに存在します        
       
オブジェクト型SCHEMA_EXPORT/SYSTEM_GRANTの処理中です      
オブジェクト型SCHEMA_EXPORT/ROLE_GRANTの処理中です        
オブジェクト型SCHEMA_EXPORT/DEFAULT_ROLEの処理中です      
オブジェクト型SCHEMA_EXPORT/TABLESPACE_QUOTAの処理中です      
オブジェクト型SCHEMA_EXPORT/TABLE/TABLEの処理中です       
オブジェクト型SCHEMA_EXPORT/TABLE/TABLE_DATAの処理中です      
. . "FINDTUSER01"."TDT001CREDITCARD"              1.3 MB    3338行がインポートされました       
. . "FINDTUSER01"."TDT002CASHOUT"               534.1 KB    1446行がインポートされました       
. . "FINDTUSER01"."TWK018SMBC_IN"                99.2 KB     237行がインポートされました       
. . "FINDTUSER01"."T1"         72.2 KB     176行がインポートされました     
. . "FINDTUSER01"."T2"                40 KB     124行がインポートされました        
. . "FINDTUSER01"."T3"             19.5 KB      14行がインポートされました     
. . "FINDTUSER01"."T4"          18.6 KB      14行がインポートされました        
. . "FINDTUSER01"."T5"               16.7 KB      10行がインポートされました       
 
  (中略)
         
オブジェクト型SCHEMA_EXPORT/VIEW/VIEWの処理中です     
ジョブ"SYSTEM"."SYS_IMPORT_SCHEMA_01"が完了しましたが、1エラーが木 9月 4 16:01:04 2025 elapsed 0 00:00:09で発生しています