1 0 Archive | Oracle RSS feed para esta categoría
post icon

Resolver el problema de Conexión al Oracle “ORA-27123: unable to attach to shared memory segment ” en Linux

Intente conectarme a la base de datos,  pero obtuve el error “ORA-27123: unable to attach to shared memory segment” , por lo cual despues de googlear un poco encontre la solución cambiando los permisos del ejecutable del oracle

Error en pantalla:

ORA-01034: ORACLE not available
ORA-27123: unable to attach to shared memory segment
Error: Permission denied

Solución:

(Continuar Leyendo sobre Resolver el problema de Conexión al Oracle “ORA-27123: unable to attach to shared memory segment ” en Linux)

Leave a Comment
post icon

Optimizar las querys con cláusula LIKE en SQL [SQL-Tunning]

Continuando con los tips para optimizar nuestras querys SQL, trataremos unas de las clásulas que más ralentizan éstas. El operador LIKE.

La definición que exponen en la TechNet me gusta y dice asi:

Determina si una cadena de caracteres específica coincide con un patrón especificado. Un patrón puede contener caracteres normales y caracteres comodín. Durante la operación de búsqueda de coincidencias de patrón, los caracteres normales deben coincidir exactamente con los caracteres especificados en la cadena de caracteres. Sin embargo, los caracteres comodín pueden coincidir con fragmentos arbitrarios de la cadena. La utilización de caracteres comodín hace que el operador LIKE sea más flexible que los operadores de comparación de cadenas = y !=.

Como se tiene que trabajar con cadenas de texto, dentro de otras cadenas más grandes normalmente, es un proceso lento para la comparación. Muchas veces (Continuar Leyendo sobre Optimizar las querys con cláusula LIKE en SQL [SQL-Tunning])

Leave a Comment
post icon

Obtener un registro de la base de datos aleatoriamente mediante SQL

Si lo que necesitas es obtener una o un par de filas de tu base de datos de manera “randomica”  existen muchas soluciones que se pueden implementar, desde hacer un “select silvestre” y desde alguna aplicación que utilice algoritmos que permitan seleccionar un registro de manera aleatoria, hasta “cocinarlo” en desde la misma base de datos.

Dependiendo el contexto de trabajo es conveniente elegir una opción u otra. Pero ésta vez quiero centrarme más bien en hacer el trabajo desde la Base de Datos, con un Query SQL para los distintos (Continuar Leyendo sobre Obtener un registro de la base de datos aleatoriamente mediante SQL)

Leave a Comment
post icon

Configurar acceso remoto a la pág. http de la base de datos Oracle 10g, en un servidor Linux sin entorno grafico

Antes que nada quiero agradecer al Ing. Luis Cardozo, por su colaboración a la solución de este problema.

Por si alguna vez les toque instalar el motor de base de datos Oracle 10g, en un servidor Linux sin entorno grafico.

Esto esta probado en un servidor ubuntu, pero puede ser compatible en las demas versiones de linux (opensuse, mandriva, etc).

Primero nos aseguramos que las variables de entorno del oracle esten declaradas, si no estan declaradas ejecutamos en la consola esto:

export LANG=en_US.UTF8
export ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin
export ORACLE_SID=XE
export PATH=$ORACLE_HOME/bin:$PATH
export LIBPATH=$LIBPATH:$ORACLE_HOME/lib:/usr/local/lib

luego por medio del sqlplus nos conectamos a la db.

sqlplus sys as sysdba (Continuar Leyendo sobre Configurar acceso remoto a la pág. http de la base de datos Oracle 10g, en un servidor Linux sin entorno grafico)

Leave a Comment
post icon

Exportar e Importar Bases de Datos en Oracle

En la entrada anterior veíamos como como instalar el motor de base de datos Oracle 10g XE sobre openSuSE y prometía ver como realizar volcados de exportación e importación de las BD para usarlas sobre ellas.

Para bases de datos que pesan menos de 50GB es recomendable utilizar éste método, si superan esa capacidad deberían optar por RMAN (también lo veremos más adelante). Otro tip a tener muy en cuenta, si el backup realizado se hace en un sistema operativo X e irá a ser restaurado en otro sistema Y, ejemplo copia de openSolaris a Windows usen definitivamente ésta herramienta.

En Oracle existen un par de mecanismos para lograr esto, pero en ésta ocasión solo nos centraremos en los comando exp e imp. Para ello debemos estar en la ruta o path del ORACLE_HOME/bin podemos llegar rápidamente de éste modo: (Continuar Leyendo sobre Exportar e Importar Bases de Datos en Oracle)

Leave a Comment
post icon

Pasos para instalar Oracle 10g Express en openSuSE

Para proceder a la instalación del motor de base de datos Oracle 10g Express sobre un servidor con GNU/Linux, especificamente openSuSE (en mi caso la versión 11.2, pero también servirá la guía para otras versiones) primeramente necesitamos descargar el instalador llamado oracle-xe-univ-10.2.0.1-1.0.i386.rpm que pueden descargar gratuitamente desde el sitio oficial de Oracle, y para ello deben tener creada una cuenta en el sitio, pero no se preocupen que también es gratuito.

(Continuar Leyendo sobre Pasos para instalar Oracle 10g Express en openSuSE)

Leave a Comment
post icon

Obtener la fecha y hora del sistema desde los motores de base de datos más utilizados

He notado que mucha gente busca éste tipo de contenido constantemente, así que decido finiquitar a los motores de base de datos más comunes en un único post, dado que también si lo hago por separado sería muy corto.

Una cosa que me gustaría dejar bien en claro, que en la mayoría de los motores que expondré hay más de un modo de conseguir la fecha y la hora del sistema operativo huésped, pero sólo mostraré la más común.
Vamos a lo práctico y veamos: (Continuar Leyendo sobre Obtener la fecha y hora del sistema desde los motores de base de datos más utilizados)

Leave a Comment
post icon

Como programar en n-Capas con C# (Parte 3)

Esta es la tercer entrega, probablemente será la más corta pero no la última aún. El motivo de su longitud es por que es una clase que se utiliza como medio para crear la flexibilidad y portabilidad de fuentes de datos, en éste caso motores de base de datos.

También daremos por terminada la capa de Acceso a Datos, entonces así no mezclamos el código y será más fácil seguirlo posteriormente. También pertenecerá al namespace AccesoDatos. Lo llamo conexión por que es la clase con las otras capas interactuaran en modo directo.
Para ello creamos un objeto estático de la clase GDatos que instanciará de la clase SqlServer. Creo que ya van captando el rumbo de esto no? si crearamos otra clase por ejemplo Oracle.cs o MySQL.cs, solamente cambiariamos una linea de código, donde el objeto GDatos del tipo GDatos, sea SqlServer, Oracle u otro motor que codifiquemos. Podemos hacerlo con ODBC, OleDB para conexiones genéricas. No les parece grandioso que solo deban tocar parte de una línea de código para portar la App a cualquier otro motor de Base de Datos? :D (Continuar Leyendo sobre Como programar en n-Capas con C# (Parte 3))

Leave a Comment
post icon

Separar texto en pl/sql

Buenas a todos, con este codigo podemos separar textos, si es que tenemos en una columna de una tabla por ejemplo el nombre completo de la persona, como tambien pùede ser una persona juridica, aqui va el script, query o como quieran llamarlo.
Primeramente declaro las variables primer_espacio y segundo_espacio para ver en que posicion se encuentran los espacios entre cada palabra
luego las variables para primer nombre, segundo nombre, primer apellido y segundo apellido, para el nombre de las empresas usaremos la variable de primer nombre, también utilizo 3 cursores para ir leyendo, uno para los nombres, otro para los apellidos y otro para las personas juridicas. Los nombres se encuentran en una columna separados por un espacio en blanco y los apellidos también en otra columna separados por un espacio en blanco, lo que hago es abrir y recorrer cada cursor, y en cada lectura del cursor busco los espacios en blanco de cada linea leída, entonces, cuando recorremos el cursor de nombres, busco la posición del espacio en blanco de la cadena, si la posición > 0 entonces quiere decir que al menos hay 2 nombres, entonces el primer nombre seria hasta la posición del primer espacio en blanco – 1 y el segundo nombre seria desde la posición del primer espacio en blanco + 1, de esa manera voy guardando los valores leidos en primer_nombre y segundo_nombre, luego de haber leido inserto los valores separados en una tabla , ya con columnas separadas, es decir, primer nombre, segundo nombre, primer apellido y segundo apellido
Lo mismo hago con el cursor de apellidos, pero en vez de insertar , actualizo las columnas de primer apellido y segundo apellido.
Lo mismo ocurre con el 3er cursor, solamente que aca no (Continuar Leyendo sobre Separar texto en pl/sql)

Leave a Comment
post icon

Realizar Consultas Paginadas en SQL Server, MySQL, Oracle & PostgreSQL

Paginar nuestras consultas resulta que siempre aligera más la carga del motor de base de datos, siempre y cuando éste tenga los índices donde corresponden y no en cualquier columna o peor aun, no tener indices, ya que sólo se transmiten los datos a mostrarse en el momento, ésta característica se siente mucho mejor cuando estamos trabajando con aplicaciones web, u otras que corran sobre una red de baja velocidad o alta concurrencia. De ahí su gran implementación en los últimos tiempos.

Para lograrlo necesitamos de la ayuda de nuestro motor de base de datos, ésta vez veremos el ejemplo en 4 motores muy populares, SQL Server, Oracle, MySQL y PostgreSQL. Personalmente creo que es más sencillo implementarlo en MySQL y PostgreSQL, seguido de Oracle y SQL Server. Aunque esto no hace que (Continuar Leyendo sobre Realizar Consultas Paginadas en SQL Server, MySQL, Oracle & PostgreSQL)

Leave a Comment
Página 1 de 212