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. スクリプトファイルの実行権限を変更する
実行できるかテストする: ./dbbak.sh エクスポートは警告なしで正常に終了しました。これは、エクスポートに問題がないことを意味します。問題がある場合は解決してください。 5. スケジュールされたタスクを追加する Oracleユーザー
挿入: 59 23 * * * /home/oracle/dbbak/shell/dbbak.sh スクリプトが毎日23:59に実行されることを示します crondを再起動します: 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 ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。 以下もご興味があるかもしれません:
|
>>: vue.jsは画像のURLに従って画像をダウンロードします
私は最近 Linux を学び始めました。Ma Ge の umask に関する Linux コースを読...
Docker システムの学習チュートリアルでは、Dockerfile を使用して Docker イメ...
目次Vue ファースト スクリーン パフォーマンス最適化コンポーネント説明するインターセクションオブ...
まず、yumを使ってCentOSにPHPをインストールする方法を紹介します。 1. PHPのyumソ...
目次背景element-ui の自動構築はどのように機能しますか?メイクファイル新しい.jsファイル...
MySQLのダウンロードとインストール(バージョン8.0.20)のチュートリアルは参考までに、具体的...
目次TOKEN タイマーリフレッシュ2. access_tokenの内部設計2.1 access_t...
序文node.js でサーバーを作成するのは非常に簡単です。小さいながらも完全な Web サーバーを...
目次1. プロキシとは何ですか? 2. 使い方は? 1. プロキシを使用する簡単な例2. 対象オブジ...
<META http-equiv="Page-Enter" CONTENT...
目次1. キャラクター機能1. ケースコントロール機能2. キャラクターコントロール機能2. 数学関...
成果を達成するステップ1. 初期index.html最初の写真、一番上の写真を作成します。写真の i...
1: タグセレクタータグセレクターはすべてのタグに使用されます。ここでは p を例に挙げます。つまり...
特定のインターフェースをリクエストするときに、指定されたテキスト文字列または JSON 文字列を返す...
指定されたテーブルからデータをエクスポートするMySQLの詳細な説明必要とする: 1. テーブルはす...