データベース
 Computer >> コンピューター >  >> プログラミング >> データベース

SYSAUX表領域を管理する

Oracle®10gは、 PERMANENTなどの必須属性を備えたSYSAUXと呼ばれる新しい必須テーブルスペースを導入しました。 、読み取り/書き込みローカルの拡張管理 、および SEGMENT SPACE MANAGEMENT AUTO 。この投稿では、このテーブルスペースが大きくなるにつれて管理する方法について説明します。

はじめに

SYSAUX表領域を使用して、次のタスクを実行できます。

  • インストールおよび削除オプションによって引き起こされるSYSTEMテーブルスペースの断片化を回避します。
  • SYSTEM表領域の破損やスペース不足のリスクを回避します。
  • データベース管理者のメンテナンスを減らします。
  • 次の項目など、Oracleのオプションと機能に関連するすべての補助データベースメタデータのテーブルスペースを保存および削減します。
SYSAUX表領域を管理する

SYSAUXの占有者

次の例に示すように、クエリできるSYSAUX占有者は26人います。

SQL> select OCCUPANT_NAME,OCCUPANT_DESC
     from V$SYSAUX_OCCUPANTS
     order by SPACE_USAGE_KBYTES desc
SYSAUX表領域を管理する

次の画像に示すように、Oracle Databaseの新しいバージョンでは、さらに多くのバージョンが追加されています。

SYSAUX表領域を管理する

次の画像は、OracleDatabaseの各バージョンで追加または非推奨になったコンポーネントを示しています。

SYSAUX表領域を管理する SYSAUX表領域を管理する
プロアクティブなSYSAUXテーブルスペース管理

SYSAUX表領域をプロアクティブに監視および管理するには、次のアクションを実行します。

  1. SYSAUX表領域をAUTOEXTENDオフに設定します 。

  2. STATISTICS_LEVELを確認します 値。

    - The **ALL** value is sometimes resource-intensive.
    - The **Basic** and **Typical** values tend to consume fewer resources.
    
  3. アドバイザ、ベースライン、およびSQLチューニングセットの使用方法を確認してください。スナップショット範囲を削除する予定がある場合でも、アドバイザーはスナップショットに情報を保持する必要があります。

  4. クエリを実行して、SYSAUX表領域で最も多くのスペースを消費しているsysaux_occupantを特定します。

修復SYSAUXテーブルスペース管理

SYSAUX表領域は、次の理由で大きくなります。

  • 過度の保持期間を設定しました。
  • セグメントアドバイザーが大きくなりすぎます。
  • アクティブセッション履歴(ASH)が大きくなりすぎます。

次のセクションでは、いくつかの是正措置を示します。

AWR保持期間を確認する

これを管理するには、自動ワークロードリポジトリ(AWR)スナップショットの保持期間を確認してください。 AWRは、問題の検出とパフォーマンスの調整のためにパフォーマンス統計を収集し、詳細をメモリテーブルとデータベーステーブルに保存します。システムは、保存期間に基づいて保存されたデータを削除します。保存期間が長すぎる場合、このデータはSYSAUX表領域でより多くのスペースを消費します。したがって、適切な保持期間を設定する必要があります。次のクエリを使用して保持期間を確認します:

SQL> SELECT retention FROM dba_hist_wr_control;

DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGSを使用して、保持を手動で変更できます。 手順。次の例では、保持期間を5760分(または4日:4日*1日24時間*1時間60分=5760分)に設定します。

SQL> execute DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT(RETENTION=>5760);

SYSAUXテーブルスペース内の最大のオブジェクトを確認します

次のクエリを実行して、テーブルスペース内の最大の占有者を特定します。

SQL> select OCCUPANT_NAME, SCHEMA_NAME, MOVE_PROCEDURE, SPACE_USAGE_KBYTES
     from v$sysaux_occupants;
SYSAUX表領域を管理する

移動を使用します 移動を除いて、占有者を別のテーブルテーブルに移動するためのプロシージャコマンド プロシージャはnullです。

次の例では、WKSYSの占有者をXYZ表領域に移動します。

SQL> execute WKSYS.MOVE_WK(‘XYZ’);

アクティブセッション履歴(ASH)を確認する

次のスクリプトを使用して、ASHがAWRデータでより多くのスペースを消費するかどうかを確認します。

SQL> @$ORACLE_HOME/rdbms/admin/awrinfo.sql
SYSAUX表領域を管理する

ASHの使用量は1.1%で許容されます。高い場合は、孤立したASH行を削除します。次のクエリを使用して孤立した行を確認します。

SQL> SELECT COUNT(1) Orphaned_ASH_Rows FROM wrh$_active_session_history a
     WHERE NOT EXISTS (SELECT 1 FROM wrm$_snapshot WHERE snap_id  = a.snap_id
     AND dbid= a.dbid AND instance_number = a.instance_number);
SYSAUX表領域を管理する

値がゼロより大きいため、削除してください。次のクエリを使用して孤児になります:

SQL> DELETE FROM wrh$_active_session_history a WHERE NOT EXISTS
     (SELECT 1 FROM wrm$_snapshot WHERE snap_id = a.snap_id
     AND dbid = a.dbid AND instance_number = a.instance_number);

次に、次のクエリを実行して、 WRH $ _ACTIVE_SESSION_HISTORYを縮小します。 解放されたスペースを再利用するためのテーブル:

 SQL> alter table WRH$_ACTIVE_SESSION_HISTORY shrink space;
結論

この投稿では、SYSAUX表領域を紹介します。また、SYSAUX表領域のデフォルトの占有者のスペースの増加を監視および管理し、表領域に誤って格納されているデフォルト以外のオブジェクトを特定するための提案も提供します。

データベースサービスの詳細をご覧ください。

コメントや質問をするには、[フィードバック]タブを使用します。私たちと会話を始めることもできます。


  1. ObjectRocketサービスでPostgreSQL拡張機能を管理する

    元々は2020年2月13日にObjectRocket.com/blogで公開されました。 PostgreSQL®(Postgres®)拡張エコシステムは非常に堅牢であり、Postgresにさまざまな追加機能を提供します。 ObjectRocketプラットフォームで本番データベースを操作するために必要なすべてのツールを提供したいので、最近、拡張機能を使用する機能を追加しました。拡張機能はプラグインとして機能し、追加の機能と機能を提供します。 利用可能な拡張機能を表示する Postgresインスタンス用にいくつかの拡張機能が含まれており、利用可能な最も一般的で要求されたプラグインについて

  2. iOS 15 でホーム画面を管理する方法

    iPhone のホーム画面は、すぐに暴走することがあります。ありがたいことに、混沌に秩序をもたらす方法は複数あります。アプリやウィジェットを移動したり、アプリをフォルダーに入れたり、ウィジェットを積み重ねたりすることができます。 iOS 14 では、ホーム画面のページ全体を非表示にする機能も導入されましたが、App Library の導入により、最終的にアプリを削除せずに削除できるようになりました。 iOS 15 以降にアップグレードしたばかりの場合は、iPhone の iOS ホーム画面を管理する追加の方法が見つかります。以下で詳しく説明します。 iOS 15 のホーム画面ページを削