Pregunta

Tengo una aplicación .NET ASP que se conecta a una base de datos Oracle o un SQL Server. Un instalador ha sido desarrollado para instalar una base de datos fresca a un servidor SQL Server existente utilizando comandos SQL como "restaurar la base de datos ...", que simplemente restaura un archivo ".bak", que mantenemos bajo control de origen.

Estoy muy nuevo en Oracle y nuestra solicitud ha sido sólo recientemente portado a ser compatible con 10g.

Actualmente estamos con la función "exp.exe" para generar un ".dmp" archivo y luego usar el 'imp.exe' para importar en una caja de desarrolladores.

¿Cómo haría usted para crear un "instalador de base de datos Oracle"?

¿Le crear la base de datos utilizando archivos de comandos y luego rellenar la base de datos con requerida los datos por defecto?

¿Le ejecutar la función "imp.exe" detrás de las escenas?

¿Es necesario proporcionar una interfaz limpia para los administradores de sistemas por lo que sólo puede seleccionar el servidor de destino y lo han hecho, o sólo se les proporcione el archivo ".dmp"? ¿Cuáles son las mejores prácticas?

Gracias.

¿Fue útil?

Solución

La pregunta es - ¿qué saben sus clientes acerca de Oracle

?
  • Nada? Probablemente debería reconsiderar esta posición. Oracle es muy grande y complejo. Si se supone que sus clientes saben nada, no después de empezar a proporcionar tutoriales y ayudar a que es inadecuado.

  • mínimamente competente? Si son competentes, que sepan lo suficiente para ejecutar imp por sí mismos. Además, ellos saben lo suficiente como para ejecutar un script que ejecuta SQL.

  • reales de DBA? La mayoría de las organizaciones que pueden permitirse el lujo de Oracle puede permitirse el lujo de reales dBA. de reales DBA pueden hacer frente a un montón de cosas - que no necesitan mucha mano de retención. Algunos de ellos como para asignar parámetros de almacenamiento de acuerdo con su nivel de tienda.

Usted debe proporcionar un script con valores por defecto razonables. Debe definir la secuencia de comandos de una manera que alguien puede encontrar fácilmente todos sus parámetros de almacenamiento y ajustar si es necesario.

Sus datos iniciales pueden ser a través de la exportación / importación o por medio de una secuencia de comandos. Yo prefiero un guión.

Otros consejos

Lo he hecho varias veces desde ambos lados (de consumo y de proveedores) como un DBA, desarrollador y arquitecto.

Como proveedor, uno de mis grandes logros (en 1996) fue la creación de un CD de instalación para un producto comercial reclamaciones de seguros de software de gestión dirigido a las compañías de seguros más grandes (un elemento de varios millones de dólares). CD de instalación que instala el motor RDBMS Oracle 7.2, el sistema FileNet almacenamiento óptico (documentos escaneados de papel y crea catalogado versiones binarias), y nuestra aplicación de procesamiento de notificación personalizada (construido en VB 4.0), todo ello integrado y listo para funcionar. Como parte del proceso de instalación, el usuario puede omitir la instalación del software Oracle o personalizarlo, y el usuario puede personalizar / anular la configuración de base de datos en todos sus detalles principales (base de datos, esquemas, espacios de tabla, tamaños, discos, etc.).

También se proporciona el servicio de campo de este producto, que incluía viajar al sitio del cliente según sea necesario. He probado el CD de instalación, literalmente, cientos de veces bajo todos los escenarios imaginables que pudiera replicar, y nunca tuvimos un fallo de campo que requiere incluso una llamada telefónica, por no hablar de un viaje (lo hice viajes en cuatro ocasiones, pero por cosas de pre-venta en su lugar).

Más recientemente (2007), con guión que la creación de una base de datos Oracle 10g para un sistema interno en una megacorp. En la producción, la base de datos se dimensionó a 8 TB, principalmente para una única tabla de transacciones con alto volumen de datos. En la prueba, la base de datos se dimensiona alrededor de 1 TB para un servidor modesta. En el desarrollo, la base de datos se dimensiona alrededor de 100 MB para funcionar en mi ordenador portátil. Los mismos scripts EXACT crearon los tres entornos, y que podrían extenderse a manejar un nuevo entorno / máquina en unos cinco minutos. Esta base de datos involucrado ajuste del rendimiento extremo, por lo que la personalización de todas las características pertinentes era absolutamente crucial.

Vuelve al producto de procesamiento de reclamaciones de seguros - por favor, déjame añadir que fui contratado originalmente para dirigir su conversión de una base de datos de SQL Server a una base de datos Oracle. Que la conversión fue identificada como una necesidad de la empresa, porque la mayoría de los clientes potenciales no consideraban un producto basado en SQL-Server como una solución profesional, serio. Eso no es hoy tan común, pero todavía se aplica en general: un producto de software tiene una mejor oportunidad de penetración en el mercado si se puede acomodar múltiples opciones de base de datos como el preferido por los clientes objetivo (sobre todo clientes de clase empresarial)

.

Del mismo modo, el CD de instalación también fue visto como un elemento esencial. Sin embargo, esa situación y muchos más me han revelado que la mayoría de los administradores de bases "reales" no aceptarán una instalación de base de datos basado en las importaciones. Como DBA y arquitecto, sé que definitivamente no lo hará por las mismas razones.

En pocas palabras, una instalación de base de datos basado en las importaciones da al cliente casi ningún control sobre la base de datos resultante. Es opaco para el cliente, lo que les deja cuestionar lo que hizo. Obliga al cliente a gastar enormes esfuerzos para tratar de ejercer poco control que pueda. Es notoriamente frágil y propenso a errores (importaciones de Oracle son bien conocidos por propiedad y permisos problemas, problemas de restricción, etc.). Sopesar todos esos impactos, una instalación de base de datos basado en las importaciones es poco profesional -. No pone en primer lugar las necesidades de los clientes

Secuencias de comandos de la instalación base de datos proporciona el tipo correcto de la transparencia, capacidad de configuración, capacidad de repetición selectiva, y el control general de los clientes que las demandas de profesionalismo. También alienta a comprender adecuadamente los impactos de sus decisiones de diseño de bases de datos de una manera en que una mercancía no lo hace.

Los mejores deseos.

En lo personal estoy a favor de la creación de secuencias de comandos SQL a la base de datos y cargas de datos cuando sea posible. Yo tiendo a usar PL / SQL Developer . Tiene algunas buenas opciones para generar secuencias de comandos desde una base de datos existente. Una vez que tenga estos se puede ejecutar los scripts utilizando sqlplus o cualquier código de aplicación que puede ejecutar SQL arbitrario (por ejemplo JDBC con Java). sapo es la herramienta más común (y más caro) para el desarrollo de Oracle.

La única limitación de una exportación de SQL es que no puede exportar campos CLOB / BLOB. Si tiene éstos, ya sea que tenga que hacer por separado (como una exportación de PL / SQL) o hacer todo el asunto como una exportación de PL / SQL. Theres no hay dramas con este, excepto el archivo es efectivamente un binario de exportación (extensión .pde) y es más limitado en cómo se puede ejecutarlo.

La otra gran ventaja de los archivos de código SQL es que se pueden controlar fácilmente la versión. Es muy práctico poder para crear un entorno de base de datos mediante la ejecución de una o dos guiones.

Las herramientas de importación y exportación de Oracle creo que son más aplicables para la copia de seguridad y restauración.

Ahora, en cuanto a la entrega que a un cliente, a partir de sus comentarios parece que se le da a este a los administradores de bases. Casi cualquier instalación de Oracle tendrá DBA involucrado. Ellos van a estar bien con los scripts SQL para crear el esquema y hacer la carga de datos. Que van a hacer un montón de configuración específica del sitio (por ejemplo, el ajuste del SGA, espacios de tablas temporales, número de conexiones simultáneas, etc. basándose en la carga esperada).

, como el vendedor, puede dar orientación sobre cualquier configuración relevante y puede involucrarse en el apoyo y, posiblemente, la instalación pero al final le toca a ellos para averiguar lo que funciona para ellos. Oracle se ejecuta en un gran número de sistemas operativos y hardware variantes con infinitas variaciones en la topología de red y configuraiton cortafuegos. No se puede tener en cuenta todos estos a un instalador o incluso un conjunto de instrucciones (aparte de las directrices mencionadas anteriormente).

La última vez que estaba involucrado en la creación de una base de datos (Oracle) (para una empresa bastante grande con los administradores de bases de una empresa) los administradores de bases quería saber cosas como:

  • lo que queríamos llamar a la db,
  • ¿qué espacios de tablas que necesitaríamos, y una estimación de la cantidad de datos que sería en cada uno
  • el número de usuarios se conecta.

(de memoria) establecieron el PP y los espacios de tabla y, a continuación, le ofrecemos una combinación de secuencias de comandos simples que podían correr (o instrucciones claras si una tarea no era fácil de automatizar)
Como digo esto era para una aplicación en la empresa, por lo que su experiencia puede variar, pero en mi caso que quería todas las instrucciones claramente establecidas de manera que (a) no había eventualmente de un malentendido que lleva a lo que no debía ser hecho, y (b) sin la culpabilidad de su parte si algo no funcionaba ( "sólo estábamos siguiendo las instrucciones")

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top