2010-11-25 14 views
8

के लिए NLS_LANG सेटिंग निर्धारित करना हमें शेष टीम के लिए एक अन्य टीम द्वारा डंप फ़ाइल सौंपी गई थी। जब हम अपने डेटाबेस में डंप आयात करने का प्रयास है, हम निम्नलिखित त्रुटि मिलती है:मौजूदा ओरेकल डेटाबेस डंप फ़ाइल

IMP-00038: Could not convert to environment character set's handle

कुछ शोध करने पर, हमारी अटकलें हैं कि हम स्रोत मशीन के NLS_LANG सेटिंग और हमारे स्थानीय मशीन के बीच एक बेमेल है। वर्तमान में हमारे पास यह जांचने का कोई साधन नहीं है कि एनएलएस_एलएएनजी का मूल्य स्रोत मशीन पर क्या है।

तो, हमारे हाथों में सिर्फ एक डंप फ़ाइल होने के साथ, क्या एनएलएस_एलएएनजी मूल्य का पता लगाने का कोई तरीका है जिसके साथ निर्यात किया गया था? इसके दिखने से, हम आयात क्लाइंट (आईपी) चलाने से पहले एनएलएस_एलएएनजी पर्यावरण चर को ओवरराइड करने में सक्षम होना चाहिए।

एक और बात यह है कि डंप 11 जी इंस्टेंस से किया गया था और हमारा आईपी संस्करण 10 है। मैंने पढ़ा है कि आईपी आगे संगत नहीं है। क्या यह मुद्दा यहां हो सकता है (एनएलएस_एलएएनजी विसंगति के बजाय)?

उत्तर

6
यूनिक्स पर

सबसे आसान तरीका है: मैं आमतौर पर V10 उपयोग करें:

#>imp username/password file=test.dmp show=y 

Import: Release 10.2.0.3.0 - Production on Fri Nov 26 08:38:47 2010 

Copyright (c) 1982, 2005, Oracle. All rights reserved. 


Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production 
With the Partitioning, OLAP and Data Mining options 

Export file created by EXPORT:V10.02.01 via conventional path 
import done in US7ASCII character set and AL16UTF16 NCHAR character set 
import server uses WE8ISO8859P1 character set (possible charset conversion) 

संस्करण exp/इम्प एक समस्या है निर्यात कार्यक्रम और इसे V11 डेटाबेस से कनेक्ट करें। सुनिश्चित करें कि dev10 के oracle_home में आपके tnsnames.ora में dev11 के लिए उपनाम है।

hostname{oracle}# . oraenv 
ORACLE_SID = [oracle] ? dev10 
hostname{oracle}# 
hostname{oracle}#>exp username/[email protected] full=y dumpfile=dump.exp 
+0

क्या केवल ओरेकल क्लाइंट इंस्टॉलेशन के साथ शो = वाई का उपयोग करना संभव है? तो मुझे किसी उपयोगकर्ता नाम/पासवर्ड की आवश्यकता नहीं है? – guerda

2

भले ही फ़ाइल एक द्विआधारी वस्त्र है, कुछ मानव-पठनीय पाठ अंश हैं। मैं वहाँ में निम्नलिखित तार को देखा, और मैं यह मेरा सवाल का जवाब लगता है:

 
<CHARSET>AL32UTF8</CHARSET><NCHARSET>AL16UTF16</NCHARSET> 
... 
NLS_LANGUAGE='AMERICAN' NLS_TERRITORY='AMERICA' 
10

आटेस, impdp कोशिश - कभी कभी कि :-)

+6

'expdp' का उपयोग करके निर्यात किए गए डंप फ़ाइल को आयात करने के लिए 'imp' का उपयोग करके भी यह त्रुटि हो सकती है। –

+0

आप (प्रथम 10 abc.dmp जैसे मिल-सामग्री) DMP फ़ाइल के सिर के माध्यम से एक impdp DMP पहचान कर सकते हैं और फिर "system.your_schema" के लिए देखो। देखें: http://www.acehints.com/2013/04/how-to-identify-check-find-out-oracle.html – timB33

1

Another thing is, the dump was done from an 11g instance and our imp version is 10. I read that imp is not forward compatible. Could this be the issue here (instead of the NLS_LANG mismatch)?

एक मदद कर सकता है: आप 'सही फिर से; आप किसी दिए गए ओरेकल क्लाइंट के साथ बनाई गई डंप फ़ाइल आयात नहीं कर सकते हैं, क्योंकि आपके लक्ष्य ओरेकल डेटाबेस का ओरेकल क्लाइंट पुराना है।

हालांकि यह अनुशंसित नहीं है, आप एकबड़े ओरेकल क्लाइंट (यानी 10 ग्राम) के साथ एक नए स्रोत Oracle डाटाबेस (यानी 10 ग्राम +) निर्यात कर सकते हैं, जब से तुम में आयात करने के लिए एक ही Oracle ग्राहक संस्करण का उपयोग कर रहे हैं आपका पुराना लक्ष्य ऑरैकल डेटाबेस (यानी 10 जी)।

मानदंड: आपके स्रोत डेटाबेस का ओरेकल क्लाइंट संस्करण समान है - आपका लक्ष्य ओरेकल डेटाबेस संस्करण के रूप में। ध्यान दें कि उपकरण डेटापंप (11 जी) और आईपी (-10g) आयात उपयोगिता काम नहीं करती है।

दिलचस्प लिंक Using Different Releases and Versions of Export

1

शायद यह expdp का उपयोग कर निर्यात किया गया था .... कोशिश impdp .... वह यह है कि मैं क्या देखा जब गूगल खोज, और सही मायने में यह समान जारी करने के लिए मेरे लिए काम किया।

संबंधित मुद्दे