Question

J'ai une application .NET ASP qui se connecte à une base de données Oracle ou une SQL Server. Un programme d'installation a été développé pour installer une nouvelle base de données à un serveur SQL existant à l'aide des commandes SQL telles que « restaurer la base de données ... » qui restaure simplement un fichier « .bak » que nous gardons sous contrôle de source.

Je suis très nouveau pour Oracle et notre application a récemment été porté compatible avec 10g.

Nous utilisons actuellement l'outil « exp.exe » pour générer un fichier « .dmp », puis en utilisant la « imp.exe » pour l'importer dans une boîte de développeurs.

Comment iriez-vous à créer un « Installer Oracle Database »?

Voulez-vous créer la base de données en utilisant les fichiers de script, puis remplir la base de données avec requis données par défaut?

Vous exécutez l'outil "imp.exe" dans les coulisses?

Avons-nous besoin de fournir une interface propre pour les administrateurs système afin qu'ils puissent sélectionner le serveur simplement de destination et ont fait, ou devrions-nous simplement leur fournir le fichier « .dmp »? Quelles sont les meilleures pratiques?

Merci.

Était-ce utile?

La solution

La question est - qu'est-ce que vos clients sur Oracle

?
  • Rien? Vous devriez probablement repenser cette position. Oracle est très vaste et complexe. Si vous assumez vos clients ne savent rien, vous serez alors commencer à proposer des tutoriels et aide qui est inappropriée.

  • minimalement compétent? S'ils sont compétents, ils savent assez pour courir diablotin par eux-mêmes. En outre, ils savent assez pour exécuter un script qui exécute SQL.

  • réels de DBA de

    ? La plupart des organisations qui peuvent se permettre d'Oracle peut se permettre de réels de DBA. de réels des DBA peuvent faire face à beaucoup de choses - ils ne ont pas besoin tant tenir la main. Certains d'entre eux aiment affecter des paramètres de stockage en fonction de leurs normes d'atelier.

Vous devez fournir un script avec les valeurs par défaut raisonnables. Vous devez définir votre script d'une manière que quelqu'un peut facilement trouver tous vos paramètres de stockage et les modifier si nécessaire.

Vos données initiales peuvent être via l'import / export ou par l'intermédiaire d'un script. Je préfère un script.

Autres conseils

Je l'ai fait à plusieurs reprises des deux côtés (consommateurs et fournisseurs) en tant que DBA, développeur et architecte.

En tant que fournisseur, un de mes grandes réalisations (en 1996) a été la création d'un CD d'installation pour un produit logiciel de réclamations d'assurance commerciale de gestion ciblée aux plus grandes compagnies d'assurance (un élément de plusieurs millions de dollars). Ce CD d'installation installé Oracle 7.2 moteur SGBDR, le système de stockage optique FileNet (documents papier scanne et crée catalogués versions binaires), et notre application de traitement des demandes sur mesure (construite en VB 4.0), tous intégrés et prêt à fonctionner. Dans le cadre du processus d'installation, l'utilisateur peut ignorer l'installation du logiciel Oracle ou le personnaliser, et l'utilisateur peut personnaliser / remplacer la configuration de base de données dans tous ses principaux détails (base de données, schémas, tablespaces, tailles, disques, etc.).

J'ai également fourni le service sur le terrain pour ce produit, qui comprenait au voyage sur le site du client au besoin. J'ai testé le CD d'installation littéralement des centaines de fois sous tous les scénarios imaginables que je pouvais reproduire, et on n'a jamais eu un échec sur le terrain qui exigeait même un appel téléphonique, et encore moins un voyage (je l'ai fait Voyage à quatre reprises, mais pour des trucs pré-vente à la place).

Plus récemment (2007), je scénarisé la création d'une base de données Oracle 10g pour un système interne à un megacorp. Dans la production, la base de données a été de taille à 8 To, la plupart du temps pour une seule table de transaction avec un volume élevé de données. Dans l'essai, la base de données a été de taille autour de 1 To pour un serveur modeste. Dans le développement, la base de données a été de taille à environ 100 Mo pour fonctionner sur mon ordinateur portable. Les SCRIPTS EXACT ont créé tous MÊMES trois environnements, et je pouvais les étendre à gérer un nouvel environnement / machine dans environ cinq minutes. Cette base de données implique une extrême optimisation des performances, de sorte que la personnalisation de toutes les caractéristiques pertinentes est absolument crucial.

Retour à la réclamations d'assurance traitement produit - laissez-moi s'il vous plaît ajouter que je l'origine embauchée pour mener sa conversion à partir d'une base de données SQL Server à une base de données Oracle. Cette conversion a été identifié comme une nécessité d'affaires parce que la plupart des clients potentiels ne voient pas un produit basé sur SQL Server comme une solution professionnelle grave,. Ce n'est pas tout à fait aussi commun aujourd'hui, mais il applique toujours en général: un produit logiciel a une meilleure chance de pénétration du marché si elle peut accueillir des options de base de données multiples comme préféré par les clients cibles (en particulier les clients de classe entreprise)

.

De même, le CD d'installation a également été considérée comme un élément essentiel. Toutefois, cette situation et beaucoup d'autres ont m'a révélé que la plupart des CBM « vrais » n'accepteront pas une installation de base de données sur l'importation. En tant que DBA et architecte, je sais que je ne sera certainement pas pour les mêmes raisons.

En termes simples, une installation de base de données sur l'import-donne au client presque aucun contrôle sur la base de données résultant. Il est opaque au client, en les laissant remettre en question ce qu'il a fait. Il oblige le client à déployer d'énormes efforts pour tenter d'exercer peu de contrôle qu'ils peuvent. Il est notoirement fragile et sujette aux erreurs (importations Oracle sont bien connus pour des problèmes de propriété et d'autorisation, les problèmes de contrainte, etc.). Pesant tous ces impacts, une installation de base de données basée import-est non professionnelle -. Il ne met pas aux besoins des clients premier

Scripting l'installation de base de données fournit le bon type de transparence, configurabilité, répétabilité sélective et le contrôle global des clients que les exigences de professionnalisme. Il vous encourage aussi à bien comprendre l'impact de vos décisions de conception de base de données d'une manière que l'importation ne fonctionne pas.

Les meilleurs voeux.

Personnellement, je suis en faveur des scripts SQL à la création de bases de données et les charges de données lorsque cela est possible. J'ai tendance à utiliser PL / SQL Developer . Il a quelques bonnes options pour générer des scripts à partir d'une base de données existante. Une fois que vous avez ces vous pouvez exécuter les scripts en utilisant sqlplus ou tout autre code d'application qui peut exécuter SQL arbitraire (par exemple JDBC avec Java). crapaud est l'outil plus commun (et plus cher) pour le développement Oracle.

La seule limite d'une exportation de SQL est qu'il ne peut pas exporter des champs CLOB / BLOB. Si vous avez ceux-ci, vous devez soit les faire séparément (comme une exportation PL / SQL) ou faire la chose comme une exportation PL / SQL. Theres aucun drame avec ce fichier sauf est effectivement une exportation binaire (extension .pde) et est plus limitée dans la façon dont vous pouvez l'exécuter.

L'autre grand avantage de fichiers source SQL est qu'ils peuvent être facilement contrôlés la version. Il est vraiment pratique pour être en mesure de créer un environnement de base de données en exécutant un ou deux scripts.

Les outils d'importation et d'exportation pour Oracle, je pense sont plus applicables pour la sauvegarde et de restauration.

Maintenant, pour la livraison à un client qui, de vos commentaires, il semble que vous allez donner ce à CBM. Quasiment toute installation Oracle aura DBAs impliqué. Ils seront très bien avec des scripts SQL pour créer le schéma et faire la charge de données. Ils vont faire beaucoup de configuration spécifique au site (par exemple, le réglage de la SGA, la température tablespaces, nombre de connexions simultanées, etc fonction de la charge attendue).

Vous, en tant que vendeur, peut donner des conseils sur toute configuration pertinente et vous pouvez vous impliquer dans le soutien et éventuellement l'installation, mais finalement il est à eux de trouver ce qui fonctionne pour eux. Oracle fonctionne sur un grand nombre de systèmes d'exploitation et le matériel avec des variantes infinies variations de la topologie du réseau et configuraiton de pare-feu. Vous ne pouvez pas prendre en compte tous ces éléments à un installateur ou même un ensemble d'instructions (autres que les directives mentionnées précédemment).

La dernière fois que je participais à la création d'un (oracle) db (pour une entreprise assez grande avec CBM en interne) les CBM voulaient savoir des choses comme:

  • ce que nous voulions appeler le db,
  • ce tablespaces nous aurions besoin, et une estimation de la quantité de données serait dans chacun
  • combien d'utilisateurs se connectera.

(de mémoire) ils ont créé le db et tablespaces, alors nous avons fourni une combinaison de scripts simples qu'ils pourraient exécuter (ou des instructions claires si une tâche n'a pas été facile d'automatiser)
Comme je le dis était pour une application en interne, de sorte que votre kilométrage peut varier, mais dans mon cas, ils voulaient toutes les instructions clairement définies de telle sorte que (a) il n'y avait pas possibily d'un malentendu qui conduit à la mauvaise chose se fait, et (b) aucune culpabilité de leur part si quelque chose ne fonctionnait pas ( « nous étions juste en suivant les instructions »)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top