Se você estiver construindo uma rede Microsoft .NET e o back-end estiver executando um banco de dados Oracle, você deverá migrar o back-end para o SQL Server. O cerne desta questão não é comparar o desempenho do banco de dados, mas encontrar a ferramenta melhor para você. Para responder a essas duas perguntas na arquitetura .NET, há apenas uma resposta: .NET Server. Neste artigo, primeiro exploramos por que você tem um servidor Oracle em sua rede, depois discutimos como migrá-lo para o SQL Server e, por fim, explicamos os prós e os contras dessa mudança.
Oracle em seu sistema
Se você tiver um servidor Oracle em sua rede, precisará descobrir por que precisa dele – quem o está usando, quais aplicativos estão usando, quais aplicativos estão sendo executados nele, etc.
Quem está usando?
Primeiro você deve descobrir quem está usando o servidor Oracle. Caso contrário, correr para mover o servidor antes de obter uma resposta provavelmente resultará em um grande erro. Claro, se você realmente quiser fazer isso, é uma maneira rápida de encontrar o usuário do banco de dados. Mas ainda aconselhamos você a não fazer isso.
Os administradores de rede podem ter procedimentos implementados para monitorar ou registrar o uso do Oracle. Os desenvolvedores podem querer usar os servidores atuais para desenvolver aplicativos. Os gerentes podem precisar gerar relatórios analíticos com base nos dados armazenados no banco de dados ou usar o backend Oracle para tomar decisões de negócios. E os usuários do banco de dados podem estar em todo o mundo. Você deve considerar todas essas possibilidades ao determinar quais usuários serão afetados pelo processo de migração do Oracle para o SQL Server.
Quais aplicativos irão usá-lo?
Agora, suponha que você pergunte a todos os usuários, um por um, para descobrir quem está usando o Oracle. E a resposta deles é exatamente não, então você deve verificar o arquivo de log para entender quais estações de trabalho estão acessando o banco de dados. Ao verificar esses arquivos de log, você poderá descobrir que não apenas a estação de trabalho está acessando o banco de dados, mas outros servidores também estão acessando o banco de dados.
Ok, pegue uma caneta e anote os servidores que estão acessando o banco de dados e, em seguida, descubra de quais aplicativos específicos esses servidores estão acessando o banco de dados. Tais aplicações podem ser identificadas comparando os dados armazenados na tabela de dados com os aplicativos em execução no servidor.
Quais aplicativos estão sendo executados no servidor Oracle?
Agora que você conhece os usuários e aplicativos externos que acessam o banco de dados, agora precisa descobrir quais aplicativos estão sendo executados no próprio servidor de banco de dados. Esses aplicativos podem ser procedimentos armazenados em banco de dados (e gatilhos correspondentes, tipos de dados personalizados, configurações de segurança, etc.) ou podem ser aplicativos independentes que não são executados no Oracle. Você deve prestar atenção especial às ferramentas de desenvolvimento Oracle adicionadas ao servidor.
Migrando para o SQL Server
Você nunca deve ficar tentado a desconectar imediatamente o servidor Oracle e instalar o SQL Server. Você deve pensar duas vezes antes de migrar servidores críticos. Por que esse processo é especificamente denominado migração? E não é porque a migração nem sempre acontece de repente. Se você tomar algumas medidas simples e razoáveis, o processo de migração poderá ser realizado sem quaisquer obstáculos.
Para migrar aplicativos paraaplicativos nativos e aplicativos externos,
execute as seguintes etapas:
1. Instale um novo SQL Server na rede.
2. Crie os “dispositivos” e tabelas de dados utilizados pela aplicação.
3. Proibir o aplicativo de acessar o banco de dados e colocá-lo offline.
4. Copie os dados atuais do Oracle para o SQL Server.
5. Aponte todos os aplicativos para o novo banco de dados.
6. Permitir que aplicativos acessem novos dados em tabelas de dados e dispositivos.
Há um problema fatal aoconsiderar a migração do SQL
entre o SQL Server e o Oracle: eles falam dois dialetos SQL diferentes, SQL-PL/SQL (Oracle) e Transact-SQL (Microsoft).
Na maioria dos casos, se você puder usar uma linguagem SQL, provavelmente poderá usar a outra linguagem SQL. Levando em consideração funções SQL, operadores, instruções, etc., compilei especialmente uma Referência do Programador SQL. Esta informação mostra os recursos suportados por vários SGBDs. Claro, se esses fornecedores americanos de produtos SQL cumprem honestamente o padrão americano SQL (ANSI-SQL), por que haveria um problema tão grande!
Além disso, você também pode encontrar os seguintes problemas:
Tabela dupla do Oracle - no SQL Server, você pode encontrar instruções como select 'x';. No Oracle, esta instrução deve ser convertida em select 'x' from dual;. dual é uma tabela de sistema gerada pela Oracle. Além desse problema de sintaxe SQL, você não pode copiar esta tabela para o SQL Server porque é uma tabela do sistema Oracle.
Truncamento - Ambos os DBMS suportam as funções FLOOR e ROUND, mas o Oracle também possui uma função TRUNC adicional. Se o seu sistema Oracle usar a função TRUNC, você precisará reeditar as partes envolvidas - talvez seja necessário alterá-la para a função FLOOE ou ROUND.
Concatenação-SQL Server 7 não oferece suporte ao método de conexão ANSI ||, mas o SQL Server 2000 oferece. Ambos os bancos de dados agora usam o sinal de mais (+) para representar conexões, mas é melhor usar este símbolo para operações aritméticas!
Depende das versões específicas dos dois servidores que você está usando. Os problemas de migração da linguagem SQL quase sempre surgem de forma repentina e inesperada.
O argumento comercial para abandonar a Oracle
Esta migração de banco de dados não é um simples jogo emocional, e a escolha de produtos Microsoft em vez da Oracle é apoiada pelo argumento comercial. A Oracle dedicou recursos consideráveis para derrotar a Microsoft em batalhas judiciais e de propaganda. No entanto, do ponto de vista económico, a Oracle não é mais rentável. Além disso, a Oracle possui apenas um produto principal, que ainda é menos confiante que a Microsoft. Além do complicado processo de vendas, é melhor você encontrar uma empresa mais impressionante para fornecer suporte. A empresa deve ser saudável e próspera, e os seus produtos devem ser geralmente populares. Deve garantir que a empresa seja muito forte durante pelo menos alguns anos antes de encontrar adversários mais poderosos.
O que você pode ganhar migrando para o SQL Server?
Primeiro, você obtém um sistema altamente consistente com a arquitetura de sua rede. Você não precisa de uma pessoa dedicada para gerenciar seu sistema UNIX. Ferramentas de gerenciamento personalizadas para DBMS funcionam perfeitamente com essas ferramentas de sistema operacional de rede.
Em segundo lugar, o sistema implementa suporte integrado para aplicativos .NET. A arquitetura .NET não exige o uso do SQL Server, mas esse servidor é o banco de dados padrão. Os drivers ODBC para Oracle são certamente bons, mas são sempre um possível ponto de falha.
Terceiro, o custo de usar o Oracle na rede .NET é maior do que usar o SQL Server. Você pode obter descontos ao adquirir mais licenças de servidor Win2K, bem como licenças VS.NET e Office.
Finalmente, mesmo que você compre um sistema SQL Server separadamente, ele pode ser mais barato que o Oracle. Hoje em dia, regatear uma licença Oracle pode ser como arrancar dentes. Lembro-me de perguntar o preço a um representante de vendas e ele realmente disse: "Você pode pagar?"
Resumo
Se você estiver construindo uma rede .NET, faz sentido usar o SQL Server como seu SGBD porque é o Microsoft .NET, o componente principal do Microsoft .NET. o conjunto de aplicativos do servidor. Migrar de uma plataforma para outra é um processo importante que deve ser cuidadosamente considerado e planejado. Antes de mudar de plataforma, você deve ter uma base .NET unificada, eficaz, fácil de gerenciar e confiável.