Oracle Live

08/10/2016

LINUX – Scripting IV. Scripting para SQLPLUS

Filed under: Sistemas — mogukiller @ 8:22 am
Tags:

Trozos de script que me permiten ejecutar sentencias con sqlplus o rman y procesar el resultado en el script.

-- Sentencia básica
-- Asignarle el valor a una variable
-- Borrado archiver
-- Comandos remotos con ssh


— Sentencia básica

#!/bin/ksh

sqlplus /nolog <<EOF
conn / as sysdba

SELECT TO_CHAR(SYSDATE,'DD/MM/YYYY')FECHA FROM DUAL;

exit
EOF

— Asignarle el valor a una variable

#!/bin/bash

output=‘sqlplus -s "/ as sysdba" <<EOF
set heading off feedback off verify off
select distinct machine from v\\$session;
exit
EOF

— Borrado archiver

# borro los ficheros con anteriores a 1 hora
ARCHIVE_DEST=/recovery_area/archiver
tmp_touch=/tmp/touch_$$
touch -t $(date –date="1 hour ago" '+%m%d%H%M') $tmp_touch
find $ARCHIVE_DEST -name '*.arc' ! -newer $tmp_touch -exec rm -f {} \; -print
\rm -f $tmp_touch

— Comandos remotos con ssh

ssh mogubedb11n2 '. $HOME/.bash_profile; sqlplus -s / as sysdba <<[EOF]
SET HEADING OFF
SET LINES 200

[EOF]'

— Query sobre todas las bases de datos de un backend.

#!/bin/bash
#set -x
GRID_HOME=$(grep ^+ASM /etc/oratab | cut -d: -f2)
export ORACLE_HOME=$GRID_HOME
GRID_BASE=`${GRID_HOME}/bin/orabase`
unset ORACLE_HOME

IFS=$'\n'
for linea in `$GRID_HOME/bin/srvctl config database -v | sort -n`
do
DB_NAME=`echo ${linea} | awk '{print toupper($1)}'`
DB_HOME=`echo ${linea} | awk '{print $2}'`
DB_VERS=`echo ${linea} | awk '{print $3}'`

DB_NAME=`echo $DB_NAME | sed 's/STB$//g' `
. $HOME/orauser_${DB_NAME}
$ORACLE_HOME/bin/sqlplus -s / as sysdba <<[EOF]
SET HEAD OFF
SELECT '$DB_NAME' ||': '||ROUND(SUM(BYTES)/1024/1024/1024,2)||' GB' FROM DBA_SEGMENTS;
[EOF]
done

Anuncios

Dejar un comentario »

Aún no hay comentarios.

RSS feed for comments on this post. TrackBack URI

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Create a website or blog at WordPress.com

A %d blogueros les gusta esto: