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

ओआरए हटाएं / छोटा करें

बैचों में रिकॉर्ड हटाना पीएल/एसक्यूएल लूप में किया जा सकता है, लेकिन आम तौर पर इसे खराब अभ्यास माना जाता है क्योंकि पूरे डिलीट को आम तौर पर एक लेनदेन के रूप में माना जाना चाहिए; और यह SQL*Loader नियंत्रण फ़ाइल के भीतर से नहीं किया जा सकता है। आपके DBA का आकार UNDO . होना चाहिए आपको जो काम करने की ज़रूरत है उसे समायोजित करने के लिए जगह।

यदि आप पूरी तालिका को हटा रहे हैं तो आप निश्चित रूप से वैसे भी काट-छाँट करने से बेहतर होंगे, या तो नियंत्रण फ़ाइल में :

options(skip=1,load=250000,errors=0,ROWS=30000,BINDSIZE=10485760)
load data
infile 'G:1.csv' "str '^_^'"
truncate
into table IMPORT_ABC
...

या एक अलग truncate के रूप में लोड शुरू करने से पहले SQL*Plus/SQL Developer/कुछ अन्य क्लाइंट में स्टेटमेंट:

truncate table import_abc;

नुकसान यह है कि नई पंक्तियों को लोड करते समय आपकी तालिका अन्य उपयोगकर्ताओं के लिए खाली दिखाई देगी, लेकिन यदि यह एक समर्पित आयात क्षेत्र है (नाम से अनुमान लगाते हुए) तो इससे कोई फर्क नहीं पड़ता।

अगर आपका UNDO वास्तव में इतना छोटा है तो आपको कई भार चलाने पड़ सकते हैं, इस मामले में - शायद स्पष्ट रूप से - आपको यह सुनिश्चित करने की ज़रूरत है कि आपके पास केवल truncate है पहले वाले के लिए नियंत्रण फ़ाइल में (या अलग truncate . का उपयोग करें स्टेटमेंट), और append कोड> इसके बजाय बाद की नियंत्रण फ़ाइलों में जैसा कि आपने टिप्पणियों में नोट किया है।

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



  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. सहसंबद्ध उपश्रेणी का उपयोग

  3. ओरेकल एसक्यूएल प्लस स्पूल

  4. अद्यतन विवरण:प्रत्येक SET के बाद सबक्वेरी का पुनर्मूल्यांकन करें

  5. डेटा फ़ाइल में फ़ील्ड अधिकतम लंबाई से अधिक है - त्रुटि