Database

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

スポンサーリンク

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"

タイトルとURLをコピーしました