2010-10-27 22 views
5

Se me ha asignado la tarea de hacer que nuestra aplicación web Java funcione con Oracle Database. No estoy seguro de por donde empezar. Esperaba una experiencia similar a trabajar con MySQL o PostgreSQL, pero no tuve tanta suerte.Primeros pasos con Oracle Database

La respuesta a esta pregunta será una lista de pasos para instalar y desplegar una base de datos Oracle para uso de desarrollo, operaciones básicas como iniciar y detener, crear y eliminar esquemas e incluso los parámetros de conexión JDBC.

Un poco de antecedentes sobre mi proyecto (aunque idealmente la respuesta a esta pregunta será objeto lo más general posible y no estar atado a los detalles de mi entorno):

  1. Java (y Scala) aplicaciones web implementadas en Tomcat
  2. Hibernate (actualmente conectado a PostgreSQL y MySQL)
  3. Las estaciones de trabajo de desarrollador ejecutan OS X; las implementaciones de producción son para Red Hat Enterprise Linux

Respuesta

6

En primer lugar, no se piensa acerca de Oracle en OS X. Tendrá Linux (o Windows), tal vez en una máquina virtual/

luego decidir si se va a utilizar Oracle 10g u 11g. 10g tiene un Express Edition gratuito que es relativamente fácil de instalar en Linux o Windows. Sin embargo, si quieres 11g o correcciones de errores a 10g o algunas de las opciones adicionales (compresión, particionado ...) necesitarás una versión con licencia completa de Oracle. Depende de su carga, pero puede tener una máquina física con licencia para Oracle, con varias máquinas virtuales (una para cada desarrollador).

XE tiene una sola instancia de base de datos que el instalador configurará para iniciarse cuando inicie la máquina. Si solo está utilizando la máquina virtual para la base de datos, tener el inicio y el apagado de la base de datos con la máquina es la manera más fácil de hacerlo.

+0

Soy principiante en la base de datos, instalo Oracle en mis ventanas, ¿pero no sé cómo abrirlo y cómo empezar a trabajar? – Sajad

+0

Soy el programador de Java SE y quiero usar la base de datos en lugar de trabajar directamente con el archivo de texto. – Sajad

3

Si su base de datos es relativamente liviana y no depende en gran medida de las características específicas de Oracle, le recomendaría usar XE para el desarrollo. En el otro caso, podría tener más sentido dedicar un cuadro aparte para ejecutar Oracle para el desarrollo.

En cuanto a los pasos básicos que mencionas, las versiones posteriores de Oracle vienen con una interfaz web bastante bonita (which looks like that) que puede manejar todas estas tareas de mantenimiento. Si necesita algo mejor y más receptivo, vaya a Oracle SQL Developer, que es una aplicación de escritorio algo similar a pgAdmin.

La instalación también es mucho más fácil con las versiones más nuevas de Oracle (10g en adelante), por lo que no debería tener ningún problema con eso.

Editar: En la optimización de la memoria (si insistes en tener una instancia de Oracle en tu estación de trabajo y tu base de datos es relativamente liviana), comprueba this thread ya que proporciona multitud de buenas pistas.

3

No he encontrado una diferencia fundamental entre MySQL y Oracle desde el punto de vista de un desarrollador. Solo son tablas, combinaciones y SQL. Si su base de datos se vuelve enorme o necesita un rendimiento deficiente, entonces sí, importa mucho. Pero para entonces necesitarás un verdadero DBA.

  1. Descargar SQLDeveloper de Oracle. Es gratis. Le permitirá realizar el mantenimiento de la base de datos, ejecutar sentencias de SQL de forma interactiva, etc.

  2. Lectura en "conexión compartida" y "oráculo". Probablemente hay algunos buenos hilos aquí en SO. Querrá esto, ya que hará que sus servidores se ejecuten de manera eficiente.

  3. Lectura en las conexiones de la base de datos JNDI. Esta es simplemente una forma de especificar la conexión de la base de datos en su configuración de Tomcat para que sus aplicaciones no tengan que saber nada sobre la base de datos. Podrá mover sus archivos de guerra de prueba a QA para pinchar con menos dificultad.

  4. ¡Hibernar es lo más complicado del grupo! ¡Mantenlo simple! I altamente recomiendo que realice ingeniería inversa de sus clases de modelo desde la base de datos y nunca modifíquelas manualmente. También puede generar sus DAO (recomendado) pero los modificará.

  5. Utilice un diseño de base de datos adecuado, ya que tendrá que jugar menos juegos con Hibernate. Por ejemplo, siempre coloque un PK numérico en cada tabla, y use una secuencia de Oracle para poblarlo. Siempre use FKs cuando sea apropiado. Trate de normalizar sus datos en una medida práctica.

  6. Utilice Ant o Maven para sus compilaciones. No hagas nada a mano.

  7. Usar SVN o similar.

Eso es lo más importante por ahora.

Cuestiones relacionadas