Oracle

  (最終更新日:2017.07.14)

【Oracle】統計情報のバックアップとリカバリの方法

Oracleの統計情報をユーザー単位でバックアップする方法と、バックアップファイルからリカバリする方法です。バックアップには旧来のexpコマンドを利用します。(expdpではないです)

今回は対象のDBユーザーを dbhoge とし、保存用のテーブルを SAVE_STATS_HOGE としています。

またテーブル単位でのバックアップとインポートは下記で紹介中です。



全ての統計情報をバックアップする

全ての統計情報をバックアップし、ファイルとして出力します。

# su - oracle
$ sqlplus sys as sysdba

SQL> exec DBMS_STATS.DROP_STAT_TABLE (ownname => 'DBHOGE',stattab => 'SAVE_STATS_HOGE');
SQL> exec DBMS_STATS.CREATE_STAT_TABLE('DBHOGE', 'SAVE_STATS_HOGE');
SQL> exec DBMS_STATS.EXPORT_SCHEMA_STATS('DBHOGE', stattab =>'SAVE_STATS_HOGE');
SQL> quit

$ exp dbhoge/dbhoge_pass@orcl file=>(gzip > /tmp/stat_table.exp.gz ) tables=SAVE_STATS_HOGE statistics=none

これで stat_table.exp.gz というバックアップファイルが出力されます。

バックアップファイルからインポートする

出力されたバックアップファイルから統計情報をインポートします。

# su - oracle
$ sqlplus sys as sysdba

// 既にバックアップ用に作成された統計情報テーブルが存在していれば事前に削除
SQL> exec DBMS_STATS.DROP_STAT_TABLE (ownname => 'DBHOGE',stattab => 'SAVE_STATS_DBHOGE');
SQL> quit

// impコマンドから統計情報テーブルをインポート
$ imp dbhoge/dbhoge_pass@orcl file=<(gunzip -c /tmp/stat_table.exp.gz) IGNORE=Y FULL=Y

$ sqlplus sys as sysdba

// バックアップ用の統計情報テーブルから統計情報をインポート(事前に削除してから)
SQL> EXECUTE DBMS_STATS.DELETE_SCHEMA_STATS('DBHOGE');
SQL> exec DBMS_STATS.IMPORT_SCHEMA_STATS(ownname => 'DBHOGE' ,stattab => 'SAVE_STATS_DBHOGE');
SQL> quit

これで完了です。

スポンサーリンク
スポンサーリンク

関連記事

  1. Oracle

    Linux版Oracle Database 11gの起動手順と停止手順

    すごく基礎的なことなんですが、Linux版のOracle Da…

  2. Oracle

    【Oracle】統計情報をCronで手動更新する為のスクリプト

    Oracleの統計情報を手動で(といってもCronの自動実行で)更新す…

  3. Oracle

    【SQL*Plus】SYSDBA権限でリモートサーバに簡易接続ネーミングで接続する方法

    リモートのOracleサーバにSQL*Plusで接続する際に、SYSD…

  4. Oracle

    【Oracle】Data Pumpでシーケンスのみを移行する方法

    Data Pumpでは inculde を利用することでシーケンスのみ…

  5. Oracle

    (解決策)テーブルを作成しようとしたらORA-01950エラーで権限が無いと怒られたとき

    dba権限が無いユーザーでOracleデータベースにテーブルを作成しよ…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

最近の記事

  1. Azure仮想マシン(CentOS 7)のStandardデ…
  2. 【CentOS 7】特定ユーザーのクォータ設定を削除(無制限…
  3. Impdp時にtablesを使うとファンクションやストアドは…
  4. Can’t locate HTTP/Reques…
  5. 【PHP】cURLでベーシック認証のページへPOSTして結果…
PAGE TOP