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

ORA-00257:अभिलेखीय त्रुटि। मुक्त होने तक केवल आंतरिक कनेक्ट करें।

ORA-00257 Oracle DBA जीवन में सबसे सामान्य त्रुटि में से एक है। उसे अक्सर इससे निपटना पड़ता है। इसकी वजह से Oracle डेटाबेस लगभग जम गया है और सभी लेन-देन बंद हो गए हैं। आइए देखें कि ORA-00257 त्रुटि से कैसे निपटें

त्रुटि संदेश

ORA-00257:अभिलेखीय त्रुटि। मुक्त होने तक केवल आंतरिक कनेक्ट करें।

Oerr के अनुसार ORA-00257 त्रुटि का अर्थ है

ORA-00257:अभिलेखीय त्रुटि। मुक्त होने तक केवल आंतरिक कनेक्ट करें। कारण:पुन:लॉग को संग्रहीत करने का प्रयास करते समय संग्रहकर्ता प्रक्रिया को एक त्रुटि प्राप्त हुई। यदि समस्या का जल्द समाधान नहीं होता है, तो डेटाबेस लेनदेन करना बंद कर देगा। इस संदेश का सबसे संभावित कारण यह है कि गंतव्य उपकरण में फिर से लॉग फ़ाइल को संग्रहीत करने के लिए जगह नहीं है।

क्रिया:समस्या के विस्तृत विवरण के लिए संग्रहकर्ता ट्रेस फ़ाइल की जाँच करें। साथ ही, सत्यापित करें कि आरंभीकरण पैरामीटर में निर्दिष्ट डिवाइस संग्रह_लॉग_डेस्ट संग्रह के लिए ठीक से सेट किया गया है।

आपको यह त्रुटि संदेश कहां दिखाई देता है

1) आपको अलर्ट लॉग में निम्न प्रकार का त्रुटि संदेश दिखाई देगा

अगर अलर्ट लॉग से जानकारी कुछ निम्न है:

फ़ाइल में त्रुटियां \u01\oracle\product\11.2.0\diag\rdbms\TEST\test\trace\test_arc1_1010.trc:ORA-19815:चेतावनी:21474836480 बाइट्स का db_recovery_file_dest_size 100.00% उपयोग किया गया है, और 0 शेष है बाइट्स उपलब्ध।बुध जनवरी 21 02:44:02 2016************************ ********************* आपके पास फ्लैश रिकवरी क्षेत्र से स्थान खाली करने के लिए निम्नलिखित विकल्प हैं:1. RMAN प्रतिधारण नीति बदलने पर विचार करें। यदि आप डेटा गार्ड का उपयोग कर रहे हैं, तो RMAN ARCHIVELOG DELETION POLICY.2 बदलने पर विचार करें। RMANBACKUP RECOVERY AREA कमांड का उपयोग करके टेप जैसे तृतीयक डिवाइस पर फ़ाइलों का बैकअप लें।3। नए स्थान को दर्शाने के लिए डिस्क स्थान जोड़ें और db_recovery_file_dest_size पैरामीटर बढ़ाएं। RMAN DELETE कमांड का उपयोग करके अनावश्यक फ़ाइलों को हटाएं। यदि किसी ऑपरेटिंग सिस्टम कमांड का उपयोग फाइलों को हटाने के लिए किया जाता है, तो RMAN क्रॉसचेक और DELETE EXPIRED कमांड का उपयोग करें। *************************************** ARC1:थ्रेड 1 अनुक्रम 1459 को संग्रहित करने में विफल ( 1809) ARCH:संग्रह रुक गया, त्रुटि हुई। पुन:प्रयास जारी रहेगाबुधवार 21 02:44:02 2016फ़ाइल में त्रुटियां \u01\oracle\product\11.2.0\diag\rdbms\TEST\test\trace\test_arc1_1010.trcORA-16038:लॉग 3 अनुक्रम# 1459 संग्रहीत नहीं किया जा सकताORA-19809 :पुनर्प्राप्ति फ़ाइलों के लिए सीमा पार हो गईORA-00312:ऑनलाइन लॉग 3 थ्रेड 1:'\u01\oracle\oradata\TEST\redo03.LOG'

2) यदि आप गैर sysdba उपयोगकर्ता के साथ लॉगिन करने का प्रयास करते हैं, तो आपको निम्न त्रुटि संदेश मिलेगा

sqlplus / as sysdbaSQL*Plus:रिलीज 11.2.0.4.0 - प्रोडक्शन ऑन कॉपीराइट (c) 1982, 2008, Oracle। सर्वाधिकार सुरक्षित। कनेक्टेड:Oracle डेटाबेस 11g एंटरप्राइज़ संस्करण रिलीज़ 11.2.0.0.0 - 64 बिट उत्पादन विभाजन, OLAP, डेटा माइनिंग और वास्तविक अनुप्रयोग परीक्षण विकल्पों के साथSQL> conn ऐप्स/ऐप्सERROR:ORA-00257:संग्रहकर्ता त्रुटि। मुक्त होने तक केवल आंतरिक कनेक्ट करें। चेतावनी:अब आप ORACLE से कनेक्ट नहीं हैं। SQL

3)  यदि आप sysdba उपयोगकर्ता के साथ लॉगिन करने का प्रयास करते हैं और सत्र के लिए प्रतीक्षा ईवेंट की जांच करते हैं, तो आपको सत्र प्रतीक्षा लॉग संग्रह स्विच ईवेंट मिलेगा
ORA-00257 त्रुटि क्यों होती है

यह त्रुटि तब होती है जब संग्रह लॉग के लिए लक्षित स्थान या तो भरा हुआ है या उपलब्ध नहीं है। Oracle ARCH पृष्ठभूमि प्रक्रिया ऑनलाइन रीडो लॉग फ़ाइल सिस्टम से फिर से लॉग लेने के लिए ज़िम्मेदार है और उन्हें फ़्लैट फ़ाइल में लिखना फ़ाइल सिस्टम को लिखने में सक्षम नहीं है

ORA-00257 त्रुटियों का समाधान कैसे करें

1) सबसे पहले हमें डेटाबेस के लिए आर्काइव लॉग डेस्टिनेशन ढूंढ़ना चाहिए

sqlplus / as sysdbaSQL> संग्रह लॉग सूची;

आप या तो USE_DB_RECOVERY_FILE_DEST

. द्वारा संग्रह गंतव्य ढूंढ सकते हैं
SQL> पैरामीटर दिखाएं db_recovery_file_dest;

db_recovery_file_dest

. का आकार भी प्राप्त करें
पैरामीटर दिखाएं db_recovery_file_dest_size;

2) ORA-00257 को हल करने का अगला चरण यह पता लगाना है कि db_recovery_file_dest_size के लिए किस मान का उपयोग किया जा रहा है, उपयोग करें:

SQL> चुनें * V$RECOVERY_FILE_DEST से;

आप पा सकते हैं कि SPACE_USED, SPACE_LIMIT के समान है, यदि ऐसा है, तो ORA-00257 को हल करने के लिए संग्रह लॉग को किसी अन्य गंतव्य पर ले जाकर उपचार किया जाना चाहिए।

SQL> चुनें * V$RECOVERY_FILE_DEST से;NAME SPACE_LIMIT SPACE_USED SPACE_RECLAIMABLE NUMBER_OF_FILES+FLASH  21474836480 21474836480 212428800 200

3) इस स्थिति में हमारे पास कई समाधान हो सकते हैं

a) db_recovery_file_dest का आकार बढ़ाएँ यदि आपके पास Oracle ASM या फ़ाइल सिस्टम में उपलब्ध स्थान है जो भी आप उपयोग कर रहे हैं

सिस्टम सेट db_recovery_file_dest_size=40g बदलें;

b) हम उस संग्रह लॉग को हटा सकते हैं जिसका पहले ही बैकअप लिया जा चुका है

rman target /delete archivelog जब तक TIME ='SYSDATE-1' sbt_tape के लिए 1 बार बैकअप लिया गया;rman target /RMAN>आर्काइवलॉग को 'SYSDATE-3' तक डिलीट करें;या,RMAN>आर्काइवलॉग को डिलीट करें;ऑर्डाइवलॉग को टाइम तक हटाएं ='SYSDATE-1.5' का sbt_tape पर 1 बार बैकअप लिया गया;

ग) यदि आपने बैकअप नहीं लिया है, तो यह सलाह दी जाती है कि बैकअप लें और फिर संग्रह लॉग फ़ाइलों को हटा दें

rman target /run {allocate channel d1 type disk;backup archivelog all delete input format '/u11/ora/arch_%d_%u_%s';release channel d1;}

d) कभी-कभी पुराना बैकअप टुकड़ा, फ्लैशबैक लॉग db_recovery_file_dest में जगह घेर सकता है, आप db_recovery_file_dest

की सामग्री की जांच करें
एसक्यूएल>फाइल_टाइप का चयन करें, उपयोग किए गए प्रतिशत_स्पेस_यूज्ड, रीक्लेमेबल के रूप में प्रतिशत_स्पेस_रिक्लेमेबल, नंबर_ऑफ_फाइल्स को "नंबर" के रूप में v$flash_recovery_area_usage से चुनें; FILE_TYPE USED RECLAIMABLE नंबर ------------- -------- ------------ ---------- नियंत्रण 0 0 0ऑनलाइन लॉग 0 0 0 संग्रह 4.77 0 2बैकअप 56.80 0 10इमेजकॉपी 0 0 0फ्लैशबैकलॉग 11.68 11.49 63

कभी-कभी पुराना गारंटीकृत पुनर्स्थापना बिंदु मौजूद हो सकता है, छोड़ने से स्थान खाली हो जाएगा।

फ्लैशबैक डेटाबेस समझाया और सीमा

फ्लैशबैक कैसे करें जब हमारे पास डेटागार्ड हो

फ्लैशबैक डेटाबेस के लिए शीर्ष 10 उपयोगी प्रश्न

ई) अगर हमें संग्रह लॉग की आवश्यकता नहीं है, तो बस हटाना भी उद्देश्य को पूरा करेगा

rman target /DELETE NOPROMPT ARCHIVELOG ALL;

इस मामले में अन्य उपयोगी आदेश

'SYSDATE-1' के बाद पूर्ण किए गए सभी पुरालेख की सूची कॉपी    'SYSDATE-1' के बाद पूर्ण की गई सूची की प्रतिलिपि;'SYSDATE-4' से पहले पूर्ण किए गए NOPROMPT बैकअप को हटा दें;संग्रह की सूची कॉपी   समय तक ='SYSDATE-28' का बैकअप 'SYSDATE-28'; और 'SYSDATE-7';

महत्वपूर्ण नोट

कृपया फाइल सिस्टम से आर्काइव लॉग फाइल को मैनुअली डिलीट न करें, यह कंट्रोल फाइल को अपडेट नहीं करेगा और इससे समस्या का समाधान नहीं होगा। फिर आपको रमन में सभी को क्रॉसचेक करना होगा और अप्रचलित और समाप्त हो चुके को हटाना होगा

f)  हम संग्रह के लिए वैकल्पिक पथ निर्दिष्ट कर सकते हैं

वैकल्पिक गंतव्य2 पर संग्रह स्वचालित रूप से किया जाता है

log_archive_dest_1='LOCATION=use_db_recovery_file_dest NOREOPEN ALTERNATE=LOG_ARCHIVE_DEST_2'log_archive_dest_2='LOCATION=/other_dest_for_archiving'log_archive_dest_state_1='enable'log_archive_dest_state_2='alternate'db_recovery_file_dest='/u01/app/oradata/flash_recovery_area'db_recovery_file_dest_size=200G

4) एक बार db_recovery_file_dest में स्थान उपलब्ध हो जाने पर, कृपया सिस्टम स्विच लॉगफाइल को बदलकर सिस्टम की जाँच करें

सिस्टम स्विच लॉगफाइल बदलें;सिस्टम अलर्ट

यह सुनिश्चित करने के लिए कि समस्या का समाधान हो गया है, गैर sysdba उपयोगकर्ता के साथ जुड़ने का प्रयास करें

sqlplus / as sysdbaSQL*Plus:रिलीज 11.2.0.4.0 - प्रोडक्शन ऑन कॉपीराइट (c) 1982, 2008, Oracle। सर्वाधिकार सुरक्षित। कनेक्टेड:Oracle डेटाबेस 11g एंटरप्राइज़ संस्करण रिलीज़ 11.2.0.4.0 - 64 बिट उत्पादन विभाजन, OLAP, डेटा माइनिंग और वास्तविक अनुप्रयोग परीक्षण विकल्पों के साथSQL> conn apps/appsconnectedSQL>

संग्रह लॉग का नियमित बैकअप लेने और उन्हें हटाने की सलाह दी जाती है। फ्लैश रिकवरी एरिया स्पेस पर नजर रखने के लिए हमें एक मॉनिटरिंग स्क्रिप्ट डालनी चाहिए।

संबंधित लेख
ORA-00936 गुम अभिव्यक्ति
ORA-01017:अमान्य उपयोगकर्ता नाम/पासवर्ड; लॉगऑन अस्वीकृत
बाहरी तालिकाओं के साथ ORA-29913
ora-00904 अमान्य पहचानकर्ता
ORA-00001 अद्वितीय बाधा का उल्लंघन
MRP में ORA-01111
संग्रह लॉग इतिहास कैसे खोजें
RMAN-06059:अपेक्षित संग्रहीत लॉग नहीं मिला, संग्रहीत लॉग का खो जाना पुनर्प्राप्ति से समझौता करता है

  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 SQL WHERE क्लॉज में (+) चिन्ह का क्या अर्थ है?

  3. Oracle SID और सेवा का नाम; कनेक्शन समस्याएं

  4. Oracle को एक चुनिंदा खंड द्वारा परिभाषित डेटा खंड के लिए चेकसम मान मिलता है

  5. ओरेकल में दो तिथियों के बीच दिनों की संख्या प्राप्त करें, जिसमें तिथियां शामिल हैं