web-dev-qa-db-ja.com

Oracle:インデックスの再構築の進行状況を追跡するにはどうすればよいですか?

このようなコマンドの進行状況を追跡するにはどうすればよいですか?

alter index myindex rebuild reverse online;
3
Mark Harrison

V $ SESSION_LONGOPSをクエリする必要があります

select ops.OPNAME, ops.TIME_REMAINING,ops.start_time
from v$session_longops ops
where ops.sid=&your_sid
and ops.serial#=&your_serial
and time_remaining>0;

インデックスの再構築が並列の場合は、作業を行う並列スレーブを見つける必要があります。これは、V $ PX_SESSIONをクエリすることで実行できます。 「alter index」ステートメントを発行したセッションがクエリコーディネーターです

select ops.OPNAME, ops.TIME_REMAINING,ops.start_time
from v$px_session par, v$session_longops ops
where par.qcsid=&your_sid
and par.qcserial#=&your_serial
and ops.sid=par.sid
and ops.serial#=par.serial#
and ops.time_remaining>0;

ただし、インデックスの作成は複数のlongopで構成されます(テーブルのスキャン、データの並べ替えなど)。

5
miracle173