Import – Export di un database Oracle

Home Forums Other Import – Export di un database Oracle

  • This topic is empty.
Viewing 1 post (of 1 total)
  • Author
    Posts
  • #78
    Matteo
    Keymaster

      Vediamo come si possa fare sia la export che la import di un database Oracle. I seguenti comandi sono validi a partire da Oracle 8 fino a Oracle 9 (dovrebbero essere validi anche per le versioni successive di Oracle senza alcun problema).


      EXPORT ORACLE


      Per prima cosa vediamo gli step della export.
      1. Fare l’export, da riga di comando dos, di tutti gli oggetti gestiti da un utente (in questo caso l’utente si chiama myuser, e il SID del Database oracle è ORA9):

      C:>exp system/manager@ORA9 file=dbmyuser.dmp owner=myuser

      2. creare un file sql in cui siano presenti i commandi per rigenerare gli indici sul Database (in questo caso l’utente di origine si chiama myuser e quello di destinazione myuser2):

      C:>imp system/manager@ORA9 file=dbmyuser.dmp fromuser=myuser touser=myuser2 indexfile=dbmyuser-indexes.sql


      IMPORT ORACLE


      Vediamo ora gli step della import.
      1. Assicurarsi che il tablespace prima e poi l’utente del database che si sta importando vengano cancellati e ricreati.
      Il tutto può essere fatto da SqlPlus:

      sqlplus system/manager@ora9

      La sintassi del comando di cancellazione dell’utente e del tablespace è:

      drop user [nome_utente_da_cancellare] cascade;
      drop tablespace [nome_utente_da_cancellare];

      Il file del tablespace va eliminato anche a mano.

      La sintassi per la creazione del tablespace è:
      create tablespace [come_nome_utente] logging datafile ‘C:/oracle/oradata/ORA9/come_nome_utente.dbf’
      size 32m
      autoextend on
      next 32m maxsize 2048m
      extent management local;

      La sintassi del comando di creazione è

      create user [nome_utente] identified by [pwd_utente] default tablespace [nome_tblspace] quota unlimited on [nome_tblspace];

      La sintassi del comando per dare i diritti all’utente è:

      grant create session, create sequence, create procedure, create table, create trigger, create view, create any index to [nome_utente];

      Effettuare la commit delle operazioni eseguite:

      commit;

      2. Importare il database senza creare gli indici SQL (fromuser è l’utente originale il touser è l’utente destinatario, fare attenzione che il file da importare db.dmp sia visibile):

      imp system/manager@ora9 file=db.dmp fromuser=ORIGINALUSER touser=DESTINATIONUSER indexes=N commit=Y ignore=Y log=mylog.txt

      3. sostituire nel file sql degli indici, il nome del tablespace originario con quello del tablespace di arrivo.
      Inoltre, controllare che in tale file ci sia la riga:

      CONNECT UTENTE/PASSWORD@ora9;

      Cioè all’inizio vengono specificati i parametri della connessione. Fare attenzione alle maiuscole: nome e password vanno in caratteri maiuscoli!!!

      4. ricreare gli indici lanciando l’apposito file da SQLPLUS con l’utente dello specifico tablespace e non più come system:

      C:> sqlplus myuser/myuser
      sql> @dbmyuser-indexes
      oppure
      sql> @c:dbmyuser-indexes.sql

    Viewing 1 post (of 1 total)
    • You must be logged in to reply to this topic.
    Share: