LinuxParty
En dbaspot encuentro un buen ejemplo de script de como ejecutar un procedimiento PLSQL desde bash y como almacenar los resultados de las consultas en variables. Éste seria un ejemplo (adaptado para usar mi base de datos Oracle XE):
#!/bin/bash
#OUTPUT=$(sqlplus -s '/ as sysdba' <<-EOF
OUTPUT=$(sqlplus -s system/manager@XE <<-EOF
set heading off feedback off serveroutput on trimout on pagesize 0select instance_name from v\$instance;
select version from v\$instance;declare
i number := 0;
begin
while i < 3 loop
dbms_output.put_line('Parametro_PLSQL_' || i);
i := i+1;
end loop;
end;
/
EOF
)# Sin dejar espacios pq los espacios son los nuevos parametros
INSTANCE=$(echo $OUTPUT | awk '{ print $1 }')
VERSION=$(echo $OUTPUT | awk '{ print $2 }')
ARG1=$(echo $OUTPUT | awk '{ print $3 }')
ARG2=$(echo $OUTPUT | awk '{ print $4 }')
ARG3=$(echo $OUTPUT | awk '{ print $5 }')
echo "Database: $INSTANCE":wr
echo "Version: $VERSION"
echo "Arg1: $ARG1"
echo "Arg2: $ARG2"
echo "Arg3: $ARG3"
Aqui puedes adaptarlo para tus propios ejemplos. Lo más importante la cadena de conexión, yo al usar Oracle XE tengo (system/manager@XE), en tu base de datos pon tu cadena usuario/password@SID. Despues que tambien los parametros devueltos no tengan espacios, pues al asignarlos a variables, el espacio es utilizado como separador. En el script hay una parte donde se devuelve una columna directamente de una select y esta es asignada a una variable de la shell, y otra parte donde se escribe el parametro con el paquete dbms_output.
Vía Ubuntu Life.
-
Bases de Datos
- Cómo hacer copias de seguridad y restaurar MySQL/MariaDB y PostgreSQL con las herramientas 'Automysqlbackup' y 'Autopostgresqlbackup'
- La última versión de MySQL es decepcionante, dicen algunos expertos en bases de datos
- Cómo instalar MongoDB en AlmaLinux 9 con ejemplos de uso
- Cómo instalar PostgreSQL 16 en distribuciones basadas en RHEL, AlmaLinux, RockyLinux y Fedora
- Cómo instalar PhpMyAdmin con Apache en sistemas RHEL, Alma Linux, Rocky Linux, Centos y Fedora
- Cómo hacer una copia de seguridad y restaurar una base de datos PostgreSQL en Linux
- Cómo instalar phpPgAdmin y PostgreSQL en CentOS, AlmaLinux, RHEL, RockyLinux y similares
- 20 comandos mysqladmin para la administración de bases de datos MYSQL/MariaDB
- Copiar y restaurar copias de seguridad de MySQL / MariaDB para la administración de bases de datos
- Crear Copias de Seguridad (Backups) de MariaDB o MySQL Automáticas con AutoMySQLBackup
- Grafana, software para análisis y supervisión
- Cómo configurar la replicación MariaDB (Maestro-Esclavo) en CentOS / RHEL y Debian
- Arrancar al inicio MySQL / MariaDB con Linux.
- Conocer que IPs están conectados a MySQL haciendo consultas a la base de datos.
- MariaDB, guía práctica para Administradores Linux