Ez az "oracle" hirdetesi felulet pillanatnyilag INGYEN kiado! Miert? Mert ha a google.hu-ba beirod hogy "oracle dba" eleg elokelo helyen vagyok! altalaban 1. :P kuldj mailt ide: orclblog [at] gmail.com

Naptár

április 2025
Hét Ked Sze Csü Pén Szo Vas
<<  < Archív
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

Friss topikok

2007.06.21. 17:03 darvat

datapump import - pl/sql package-ekkel - Oracle DBA - Oracle adatbazis - Oracle database

az exp/imp utodja 10g-ben a datapump amely teljesen mas technologian alapul mint az elod, aki errol tobbet szeretne tudni olvasgassa el ezt az angol nyelvu ismertetot (igaz ez mar Oracle 11g alatt mutatkozik be, de a lenyeg ugyanaz).

a lenyeg hogy keszitettek hozza command line interface-t, ami nem mas mint az expdp es az impdp programok.
ezeket szepen lehet parameterezni (sok hasonlosag felfedezheto az exp/imp-pel), de mi van akkor ha nem ezt a modszert valaszjuk, hanem a beepitett pl/sql csomagokkal szeretnenk datapump-olni?

itt egy lehetseges megoldas az importra:

impdp system/manager             \
schemas=my_dba                     \
directory=db_dir                        \
dumpfile=my_dba_db12.dmp     \
logfile=my_dba_db12.log           \
table_exist_action=replace         \
remap_schema=my_dba:test     \
remap_tablespace=MY_REFERENCE:TEST_LOGSTDBY



a fenti parancs a kovetkezoket teszi:
- system-kent csatlakozik a db-hez
- a db_dir adatbazis directory-ban talalhato my_dba_db12.dmp-bol fogunk importalni
- a logfile-t a db_dir adatbazis directory-ba irjuk my_dba_db12.log neven
- a my_dba schemat fogjuk feldolgozni a dump-bol
- a my_dba schema objektumokat a test schema ala importaljuk
- ha egy, az importalando tablak kozul mar letezik a test schema alatt, akkor azt kicsereljuk az import dump-bol jovore
- az importalando objektumok kozul, ami eddig a MY_REFERENCE tablaterben volt az az import utan a TEST_LOGSTDBY-be fog kerulni

mindez igy nez ki a pl/sql package-ekkel:

set serveroutput on

DECLARE
 dph NUMBER;
BEGIN
  dph := dbms_datapump.open(operation => 'IMPORT', job_mode =>
  'SCHEMA',job_name => 'MY_IMPORT_01');

  dbms_datapump.add_file(handle => dph,filename =>
  'my_dba_db12.dmp', directory => 'DB_DIR',filetype=>1);

  dbms_datapump.add_file(handle => dph,filename =>
  'my_dba_db12.log',directory => 'DB_DIR',filetype=>3);

  dbms_datapump.set_parameter(handle => dph,name =>
  'TABLE_EXISTS_ACTION', value =>'REPLACE');
 
  DBMS_DATAPUMP.METADATA_REMAP
      (handle => dph,
      name => 'REMAP_SCHEMA',
      old_value => 'MY_DBA',
      value => 'TEST');
   
  DBMS_DATAPUMP.METADATA_REMAP
          (handle => dph,
          name => 'REMAP_TABLESPACE',
          old_value => 'MY_REFERENCE',
          value => 'TEST_LOGSTDBY');

  dbms_datapump.start_job(dph);

  dbms_datapump.detach(dph);
EXCEPTION
  WHEN OTHERS THEN
    dbms_output.put_line('Error:' || sqlerrm || ' on Job-ID:' || dph);
END;
/

Szólj hozzá!


A bejegyzés trackback címe:

https://oracle.blog.hu/api/trackback/id/tr66103359

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása