Pergunta

Tenho uma aplicação ASP .NET que se conecta a um Oracle ou um banco de dados SQL Server. Um instalador foi desenvolvido para instalar um novo banco de dados para um existente SQL Server usando comandos SQL, como "restaurar a base de dados ...", que simplesmente restaura um arquivo "bak", que mantemos sob controle de origem.

Eu sou muito novo para Oracle e nossa aplicação só recentemente foi portado para ser compatível com 10g.

No momento, estamos usando a função "exp.exe" para gerar um ".dmp" arquivo e, em seguida, usando o 'imp.exe' para importá-lo para uma desenvolvedores caixa.

Como você iria sobre a criação de um "banco de dados Oracle Installer"?

Você criar o banco de dados usando arquivos de script e, em seguida, preencher o banco de dados com required dados padrão?

Você executar o "imp.exe" ferramenta nos bastidores?

Será que precisamos para fornecer uma interface limpa para administradores de sistema, para que possam basta selecionar o servidor de destino e ter feito, ou devemos apenas dar-lhes o arquivo ".dmp"? Quais são as melhores práticas?

Graças.

Foi útil?

Solução

A questão é - o que é que os seus clientes sabem sobre a Oracle

  • Nada? Você provavelmente deve repensar essa posição. Oracle é muito grande e complexa. Se você assumir que seus clientes não sabem nada, então você vai começar a fornecer tutoriais e ajuda que é inapropriado.

  • minimamente competente? Se eles são competentes, eles sabem o suficiente para executar imp por si mesmos. Além disso, eles sabem o suficiente para executar um script que executa SQL.

  • DBA real de? A maioria das organizações que podem pagar a Oracle pode pagar é real DBA. do Real DBA pode lidar com um monte de coisas - eles não precisam de muito mão-holding. Alguns deles, como a parâmetros de armazenamento atribuir de acordo com os seus padrões de loja.

Você deve fornecer um script com padrões razoáveis. Você deve definir o seu script de uma forma que alguém pode facilmente encontrar todos os seus parâmetros de armazenamento e ajustá-los se necessário.

Seus dados iniciais pode ser através de exportação / importação ou através de um script. Eu prefiro um script.

Outras dicas

Eu tenho feito isso várias vezes de ambos os lados (consumidor e fornecedor) como um DBA, desenvolvedor e arquiteto.

Como um fornecedor, uma das minhas grandes realizações (em 1996) foi a criação de um CD de instalação para um produto comercial créditos de seguros software de gestão orientada para as maiores operadoras de seguros (um item de vários milhões de dólares). Que a instalação CD instalado o motor RDBMS da Oracle 7.2, o sistema FileNet de armazenamento óptico (documentos scans de papel e cria catalogado versões binárias), e nosso costume de processamento de pedido de aplicação (construído em VB 4.0), tudo integrado e pronto para ser executado. Como parte do processo de instalação, o usuário pode ignorar a instalação do software Oracle ou personalizá-lo, eo usuário pode personalizar / substituir a configuração de banco de dados em todos os seus detalhes importantes (banco de dados, esquemas, espaços de tabela, tamanhos, discos, etc.).

Eu também forneceu o serviço de campo para este produto, que incluía viajar para o site do cliente, se necessário. Eu testei o CD de instalação literalmente centenas de vezes sob todos os cenários imagináveis ??que eu poderia replicar, e nós nunca teve uma falha de campo que exigia mesmo um telefonema, e muito menos uma viagem (eu fiz viagens em quatro ocasiões, mas para o material pré-vendas em vez disso).

Mais recentemente (2007), I script a criação de banco de dados de um Oracle 10g para um sistema interno em um megacorp. Em produção, a base de dados foi feito sob medida em 8 TB, principalmente por uma mesa transacção única com o volume de dados elevado. No teste, o banco de dados foi dimensionada em torno de 1 TB para um servidor modesto. No desenvolvimento, o banco de dados foi dimensionada em torno de 100 MB para executar no meu laptop. Os scripts exatamente o mesmo criado todos os três ambientes, e eu podia estendê-los para lidar com um novo ambiente / máquina em cerca de cinco minutos. Esta base de dados envolvidos ajuste de desempenho extremo, de modo a personalização de todas as características pertinentes era absolutamente crucial.

Voltar ao produto processamento de pedidos de seguro - deixe-me por favor acrescentar que foi originalmente contratado para liderar a sua conversão a partir de um banco de dados SQL Server para um banco de dados Oracle. Que a conversão foi identificada como uma necessidade do negócio porque a maioria dos clientes potenciais não ver um produto baseado no SQL-Server como uma solução profissional, sério. Isso não é tão comum hoje em dia, mas ainda se aplica em geral:. Um produto de software tem uma melhor chance de penetração no mercado se ele pode acomodar várias opções de banco de dados como preferido pelos clientes-alvo (especialmente clientes de classe empresarial)

Da mesma forma, o CD de instalação também foi visto como um elemento essencial. No entanto, essa situação e muitos mais têm me revelou que a maioria dos DBAs "reais" não aceitará uma instalação de banco de dados à base de importação. Como um DBA e arquiteto, eu sei que eu definitivamente não pelas mesmas razões.

Em termos simples, uma instalação de banco de dados baseado em importação dá ao cliente quase nenhum controle sobre o banco de dados resultante. Ele é fosco para o cliente, deixando-os a questionar o que ele fez. Ela obriga o cliente a gastar enormes esforços para tentar exercer o pouco controle que podem. É notoriamente frágil e propenso a erros (importações da Oracle são bem conhecidos por problemas de propriedade e de permissão, problemas de restrição, etc.). Pesando todos esses impactos, uma instalação de banco de dados à base de importação não é profissional -. Não colocar as necessidades dos clientes em primeiro lugar

Script a instalação de banco de dados fornece o tipo certo de transparência, configurabilidade, repetibilidade seletiva e controle total do cliente que exige profissionalismo. Além disso, incentiva-lo a compreender adequadamente os impactos de suas decisões de design de banco de dados de uma forma que uma importação não.

Os melhores cumprimentos.

Pessoalmente sou a favor de scripts SQL para criação de banco de dados e cargas de dados sempre que possível. I tendem a usar PL / SQL Developer . Ele tem algumas opções boas para gerar scripts de um banco de dados existente. Depois de ter estes, você pode executar os scripts usando sqlplus ou qualquer código de aplicativo que pode executar SQL arbitrária (por exemplo JDBC com Java). Toad é a mais comum (e mais caro) ferramenta para o desenvolvimento Oracle.

A única limitação de exportação SQL é que não pode exportar campos CLOB / BLOB. Se você tiver esses, você quer necessidade de fazê-las separadamente (como uma exportação de PL / SQL) ou fazer a coisa toda como uma exportação de PL / SQL. Theres sem dramas com este exceto o arquivo é efetivamente uma exportação binário (extensão .pde) e é mais limitado em como você pode executá-lo.

A outra grande vantagem de arquivos de origem SQL é que eles podem ser a versão controlada facilmente. É realmente útil para ser capaz de criar um ambiente de banco de dados executando um ou dois scripts.

As ferramentas de importação e exportação para o Oracle eu acho que são mais aplicáveis ??para operações de backup e restauração.

Agora, como para entregar isso para um cliente, a partir de seus comentários, parece que você estará dando isso para DBAs. Praticamente qualquer instalação do Oracle terá DBAs envolvidos. Eles vão ficar bem com scripts SQL para criar o esquema e fazer a carga de dados. Eles vão estar fazendo um monte de configuração específica do local (por exemplo, ajuste da SGA, espaços de tabela temporários, número de conexões simultâneas, etc com base na carga esperada).

Você, como o vendedor, pode dar orientação sobre qualquer configuração relevante e você pode se envolver em suporte e, possivelmente, instalação, mas em última análise, cabe a eles descobrir o que funciona para eles. A Oracle executado em um grande número de sistemas operacionais e hardware variantes com infinitas variações na topologia da rede e configuraiton firewall. Você não pode fator em todos estes para um instalador ou mesmo um conjunto de instruções (excepto as diretrizes mencionado anteriormente).

A última vez que esteve envolvido na criação de uma (Oracle) db (para um razoavelmente grande empresa com DBAs em casa) os DBAs queria saber coisas como:

  • o que queríamos chamar a db,
  • o que tablespaces que seria necessário, e uma estimativa da quantidade de dados seria em cada um
  • quantos usuários seria de conexão.

(de memória) eles montaram a db e espaços de tabela, então nós fornecemos uma combinação de scripts simples que poderiam correr (ou instruções claras se uma tarefa não era fácil de automatizar)
Como eu dizer que este foi para uma aplicação in-house, assim que sua milhagem pode variar, mas no meu caso eles queriam todas as instruções claramente enunciados de modo que (a) não houve possibily de um erro que leva à coisa errada que está sendo feito, e (b) sem culpa da sua parte, se algo não funcionou ( "estávamos apenas seguindo as instruções")

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top