SQL インデックスの作成でひどい間違いを犯しました。
create index IDX_DATA_TABLE_CUSECO on DATA_TABLE (CUSTOMER_ID, SESSION_ID, CONTACT_ID)
tablespace IDX_TABLESPACE LOCAL ;
ご覧のとおり、600m以上のレコードで使用率の高いPRODUCTIONテーブルをブロックせずにインデックスを作成するためのキーワード「ONLINE」を見逃しました。修正された SQL は次のとおりです。
create index IDX_DATA_TABLE_CUSECO on DATA_TABLE (CUSTOMER_ID, SESSION_ID, CONTACT_ID)
tablespace IDX_TABLESPACE LOCAL ONLINE;
私はPL/SQL Developerでそれを行いました。停止しようとすると、プログラムが応答を停止してクラッシュしました。
現在、生産システムが 9 時間機能していません。上司が爆発したがっています。:D
Oracle 11g がこのインデックスの作成を処理するために何秒/分/時間残っているかを確認する機会はありますか? それとも、オラクルがまだこのリクエストに取り組んでいることを確認する機会はありますか? (PL/SQL Developer がクラッシュしました)。
嫌いな人のために:私はここで述べたようにこれを行うべきだと知っています:(source)
CREATE INDEX cust_idx on customer(id) UNUSABLE LOCAL;
ALTER INDEX cust_idx REBUILD parallel 6 NOLOGGING ONLINE;