サブコンポーネントの状態
エラーキュー
https://docs.oracle.com/cd/E16338_01/server.112/b61351/strms_apply.htm
select supplemental_log_data_min from v$database; -- 上記結果がYES
ALTER DATABASE DROP SUPPLEMENTAL LOG DATA;
ORA-01281: SCN range specified is invalid ORA-01347: Supplemental log data no longer found.
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
alter system switch logfile;
rm -f <アーカイブログ>
truncate table LOGMNR_RESTART_CKPT$;
COLUMN CAPTURE_NAME HEADING 'Capture|Name' FORMAT A15 COLUMN STATE HEADING 'State' FORMAT A27 COLUMN STATE_CHANGED HEADING 'State|Change Time' COLUMN CREATE_MESSAGE HEADING 'Last Message|Create Time' SELECT CAPTURE_NAME, STATE, TO_CHAR(STATE_CHANGED_TIME, 'HH24:MI:SS MM/DD/YY') STATE_CHANGED, TO_CHAR(CAPTURE_MESSAGE_CREATE_TIME, 'HH24:MI:SS MM/DD/YY') CREATE_MESSAGE FROM V$STREAMS_CAPTURE;
この問合せに関するすべての時間は秒単位で表示されます。デフォルトでは、V$STREAMS_CAPTUREビューには経過時間がセンチセカンドで表示されます。 センチセカンドは、 100分の1秒です。この項で説明する問合せを実行すると、各経過時間が100で割られ、秒単位で表示されます。 データベースの各取得プロセスに関する前述の情報を表示するには、次の問合せを実行します。
COLUMN CAPTURE_NAME HEADING 'Capture|Name' FORMAT A15 COLUMN ELAPSED_CAPTURE_TIME HEADING 'Elapsed|Capture|Time' FORMAT 99999999.99 COLUMN ELAPSED_RULE_TIME HEADING 'Elapsed|Rule|Evaluation|Time' FORMAT 99999999.99 COLUMN ELAPSED_ENQUEUE_TIME HEADING 'Elapsed|Enqueue|Time' FORMAT 99999999.99 COLUMN ELAPSED_LCR_TIME HEADING 'Elapsed|LCR|Creation|Time' FORMAT 99999999.99 COLUMN ELAPSED_PAUSE_TIME HEADING 'Elapsed|Pause|Time' FORMAT 99999999.99 SELECT CAPTURE_NAME, (ELAPSED_CAPTURE_TIME/100) ELAPSED_CAPTURE_TIME, (ELAPSED_RULE_TIME/100) ELAPSED_RULE_TIME, (ELAPSED_ENQUEUE_TIME/100) ELAPSED_ENQUEUE_TIME, (ELAPSED_LCR_TIME/100) ELAPSED_LCR_TIME, (ELAPSED_PAUSE_TIME/100) ELAPSED_PAUSE_TIME FROM V$STREAMS_CAPTURE;
select * from dba_apply_parameters order by 1, 2;
select apply_name, state, (dequeue_time - dequeued_message_create_time) * 86400 as latency, to_char(dequeued_message_create_time, 'HH24:MI:SS') as create_time, to_char(dequeue_time, 'HH24:MI:SS') as last_dequeue_time, dequeued_message_number from v$streams_apply_reader;
select APPLY_NAME, STATE from V$STREAMS_APPLY_COORDINATOR;
select APPLY_NAME, SERVER_ID, STATE from V$STREAMS_APPLY_SERVER;
COLUMN SERVER_ID HEADING 'Apply Server ID' FORMAT 99 COLUMN TOTAL_MESSAGES_APPLIED HEADING 'Total Messages Applied' FORMAT 999999 SELECT SERVER_ID, TOTAL_MESSAGES_APPLIED FROM V$STREAMS_APPLY_SERVER WHERE APPLY_NAME = 'APPLY' ORDER BY SERVER_ID;
select * from dba_streams_rules order by 3, 2, 1;
begin DBMS_AQADM.DROP_QUEUE_TABLE('<QUEUE表名>', TRUE, TRUE); end; /
# | テーブル名 | 意味 |
1 | AQ$<QUEUE表名> | キュー表内のメッセージ |
2 | AQ$<QUEUE表名>_S | キューのサブスクライバ |
3 | AQ$<QUEUE表名>_R | キューのサブスクライバおよびそのルール |
SELECT qt.user_data.AccessNumber() "Numbers in Queue" FROM strmadmin.oe_q_table_any qt;
Numbers in Queue ---------------- 16
SELECT qt.user_data.AccessVarchar2() "Varchar2s in Queue" FROM strmadmin.oe_q_table_any qt;
Varchar2s in Queue -------------------------------------------------------------------------------- Chemicals - SW
begin dbms_treams_adm.remove('<QUEUE名>', TRUE, TRUE); end; /