tools portable ejemplos developer descargar datos crear comandos oracle svn plsql

portable - ¿Cómo acceder a Subversion desde Oracle PL/SQL?



pl sql download (4)

Para una agencia gubernamental, creamos un sistema de gestión de versiones desarrollado en PHP y Oracle. Los datos para esta aplicación se almacenan en tablas de la base de datos y se procesan con paquetes y procedimientos PL / SQL.

El proceso de administración de versiones está ampliamente basado en metadatos provenientes de repositorios de Subversion. Accedemos a los repositorios desde PL / SQL a través de Oracle JVM interno para ejecutar comandos svn en el servidor Unix en el que se encuentran las instancias de Oracle. Los resultados de los comandos svn se reciben en XML y se analizan antes de ser procesados ​​por PL / SQL. El acceso a Subversion de esta manera no es muy eficiente para el uso repetido frecuente.

Actualmente, lo que hacemos es almacenar los metadatos de Subversion en las tablas de la base de datos en cada confirmación en los repositorios de Subversion (a través de los enlaces de Subversion). Extraemos la información de registro para cada transacción de Subversion y la guardamos en algunas tablas de Oracle. Entonces podemos obtener metadatos de Subversion con consultas SQL normales.

¿Hay mejores formas de acceder a Subversion desde PL / SQL?


Creo que el flujo básico tiene sentido. Recomendaría hacer experimentos para ver dónde están exactamente los cuellos de botella de rendimiento y luego tomar si a partir de allí. Por ejemplo, ¿está cruzando de PL / SQL a Oracle JVM? ¿Está JVM bombardeando para ejecutar el comando svn? ¿Es el svn ida y vuelta? ¿Es el análisis del XML?

Digamos, por ejemplo, es el viaje redondo de svn. ¿Tal vez podría tener un proceso en la máquina de oráculos que almacena respuestas en caché del servidor svn para que a veces se evite el viaje de ida y vuelta? ¿Tal vez el viaje de vuelta svn podría ser asincrónico?

Pero, como dije, necesitas saber dónde está el cuello de botella.


Si usa Java JVM de Oracle, podría intentar usar SVNKit para comunicarse con el servidor SVN nativamente de Java, en lugar de desembolsar al sistema operativo para ejecutar comandos.


También estoy buscando una API para integrar Subversion y Oracle. Necesito poder extraer los objetos Oracle PL / SQL (procedimientos, paquetes) en Subversion y luego, una vez que se hacen los cambios en los objetos, se debe aplicar a esos objetos en la base de datos Oracle.