Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Mengambil dump tabel di Oracle 10g menggunakan prosedur PL/SQL

Saat Anda menggunakan 10g, Anda dapat melakukannya dengan Data Pump API. Anda harus memiliki akses baca dan tulis pada objek direktori yang memetakan ke direktori OS tujuan.

Dalam contoh berikut saya mengekspor dua tabel, EMP dan DEPT, ke file bernama EMP.DMP dalam direktori yang diidentifikasi oleh DATA_PUMP_DIR.

SQL> declare
  2      dp_handle       number;
  3  begin
  4      dp_handle := dbms_datapump.open(
  5      operation   => 'EXPORT',
  6      job_mode    => 'TABLE');
  7
  8    dbms_datapump.add_file(
  9      handle    =>  dp_handle,
 10      filename  => 'emp.dmp',
 11      directory => 'DATA_PUMP_DIR');
 12
 13    dbms_datapump.add_file(
 14      handle    => dp_handle,
 15      filename  => 'emp.log',
 16      directory => 'DATA_PUMP_DIR',
 17      filetype  => DBMS_DATAPUMP.KU$_FILE_TYPE_LOG_FILE);
 18
 19    dbms_datapump.metadata_filter(
 20      handle => dp_handle,
 21      name   => 'NAME_LIST',
 22      value  => '''EMP'',''DEPT''');
 23
 24    dbms_datapump.start_job(dp_handle);
 25
 26    dbms_datapump.detach(dp_handle);
 27  end;
 28  /    

PL/SQL procedure successfully completed.

SQL> 

@DerekMahar bertanya:

"Apakah ada alat pompa data atau API serupa yang tersedia untuk dieksekusi dari sisi klien"

DataPump, baik PL/SQL API dan utilitas OS, menulis ke direktori Oracle. Direktori Oracle harus mewakili direktori OS yang dapat dilihat oleh database. Biasanya itu adalah direktori di server, meskipun saya kira secara teoritis mungkin untuk memetakan drive PC ke jaringan. Anda harus meyakinkan admin jaringan Anda bahwa ini adalah ide yang bagus, ini adalah penjualan yang sulit, karena tidak...

Utilitas IMP dan EXP yang lebih lama membaca dan menulis dari direktori klien, sehingga secara teori dimungkinkan untuk IMP file dump lokal ke database jarak jauh. Tapi saya tidak berpikir ini adalah pendekatan praktis. Secara alami, file dump cenderung besar, jadi mengimpor melalui jaringan lambat dan rentan terhadap kegagalan. Ini adalah solusi yang jauh lebih baik untuk meng-zip file dump, menyalinnya ke server dan mengimpornya dari sana.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. listagg data ke format yang bisa digunakan?

  2. Oracle SQL Query untuk mendaftar semua Skema dalam DB

  3. Mengisi Tabel PL/SQL dari Blok di Oracle D2k Forms

  4. dbms_metadata.get_ddl tidak berfungsi

  5. Cara menginstal klien SQL * PLUS di linux