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

Oracle डेटा परिवर्तन अधिसूचना समयबाह्य और कार्यप्रवाह

user_change_notification_regs . में आपके द्वारा बनाए गए रिकॉर्ड तालिका को स्पष्ट रूप से हटाना होगा क्योंकि DBMS उस पर नज़र नहीं रखता है 'जिस JDBC कनेक्शन ने इस कनेक्शन को तैयार किया है वह अभी भी जीवित है' जिसके लिए हार्ट बीट मैकेनिज्म की जरूरत होती है। इसलिए जब आपका सर्वर पुनरारंभ होता है, तो आपको उन अभिलेखों को स्पष्ट रूप से हटाना (अपंजीकृत) करना होगा। यहाँ एक उदाहरण है।

try (Connection conn = ConnManager.getConnection();) {
         if (conn.isWrapperFor(OracleConnection.class)) {

                try (OracleConnection oracleConnection = conn.unwrap(OracleConnection.class);
                        Statement stmt = oracleConnection.createStatement()) {
                    ResultSet rs = stmt.executeQuery("select regid,callback from USER_CHANGE_NOTIFICATION_REGS");

                    while (rs.next()) {
                        long regid = rs.getLong(1);
                        String callback = rs.getString(2);
                        ((OracleConnection) stmt.getConnection()).unregisterDatabaseChangeNotification(regid, callback);
                    }
                }
            }
        } catch (SQLException ex) {
            Logger.getLogger(TableBase.class.getName()).log(Level.SEVERE, null, ex);
        } 

आप बस इस कोड को किसी वर्ग या प्रारंभिक विधि के स्थिर ब्लॉक में डाल सकते हैं जिसे केवल एक बार निष्पादित किया जाएगा। यदि आप श्रोता के लिए टाइमआउट सेट करते हैं, तो oracle सर्वर साइड ड्राइवर आपके कनेक्शन के लिए हार्ट बीट मैकेनिज्म को सक्षम करता है जो एप्लिकेशन के प्रदर्शन को थोड़ा कम कर सकता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle रिपोर्ट्स (.rdf) को BIRT रिपोर्ट में कनवर्ट करना

  2. Oracle के साथ प्रक्रिया PL/SQL ब्लॉक करें

  3. मैं xml . से सीडीएटीए मूल्य कैसे प्राप्त कर सकता हूं?

  4. मैं Oracle 11g में 2 तिथियों के बीच दिनों की संख्या कैसे प्राप्त कर सकता हूं?

  5. ORA-14551:किसी क्वेरी के अंदर DML ऑपरेशन नहीं कर सकता