Entradas

Mostrando entradas de octubre, 2007

Sustituir texto en archivos

Si queremos reemplazar el texto en un archivo podemos utilizar perl: perl -pi -e   's/cadena abuscar/cadenaporlaquesustituimos/g' Si queremos reemplazar el texto de muchos archivos ejecutamos el comando find combinado con perl: find /directorio -name "*.txt" | xargs perl -pi -e 's/cadena abuscar/cadenaporlaquesustituimos/g' Podemos usar el AWK para lo mismo: find /directorio -name "*.txt" | awk '{ gsub(/cadena abuscar/, "cadenaporlaquesustituimos"); print }' o   cat archivo.txt | awk '{ gsub(/cadena abuscar/, "cadenaporlaquesustituimos"); print }' ej: cat archivo.txt | awk '{ gsub(/Linux/, "Opensuse"); print }' Si usamos un editor como vi, podemos usar el siguiente comando: :%s/ cadena abuscar/cadenaporlaquesustituimos /g Un ejemplo práctico en vi para sustituir los caracteres ^M: :%s/^V^M//g Al pulsar control V y control M el resultado sera: %s/^M//g Que eliminara los ca

Oracle: exportar tabla como csv

Para exportar una tabla como csv usaremos los siguientes comandos desde sqlplus: spool ARCHIVO.csv set termout off set pagesize 0 set heading off set feedback off select '"'||Campo1||'","'||Campo2||'","'||Campo3||'"' from Tabla; quit Si quisiesemos usar tabuladores en lugar de comas podemos usar esto: select '"' || Campo1 ||'"' || CHR(9)|| '"'|| YEAR from Tabla;

Oracle : Tablas y objetos bloqueados

Para obtener una lista con los objetos bloqueados ejecucutados: select substr(a.os_user_name,1,8) "OS User" , substr(b.object_name,1,30) "Object Name" , substr(b.object_type,1,8) "Type" , substr(c.segment_name,1,10) "RBS" , e.process "PROCESS" , substr(d.used_urec,1,8) "# of Records" , e.sid , e.serial# , p.* from v$locked_object a , dba_objects b , dba_rollback_segs c , v$transaction d , v$session e , v$process p where a.object_id = b.object_id and a.xidusn = c.segment_id and a.xidusn = d.xidusn and a.xidslot = d.xidslot and d.addr = e.taddr and p.addr = e.paddr Si intentamos por ejemplo hacer un "drop table" obtendremos un error del tipo ORA-00054: recurso ocupado y obtenido con NOWAIT. Para desbloquear uno de los objetos usamos alguna de las siguientes sentencias ALTER SYSTEM DISCONNECT SESSION 'SID, SERIAL' IMMEDIATE; o bien ALTER SYSTEM KILL SESSION 'sid,serial#' IMMEDIATE; En el ca

Oracle: Conexión de Agente a Instancia no disponible

Para solucionarlo se debe probar lo siguiente: emctl clearstate agent Si no funciona probaremos a parar y arrancar de nuevo el emctl emctl stop dbconsole emctl start dbconsole