Skill Note

平凡なエンジニアがメモ代わりにプログラミング, インフラ, ネットワークを書き綴るブログ

[Oracle]Data Pumpを使用したデータベースのバックアップ

      2020/01/09

Data Pump機能のexpdp/impdpコマンドを使用するとデータベース全体、スキーマ単位、表単位など対象範囲を指定したバックアップやリストアを行うことができます。

この記事ではバックアップの作成からバックアップファイルの世代管理方法を記載します。

事前準備

Data Pumpを実行する前に作業領域の作成と書込/読込権限を付与します。

Cドライブの配下に「BACKUP」フォルダを作成後、systemユーザでログインして作業領域の作成とユーザに書込/読込権限を付与します。

sqlplus system/manager@orcl

create or replace directory BACKUP as 'C:\BACKUP';
grant read, write on directory BACKUP to ユーザ名;

エクスポート

コマンドプロンプトを起動してexpdpコマンドを実行しデータベースをエクスポートします。

rem empテーブルをエクスポートする場合
expdp ユーザ名/パスワード@orcl directory=BACKUP tables=emp dumpfile=emp.dmp

rem systemユーザでscottスキーマをエクスポートする場合
expdp system/oracle@orcl directory=BACKUP schemas=scott dumpfile=scott.dmp

定期バックアップ

一時的なバックアップの場合はコマンドを実行するだけで簡単に作成することができました。

定期的バックアップをする場合にも上記のコマンドを使用したバッチファイルを実行する事で簡単に世代管理することも可能になります。

下記のバッチファイルはファイル名に日時を追加して、作成から一定期間経過した場合に削除します。

@echo off
rem systemユーザでscottスキーマをエクスポートする場合
expdp system/oracle@orcl directory=BACKUP schemas=scott dumpfile=%date:~0,4%%date:~5,2%%date:~8,2%.dmp

rem 作成から30日経過したファイルを削除
cd C:\BACKUP
forfiles /P . /D -90 /M "*.DMP" /c "cmd /c del @file"

Google AdSense PC

Google AdSense PC

Message

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

  関連記事

oracle
[Oracle]トリガーの実行順序を設定する方法

FOLLOWS句を使用して実行順序を設定する 1つの表に対して同レベル(タイミング)のトリガーを複数作成することはできますが、実行順序は保証されていません。 実 …

oracle
Oracle12cのPDBを自動起動にする方法

Oracle12cのプラガブル・データベース(PDB)は初期設定のままでは、毎回、手動で起動させる必要があります。 この記事ではOS起動時やOracle再起動時 …

oracle
Oracle12cでユーザを作成する方法

SQLコマンドを使用したユーザ作成 Oracle12cからマルチテナント・アーキテクチャが採用されており、以前までの手順ではユーザが作成できません。 ここではP …

oracle
Oracle 11g XEへのデータ移行方法を検討してみる

Oracleのデータ移行時は移行元と移行先の文字コードに注意する必要があります。 Windows環境のOracleでは「JA16SJIS」や「JA16SJIST …

oracle
[Oracle]ジョブをスケジューリングして定期実行する方法

DBMS_SCHEDULERパッケージを使用したジョブスケジューリング Oracleでジョブを定期実行するには、DBMS_SCHEDULERパッケージやDBMS …

oracle
[Oracle]データベースを再構築してOracle Expressのキャラクタセットを変更する

前回の記事でCSALTERを使用したキャラクタセットの変更方法を記載しましたが、サブセットのキャラクタセットからスーパセットへの変更のみ可能でした。 この記事で …

oracle
[Oracle]インストールに失敗する原因と対処方法

Oracleインストールエラー時の確認事項 OracleのデータベースやクライアントをWindowsへインストール中に インストーラが途中で落ちたり、エラーが発 …

oracle
[Oracle]データベーストリガーの作成方法

DMLトリガーを作成する データベーストリガーの中でももっとも一般的なDMLトリガーの作成方法と簡単な使用方法を記載していきます。 トリガーとは? トリガーとは …

oracle
Oracleで文字列を全角大文字に変換する(ひらがな・カタカナの小文字(捨て仮名)対応)

Oracleの文字列検索で全角半角、大文字小文字、ひらがなカタカナを区別しないであいまい検索する場合は比較対象の文字列形式を統一する必要があります。 文字列形式 …

oracle
[Oracle]CSALTERを使用してOracle Expressのキャラクタセットを変更する

Oracle Expressでは標準のキャラクタセットとしてAL32UTF8が設定されます。 キャラクタセットを意識しないでデータベースの移行やデータベース間の …