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

Oracle क्लाउड के लिए Oracle वॉलेट का उपयोग करने के लिए Pentaho डेटा एकीकरण को कॉन्फ़िगर करना

परिचय

Oracle क्लाउड डेटाबेस Oracle वॉलेट सुरक्षा का उपयोग करते हैं। Oracle वॉलेट में क्रिप्टोग्राफ़िक प्रमाणपत्र और कुंजियाँ होती हैं जिनका उपयोग Oracle क्लाइंट और लक्ष्य Oracle डेटाबेस सर्वर के बीच सुरक्षित, एन्क्रिप्टेड संचार स्थापित करने के लिए किया जाता है। पेंटाहो डेटा इंटीग्रेशन को पीडीआई और ओरेकल क्लाउड सर्वर के बीच सुरक्षित संचार स्थापित करने के लिए ओरेकल वॉलेट का उपयोग करने के लिए कॉन्फ़िगर किया जा सकता है।

यह ट्यूटोरियल मानता है कि आपके पास निम्नलिखित घटक सेट अप हैं:

  • एक Oracle क्लाउड खाता जिसमें कम से कम एक Oracle डेटाबेस इंस्टेंस चल रहा हो। यह ट्यूटोरियल (यहां लिंक) ओरेकल क्लाउड अकाउंट और ऑटोनॉमस डेटाबेस सेट करने के लिए कदम प्रदान करता है। Oracle SQL डेवलपर और स्वायत्त डेटाबेस जैसे क्लाइंट के बीच कनेक्टिविटी का परीक्षण और पुष्टि की जानी चाहिए।
  • Pentaho डेटा एकीकरण संस्करण 7.x या 8.x Windows या MacOSX पर स्थापित है। PDI के नवीनतम संस्करण को स्थापित करने के निर्देश यहाँ (Windows) और यहाँ (MacOSX) पाए जा सकते हैं। उपयोग किए गए जावा डेवलपमेंट किट के संस्करण पर विशेष ध्यान दें। जनवरी, 2019 तक जावा डेवलपमेंट किट 1.8 पर चलने वाले पेंटाहो डेटा इंटीग्रेशन 8.3 का परीक्षण किया गया है और ठीक से काम करने के लिए पाया गया है।

यह ट्यूटोरियल मानता है कि PDI को C:\Pentaho\data-integration on Windows या /Users//Pentaho/data-integration on MacOSX में इंस्टाल किया गया है।

अगले भाग में, Oracle JDBC ड्राइवर्स को डाउनलोड और इंस्टॉल करने के निर्देश दिए गए हैं।

पेंटाहो डेटा एकीकरण में Oracle JDBC ड्राइवर स्थापित करना

पेंटाहो डेटा इंटीग्रेशन के लिए Oracle JDBC ड्राइवर्स को किसी भी Oracle डेटाबेस से कनेक्ट करने के लिए स्थापित करने की आवश्यकता होती है। मुख्य ojdbc8.jar फ़ाइल के अलावा, कई अतिरिक्त फ़ाइलें जो पूर्ण JDBC वितरण का हिस्सा हैं, की भी आवश्यकता है। केवल JDBC ड्राइवर घटकों को डाउनलोड और इंस्टॉल करना सुनिश्चित करें जो JDK 1.8 के लिए संकलित हैं। इनका फ़ाइल नाम में एक "8" होगा।
आरंभ करने के लिए Oracle 12c JDBC ड्राइवर डाउनलोड पृष्ठ पर जाएँ:
https://www.oracle.com/database/technologies/jdbc-ucp -122-downloads.html

नीचे उस अनुभाग तक स्क्रॉल करें जहां व्यक्तिगत डाउनलोड स्थित हैं।

डाउनलोड की जाने वाली फ़ाइलें हैं:

ojdbc8.jar
oraclepki.jar
osdt_cert.jar
osdt_core.jar

इनमें से प्रत्येक फाइल को डाउनलोड किया जाना चाहिए और पेंटाहो डेटा-एकीकरण\lib फ़ोल्डर में कॉपी किया जाना चाहिए।

हमेशा की तरह, पेंटाहो डेटा एकीकरण को फिर से शुरू करना सुनिश्चित करें ताकि नई जार फाइलें पहचानी जा सकें।

अगले पेज पर, Oracle वॉलेट क्लाउड सर्वर से डाउनलोड किया जाएगा।

Oracle Cloud से Oracle वॉलेट डाउनलोड करना

नोट:यदि आप MacOSX पर Safari का उपयोग कर रहे हैं, तो "सुरक्षित" फ़ाइलों को डाउनलोड करने के बाद स्वचालित रूप से खुलने से रोकने के लिए Safari में प्राथमिकताएँ बदलें। सफारी> वरीयताएँ> चेक बॉक्स डाउनलोड करने के बाद "सुरक्षित" फ़ाइलें खोलें को अनचेक करें।

अपने Oracle क्लाउड कंसोल में लॉग इन करें और ऑटोनॉमस डेटाबेस पेज पर नेविगेट करें। प्रदर्शन नाम के अंतर्गत लिंक पर क्लिक करें आपके किसी एक डेटाबेस के लिए।

जब विवरण स्क्रीन दिखाई दे, तो DB कनेक्शन पर क्लिक करें बटन।

जब डेटाबेस कनेक्शन विंडो दिखाई दे, तो वॉलेट डाउनलोड करें पर क्लिक करें बटन।

वॉलेट के लिए मेल खाने वाला पासवर्ड प्रदान करें और फिर नीले डाउनलोड करें . पर क्लिक करें बटन।

ध्यान दें कि वॉलेट फ़ाइल नाम में स्वायत्त डेटाबेस के नाम के साथ "वॉलेट" कार्य शामिल है। इस उदाहरण के लिए फ़ाइल है:Wallet_ATPDatabase1.zip.
अपनी वॉलेट फ़ाइल को सुरक्षित, सुरक्षित स्थान पर सहेजना सुनिश्चित करें।

डेटाबेस विवरण स्क्रीन पर वापस जाएं, DB कनेक्शन . पर क्लिक करें फिर से बटन। कनेक्शन स्ट्रिंग्स . शीर्षक वाला अनुभाग देखने तक नीचे स्क्रॉल करें . ध्यान दें कि एक कनेक्शन स्ट्रिंग tnsnames.ora फ़ाइल में सहेजे गए एक विशिष्ट कनेक्शन प्रकार से मेल खाती है जो वॉलेट में शामिल है। इन नामों को नोट कर लें जैसे कि इसके अंत में _HIGH वाला। इन नामों में आपके डेटाबेस का नाम (रिक्त स्थान के बिना) और उसके बाद _HIGH, _MEDIUM या _LOW शामिल होना चाहिए। इस उदाहरण में, डेटाबेस का नाम "ATP Database1" है, इसलिए पहली कनेक्शन स्ट्रिंग का नाम है:ATPDatabase1_HIGH। TNS नाम . के अंतर्गत प्रविष्टि को लिखें या कॉपी करें और सहेजें आपके डेटाबेस के लिए।

Oracle वॉलेट को PDI में एकीकृत करने के चरण अगले पृष्ठ पर दिए गए हैं।

ओरेकल क्लाउड वॉलेट को पेंटाहो डेटा इंटीग्रेशन में एकीकृत करना

Oracle वॉलेट का उपयोग करने के लिए Pentaho डेटा एकीकरण को निर्देशित करने के लिए कई चरणों का पालन किया जाना चाहिए।

सुनिश्चित करें कि आवश्यक Oracle JDBC ड्राइवर्स के साथ Pentaho Data Integration स्थापित है। इस समय पीडीआई नहीं चलना चाहिए।

custom.properties संपादित करें फ़ाइल

data-integration\system\karaf\etc\ फ़ोल्डर में मिली custom.properties फ़ाइल का पता लगाएँ।

Custom.properties फ़ाइल को संपादित करने के लिए Notepad (windows) या TextEdit (MacOSX) का उपयोग करें और फ़ाइल के निचले भाग में निम्न पंक्ति जोड़ें (यदि यह पहले से मौजूद नहीं है)।
org.apache.karaf.security.providers =oracle.security.pki.OraclePKIProvider

Custom.properties फ़ाइल सहेजें और टेक्स्ट एडिटर से बाहर निकलें।

चम्मच.बैट संपादित करें या चम्मच.sh फ़ाइलें

Windows संस्थापन के लिए Spoon.bat फ़ाइल संपादित करें (नोटपैड या अन्य पाठ संपादक का उपयोग करें)। लगभग पहले . के बारे में पंक्ति 112 तक नीचे स्क्रॉल करें आरईएम के साथ अनुभाग ** भागो… **

निम्नलिखित पंक्तियाँ जोड़ें (पीले रंग में हाइलाइट की गई)।

REM ******************************************************************
REM ** Set java runtime options                                     **
REM ** Change 2048m to higher values in case you run out of memory  **
REM ** or set the PENTAHO_DI_JAVA_OPTIONS environment variable      **
REM ******************************************************************

if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xms1024m" "-Xmx2048m" "-XX:MaxPermSize=256m"

set OPT=%OPT% %PENTAHO_DI_JAVA_OPTIONS% "-Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2" "-Djava.library.path=%LIBSPATH%" "-DKETTLE_HOME=%KETTLE_HOME%" "-DKETTLE_REPOSITORY=%KETTLE_REPOSITORY%" "-DKETTLE_USER=%KETTLE_USER%" "-DKETTLE_PASSWORD=%KETTLE_PASSWORD%" "-DKETTLE_PLUGIN_PACKAGES=%KETTLE_PLUGIN_PACKAGES%" "-DKETTLE_LOG_SIZE_LIMIT=%KETTLE_LOG_SIZE_LIMIT%" "-DKETTLE_JNDI_ROOT=%KETTLE_JNDI_ROOT%"

@REM Java options to support Oracle Wallet secure connections
@REM Assumes that the cwallet.sso file is in data-integration\Wallet\ folder
set OPT="-Djavax.net.ssl.trustStore=%KETTLE_DIR%\Wallet\cwallet.sso" %OPT%
set OPT="-Djavax.net.ssl.trustStoreType=SSO" %OPT%
set OPT="-Djavax.net.ssl.keyStore=%KETTLE_DIR%\Wallet\cwallet.sso" %OPT%
set OPT="-Djavax.net.ssl.keyStoreType=SSO" %OPT%
set OPT="-Doracle.net.tns_admin=%KETTLE_DIR%\Wallet" %OPT%

REM ***************
REM ** Run...    **
REM ***************

स्पून.बैट फाइल को सेव करें और टेक्स्ट एडिटर से बाहर निकलें।

MacOSX पर, चम्मच.श फ़ाइल पर राइट क्लिक करें, हाइलाइट करें इसके साथ खोलें और फिर TextEdit ऐप . चुनें .

फ़ाइल में नीचे स्क्रॉल करें जब तक कि आप "डीबगर संलग्न करने के लिए # वैकल्पिक लाइन" वाले अनुभाग का पता न लगा लें। जोड़ा जाने वाला कोड इससे पहले . के स्थान पर जाएगा यह पंक्ति।
निम्न पंक्तियाँ जोड़ें (नीचे चित्र में नीले रंग में हाइलाइट की गई):

# Java options to support Oracle Wallet secure connections
# Assumes that the cwallet.sso file is in data-integration/Wallet/ folder
OPT="-Djavax.net.ssl.trustStore=${BASEDIR}/Wallet/cwallet.sso ${OPT}"
OPT="-Djavax.net.ssl.trustStoreType=SSO ${OPT}"
OPT="-Djavax.net.ssl.keyStore=${BASEDIR}/Wallet/cwallet.sso ${OPT}"
OPT="-Djavax.net.ssl.keyStoreType=SSO ${OPT}"
OPT="-Doracle.net.tns_admin=${BASEDIR}/Wallet ${OPT}"

चम्मच.श फ़ाइल सहेजें और TextEdit ऐप से बाहर निकलें।

वॉलेट फ़ाइलों को PDI में कॉपी करें

सुनिश्चित करें कि आपके पास Oracle वॉलेट क्लाउड से डाउनलोड किया गया है (पूर्व पृष्ठ देखें)। इस उदाहरण के लिए, डेटाबेस को "ATPDatabase1" नाम दिया गया है और वॉलेट फ़ाइल का नाम है:Wallet_ATPDatabase1.zip
वॉलेट फ़ाइल को अनज़िप करें और उसके भीतर निम्नलिखित चार फ़ाइलों का पता लगाएं:

cwallet.sso
sqlnet.ora
tnsnames.ora
trustore.jks

ये फ़ाइलें नीचे दिए गए चित्र में भी दिखाई गई हैं:

इन चार फाइलों को हाइलाइट करें और उन्हें कॉपी करें।

पेंटाहो डेटा एकीकरण फ़ोल्डर में नेविगेट करें। "वॉलेट" नाम का एक सब-फोल्डर बनाएं। इस वॉलेट फ़ोल्डर में चार Oracle वॉलेट फ़ाइलें चिपकाएँ जैसा कि नीचे दिखाया गया है (Windows):

MacOSX पर चार वॉलेट फ़ाइलों को कॉपी करें और उन्हें /Users//Pentaho/data-integration/Wallet फ़ोल्डर में पेस्ट करें।

पीडीआई चल रहा है

एक बार वे फ़ाइलें स्थापित हो जाने पर, आप सामान्य रूप से Spoon.bat फ़ाइल (या MacOSX उपयोगकर्ताओं के लिए चम्मच.sh) चलाकर पेंटाहो डेटा एकीकरण प्रारंभ कर सकते हैं।
विंडोज़ पर पेंटाहो डेटा एकीकरण चलाने के लिए, चम्मच पर डबल-क्लिक करें। बैट प्रोग्राम।

MacOSX पर पेंटाहो डेटा इंटीग्रेशन चलाने के लिए, चम्मच.श प्रोग्राम पर राइट-क्लिक करें, ओपन विथ> Other... चुनें। फ़िल्टर को "सभी एप्लिकेशन" में और फिर उपयोगिता . में बदलें फ़ोल्डर चुनें टर्मिनल . फिर खोलें . क्लिक करें बटन।

अगला खंड पेंटाहो डेटा एकीकरण के भीतर से एक नया डेटाबेस कनेक्शन स्थापित करने पर चर्चा करेगा।

पेंटाहो डेटा एकीकरण में एक नया डेटाबेस कनेक्शन बनाना

पेंटाहो डेटा इंटीग्रेशन में Oracle वॉलेट का उपयोग करने के लिए, एक "जेनेरिक डेटाबेस" प्रकार का कनेक्शन कॉन्फ़िगर किया जाना चाहिए। निम्नलिखित चरण इस प्रक्रिया की रूपरेखा तैयार करते हैं।

तालिका इनपुट, तालिका आउटपुट या आयाम लुकअप/अपडेट चरण सेट करते समय, एक नया डेटाबेस कनेक्शन बनाएं।

  • नए कनेक्शन को एक नाम दें (आप इसे तैयार करें)।
  • कनेक्शन प्रकार बदलें जेनेरिक डेटाबेस के लिए।
  • बोली बदलें ओरेकल के लिए।
  • कस्टम कनेक्शन URL भरें निम्नानुसार है:
    jdbc:oracle:thin:@atpdatabase1_high
    जहां atpdatabase1_high आपके Oracle क्लाउड डेटाबेस से आपके एक कनेक्शन का नाम है (पूर्व पृष्ठ पर समीक्षा की गई)। यह आपके डेटाबेस नाम से बना होगा जिसमें _high जुड़ा होगा। उदाहरण के लिए, यदि आपके डेटाबेस का नाम “DB 123456789” है तो एक संभावित कनेक्शन URL होगा:
    jdbc:oracle:thin:@DB123456789_high
  • कस्टम ड्राइवर वर्ग का नाम भरें इस प्रकार है:
    oracle.jdbc.driver.OracleDriver
  • अपने Oracle क्लाउड डेटाबेस के लिए अपना उपयोगकर्ता नाम और पासवर्ड भरें।
  • परीक्षण पर क्लिक करें कनेक्शन का परीक्षण करने के लिए बटन।

परीक्षा परिणाम सफल दिखना चाहिए जैसा कि नीचे दिखाया गया है।

ठीक क्लिक करें कनेक्शन परीक्षण को बंद करने के लिए बटन। ठीक क्लिक करें इस डेटाबेस कनेक्शन को सहेजने के लिए बटन।

कुछ सामान्य कनेक्शन त्रुटियाँ अगले पृष्ठ पर प्रदान की जाती हैं।

सामान्य Oracle वॉलेट कनेक्शन त्रुटियां और समस्याएं

पीडीआई और ओरेकल क्लाउड का उपयोग करते समय कई सामान्य त्रुटियां और समस्याएं हो सकती हैं जिनका आप अनुभव कर सकते हैं। त्रुटियां और समाधान / समाधान नीचे प्रस्तुत किए गए हैं।

IO त्रुटि:कनेक्ट पहचानकर्ता को हल नहीं कर सका

यदि आपको "IO त्रुटि:कनेक्ट पहचानकर्ता को हल नहीं कर सका" जैसी कोई त्रुटि प्राप्त होती है, तो या तो आपकी tnsnames.ora फ़ाइल नहीं मिल सकती है या प्रदान किया गया TNS नाम किसी एक कनेक्शन से मेल नहीं खाता है। उदाहरण के लिए:

Error connecting to database [OracleCloud] :org.pentaho.di.core.exception.KettleDatabaseException: 
Error occurred while trying to connect to the database
Error connecting to database: (using class oracle.jdbc.driver.OracleDriver)
IO Error: could not resolve the connect identifier  "atpdatabase1_hig"

अपनी tnsnames.ora फ़ाइल की दोबारा जाँच करें और सुनिश्चित करें कि आप एक कनेक्शन नाम का उपयोग कर रहे हैं जो tnsnames.ora फ़ाइल में दिखाई देता है। विंडोज ऑपरेटिंग सिस्टम पर tnsnames.ora फाइल को खोलने के लिए नोटपैड प्रोग्राम का इस्तेमाल करें। MacOSX पर, tnsnames.ora फ़ाइल खोलने के लिए TextEdit प्रोग्राम का उपयोग करें।

ORA-01017:अमान्य उपयोगकर्ता नाम/पासवर्ड; लॉगऑन अस्वीकृत

यदि आपको “ORA-01017:अमान्य उपयोगकर्ता नाम/पासवर्ड; लॉगऑन अस्वीकृत" इसका अर्थ है कि प्रदान किया गया Oracle उपयोगकर्ता नाम या पासवर्ड अमान्य है। उदाहरण के लिए:

Error connecting to database [OracleCloud] :org.pentaho.di.core.exception.KettleDatabaseException: 
Error occurred while trying to connect to the database
Error connecting to database: (using class oracle.jdbc.driver.OracleDriver)
ORA-01017: invalid username/password; logon denied

यह सुनिश्चित करने के लिए कि यह सही है, Oracle डेटाबेस इंस्टेंस पर उपयोगकर्ता नाम और पासवर्ड की जाँच करें। ध्यान दें कि Oracle डेटाबेस उपयोगकर्ता नाम और पासवर्ड आपके Oracle क्लाउड वेब साइट खाते से भिन्न होंगे। आमतौर पर परीक्षण के लिए हम ADMIN उपयोगकर्ता का उपयोग करते हैं और यह पासवर्ड तब सेट किया गया था जब ऑटोनॉमस डेटाबेस या ऑटोनॉमस डेटा वेयरहाउस बनाया गया था। उदाहरण के लिए इस ट्यूटोरियल के पेज 4 पर।
सुनिश्चित करें कि पासवर्ड में निम्न में से कोई भी वर्ण नहीं है:@ / \ ?

एडमिन उपयोगकर्ता को अपेक्षाकृत "सादे" पासवर्ड जैसे Pw123Pw123Pw123 के साथ उपयोग करना परीक्षण के लिए सबसे आसान हो सकता है .
परीक्षण पूरा होने के बाद पासवर्ड को किसी और सुरक्षित चीज़ में बदलना सुनिश्चित करें।

चालक वर्ग 'oracle.jdbc.driver.OracleDriver' नहीं मिला

यदि आपको कोई त्रुटि मिलती है जैसे:"ड्राइवर वर्ग 'oracle.jdbc.driver.OracleDriver' नहीं मिला", सुनिश्चित करें कि JDBC ड्राइवर्स को डेटा-एकीकरण \ lib फ़ोल्डर में कॉपी किया गया है और PDI को फिर से शुरू किया गया है। यह भी सुनिश्चित करें कि oracle.jdbc.driver... में 'o' से पहले कोई स्थान न रखें। उदाहरण के लिए:

Error connecting to database [OracleCloud] :org.pentaho.di.core.exception.KettleDatabaseException: 
Error occurred while trying to connect to the database
Driver class 'oracle.jdbc.driver.OracleDriver' could not be found, make sure the 
'Generic database' driver (jar file) is installed. oracle.jdbc.driver.OracleDriver

ORA-12529 TNS:वर्तमान फ़िल्टरिंग नियमों के आधार पर कनेक्ट अनुरोध अस्वीकार कर दिया गया

आप में से एक त्रुटि प्राप्त होती है जैसे:"ORA-12529 TNS:वर्तमान फ़िल्टरिंग नियमों के आधार पर कनेक्ट अनुरोध अस्वीकार कर दिया गया डेटाबेस से कनेक्ट करते समय, ऐसा हो सकता है कि स्वायत्त डेटाबेस के लिए आपकी नेटवर्क सुरक्षा सेटिंग्स कनेक्शन को रोक रही हों। पूरा त्रुटि संदेश इस प्रकार दिखाई दे सकता है:


Error connecting to database [OracleCloud] :org.pentaho.di.core.exception.KettleDatabaseException:
Error occurred while trying to connect to the database
Error connecting to database: (using class oracle.jdbc.driver.OracleDriver)
Listener refused the connection with the following error:
ORA-12529, TNS:connect request rejected based on current filtering rules

Oracle क्लाउड प्रबंधन इंटरफ़ेस में साइन इन करें और अपने डेटाबेस के लिए स्वायत्त डेटाबेस सूचना स्क्रीन की समीक्षा करें। पहुंच प्रकार की जांच करें और पहुँच नियंत्रण सूची यह सुनिश्चित करने के लिए कि आपके स्थान से दूरस्थ लॉगिन सत्रों की अनुमति है। आपको डेटाबेस को पुनरारंभ करने की आवश्यकता हो सकती है

IO त्रुटि:घातक चेतावनी मिली:handshake_failure, Connect lapse 188 ms., Authentication lapse 0 ms.

यह त्रुटि तब हो सकती है जब जावा डेवलपमेंट किट के संस्करण और Oracle सर्वर के बीच कोई मेल न हो। यह क्लाइंट और सर्वर (जैसे, टीएलएस) के बीच संचार चैनल को सुरक्षित करने के लिए उपयोग किए जाने वाले कोड लाइब्रेरी से संबंधित हो सकता है। सुनिश्चित करें कि आपके पास Oracle Java Development Kit 8 की नवीनतम रिलीज़ है। उदाहरण के लिए:

Error connecting to database [oracle_cloud_atp] :org.pentaho.di.core.exception.KettleDatabaseException:
Error occurred while trying to connect to the database
Error connecting to database: (using class oracle.jdbc.driver.OracleDriver)
IO Error: Received fatal alert: handshake_failure, connect lapse 188 ms., Authentication lapse 0 ms.
org.pentaho.di.core.exception.KettleDatabaseException:
Error occurred while trying to connect to the database
Error connecting to database: (using class oracle.jdbc.driver.OracleDriver)
IO Error: Received fatal alert: handshake_failure, connect lapse 188 ms., Authentication lapse 0 ms.

IO त्रुटि:सहकर्मी की close_notify प्राप्त करने से पहले इनबाउंड बंद हो गया

यदि आपको कोई त्रुटि प्राप्त होती है जैसे:"IO त्रुटि:इनबाउंड क्लोज्ड पीयर्स क्लोज़_नोटिफ़ाइ प्राप्त करने से पहले" ट्रांसफ़ॉर्मेशन चलाते समय, ऐसा हो सकता है कि आपके पास Oracle सर्वर से बहुत अधिक खुले डेटाबेस कनेक्शन हों। यह मामला हो सकता है यदि आप Oracle क्लाउड पर "ऑलवेज फ्री" सेवाओं का उपयोग कर रहे हैं। इन सेवाओं में एक साथ सीमित संख्या में कनेक्शन हैं।

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


2020/01/19 15:44:43 - Promotion Dim Lookup.0 - ERROR (version 8.2.0.0-342, 
build 8.2.0.0-342 from 2018-11-14 10.30.55 by buildguy) : An error occurred, 
processing will be stopped:
2020/01/19 15:44:43 - Promotion Dim Lookup.0 - Error occurred while trying to 
connect to the database
2020/01/19 15:44:43 - Promotion Dim Lookup.0 - IO Error: Inbound closed before 
receiving peer's close_notify: possible truncation attack?, Authentication lapse 0 ms.

कुछ दुर्लभ मामलों में, यह इस्तेमाल किए जा रहे JDK के संशोधन में एक बेमेल के कारण भी हो सकता है। जावा डेवलपमेंट किट संस्करण 1.8 में पीकेआई समर्थन के साथ कुछ असंगतियां पेश की गईं। ऐसा लगता है कि एक अद्यतन 1.8 JDK स्थापित करने से इन समस्याओं का समाधान हो जाता है।

यदि समस्या बनी रहती है (और आप एक गैर-उत्पादन सर्वर से कनेक्ट हो रहे हैं), तो Oracle स्वायत्त डेटाबेस को पुनरारंभ करने का प्रयास करें क्योंकि यह किसी भी पुराने कनेक्शन को मुक्त कर सकता है।

ORA-00018:सत्रों की अधिकतम संख्या पार हो गई

ORA-00018:सत्रों की अधिकतम संख्या पार हो गई यदि आपका डेटाबेस उपलब्ध कनेक्शन से बाहर चला जाता है तो त्रुटि दिखाई दे सकती है। Oracle ऑटोनॉमस डेटाबेस के "ऑलवेज फ्री" टियर के साथ काम करते समय यह एक समस्या हो सकती है। त्रुटि इस प्रकार दिखाई दे सकती है:

org.pentaho.di.trans.steps.dimensionlookup.DimensionLookupMeta@75df4b1d -
 ERROR (version 8.2.0.0-342, build 8.2.0.0-342 from 2018-11-14 10.30.55 by buildguy) : 
A database error occurred:
org.pentaho.di.trans.steps.dimensionlookup.DimensionLookupMeta@75df4b1d - 
    Error occurred while trying to connect to the database
org.pentaho.di.trans.steps.dimensionlookup.DimensionLookupMeta@75df4b1d -
org.pentaho.di.trans.steps.dimensionlookup.DimensionLookupMeta@75df4b1d - 
      Error connecting to database: (using class oracle.jdbc.driver.OracleDriver)
org.pentaho.di.trans.steps.dimensionlookup.DimensionLookupMeta@75df4b1d - 
       ORA-00018: maximum number of sessions exceeded

आपके द्वारा खोले गए किसी भी अतिरिक्त रूपांतरण टैब को बंद करें। चम्मच से बाहर निकलें और इसे पुनरारंभ करें। केवल उस रूपांतरण को खोलें जिस पर आप काम कर रहे हैं और उसे फिर से चलाने का प्रयास करें।
यदि समस्या बनी रहती है (और आप एक गैर-उत्पादन सर्वर से कनेक्ट कर रहे हैं), तो Oracle स्वायत्त डेटाबेस को पुनरारंभ करने का प्रयास करें क्योंकि यह किसी भी प्रकार की रुकावट को मुक्त कर सकता है। कनेक्शन।

तालिका बनाते समय गलत डेटा प्रकार

आयाम लुकअप/अपडेट या तालिका आउटपुट चरणों के माध्यम से तालिकाएँ बनाते समय PDI को उपयुक्त Oracle डेटा प्रकारों (INTEGER, NUMBER, DATE, VARCHAR) का उपयोग करना चाहिए। यदि आप देखते हैं कि डेटाटाइप्स जैसे कि BIGSERIAL या अन्य गैर-Oracle डेटा प्रकारों का उपयोग किया जाता है, तो निम्न प्रयास करें:

  • अपने स्रोत चरण पर वापस जाएं जैसे CSV रीडिंग चरण और "आलसी रूपांतरण" के लिए बॉक्स को अनचेक करें
  • अपने डाइमेंशन लुकअप/अपडेट या टेबल आउटपुट चरण पर वापस लौटें और डेटाबेस कनेक्शन को संपादित करें। सुनिश्चित करें कि बोली Oracle . पर सेट है .
    यह सुनिश्चित करने के लिए परीक्षण बटन पर क्लिक करें कि क्रेडेंशियल अभी भी काम कर रहे हैं। डेटाबेस कनेक्शन संवाद बॉक्स को बंद करें।
  • SQL बटन पर क्लिक करें और प्रस्तावित SQL CREATE TABLE स्टेटमेंट की जांच करके सुनिश्चित करें कि डेटा प्रकार अब सही हैं।
  • यदि डेटा प्रकार अभी भी सही नहीं हैं, तो पीडीआई को पुनः आरंभ करने का प्रयास करें और उपरोक्त चरणों का फिर से पालन करें।

Oracle Cloud के साथ PDI डेटाबेस एक्सप्लोरर का उपयोग करते समय धीमी प्रतिक्रिया

आप देख सकते हैं कि टूल्स> डेटाबेस> एक्सप्लोर करें का उपयोग करते समय पेंटाहो डेटा इंटीग्रेशन में लंबा समय लगेगा (और क्रैश हो सकता है) Oracle क्लाउड डेटाबेस का पता लगाने की सुविधा। मुख्य कारण यह है कि अधिकांश Oracle क्लाउड उदाहरणों में बड़ी संख्या में अंतर्निहित डेटाबेस स्कीमा होते हैं जिन्हें PDI डेटाबेस एक्सप्लोरर पढ़ने का प्रयास करता है।

PDI के डेटाबेस एक्सप्लोरर का उपयोग करने के बजाय, अपने स्कीमा का पता लगाने के लिए Oracle के SQL डेवलपर टूल का उपयोग करें, पुराने टेबल और क्वेरी डेटा को यह देखने के लिए छोड़ दें कि परिवर्तन कैसे काम कर रहे हैं। Oracle क्लाउड में एक अंतर्निहित SQL डेवलपर वेब एप्लिकेशन है जो इस उद्देश्य के लिए उपयोग करना आसान है।

डायमेंशन लुकअप के साथ अमान्य कैश/अपडेट चरण पंक्ति को बाइट सरणी में क्रमित करने में त्रुटि के कारण हुआ

आयाम लुकअप/अपडेट चरण का उपयोग करके डेटा अपडेट करते समय, आपको तकनीकी कुंजी (सरोगेट कुंजी) और पंक्ति को बाइट सरणी में क्रमित करने में त्रुटि से संबंधित त्रुटि का सामना करना पड़ सकता है। . इस त्रुटि का एक उदाहरण होगा:


Dimension lookup/update.0 - ERROR (version 8.2.0.0-342, build 8.2.0.0-342 from 
    2018-11-14 10.30.55 by buildguy) : Unexpected error
Dimension lookup/update.0 - ERROR (version 8.2.0.0-342, build 8.2.0.0-342 from 
    2018-11-14 10.30.55 by buildguy) : java.lang.RuntimeException: 
    Error serializing row to byte array
Dimension lookup/update.0 - at org.pentaho.di.core.row.RowMeta.extractData(RowMeta.java:1134)
Dimension lookup/update.0 - at org.pentaho.di.trans.steps.dimensionlookup.DimensionLookup.addToCache(DimensionLookup.java:1522)
Dimension lookup/update.0 - at org.pentaho.di.trans.steps.dimensionlookup.DimensionLookup.lookupValues(DimensionLookup.java:754)
Dimension lookup/update.0 - at org.pentaho.di.trans.steps.dimensionlookup.DimensionLookup.processRow(DimensionLookup.java:232)
Dimension lookup/update.0 - at org.pentaho.di.trans.step.RunThread.run(RunThread.java:62)
Dimension lookup/update.0 - at java.lang.Thread.run(Thread.java:748)
Dimension lookup/update.0 - Caused by: java.lang.RuntimeException: CUSTOMER_DIM_ID BigNumber(38) : 
     There was a data type error: the data type of java.lang.Long object 
     [320] does not correspond to value meta [BigNumber(38)]

यह त्रुटि कैश में गलत तकनीकी कुंजी मान या अद्वितीय तकनीकी कुंजी मानों के कैश तक पहुंचने के लिए आयाम लुकअप/अपडेट चरण की अक्षमता के कारण हो सकती है।

इस समस्या का समाधान करने के लिए, कैश सक्षम करें . के साथ रूपांतरण का पुन:प्रयास करें आयाम लुकअप/अपडेट चरण में विकल्प बंद कर दिया गया है। आप SQL . पर क्लिक करके भी कैशे साफ़ करना चाह सकते हैं बटन पर क्लिक करें और फिर कैश साफ़ करें . क्लिक करें बटन।


  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 वर्चुअल बॉक्स इंस्टालेशन के लिए चरण दर चरण निर्देश

  2. भौतिक स्टैंडबाय में ORA-01264

  3. Oracle का उपयोग करके हाइबरनेट में अंतिम सम्मिलित पंक्ति की आईडी पुनर्प्राप्त नहीं कर सकता

  4. विंडोज 64 बिट के लिए Oracle 11g एक्सप्रेस संस्करण?

  5. ओपन वर्ल्ड 2013 से वापस