Entradas

Mostrando las entradas etiquetadas como Oracle

Listar Esquemas y Tablas de Oracle

Una de mis tareas laborales es fungir como DBA de una base de datos Oracle . Para un nuevo proyecto necesitaba crear un usuario y darle a ese usuario permisos de SELECT sobre todas las tablas de un Esquema .  Estuve investigando y llegué a algunas consultas útiles, pero todo repartido en varios sitios.  Listar todos los SCHEMAS Esta consulta la encontré en sitio de Burleston Consulting , un referente para todos los que tenemos que lidiar con bases de datos Oracle. Si nunca visitaron el sitio vale la pena hacerlo. La consulta la encontré aquí .  SELECT DISTINCT owner AS SCHEMA FROM dba_segments WHERE owner IN (SELECT username                   FROM dba_users                  WHERE default_tablespace NOT IN ('SYSTEM','SYSAUX')) ORDER BY owner ASC; Listar todas las tablas de un SCHEMA Encontré var...

Extensiones de Oracle para PHP

Dando soporte, donde un desarrollo en PHP debe utilizar una base de datos  Oracle , decidí documentar el proceso. MySQL y PostgreSQL   vienen como parte de la mayoría de las instalaciones de PHP. En otras bases de datos, ya me pasó con Informix , es necesario agregarlas en forma manual. No suele haber paquetes precompilados .  Encontré esta guia en el sitio de SuSE, que con algunos cambios y adaptaciones aplique con éxito. Brevemente, esto es lo que hay que hacer: Instalar PHP-devel : la forma mas simple de hacer esto es desde YaST, que resuelve automaticamente las dependencias. Si estamos trabajando con SLES, necesitaremos el SDK.  Instalar la extensión PECL de Oracle : Se baja desde esta pagina , en el sitio de PECL . Descomprimir el archivo, cambiarse al directorio creado y correr phpize .Se creara un script configure. Fijamos la variable de ambiente ORACLE_HOME, para que apunte al directorio de instalacion de Oracle. Para concluir, ejecutamos: ./config...

Editando la configuracion de Oracle

Estoy haciendo mis primeras armas como DBA en ORACLE . Aplicando unos cambios en la configuración de un servidor me enfrenté al error ORA-00838, que resolví con esta receta . Para resolverlo tuve que hacer cambios en la configuración, pero la configuración está en un archivo binario. Lo primero es exportar la configuración a un archivo de texto: create pfile='/tmp/pfile.backup' from spfile; Esto genera un archivo de texto, /tmp/pfile.backup , que podemos editar con un archivo de texto. Luego de editar el archivo de texto, generamos el archivo binario para arrancar el motor: create spfile from pfile='/tmp/pfile.backup'; Luego de eso, podemos arrancar el motor, con el comando startup .

Script para correr sqlplus

Estoy ejecutando consultas a una base de datos Oracle desde shellscripts. Ejecuto las consultas invocando a sqlplus , la interfase de linea de comando de Oracle. Para poder reutilizar código, cree este script: #!/bin/sh PATH="/sbin:/usr/sbin:/usr/local/sbin:/root/bin:/usr/local/bin:/usr/bin:/bin" umask 022 export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=${ORACLE_BASE}/product/11.2.0/dbhome_1 export ORACLE_SID=DBSID export PATH=${ORACLE_HOME}/bin:${PATH} export LD_LIBRARY_PATH=${ORACLE_HOME}/lib USER="DBUSER" PASSWORD="DBPASSWORD" if [ ${#} -eq 1 ]; then         if [ -f ${1} ];then                 sqlplus ${USER}/${PASSWORD} @${1}         fi else         # Solo ejecutamos el SQLPLUS         sqlplus ${USER}/${PASSWORD} fi Ejecutando el script so...