Oracle: Unterschied zwischen den Versionen

Aus Alexander's Wiki
 
(13 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
{{GoogleAnalytics}}
= Neue Version =
== Export ==
Tbd
 
== Import ==
<source lang="text">
  export ORACLE_SID=<DB_Instance>
  imp system/<password> parfile=<paramter_file>
</source>


Dabei könnte die Parameterdatei folgendermaßen aussehen:
<source lang="text">
  FILE=<dumpfile>.dmp
  FROMUSER=<User1>,<User2>
  TOUSER=<User1_neu>,<User2_neu>
  LOG=<logfile>.log
</source>
= Alte Version =
== Export ==
== Export ==
=== Per Kommandozeile ===
=== Per Kommandozeile ===
Zeile 6: Zeile 24:
<source lang="text">
<source lang="text">
   export ORACLE_SID=<DB_Instance>
   export ORACLE_SID=<DB_Instance>
   expdp system/<password> parfile=<paramter_file>
   expdp system/<password> parfile=<paramter_file>
</source>
</source>
Zeile 14: Zeile 31:
<source lang="text">
<source lang="text">
   DUMPFILE=<dumpfile>.dmp
   DUMPFILE=<dumpfile>.dmp
   DIRECTORY=dump_directory
   DIRECTORY=dump_dir_ref    # siehe CREATE or REPLACE
   LOGFILE=<logfile>.log
   LOGFILE=<logfile>.log
   JOB_NAME=<Jobname_beliebig>
   JOB_NAME=<Jobname_beliebig>
Zeile 23: Zeile 40:


<source lang="sql">
<source lang="sql">
   create or replace directory dump_dir as '/home/oracle/dumps';
   CREATE or REPLACE directory dump_dir_ref as '/home/oracle/dumps';
</source>
</source>


== Import ==
=== Per Kommandozeile ===
<source lang="sql">
  create or replace directory dump_dir_ref as '/home/oracle/dumps';
  create user <user> identified by <password>;
  grant all privileges to <user>;
</source>
<source lang="text">
  export ORACLE_SID=<DB_Instance>
  impdp system/<password> parfile=<paramter_file>
</source>


Einfach mal merken:
Dabei könnte die Parameterdatei folgendermaßen aussehen:
 
<source lang="text">
  DUMPFILE=<dumpfile>.dmp
  DIRECTORY=dump_dir_ ref    # siehe CREATE or REPLACE
  LOGFILE=<logfile>.log
  JOB_NAME=<Jobname_beliebig>
  REMAP_TABLESPACE=<alter_Space>:<neuer_Space>
  REMAP_SCHEMA=<altes_Schema>:<neues_Schema>
</source>
 
= Drop Tempfile =
Platz, den das Tempfile belegt:
<source lang="sql">
SELECT tablespace_name, file_name, bytes FROM dba_temp_files WHERE tablespace_name = 'TEMP';
</source>
 
 
<source lang="text">
TABLESPACE_NAME  FILE_NAME                                BYTES
----------------- -------------------------------- --------------
TEMP              /TESTDB/temp01.dbf              13,107,200,000
</source>
 
 
<source lang="sql">
ALTER DATABASE TEMPFILE '/TESTDB/temp01.dbf' DROP INCLUDING DATAFILES;
ALTER TABLESPACE temp ADD TEMPFILE '/TESTDB/temp01.dbf' SIZE 512m AUTOEXTEND ON NEXT 250m MAXSIZE UNLIMITED;
</source>
 
ggf. muss man das Temp-File noch per Hand im Dateisystem löschen
== Einfach mal merken: ==


<source lang="sql">
<source lang="sql">
Zeile 40: Zeile 101:
   )
   )
   Select Rid From Zuloeschen);
   Select Rid From Zuloeschen);
</source>
<source lang="sql">
  ALTER USER benutzer ACCOUNT UNLOCK;
  ALTER USER user_name IDENTIFIED BY new_password;
</source>
</source>

Aktuelle Version vom 14. Juni 2013, 08:02 Uhr

Neue Version

Export

Tbd

Import

  export ORACLE_SID=<DB_Instance>
  imp system/<password> parfile=<paramter_file>

Dabei könnte die Parameterdatei folgendermaßen aussehen:

  FILE=<dumpfile>.dmp
  FROMUSER=<User1>,<User2>
  TOUSER=<User1_neu>,<User2_neu>
  LOG=<logfile>.log

Alte Version

Export

Per Kommandozeile

  export ORACLE_SID=<DB_Instance>
  expdp system/<password> parfile=<paramter_file>

Dabei könnte die Parameterdatei folgendermaßen aussehen:

  DUMPFILE=<dumpfile>.dmp
  DIRECTORY=dump_dir_ref     # siehe CREATE or REPLACE
  LOGFILE=<logfile>.log
  JOB_NAME=<Jobname_beliebig>
  SCHEMAS=<existierendes Schema in der Datenbank>

Das dump_directory wurde vorher in der Datenbank beschrieben durch:

  CREATE or REPLACE directory dump_dir_ref as '/home/oracle/dumps';

Import

Per Kommandozeile

  create or replace directory dump_dir_ref as '/home/oracle/dumps';
  create user <user> identified by <password>;
  grant all privileges to <user>;


  export ORACLE_SID=<DB_Instance>
  impdp system/<password> parfile=<paramter_file>

Dabei könnte die Parameterdatei folgendermaßen aussehen:

  DUMPFILE=<dumpfile>.dmp
  DIRECTORY=dump_dir_ ref    # siehe CREATE or REPLACE
  LOGFILE=<logfile>.log
  JOB_NAME=<Jobname_beliebig>
  REMAP_TABLESPACE=<alter_Space>:<neuer_Space>
  REMAP_SCHEMA=<altes_Schema>:<neues_Schema>

Drop Tempfile

Platz, den das Tempfile belegt:

SELECT tablespace_name, file_name, bytes FROM dba_temp_files WHERE tablespace_name = 'TEMP';


TABLESPACE_NAME   FILE_NAME                                 BYTES
----------------- -------------------------------- --------------
TEMP              /TESTDB/temp01.dbf               13,107,200,000


ALTER DATABASE TEMPFILE '/TESTDB/temp01.dbf' DROP INCLUDING DATAFILES;
ALTER TABLESPACE temp ADD TEMPFILE '/TESTDB/temp01.dbf' SIZE 512m AUTOEXTEND ON NEXT 250m MAXSIZE UNLIMITED;

ggf. muss man das Temp-File noch per Hand im Dateisystem löschen

Einfach mal merken:

delete from e_tci where rowid in (
WITH nummern AS
  (Select Row_Number() Over (Partition By E.System_Id Order By Hw_Part_No ) N,
    e.rowid as rid
  FROM E_Tci E
  ),
  Zuloeschen AS
  ( SELECT * FROM Nummern WHERE N > 7
  )
  Select Rid From Zuloeschen);
  ALTER USER benutzer ACCOUNT UNLOCK;
  ALTER USER user_name IDENTIFIED BY new_password;