Generar carga de trabajo en Oracle Database

Cuando generamos entornos de laboratorio o pruebas y que requieren actividad a nivel de BD, el primer obstáculo que nos encontramos es ¿como genero actividad?

Pues bien, tenemos una utilidad que es una marvilla para generar carga: http://dominicgiles.com/swingbench.html

Esta utilidad s epuede ejecutar en Windows o Linux y en la versión 2.5 (que es la que se ha utilizado al escribir esto), requiere Java 1.8.

Continue reading

Guardar sesión terminal Linux (script)

Durante el trabajo diario, en ocasiones, debemos realizar tareas que nos gustaría documentar como es debido.entrada Linux script

En esta entrada vamos a ver como guardar toda una sesión de terminal Linux, de tal forma que podamos incluirla a posteriori en cualquier documentación.

El comando que vamos utilizar es:

script

Continue reading

Jobs en MySQL

Esta vez vamos a ver la forma de realizar una tarea programada dentro de MySQL (salvando las distancias, un job de Oracle).

Primero tenemos que asegurarnos de que tenemos el scheduler arrancado esto lo vemos con un:

Source   
mysql> SHOW processlist;
+----+------+-----------------+------------+---------+------+-------+------------------+
| Id | User | Host            | db         | Command | Time | State | Info             |
+----+------+-----------------+------------+---------+------+-------+------------------+
|  6 | root | localhost:49987 | assets_pru | Sleep   |  299 |       | NULL             |
|  8 | root | localhost       | assets_pru | Query   |    0 | NULL  | SHOW processlist |
+----+------+-----------------+------------+---------+------+-------+------------------+
2 rows IN SET (0.00 sec)

No está arrancado, para esto tenemos que modificar un parámetro de my.cnf en la seccion mysqld:

Continue reading

iptables ddos configurar recent, impedir ataques denegación de servicio (DOS Denial Of Service) en Linux (Match extension recent )

Recientemente se ha puesto en contacto conmigo un compañero de fatigas llamado Miguel Angel (un saludo), a ver si le podía echar una mano con unos ataques que está teniendo. Evidentemente no usaré sus datos para nada en esta entrada.

En esta estrada vamos realizar un filtrado más preciso de las comunicaciones entrantes, para evitar ataques DOS.

En el anterior post “Impedir ataques denegación de servicio (DOS Denial Of Service) en Linux (Match extension limit)”, se mostraba como realizar un filtrado limitando el número de accesos. La gran mejora de la extensión recent vs limit, es que recent mantiene una lista de IPs de origen de comunicación y los límites son establecidos por IP de origen. La extensión limit impone límites independientemente del origen, es un límite global.

Continue reading

Parámetros RMAN oracle, en un script rman (solo Oracle 11g o superior)

Cuando listamos los backups realizados con:

Source   
RMAN> list backup summary;

Por ejemplo, podemos tener problemas para localizar un backupset. El resultado es bastante confuso y desde luego son poco elegantes las etiquetas creadas por defecto.

Continue reading

Buscar una cadena de texto en un esquema completo de Oracle

En algunos casos, afortunadamente no demasiados, he tenido que buscar una cadena (normalmente algo relacionado con la configuración) en un esquema de la BD.

El asunto se complica cuando hay una cantidad de tablas ingente y además no hay forma de ponerse en contacto con el desarrollador, vamos un infierno.

Pues bueno para estos casos quiero compartir un script PL/SQL de cosecha propia (como casi todos los que pongo en el blog), que facilita el tema bastante:

Continue reading

RMAN restaurar backup, desde cinta en otro servidor

Un excelente ejercicio para verificar que los backups se realizan correctemente, es preparar un script que nos haga una restauración a demanda en otro servidor (normalmente preproducción).

Digo una restauración y no un clonado (que es algo realmente impresionante el poder clonar una BD sin pararla hasta el momento actual), porque el clonado necesita que la BD de origen (producción seguramente) tiene que estar abierta y en caso de desastre esto no lo vamos a terner claro.

La restauración que se muestra aquí se realiza sin catálogo RMAN externo (es decir usando el controlfile como catálogo), esto nos obliga tener activa la opción:

Continue reading

RMAN tag, añadir etiquetas personalizadas a backupsets RMAN

En la versión de Oracle 11g se pueden pasar parámetros desde linea de comandos a RMAN, en las versiones anteriores esto no es posible.

Lo que he hecho en estos casos es desde un scripts bash:

Continue reading

Arranque automático oracle linux, Inicio automático Oracle Database para Red Hat

Un pequeño script para arrancar automáticamente una BD Oracle:

Source   
# chkconfig: 2345 80 20
# description: Oracle Database
#!/bin/bash
start() {
su - oracle <<EOF
lsnrctl start
sqlplus / as sysdba<<EOO
startup
EOO
EOF
}
stop() {
su - oracle <<EOF
sqlplus / as sysdba<<EOO
shutdown immediate
EOO
lsnrctl stop
EOF
}
case "$1" in
start)
start
;;
stop)
stop
;;
*)
echo $"Usage: $0 {start|stop}"
esac

Arranca la BD como usuario “oracle”, que tiene que tener todas las variables de entorno correctemente configuradas (especialmente ORACLE_SID).

Este script se puede instalar con chkconfig ya que tiene la cabecera preparada para ello.