Browse Month: junio 2011

Suspender, reanudar o matar un proceso Datapump

Datapump es una versión mejorada de las utilidades export e import, que Oracle ha introducido en su versión 10g. Pero no voy a utilizar este post para explicar qué es o cómo usar Datapump, sino para cuando nos encontramos en la situación de haber lanzado un proceso de export o import con datapump y necesitamos suspenderlo o matarlo.

Una característica de Datapump es que podemos tener mucho más control del proceso de export/import,  por ejemplo.

Imaginemos que lanzamos el siguiente trabajo de exportación:

expdp system@db full=Y dumpfile=dump:expDB.dmp logfile=dump:expDB.LOG job_name=jobdb

Puede darse el caso que queramos suspender el proceso porque necesitamos ejecutar otra operación urgentemente y no queremos que ningún proceso auxiliar nos pueda afectar en el rendimiento. O simplemente queremos suspender el proceso desde la máquina en la que nos encontramos y continuarlo desde nuestra casa, por ejemplo.

Si pulsamos ctrl+c desde la línea de comandos, entraremos en el modo interactivo de datapump “EXPORT>” y a partir de este momento podremos interactuar con algún job de Datapump. Esto es así dado que cuando un export o import datapump es lanzado, automáticamente se crea un JOB. Continue Reading

Cómo particionar una tabla existente usando DBMS_Redefinition

Presentaré un ejemplo de cómo particionar una tabla ya existente usando el paquete dbms_redefinition. Dicho paquete nos permite realizar una reorganización de tablas online.

Existen ciertas restricciones por las cuales las tablas de la siguientes características no podrán ser redefinidas online (metalink ID 149564.1):

  • [9.0.1]Tables with no primary keys
  • Tables that have materialized view logs defined on them
  • [9i] Tables that are materialized view container tables and AQ tables
  • [10g] Tables that are replicated in an n-way master configuration can be redefined, but horizontal subsetting (subset of rows in the table), vertical subsetting (subset of columns in the table), and column transformations are not allowed
  • Tables with fine-grained access control (row-level security)
  • Tables with BFILE columns
  • Tables with LONG columns can be redefined online, but those columns must be converted to CLOBS. Also, LONG RAW columns must be converted to BLOBS. Tables with LOB columns are acceptable.
  • Tables in the SYS and SYSTEM schema
  • Temporary tables
Los pasos para particionar una tabla ya existente son los siguientes: