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

ORA-65139:XML मेटाडेटा फ़ाइल और डेटा फ़ाइल के बीच बेमेल

जब हम मल्टीटेनेंट की ओर कदम बढ़ा रहे हैं तो मैं अपने नए मल्टीटेनेंट वातावरण में एक गैर-सीडीबी प्लग करने की कोशिश कर रहा था। मैं अपने उत्पादन गैर-सीडीबी की एक सुनहरी छवि बनाने जा रहा हूं और फिर सभी देव और परीक्षण डेटाबेस सुनहरे छवि से क्लोन हो जाएंगे। लेकिन सबसे पहले, मुझे गैर-सीडीबी प्लग इन करने की आवश्यकता है। मेरे पास डिस्क स्नैपशॉट मल्टीटेनेंट डेटाबेस सर्वर पर आरोहित है। मैंने एक्सएमएल फाइल भी तैयार की है और मैं इस कमांड के साथ गैर-सीडीबी में प्लग इन करने के लिए तैयार हूं:

CREATE PLUGGABLE DATABASE gold180904
USING '/home/oracle/source_db.xml'
NOCOPY
SOURCE_FILE_NAME_CONVERT=('/u01/app/oracle/oradata/data01',
         '/u01/app/oracle/oradata/mt_golden_2018_09_06_095555/data01',
'/u01/app/oracle/oradata/data02','/u01/app/oracle/oradata/mt_golden_2018_09_06_095555/data02',
'/u01/app/oracle/oradata/data03','/u01/app/oracle/oradata/mt_golden_2018_09_06_095555/data03',
'/u01/app/oracle/oradata/data04','/u01/app/oracle/oradata/mt_golden_2018_09_06_095555/data04')
TEMPFILE REUSE;

दुर्भाग्य से, मुझे निम्न त्रुटि का सामना करना पड़ा:

CREATE PLUGGABLE DATABASE gold180904
*
ERROR at line 1:
ORA-65139: Mismatch between XML metadata file and data file
/u01/app/oracle/oradata/mt_golden_2018_09_06_095555/data03/datafile12.dbf for
value of rdba (4194824 in the plug XML file, 4458552 in the data file)

मेरे शोध में, ORA-65139 त्रुटि सामान्य रूप से तब देखी जाती है जब XML फ़ाइल को रीड राइट के रूप में खुले डेटाबेस के साथ उत्पन्न किया गया था। लेकिन मुझे इस तथ्य के बारे में पता है कि मेरा डेटाबेस केवल तब पढ़ा गया था जब एक्सएमएल फ़ाइल उत्पन्न हुई थी। फरहटरमोर, एमओएस और Google खोजों में मुझे मिले सभी समान मुद्दों में "एफसीपीएसबी का मूल्य" था, जबकि मेरे त्रुटि संदेश की अंतिम पंक्ति "आरडीबीए का मूल्य" कहती है। खैर, मुझे यकीन नहीं है कि आरडीबीए का इससे क्या लेना-देना है और संदेश में डेटाफाइल सूची में त्रुटि संदेश मानचित्र में कोई भी मान नहीं है। तो यह मेरे लिए एक पहेली थी।

कुछ अलग चीजों को आजमाने के बाद, मैंने प्लगइन संगतता के लिए चेक चलाने का फैसला किया।

DECLARE
compatible BOOLEAN;
BEGIN
compatible:=DBMS_PDB.CHECK_PLUG_COMPATIBILITY(
     pdb_descr_file=>'/home/oracle/source_db.xml',
     pdb_name=>'GOLD180904');
END;
/

PDB_PLUG_IN_VIOLATIONS क्वेरी करते समय, एक पंक्ति में त्रुटि थी। उस दृश्य में इसके संदेश ने कहा:

पीएसयू बंडल पैच 180717 (डेटाबेस पैच सेट अद्यतन 12.1.0.2.180717):पीडीबी में स्थापित लेकिन सीडीबी में नहीं।

यह अब और अधिक समझ में आता है। स्रोत डेटाबेस एक उत्पादन वातावरण है जिसमें नवीनतम पीएसयू लागू होता है। सीडीबी एकदम नया है और अभी तक कोई पैच नहीं देखा है। मैंने नवीनतम पीएसयू को सीडीबी में लागू किया और प्लगइन ऑपरेशन ने अगले प्रयास में सफलतापूर्वक काम किया।

अंत में, यह स्पष्ट था कि त्रुटि संदेश का समस्या के मूल कारण से कोई लेना-देना नहीं था। कम से कम मेरे लिए तो नहीं।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. OS X Mavericks पर RODBC/ROracle संकुल की स्थापना

  2. भौतिक स्टैंडबाय डेटाबेस में एमआरपी में ORA-01111

  3. SQLcl . में सिंटैक्स हाइलाइटिंग को कैसे कॉन्फ़िगर करें?

  4. Oracle क्लाइंट 11 के साथ .NET एप्लिकेशन को परिनियोजित करने के लिए आवश्यक न्यूनतम सेटअप क्या है?

  5. Oracle SQL डेवलपर में किसी तालिका में टिप्पणियाँ कैसे जोड़ें?