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

SQL डेवलपर का उपयोग करके Oracle बल्क इंसर्ट

SQL*Loader Oracle में बड़े डेटा वॉल्यूम को बल्क लोड करने का मेरा पसंदीदा तरीका है। अधिकतम गति के लिए डायरेक्ट पाथ इंसर्ट विकल्प का उपयोग करें लेकिन डायरेक्ट-पाथ लोड के प्रभावों को समझें (उदाहरण के लिए, सभी डेटा हाई वॉटर मार्क से पहले डाला जाता है, जो कि अगर आप अपनी टेबल को छोटा करते हैं तो ठीक है)। इसमें खराब पंक्तियों के लिए भी सहनशीलता है, इसलिए यदि आपके डेटा में "कुछ" गलतियां हैं तो यह अभी भी काम कर सकता है।

SQL*Loader अनुक्रमणिका को निलंबित कर सकता है और अंत में उन सभी का निर्माण कर सकता है, जिससे बल्क इंसर्टिंग बहुत तेज़ हो जाती है।

SQL*Loader कॉल का उदाहरण:

$SQLDIR/sqlldr /@MyDatabase direct=false silent=feedback \
    control=mydata.ctl log=/apps/logs/mydata.log bad=/apps/logs/mydata.bad \
    rows=200000

और mydata.ctl कुछ इस तरह दिखेगा:

LOAD DATA
INFILE '/apps/load_files/mytable.dat'
INTO TABLE my_schema.my_able
FIELDS TERMINATED BY "|"
 (ORDER_ID,
  ORDER_DATE,
  PART_NUMBER,
  QUANTITY)

वैकल्पिक रूप से ... यदि आप केवल एक तालिका की संपूर्ण सामग्री को दूसरे डेटाबेस में कॉपी कर रहे हैं, तो आप ऐसा कर सकते हैं यदि आपका डीबीए एक डीबीलिंक (30 सेकंड की प्रक्रिया) सेट करता है, यह मानते हुए कि आपके डीबी को फिर से स्थान के साथ स्थापित किया गया है इसे पूरा करें।

truncate table my_schema.my_table;

insert into my_schema.my_table
select * from [email protected]_remote_db;

/* +append */ . का उपयोग संकेत अभी भी सीधे पथ डालने का उपयोग कर सकते हैं।




  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. Oracle में पूर्णांक भाग शून्य होने पर शून्य कैसे निकालें?

  4. Oracle SQL पेयर राइट लेफ्ट सीक्वेंशियल नंबर विद आइडेंटिफायर

  5. अजगर DPI-1047 macOS पर dlopen (libclntsh.dylib) का पता नहीं लगा सकता