現在、DBのSYSTEMおよびSYSAUXテーブルスペースサイズは次のステータスになっています。
SYSTEM - PCT_USED= 99
SYSAUX - PCT_USED= 95
私は今データベースが危機的な状況にあると思います。それを通常の状態に戻すにはどうすればよいですか。また、SYSTEMおよびSYSAUXテーブルスペースファイルを安全に保つために従う必要のある標準的な方法は何ですか。
どんな助けでもありがたいです。
SYSTEMおよびSYSAUXテーブルスペースは、RDBMSによって正しく機能するために必要です。
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)
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テーブルスペースは徐々にいっぱいになります。
SYSTEMテーブルスペースには、常にデータベース全体のデータディクショナリテーブルが含まれています。したがって、新しいオブジェクトが原因でデータベースのサイズが大きくなると、SYSTEMテーブルスペースにもより多くのスペースが必要になります。
データディクショナリには何が含まれていますか。
ALTER DATABASE DATAFILE '/path/systemSID.dbf' RESIZE 1000M;
ALTER DATABASE DATAFILE '/path/sysauxSID.dbf' RESIZE 1000M;
ToadWorld blog
ここ SYSAUXテーブルスペースの最小サイズは250Mである必要があります。 SYSAUXテーブルスペースは、エクステント管理ローカルおよびASSM(自動セグメントスペース管理)で永続的である必要があります。 SYSAUXテーブルスペースを読み取り専用にすることはできません。したがって、テーブルスペース属性は一度設定すると変更できないため、SYSAUXテーブルスペースを作成する際には適切な注意が必要です。
SYSAUXテーブルスペースは、データベースの作成時にSYSTEMテーブルスペースの補助テーブルスペースとしてインストールされました。
SYSAUXテーブルスペースはいくつかのデータベースコンポーネントによって占有されています。SYSAUXテーブルスペースはいくつかのデータベースコンポーネントによって占有されています。
SYSAUXテーブルスペースの最大部分は、自動ワークロードリポジトリ(AWR)
。 AWR
が消費するスペースは、システム内の任意の時点でのアクティブなセッションの数、スナップショット間隔、履歴データの保持期間など、いくつかの要因によって決定されます。平均10の同時アクティブセッションを備えた一般的なシステムでは、約200
〜300 MB
のAWR
データ用のスペース。
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のスペース占有の詳細を確認するためです。ここで参照してください
SYSAUXテーブルスペースの占有者サイズの管理
V$SYSAUX_OCCUPANTS
ビューは、SYSAUX
テーブルスペース内の居住者を管理します。このビューでは、SYSAUX
テーブルスペース内の占有アプリケーションオブジェクトのスペース使用状況を監視できます。
SELECT occupant_name, space_usage_kbytes FROM v$sysaux_occupants;
SYSAUXとSYSTEMは、適切なサイズに設定する必要があるという点で、他のテーブルスペースと何の違いもありません。私の経験では、SYSAUXでの領域の圧迫は、ほとんど常にAWRデータにあります。原因を見つけるためにawrinfo.sqlを実行してみてください。
また、support.Oracle.comで詳細を調べてください。 AWR保持/パージ設定がニースを再生しないという既知の問題があります(例:ドキュメント1912201.1)
まず、これらのテーブルスペースで最も多くのスペースを使用しているテーブルを確認します。 SYSTEMおよびSYSAUXテーブルスペースには、履歴クエリデータ、AWRスナップショット、および監査情報を格納する特定のテーブルがあり、これらを削除または切り捨てることができます。
テーブル内のレコードの削除が他に影響を与えるかどうか確信がない場合、または心配している場合は、それらのテーブルスペースにスペースを追加してください。
1つのオプションは、テーブルスペースのデータファイルの自動拡張機能を使用することです。
alter database datafile '[name]' autoextend on;
ただし、バグのあるソフトウェアは割り当てられたスペースをすぐに使い果たす可能性があるため、この機能の使用には注意してください。オペレーティングシステムのスペースを監視している場合は、自動拡張が機能します。
また、OEMのスペース監視機能を使用して、テーブルスペースが特定の割合(80%など)に達したときに通知を送信することもできます。スペースを追加する際は、95%以上になるまで待たないでください。
また、resumable_timeoutパラメーターを設定して、スペースを待機しているセッションがスペースを追加するのを待機し、異常終了しないようにすることもできます。
Sys.aud $は定期的に切り捨てることができます。監査レコードを保持し続ける必要がある場合は、切り捨てる前にバックアップしてください。
スペースが足りなくなると、dbが「クリティカル」になることはありません。 sysauxのスペースが不足した場合は、常にsqlplus /またはsqlplus/nologのオプションがあります。
このクエリは、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 $テーブルを確認する必要があります。