sql >> データベース >  >> RDS >> Oracle

OracleStreamsで伝搬を常に有効に保つ

    この投稿では、スケジュールジョブとプロシージャを作成して、ターゲットデータベースに対してOracle Streams Propagationサービスを有効にしておく方法について説明します。Propagationは、このサービスが停止した場合に、ソースデータベースからターゲットデータベースに新しい変更を転送するサービスです。データの変更はターゲットデータベースに適用されません。以前の投稿で、OracleStreamsReplication.1を作成する方法についてすでに説明しました。まず、Streams管理者の資格情報を使用してデータベースにログインします。CONNECT[SOURCE_STREAM_ADMIN]2。次に、伝播ログを維持するためのテーブルを作成して、伝播サービスがいつ停止され、いつ再開されたかを確認できるようにします。テーブルPropagation_Audit(Propagation_name Varchar2(30)、Source_queue_name Varchar2(30)、Destination_queue_name Varchar2(30)、 Destination_dblink Varchar2(128)、Status Varchar2(8)、Error_message Varchar2(4000)、Error_date Date)/3。次に、無効ステータスをログに記録して再度有効にする手順を作成します。手順の作成または置換Ckprop_EnableAs Errnum Number; Errmsg Varchar2(4000); CURSOR Prop_status Is Select Propagation_name、Destination_dblink、Status、Source_queue_name、Destination_queue_name、Error_message、Error_date From DBA_PROPAGATION Where Status!='ENABLED'; BEGIN For Rec In Prop_status LOOP Insert Into Propagation_Audit Values(Rec.Propagation_name Rec.Destination_dblink、Rec.Status、Rec.Error_message、Rec.Error_date);専念; BEGIN Dbms_Aqadm.enable_Propagation_Schedule(Rec.Source_queue_name、Rec.Destination_dblink);その他の場合の例外Errnum:=SQLCODE; Errmsg:=SQLERRM; Propagation_Audit値に挿入('CKPROP_ENABLE'、Rec.Source_queue_name、'の伝播を再度有効にする'、Rec.Destination_dblink、'ERROR'、Errnum ||':' || Errmsg、Sysdate);専念;終わり; END LOOP; EXCEPTION When Others Then Errnum:=SQLCODE; Errmsg:=SQLERRM; Propagation_Audit値に挿入('CKPROP_ENABLE'、'例外ハンドラー'、Null、Null、'ERROR'、Errnum ||':' || Errmsg、Sysdate); COMMIT; END Ckprop_Enable;/4。次に、指定した間隔でチェックするスケジュール済みジョブを作成します。ExecDBMS_SCHEDULER.CREATE_JOB(

    job_name =>'propagation_check'、job_type =>'STORED_PROCEDURE'、job_action =>'ckprop_enable'、number_of_arguments => 0、start_date => Sysdate、repeat_interval =>'FREQ =MINUTELY; INTERVAL =5'、end_date => Null、有効=> TRUE、auto_drop => FALSE、コメント=>'15分ごと');完了しました。

    1. SQL Server(T-SQL)で英国形式で日付を表示する方法

    2. ClusterControlを使用したSpiderでのMariaDBシャーディングのデプロイ

    3. Postgresシーケンスによって生成された数値の穴/ギャップを修正する

    4. データベース内の特定のスキーマのすべてをPostgreSQLのグループロールに付与します