Linux で Oracle データベースをバックアップするためのスケジュールされたタスクの設定に関するチュートリアル

Linux で Oracle データベースをバックアップするためのスケジュールされたタスクの設定に関するチュートリアル

1. データベースの文字セットを確認する

データベースの文字セットは、Linux で設定された環境変数と一致している必要があります。一致していない場合は、文字化けが発生します。

次の 2 つの SQL ステートメントが見つかります。

nls_database_parameters t から * を選択します (t.parameter='NLS_CHARACTERSET')。
パラメータが 'NLS_CHARACTERSET' の場合、v$nls_parameters から * を選択します。

クエリ結果は次のとおりです: NLS_CHARACTERSET AL32UTF8

2. OracleユーザーとしてOracleサーバーにログインし、関連ディレクトリを作成します。

バックアップデータ用のディレクトリを作成します: mkdir -p /home/oracle/dbbak/data

バックアップ スクリプト ディレクトリを作成します。mkdir -p /home/oracle/dbbak/shell

エクスポートデータログディレクトリを作成します。mkdir /home/oracle/dbbak/log

3. スクリプトディレクトリにスクリプトファイルを作成する

vi /home/oracle/dbbak/shell/dbbak.sh

スクリプトの内容:

#[プレーン]ビュー プレーンコピー
#!/bin/sh
エクスポート ORACLE_BASE=/u01/app/oracle
エクスポート ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
エクスポート ORACLE_SID=orcl
エクスポート PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
DATA_DIR=/home/oracle/dbbak/data をエクスポートします。
LOGS_DIR=/home/oracle/dbbak/log をエクスポートします。
エクスポート DELTIME=`date -d "30日前" +%Y%m%d`
エクスポート BAKUPTIME=`日付 +%Y%m%d%H%M%S`
エクスポート NLS_LANG=AMERICAN_AMERICA.AL32UTF8
mkdir -p $DATA_DIR
mkdir -p $LOGS_DIR
echo "バックアップを開始しています..."
echo "バックアップファイルパス$DATA_DIR/$BAKUPTIME.dmp"
exp user/pwd@orcl ファイル=$DATA_DIR/orcl$BAKUPTIME.dmp ログ=$LOGS_DIR/orcl$BAKUPTIME.log
echo "30日前にファイルバックアップを削除します...ファイルパス: $DATA_DIR/orcl$DELTIME*.dmp"
rm -rf $DATA_DIR/orcl$DELTIME*.dmp
rm -rf $LOGS_DIR/orcl$DELTIME*.log
echo "ファイル bakup を正常に削除しました。"
echo "バックアップが完了しました。"

必要に応じて関連コンテンツを変更します。

export DELTIME=`date -d "30 days ago" +%Y%m%d` は、データを保持する期間を設定します。ここでは 30 日間です。ニーズやサーバーのストレージ容量に応じて変更できます。
NLS_LANG=AMERICAN_AMERICA.AL32UTF8 文字エンコード形式をエクスポートします。これは最初のステップの結果と一致している必要があります。
exp DISPLAY/DISPLAY@orcl ファイル=$DATA_DIR/orcl$BAKUPTIME.dmp ログ=$LOGS_DIR/orcl$BAKUPTIME.log

エクスポート ステートメント。テーブル全体をエクスポートします。必要に応じて変更できます。exp ユーザー名/パスワード@SID file=dmp ファイルのフル パス log=ログ ファイルのフル パス

4. スクリプトファイルの実行権限を変更する

chmod 777 dbbak.sh

実行できるかテストする: ./dbbak.sh

エクスポートは警告なしで正常に終了しました。これは、エクスポートに問題がないことを意味します。問題がある場合は解決してください。

5. スケジュールされたタスクを追加する

Oracleユーザー

crontab –e

挿入: 59 23 * * * /home/oracle/dbbak/shell/dbbak.sh

スクリプトが毎日23:59に実行されることを示します

crondを再起動します:

service crond restart

6. dmpファイルをインポートする

インポート後にテーブル データに問題が発生しないように、インポートする前に、対応するユーザーの下にあるすべてのテーブルを削除する必要があります。

sqlplus user/pwd // データベースにログインするためのユーザー名とパスワード SQL> SELECT 'drop table ' || table_name || ';' FROM USER_TABLES ORDER BY TABLE_NAME;

次にクエリ結果を実行します

テーブル フィールドのコメントが文字化けするのを避けるには、次の行を実行します。

    NLS_LANG=AMERICAN_AMERICA.AL32UTF8 をエクスポートします。
データをインポート:
imp DISPLAY/DISPLAY ファイル=/home/oracle/dbbak/data/orcl20191121113703.dmp fromuser=DISPLAY touser=DISPLAY ignore=y;
// ignore=y エラーを無視して実行を続行します

要約する

上記は、Linux で Oracle データベースをバックアップするためのスケジュールされたタスクの設定についてご紹介したものです。お役に立てば幸いです。ご質問がある場合は、メッセージを残していただければ、すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。
この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

以下もご興味があるかもしれません:
  • LINUXでOracleデータベースユーザーを作成する方法の詳細な説明
  • Linux で大容量メモリ ページを持つ Oracle データベースを最適化する方法
  • Linux システムの Oracle データベースにおける ora12505 問題の解決方法
  • LinuxでのOracleデータベースの自動バックアップの詳細な説明
  • LinuxでOracleデータベースを作成する詳細なプロセス

<<:  MySQL ビューの紹介と基本操作のチュートリアル

>>:  vue.jsは画像のURLに従って画像をダウンロードします

推薦する

テーブルを作成するための HTML dl、dt、dd タグとテーブル作成テーブル

ウェブサイトの開発とメンテナンスのコストが削減されるだけでなく、コードもよりセマンティックになります...

MySQL 8.0.26 のインストールとアンインストールの完全なステップバイステップの記録

目次序文1. インストール1.公式サイトからダウンロード2. 構成を作成する3. MySQLを初期化...

三角形を描画するための CSS 実装コード (border メソッド)

1. 単純な三角形を実装するCSS ボックス モデルの境界線を使用すると、次のような三角形を実現で...

MySQLデータベースに他のIPアドレスからアクセスできない問題の解決策

序文先ほどのプロジェクトを参考にすると、環境は整いました。プロジェクトの準備と検証の段階で、問題が発...

MySQL 5.7 の sql_mode のデフォルト値によって生じる落とし穴と解決策

通常のプロジェクト開発中に、MySQL バージョンが 5.6 から 5.7 にアップグレードされた場...

Linux での MongoDB のインストールと設定のチュートリアル

MongoDBインストールYumを使用してインストールすることを選択する1. repoファイルを作成...

WeChatアプレットのスクロールビューは、プルアップ時にデータの読み込みを重複させるソリューションを実装しています。

WeChat アプレットのスクロール ビューでは、プルアップして読み込むときにバグが多く発生します...

MySQL マルチテーブルクエリの具体例

1. SELECT句を使用して複数のテーブルをクエリするSELECT フィールド名 FROM tab...

Echart Bar の 2 列チャート スタイルの最も完全な詳細な説明

目次序文インストールと設定1. Echartsをインストールする2. Echartsをグローバルに導...

mysql の存在する例と存在しない例の詳細な説明

mysql の存在する例と存在しない例の詳細な説明テーブルA |列1 | 列1 | 列3 |テーブル...

SQL における distinct と row_number() over() の違いと使い方

1 はじめにデータベース内のデータを操作するための SQL 文を記述するときに、いくつかの不快な問題...

HTML+CSSを使用してマウスの動きを追跡する

ユーザーがプライバシーを意識するようになり、オンライン トラッキングに対する予防策を強化するにつれて...

Vue フィルターの使用とタイムスタンプ変換の問題

目次1. 概念をすぐに認識する: 2. ローカルフィルター: 3. グローバルフィルター: 4. 拡...

vuex ベースのショッピングカート機能の実装

この記事の例では、ショッピングカート機能を実装するためのvuexの具体的なコードを参考までに共有して...

HTML 要素に注釈を付けるときにクラスと ID のどちらが優れているかを分析する

Web ページには、非常に複雑な HTML 構造があります。CSS を使用して関連するスタイルを定義...