Windows での Oracle データベースの自動バックアップ

カバー

元のリンク: Windows での Oracle データベースの自動バックアップ | Elvin

序文

この記事を書く本来の目的は前の記事と同じです。一部の詳細はここでは繰り返しません。より詳細な説明は前の記事を参照してください: Windows での MySQL データベースの自動バックアップ

1. データベースバックアップ用スクリプトファイル

1. スクリプト処理ファイル

まず txt ファイルを使用して次のコンテンツをコピーし、サフィックス .txt を .bat に変更します。

@echo off
echo ================================================
echo Windows环境下Oracle11.2g数据库的自动备份脚本
echo  1. 使用data_当前日期命名备份文件
echo  2. 自动删除7天前的备份,防止文件越来越多
echo ================================================

::以“YYYYMMDD”格式取出当前时间。
echo =====================当天时间=====================  
set BACKUPDATE=%date:~0,4%%date:~5,2%%date:~8,2%%Time:~0,2%%Time:~3,2%%Time:~6,2%
echo ================================================

::设置用户名、密码和要备份的数据库
set USER=robot
set PASSWORD=robot123456
set DATABASE=134.175.59.49/orcl

::创建备份目录  
if not exist "C:\oraclebackup\data"    mkdir C:\oraclebackup\data
if not exist "C:\oraclebackup\log"     mkdir C:\oraclebackup\log
set DATADIR=C:\oraclebackup\data
set LOGDIR=C:\oraclebackup\log

echo =====================开始备份=====================
exp %USER%/%PASSWORD%@%DATABASE%  file=%DATADIR%\data_%BACKUPDATE%.dmp log=%LOGDIR%\log_%BACKUPDATE%.log‘
echo ================================================
echo 备份完成

::删除7天前的备份
forfiles /p "%DATADIR%" /s /m *.* /d -7 /c "cmd /c del @path"
forfiles /p "%LOGDIR%" /s /m *.* /d -7 /c "cmd /c del @path"
::exit
pause>nul

⚠️: log=’%LOGDIR%\log_%BACKUPDATE%.log‘= の後ろの変数は英語の一重引用符‘’で囲む必要があります

2. スクリプト処理ファイルの解析

  • :: 現在時刻を「YYYYMMDD」形式で取得します。

説明: このコマンドは rem と同じですが、:: の使用は rem コマンドよりも厳密です。

  • 経験値

説明: コマンドの実行後、保存されたデータベース データを含む dmp ファイルが生成されます。詳細については自分で確認できます。

  • 出口

説明: exit を使用して実行ウィンドウを直接終了し、pause>nul を使用して任意のキーを押して終了します。

3. スクリプトの変更が必要な箇所

  • :: バックアップするユーザー名、パスワード、データベースを設定します

USER、PASSWORD、DATABASE の 3 つのパラメータは、バックアップする独自のデータベース ユーザー名、パスワード、データベースに変更する必要があります。

  • :: バックアップディレクトリを作成する

バックアップ ファイルとログ ファイルを保存する独自の場所を定義します

4. スクリプト実行文字化けエラー

文字化けエラーが発生した場合は、ドキュメントを使用して .bat ファイルを編集し、関数を選択し另存为、エンコード形式を次のように選択できます。ANSI

中国語の文字化けが依然として表示される場合は、ファイル コンテンツの先頭、つまり@echo offこのコード行の上に次のコードを追加できます。

rem は 936 エンコード形式を使用して中国語をコンパイルしているとマークされています

chcp936

@エコーオフ

5. 空のテーブルは dmp ファイルに保存されません

バックアップする場合、データのないテーブルを dmp ファイルに保存することができない場合があるため、空のテーブルも正常にファイルに保存できるようにするために、他の操作を行う必要があります。この記事「Oracle 11g空のテーブルをエクスポートする、テーブルを減らすソリューション

ここにはたくさんのテーブルがあるので、この記事では方法 3 を選択しました。

2、Windows のスケジュールされたタスク

詳細については、前回の記事「Windows での MySQL データベースの自動バックアップ」を参照してください。

非常に詳細なタイミングタスク設定があります

参考リンク

Windows での Oracle 自動バックアップ


より多くの知識が継続的に更新されます!!!


声明

原文の出典は参考部分に記載しており、原文の出典は記事の参考リンクから入手できます

記事の内容にオリジナルの著作権が含まれている場合は、elvin-chen@ qq.com まで電子メールでご連絡ください。関連する記事や内容は適時に変更またはキャンセルされます。

おすすめ

転載: blog.csdn.net/weixin_42464282/article/details/130991394