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 caracteres ^M
Si queremos hacerlo usando perl utilizaremos los siguiente:
cat archivo.txt | perl -pi -e 's/\r$//'
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;
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 caso de que no finalice el proceso podemos matarlo desde el SO. Para ello utilizaremos lo siguiente desde un entorno linux:
kill -9 SPID
Donde el SPID lo podemos obtener en la consulta escrita anteriormente.
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 caso de que no finalice el proceso podemos matarlo desde el SO. Para ello utilizaremos lo siguiente desde un entorno linux:
kill -9 SPID
Donde el SPID lo podemos obtener en la consulta escrita anteriormente.
Oracle: Conexión de Agente a Instancia no disponible
Para solucionarlo se debe probar lo siguiente:
emctl clearstate agentSi no funciona probaremos a parar y arrancar de nuevo el emctl
emctl stop dbconsole
emctl start dbconsole
Suscribirse a:
Entradas (Atom)
-
Para poder insertar saltos de línea con el comando echo en linux se usa la siguiente sintaxis : echo -e "\n linea 1 \n linea 2 \n...
-
Para obtener una lista con los objetos bloqueados ejecucutados: select substr(a.os_user_name,1,8) "OS User" , substr(b.object_na...
-
Para obtener cuando se creó una tabla usaremos la siguiente consulta: select object_name, created from user_objects where object_name = ...