Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

प्रचार को हमेशा Oracle स्ट्रीम में सक्षम रखना

इस पोस्ट में मैं वर्णन करूंगा कि कैसे एक शेड्यूल जॉब और प्रक्रिया बनाकर लक्ष्य डेटाबेस के लिए ओरेकल स्ट्रीम प्रोपेगेशन सेवा को सक्षम रखा जाए। प्रचार वह सेवा है जो स्रोत डेटाबेस से नए परिवर्तनों को लक्ष्य डेटाबेस में स्थानांतरित करती है, अगर यह सेवा बंद हो जाती है तो लक्ष्य डेटाबेस पर कोई डेटा परिवर्तन लागू नहीं होगा। मैंने अपनी पिछली पोस्ट में पहले ही समझाया था कि Oracle Streams Replication.1 कैसे बनाया जाता है। स्ट्रीम व्यवस्थापक क्रेडेंशियल के साथ पहले डेटाबेस में लॉगिन करें। कनेक्ट [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 Propagation_name, Destination_dblink, Status, Source_queue_name, Destination_queue_name, Error_message, Error_date From DBA_PROPAGATION जहां Status !='ENABLED';BEGIN Rec के लिए Prop_status LOOP में Rec के लिए Prop_status LOOP सम्मिलित करें। 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; एर्म्सजी:=SQLERRM; Propagation_Audit Values ​​('CKPROP_ENABLE', Rec.Source_queue_name, 'Re-enable Propagation for', Rec.Destination_dblink, 'ERROR', Errnum || ':' || Errmsg, Sysdate) में डालें; वादा करना; अंत; अंत लूप; अपवाद जब अन्य तब Errnum :=SQLCODE; एर्म्सजी:=SQLERRM; Propagation_Audit मानों में डालें ('CKPROP_ENABLE', 'अपवाद हैंडलर', नल, नल, 'ERROR', Errnum || ':' || Errmsg, Sysdate); कमिट;END Ckprop_Enable;/4. फिर निर्दिष्ट अंतराल पर जाँच करने के लिए एक निर्धारित कार्य बनाएँ। Exec DBMS_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, comments => 'हर 15 मिनट'); हो गया।

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एसक्यूएल डेवलपर के साथ ऑटो इंक्रीमेंट कॉलम कैसे सेट करें?

  2. Oracle इंटरसेक्ट ऑपरेटर समझाया गया

  3. क्या विदेशी कुंजी हमेशा किसी अन्य तालिका में एक अद्वितीय कुंजी का संदर्भ देती है?

  4. स्ट्रिंग शाब्दिक बहुत लंबा है - ऑरैकल 11 जी आर 2 में डेटा प्रकार को क्लोब करने के लिए लंबे एक्सएमएल डेटा को कैसे असाइन करें?

  5. क्या Oracle का SYS_GUID () UUID RFC 4122 अनुरूप है?