SelectEtoile : Base de connaissance SGBD

Posts Tagged 'imp'

Exemple Import ORACLE

Suppression des connexions sur le schéma à charger

 sqlplus /nolog <<-END_SQL

        connect / as sysdba

        select  'DBADEV' "ADMIN",

                        '$schema' "SCHEMA",

                        substr(s.sid,1,3) "SID",

                        substr(s.serial#,1,6) "SERIAL",

                        substr(p.spid,1,7) "PROCESS"

        from v_\$SESSION s , v_\$PROCESS p

        where s.paddr = p.addr

        and type = 'USER'

        and s.username = UPPER('$schema')

        order by s.SID;

        END_SQL

 

sqlplus /nolog <<-END_SQL

        connect / as sysdba

        alter system disconnect session '$sid,$serial' immediate;

        END_SQL

 

Drop des objets en cascade

 -- Recupere les ordres de drop des tables

sqlplus $schema/$($KSH_ADM/decrypter $ALIAS_INSTANCE $schema) <<-END_SQL

        SPOOL /tmp/tmp1_$$.log;

        SET PAGESIZE 0;

        SELECT 'DROP TABLE ' || ' ' || OBJECT_NAME || ' CASCADE CONSTRAINTS ;'

        FROM USER_OBJECTS

        WHERE OBJECT_TYPE = 'TABLE';

        SPOOL OFF;

        END_SQL

        grep '^DROP TABLE' /tmp/tmp1_$$.log > /tmp/tmp1_$$.cmd

 

        sqlplus $schema/$($KSH_ADM/decrypter $ALIAS_INSTANCE $schema) <<-END_SQL

 

        -- Executer le drop des tables

        @/tmp/tmp1_$$.cmd;

 

        -- Recupere les ordres de drop des autres objets

        SPOOL /tmp/tmp1_$$.log;

        SET PAGESIZE 0;

        SELECT 'DROP ' || OBJECT_TYPE || ' ' || OBJECT_NAME || ' ;'

        FROM USER_OBJECTS

        WHERE OBJECT_TYPE != 'TABLE'

        ORDER BY OBJECT_TYPE;

        SPOOL OFF;

        END_SQL

        grep '^DROP ' /tmp/tmp1_$$.log > /tmp/tmp1_$$.cmd

 

        # Executer le drop des autres objets

        sqlplus $schema/$($KSH_ADM/decrypter $ALIAS_INSTANCE $schema) <<-END_SQL

        @/tmp/tmp1_$$.cmd;

        END_SQL

 

Création d’un pipe nommé

 /etc/mknod /tmp/mypipe$$ p

 

Détar dans le pipe nommé de l’export :

         gzip -d < $ORADUMP/$FICHIER_DUMP > /tmp/mypipe$$ &

 

Mise en place du TBS par défaut pour les données :

 

         sqlplus /nolog << EOF

                connect / as sysdba

                alter user ${schema} default tablespace ${TBS_DATA};

                alter user ${schema} account lock;

                exit

         EOF

 

 

Import des données

         imp \'/ as sysdba\' indexes=n rows=y ignore=y constraints=n fromuser=${SCHEMA_SOURCE} touser=${schema} file=/tmp/mypipe$$ log=$log_data

 

 

Détar dans le pipe nommé de l’export :

         gzip -d < $ORADUMP/$FICHIER_DUMP > /tmp/mypipe$$ &

 

 

Mise en place du TBS par défaut pour les indexes :

         sqlplus /nolog << EOF

                connect / as sysdba

                alter user ${schema} default tablespace ${TBS_IDX};

                alter user ${schema} account lock;

                exit

         EOF

 

Import des indexes

imp \'/ as sysdba\' indexes=y rows=n ignore=y constraints=y grants=n fromuser=${SCHEMA_SOURCE} touser=${schema} file=/tmp/mypipe

$$ log=$log_ind

 

 

Vérification des objets invalides

 

 

 

Articles tagged

Import / Export ORACLE

Export ORACLE

 


 

Exp user/passwd log=logfile file=exportname consistence=yes

full=y

owner=user

tables=(user.table1,user.table2…)

tablespace=kdsj

ex : exp user/userpwd file=tt.exp tables=ta_tttt rows=y

 

 

 

Import ORACLE


Imp user/passwd parfile=filename

Ex de parfile

 

LOG=$EXPORTDIR/import.log

FILE=$EXPORTDIR/expfull20050614-073934.dump

FROMUSER=CDCSPEC,OPS$BRU,UBXADMIN,UBXREF,UDSPECIF,USERBO,USERCLI,USERDB,USERMON

TOUSER=CDCSPEC,OPS$BRU,UBXADMIN,UBXREF,UDSPECIF,USERBO,USERCLI,USERDB,USERMON

On peut rajouter le parameters ‘TABLES=(*)’ qui ne va importer que les tables, trigger, index d’un shema.
Ex : imp scriptor/scriptor4recon file=tt.exp tables=MQMT950 rows=y ignore=y constraints=n indexes=n


Remarques

Import avec un pipe nommé

Créer un pipe nommé : mknod pipename p

Créer le fichier parfile avec comme parametre file le nom du pipe nommé

Lancer les commandes suivantes :
  •  
    • gzip –d nom_du_fichier_import.gz > pipename &

    • imp parfile=import.txt


 

Exemples export et import ORACLE

exp / OWNER=user_a file=$EXPORTDIR/exp_ORACLESID_user_a.dmp log=$LOGDIR/exp_ORACLESID_user_a..log consistent=y direct=y