Transportable Tablespace

In articolele trecute am prezentat mai multe soluții pentru a migra datele dintr-o bază de date Oracle, fiecare dintre aceste metode avand particularitățile ei, de aceea înainte de implementare trebuie analizat care variantă este cea mai potrivită.

„Transportable tablespace” este una dintre aceste solutii care a fost introdusă în versiunea Oracle 8i și a fost îmbunătățită cu fiecare nouă versiune, iar din Oracle 11g se pot transporta tablespace-uri care provin de pe o platformă cu endian diferit. Avantajul acestei metode este că se poate muta rapid un volum mare de date iar dezavantajul este că tablespace-ul sursă trebuie să fie read-only, iar în majoritatea cazurilor asta se traduce printr-o perioadă de nefuncționare a sistemului sursă, însă acest neajuns a fost rezolvat cu ajutorul utilitarului RMAN.

DataPump Tips&Tricks

Pepsi sau CocaCola? Samsung ori Apple? AMD versus NVidia? DataPump ori tradiționalul export/import? Alb ori negru? va mărturisesc ca dintotdeauna am fost un fan al polemicilor, pentru mine acest lucru nu semnifica o cearta ba dimpotrivă este un schimb de idei constructive care încurajează concurenta și totodată evoluția. Totuși exista ceva în comparația de mai sus cu care nu pot fi de acord, datapump nu înlocuiește utilitarele clasice de export și import și nici invers.

Etapele de executie interna SQL

Pentru a fi eficienți în operațiile de tuning SQL, orice administrator de baze de date trebuie să înțeleagă modul în care o instrucțiune SQL este transformată de la codul sursă original într-o formă executabilă.

Stadiile principale de procesare SQL sunt următoarele:

  1. Parsarea codului sursă pentru a localiza eventualele erori de sintaxă și căutarea unei copii existentă a instrucțiunii SQL în shared pool
  2. Optimizarea SQL
  3. Generarea SQL Row Source
  4. Execuția SQL

Monitorizare DataPump

Când utilizați utilitarul de import ori de export datapump puteți urmări progresul procesului folosind următorul select.

select sid, serial#, sofar, totalwork,
dp.owner_name, dp.state, dp.job_mode
from gv$session_longops sl, gv$datapump_job dp
where sl.opname = dp.job_name and sofar != totalwork