Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

OracleDB

Oracleデータベースのバックアップをimpdpでリストアする方法

投稿日:2020年3月28日 更新日:

※本記事は「Oracleデータベースのバックアップをexpdpで取得する方法」の続きとなる記事です。

(0)目次&概説

(3) インポート手順(impdp)
 (3-1) (事前作業)ロールの付与
  (3-1-1) ロールの付与状況チェック
  (3-1-2) ロールの権限付与
 (3-2) (事前作業)ディレクトリオブジェクトの作成
  (3-2-1) ディレクトリオブジェクトの作成
  (3-2-2) ディレクトリオブジェクトの作成確認
  (3-2-3) ディレクトリオブジェクトの権限付与
 (3-3) (事前作業)ダンプファイルをインポート先へ転送
 (3-4) impdpの実行
  (3-4-1) impdpの基本構文
  (3-4-2) impdpのオプション指定例

(3) インポート手順(impdp)

(3-1) (事前作業)ロールの付与

基本的には記事「Oracleデータベースのバックアップをexpdpで取得する方法」の「(2-1) (事前作業)ロールの付与」とほぼ同じなので、差分となる箇所のみ記載します。

(3-1-1) ロールの付与状況チェック

(2-1-1) ロールの付与状況チェック」に同じ。

(3-1-2) ロールの権限付与

(2-1-2) ロールの権限付与」とほぼ同じですが、一点異なるのが必要なロールの名前が「IMP_FULL_DUMP」であるという点です。

(3-2) (事前作業)ディレクトリオブジェクトの作成

手順的にはエクスポートの時と全く一緒ですが、対象のサーバが異なるため、インポート先でも同じ手順を行う必要があります

(3-2-1) ディレクトリオブジェクトの作成

(2-2-1) ディレクトリオブジェクトの作成」に同じ。

(3-2-2) ディレクトリオブジェクトの作成確認

(2-2-2) ディレクトリオブジェクトの作成確認」に同じ。

(3-2-3) ディレクトリオブジェクトの権限付与

(2-2-3) ディレクトリオブジェクトの権限付与」に同じ。

(3-3) (事前作業)ダンプファイルをインポート先へ転送

expdpで作成したダンプファイル(.dmp)はエクスポート元のサーバ内に生成されるため、サーバ間の物理ファイルのアクセスが無い場合は、ファイル転送等でimpdpを実行するサーバに配置する必要があります。

Linuxサーバ間でのファイル転送の方法について、下記にてscpコマンドを使った転送方法を照会しているので必要でしたらご参照ください。
https://rainbow-engine.com/linux-scp-file-transfer/

(図331)①dmpファイルの移送

(図331)②scpコマンド例

目次にもどる

(3-4) impdpの実行

上記の事前準備が完了したら、いよいよimpdpコマンドでDBダンプ(≒バックアップ)をインポートします。

(3-4-1) impdpの基本構文

impdpの基本構文は下記の通りです。実際は[option]の部分にて様々な条件(出力先、対象スキーマなど)を指定して実行することが多いです。

impdp [user]/[password]@[net service name] [option]

impdpの代表的なオプションには以下のような要素があります。

 (表) impdpの主なオプション

directory=[dump input path] インポートするダンプファイルのディレクトリをディレクトリオブジェクトを使って指定します。
dumpfile=[dump name].dmp インポートするダンプファイルの名前を指定します。
logfile=[logname].log ログファイルの名前を指定します。
schemas=[your schema] スキーマ単位でインポートする際に指定します。
remap_schema=[before schema]:[after schema] スキーマの名前を変更する際に指定します。[変更前の名前]:[変更後の名前]の順番になっています。
remap_tablespace=[before tablespace]:[after tablespace] スキーマの名前を変更する際に指定します。[変更前の名前]:[変更後の名前]の順番になっています。

目次にもどる

(3-4-2) impdpのオプション指定例

下記の例では「ダンプ配置場所」(directory)と「インポートダンプ名」(dumpfile)と「ログファイル名」(logfile)を指定した例です。「DATA_PUMP_DIR」が事前準備にて作成したディレクトリオブジェクトです。

$ cd $ORACLE_HOME/bin/
$ ./impdp directory=DATA_PUMP_DIR dumpfile=REBWEGUSR_20200322.dmp logfile=REBWEGUSR_20200322.log schemas=RBWEGUSR;

 

(図342)impdpの実行


(中略)

[oracle@tk2-216-17994 bin]$ ./impdp directory=DATA_PUMP_DIR dumpfile=RBWEGUSR_20200322.dmp logfile=RBWEGUSR_20200322.log schemas=RBWEGUSR;

Import: Release 11.2.0.1.0 - Production on Mon Mar 23 20:32:46 2020

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

Username: RBWEGUSR
Password:

Connected to: Oracle Database 11g Release 11.2.0.1.0 - 64bit Production
Master table "RBWEGUSR"."SYS_IMPORT_SCHEMA_01" successfully loaded/unloaded
Starting "RBWEGUSR"."SYS_IMPORT_SCHEMA_01":  RBWEGUSR/[password] directory=DATA_PUMP logfile=REBWEGUSR_20200322.log schemas=RBWEGUSR
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Processing object type SCHEMA_EXPORT/SEQUENCE/SEQUENCE
Processing object type SCHEMA_EXPORT/TABLE/TABLE
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
. . imported "RBWEGUSR"."EMP"                            6.718 MB  138667 rows
. . imported "RBWEGUSR"."EMP_BKUP"                       10.07 MB  208000 rows
. . imported "RBWEGUSR"."EMP_IDX"                        6.718 MB  138667 rows
. . imported "RBWEGUSR"."EMP_IDX_BKUP"                   9.687 MB  200000 rows
. . imported "RBWEGUSR"."EMP_TEST2"                      6.718 MB  138667 rows
(中略)
. . imported "RBWEGUSR"."TEST2"                              0 KB       0 rows
Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type SCHEMA_EXPORT/PROCEDURE/PROCEDURE
Processing object type SCHEMA_EXPORT/PROCEDURE/ALTER_PROCEDURE
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
Job "RBWEGUSR"."SYS_IMPORT_SCHEMA_01" successfully completed at 20:32:59

 

目次にもどる

Adsense審査用広告コード


Adsense審査用広告コード


-OracleDB

執筆者:


  1. […] ・Oracleデータベースのバックアップをexpdpで取得する方法・Oracleデータベースのバックアップをimpdpでリストアする方法 […]

comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

OracleDB11gのキャラクタセットを変更する手順について(手順編)

(0)目次&概説 (1) 記事の目的 (2) キャラクタセット変更手順  (2-1) CSSCAN実行の準備   (2-1-1) csminst.sqlファイルの確認   (2-1-2) SQL*Pl …

Linuxサーバ(CentOS6)にOracleDB11gをインストールする(その4)

掲題の通り、LinuxにOracleDB(11g)をインストールする方法について書きます。 「(その3)」の続編記事です。 https://rainbow-engine.com/2017/05/05/ …

OracleDB11gのキャラクタセットを変更時に遭遇したエラーの対処方法

(0)目次&概説 (1) 記事の目的 (2) キャラクタセット変更手順 (3) 失敗した場合のリカバリ手順 (4) 用語説明 (5) エラー対応  (5-1) エラー:error while load …

SQLでCASE文の結果をWHERE句に指定する方法およびコスト面の考察

本記事では、 ・SQLでCASE文の結果をWHERE句に指定する方法について記述します。 ・CASE文を使う場合のコストについて考察します。 (0)目次&概説 (1) NG例 (2) OK例&解説 ( …

OracleDBのexpdp/impdpで発生したエラー対処[ORA-39002,ORA-39070,ORA-39087]&[ORA-39083,ORA-01658]

(4) エラー対応  (4-1) エラー1:ORA-39002,ORA-39070,ORA-39087   (4-1-1) 発生状況・エラーメッセージ   (4-1-2) 原因   (4-1-3) 対 …

  • English (United States)
  • 日本語
Top