web-dev-qa-db-ja.com

Oracle 11g R2のSYSTEMおよびSYSAUXテーブルスペースのスペース不足

現在、DBのSYSTEMおよびSYSAUXテーブルスペースサイズは次のステータスになっています。

SYSTEM  - PCT_USED= 99
SYSAUX  - PCT_USED= 95

私は今データベースが危機的な状況にあると思います。それを通常の状態に戻すにはどうすればよいですか。また、SYSTEMおよびSYSAUXテーブルスペースファイルを安全に保つために従う必要のある標準的な方法は何ですか。

どんな助けでもありがたいです。

SYSTEMおよびSYSAUXテーブルスペースは、RDBMSによって正しく機能するために必要です。

SYSAUXテーブルスペース

SYSAUX表領域にあるオブジェクトのリストは、V $ SYSAUX_OCCUPANTSビューを使用して取得できます。このビューには、次の情報が表示されます。

OCCUPANT_NAME        VARCHAR(64)    Occupant name  
OCCUPANT_DESC        VARCHAR(64)    Occupant description  
SCHEMA_NAME          VARCHAR2(64)   Schema name for the occupant  
MOVE_PROCEDURE       VARCHAR2(64)   Name of the move procedure; null if not applicable  
MOVE_PROCEDURE_DESC  VARCHAR2(64)   Description of the move procedure  
SPACE_USAGE_KBYTES   NUMBER         Current space usage of the occupant (in KB)  

参照: V $ SYSAUX_OCCUPANTS

SYSAUXテーブルは、次のコンポーネントのホームです。

SYSAUX Table                         Previous Location
------------------------------------ --------------------------
Analytical Workspace Object Table    SYSTEM
Enterprise Manager Repository        OEM_REPOSITORY
LogMiner                             SYSTEM
Logical Standby                      SYSTEM
OLAP API History Tables              CWMLITE
Oracle Data Mining                   ODM
Oracle Spatial                       SYSTEM
Oracle Streams                       SYSTEM
Oracle Text                          DRSYS
Oracle Ultra Search                  DRSYS
Ora interMedia ORDPLUGINS Comp.      SYSTEM
Ora interMedia ORDSYS Components     SYSTEM
Ora interMedia SI_INFORMTN_SCHEMA C. SYSTEM
Server Manageability Components      -
Statspack Repository                 User-defined
Oracle Scheduler                     - 
Workspace Manager                    SYSTEM

参照: データベースコンポーネントとSYSAUXテーブルスペース

コンポーネントによって格納されるデータのサイズを減らすことができる場合は、必要なSYSAUXテーブルスペースのサイズを減らすことができます。

SYSAUX表領域の最大部分は、自動ワークロードリポジトリ(AWR)によって占有されています。 Oracleは、AWRのサイズを決定し、大部分はSYSAUXテーブルスペースのサイズを決定するために、次のサイズ推奨事項を提供しています。

Number of CPUs                                 2    |     8    |    32
Number of concurrently active sessions        10    |    20    |   100
Number of user objects: tables and indexes   500    | 5,000    |50,000
Estimated SYSAUX size with default config    500 MB |     2 GB |     5 GB

参照: SYSAUXテーブルスペースのサイズの制御

データベースが絶えず成長している場合、またはエンタープライズ管理コンソールで多くのオブジェクトを監視している場合、SYSAUXテーブルスペースは徐々にいっぱいになります。

SYSTEMテーブルスペース

SYSTEMテーブルスペースには、常にデータベース全体のデータディクショナリテーブルが含まれています。したがって、新しいオブジェクトが原因でデータベースのサイズが大きくなると、SYSTEMテーブルスペースにもより多くのスペースが必要になります。

データ辞書

データディクショナリには何が含まれていますか。

  • データベース内のすべてのスキーマオブジェクトの定義(テーブル、ビュー、インデックス、クラスター、シノニム、シーケンス、プロシージャ、関数、パッケージ、トリガーなど)
  • スキーマオブジェクトに割り当てられ、現在使用されているスペースの量
  • 列のデフォルト値
  • 整合性制約情報
  • Oracleユーザーの名前
  • 各ユーザーに付与されている権限と役割
  • さまざまなスキーマオブジェクトにだれがアクセスまたは更新したかなどの監査情報
  • その他の一般的なデータベース情報

参照: The Data Dictionary

ソリューション:

  1. EMの監視対象オブジェクトの量を減らす
  2. 上記の表の推奨事項に従って、SYSAUXテーブルスペースのサイズを変更します。
    • ALTER DATABASE DATAFILE '/path/systemSID.dbf' RESIZE 1000M;
  3. SYSTEMテーブルスペースのサイズを変更します
    • ALTER DATABASE DATAFILE '/path/sysauxSID.dbf' RESIZE 1000M;
6

ToadWorld blogここ SYSAUXテーブルスペースの最小サイズは250Mである必要があります。 SYSAUXテーブルスペースは、エクステント管理ローカルおよびASSM(自動セグメントスペース管理)で永続的である必要があります。 SYSAUXテーブルスペースを読み取り専用にすることはできません。したがって、テーブルスペース属性は一度設定すると変更できないため、SYSAUXテーブルスペースを作成する際には適切な注意が必要です。

SYSAUXテーブルスペースは、データベースの作成時にSYSTEMテーブルスペースの補助テーブルスペースとしてインストールされました。

SYSAUXテーブルスペースはいくつかのデータベースコンポーネントによって占有されています。SYSAUXテーブルスペースはいくつかのデータベースコンポーネントによって占有されています。

SYSAUXテーブルスペースの最大部分は、自動ワークロードリポジトリ(AWR)AWRが消費するスペースは、システム内の任意の時点でのアクティブなセッションの数、スナップショット間隔、履歴データの保持期間など、いくつかの要因によって決定されます。平均10の同時アクティブセッションを備えた一般的なシステムでは、約200300 MBAWRデータ用のスペース。

Oracleブログ ここ に従って次の表は、[〜#〜] sysaux [〜#〜]テーブルスペースのサイズ変更に関するガイドラインを示していますシステム構成と予想される負荷に基づきます。

Parameter/Recommendation                           Small    Medium  Large
Number of CPUs                                        2       8      32
Number of concurrently active sessions                10      20     100
Number of user objects: tables and indexes            500     5,000 50,000
Estimated SYSAUX size at steady state with default configuration    
                                                      500 MB    2 GB    5 GB

OEM 11gのスクリーンショットも添付しています。SYSTEMおよびSYSAUXのスペース占有の詳細を確認するためです。ここで参照してください enter image description here

SYSAUXテーブルスペースの占有者サイズの管理

V$SYSAUX_OCCUPANTSビューは、SYSAUXテーブルスペース内の居住者を管理します。このビューでは、SYSAUXテーブルスペース内の占有アプリケーションオブジェクトのスペース使用状況を監視できます。

SELECT occupant_name, space_usage_kbytes FROM v$sysaux_occupants;

私もあなたの参考のためにスクリーンショットを添付しています enter image description here

1

SYSAUXとSYSTEMは、適切なサイズに設定する必要があるという点で、他のテーブルスペースと何の違いもありません。私の経験では、SYSAUXでの領域の圧迫は、ほとんど常にAWRデータにあります。原因を見つけるためにawrinfo.sqlを実行してみてください。

また、support.Oracle.comで詳細を調べてください。 AWR保持/パージ設定がニースを再生しないという既知の問題があります(例:ドキュメント1912201.1)

1
TimPalmer

まず、これらのテーブルスペースで最も多くのスペースを使用しているテーブルを確認します。 SYSTEMおよびSYSAUXテーブルスペースには、履歴クエリデータ、AWRスナップショット、および監査情報を格納する特定のテーブルがあり、これらを削除または切り捨てることができます。

テーブル内のレコードの削除が他に影響を与えるかどうか確信がない場合、または心配している場合は、それらのテーブルスペースにスペースを追加してください。

0
Lohit Gupta

1つのオプションは、テーブルスペースのデータファイルの自動拡張機能を使用することです。

alter database datafile '[name]' autoextend on;

ただし、バグのあるソフトウェアは割り当てられたスペースをすぐに使い果たす可能性があるため、この機能の使用には注意してください。オペレーティングシステムのスペースを監視している場合は、自動拡張が機能します。

また、OEMのスペース監視機能を使用して、テーブルスペースが特定の割合(80%など)に達したときに通知を送信することもできます。スペースを追加する際は、95%以上になるまで待たないでください。

また、resumable_timeoutパラメーターを設定して、スペースを待機しているセッションがスペースを追加するのを待機し、異常終了しないようにすることもできます。

Sys.aud $は定期的に切り捨てることができます。監査レコードを保持し続ける必要がある場合は、切り捨てる前にバックアップしてください。

スペースが足りなくなると、dbが「クリティカル」になることはありません。 sysauxのスペースが不足した場合は、常にsqlplus /またはsqlplus/nologのオプションがあります。

0
sandman

このクエリは、sysauxの内容を追跡するのに役立ちます。

COLUMN space_mb      FORMAT A12
COLUMN occupant_desc FORMAT A55
COLUMN schema        FORMAT A30
SELECT occupant_desc, TO_CHAR(space_usage_kbytes/1024, '999,999.00') space_mb,
substr(schema_name,1,30) Schema
FROM v$sysaux_occupants
ORDER BY 2 desc;

また、最大のオブジェクトを探して、テーブルスペース名でフィルタリングするdba_segmentsをクエリすることもできます。特にsys.aud $テーブルを確認する必要があります。

0
Gandolf989