元のリンク: 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 データベースの自動バックアップ」を参照してください。
非常に詳細なタイミングタスク設定があります
参考リンク
より多くの知識が継続的に更新されます!!!
声明
原文の出典は参考部分に記載しており、原文の出典は記事の参考リンクから入手できます
記事の内容にオリジナルの著作権が含まれている場合は、elvin-chen@ qq.com まで電子メールでご連絡ください。関連する記事や内容は適時に変更またはキャンセルされます。