Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Depois de se conectar ao Oracle, conectar-se ao SQL Server e definir opções de mapeamento de projetos e dados, você poderá converter objetos de banco de dados Oracle em objetos de banco de dados do SQL Server.
O processo de conversão
A conversão de objetos de banco de dados usa as definições de objeto da Oracle, as converte em objetos semelhantes do SQL Server e carrega essas informações nos metadados do Microsoft SQL Server Migration Assistant (SSMA) para Oracle. Ela não carrega as informações na instância do SQL Server. Em seguida, você pode exibir os objetos e suas propriedades usando o Gerenciador de Metadados do SQL Server.
Durante a conversão, o SSMA imprime mensagens de saída no painel Saída e mensagens de erro no painel Lista de Erros . Use as informações de saída e erro para determinar se você precisa modificar seus bancos de dados Oracle ou seu processo de conversão para obter os resultados de conversão desejados.
Definir opções de conversão
Antes de converter objetos, examine as opções de conversão de projeto na caixa de diálogo Configurações do Projeto . Usando essa caixa de diálogo, você pode determinar como o SSMA converte funções e variáveis globais. Para obter mais informações, consulte Configurações do Projeto (Conversão).
Resultados da conversão
A tabela a seguir mostra quais objetos Oracle são convertidos e os objetos resultantes do SQL Server:
Objetos Oracle | Objetos do SQL Server resultantes |
---|---|
Funções | Se a função puder ser convertida diretamente em Transact-SQL, o SSMA criará uma função. Em alguns casos, a função deve ser convertida em um procedimento armazenado. Nesse caso, o SSMA cria um procedimento armazenado e uma função que chama o procedimento armazenado. |
Procedimentos | Se o procedimento puder ser convertido diretamente em Transact-SQL, o SSMA criará um procedimento armazenado. Em alguns casos, um procedimento armazenado deve ser chamado em uma transação autônoma. Nesse caso, o SSMA cria dois procedimentos armazenados: um que implementa o procedimento e outro que chama o procedimento que implementa. |
Pacotes | O SSMA cria um conjunto de procedimentos armazenados e funções que são unificadas por nomes de objeto semelhantes. |
Sequências | O SSMA cria objetos de sequência (SQL Server 2012 ou SQL Server 2014) ou emula sequências Oracle. |
Tabelas com objetos dependentes, como índices e gatilhos | O SSMA cria tabelas com objetos dependentes. |
Visões com objetos dependentes, como gatilhos | O SSMA cria exibições com objetos dependentes. |
Visões materializadas | O SSMA cria exibições indexadas no SQL Server com algumas exceções. A conversão falhará se a exibição materializada incluir um ou mais dos seguintes constructos: Função definida pelo usuário. Campo, função ou expressão não determinística em SELECT , WHERE ou GROUP BY cláusulas.Uso da coluna Float em SELECT* , WHERE ou GROUP BY cláusulas (caso especial do problema anterior).Tipo de dados personalizado (incluindo tabelas aninhadas). COUNT (<campo> distinto).FETCH .OUTER juntas (LEFT , RIGHT , ou FULL ).Subconsulta, outra visão. OVER , RANK , LEAD ou LOG .MIN , MAX .UNION , MINUS . INTERSECT .HAVING . |
Gatilho | O SSMA cria gatilhos com base nas seguintes regras:BEFORE gatilhos são convertidos para INSTEAD OF gatilhos.AFTER gatilhos são convertidos para AFTER gatilhos.INSTEAD OF gatilhos são convertidos para INSTEAD OF gatilhos. Vários INSTEAD OF gatilhos definidos na mesma operação são combinados em um gatilho.Gatilhos de nível de linha são emulados usando cursores. Gatilhos compostos são convertidos em gatilhos INSTEAD OF . Vários gatilhos compostos são combinados em um único gatilho.Gatilhos em cascata são convertidos em vários gatilhos individuais. |
Sinônimos | Sinônimos são criados para os seguintes tipos de objeto: Tabelas e tabelas de objeto. Visões e exibições de objeto. Procedimentos armazenados. Funções. Os sinônimos dos seguintes objetos são resolvidos e substituídos por referências de objeto direto: Seqüências. Pacotes Objetos de esquema de classe Java. Tipos de objeto definidos pelo usuário. Sinônimos de outro sinônimo não podem ser migrados e são marcados como erros. Sinônimos não são criados para visões materializadas. |
Tipos definidos pelo usuário | O SSMA não fornece suporte para conversão de tipos definidos pelo usuário. Os tipos definidos pelo usuário, incluindo seu uso em programas PL/SQL, são marcados com erros de conversão especiais guiados pelas seguintes regras: Uma coluna de tabela com um tipo definido pelo usuário é convertida em VARCHAR(8000) .O argumento de um tipo definido pelo usuário em um procedimento ou função armazenada é convertido para VARCHAR(8000) .A variável de um tipo definido pelo usuário no bloco PL/SQL é convertida VARCHAR(8000) em .A tabela de objetos é convertida em uma tabela padrão. O modo de exibição de objeto é convertido em uma exibição padrão. |
Converter objetos de banco de dados Oracle
Para converter objetos de banco de dados Oracle, selecione os objetos que você deseja converter e, em seguida, faça com que o SSMA execute a conversão. Para exibir mensagens de saída durante a conversão, no menu Exibir , selecione Saída.
Converter objetos Oracle em sintaxe do SQL Server
No Oracle Metadata Explorer, expanda o servidor Oracle e expanda Esquemas.
Selecione objetos para converter:
- Para converter todos os esquemas, marque a caixa de seleção ao lado de Esquemas.
- Para converter ou omitir um banco de dados, marque a caixa de seleção ao lado do nome do esquema.
- Para converter ou omitir uma categoria de objetos, expanda um esquema e, em seguida, marque ou desmarque a caixa de seleção ao lado da categoria.
- Para converter ou omitir objetos individuais, expanda a pasta de categoria e, em seguida, marque ou desmarque a caixa de seleção ao lado do objeto.
Para converter todos os objetos selecionados, clique com o botão direito do mouse em Esquemas e selecione Converter Esquema.
Você também pode converter objetos individuais ou categorias de objetos clicando com o botão direito do mouse no objeto ou na pasta pai e selecionando Converter Esquema.
Exibir problemas de conversão
Alguns objetos Oracle podem não ser convertidos. Você pode determinar as taxas de sucesso de conversão exibindo o relatório de conversão de resumo.
Exibir um relatório de resumo
No Gerenciador de Metadados do Oracle, selecione Esquemas.
No painel direito, selecione a guia Relatório .
Este relatório mostra o relatório de avaliação resumida de todos os objetos de banco de dados que foram avaliados ou convertidos. Você também pode exibir um relatório de resumo para objetos individuais.
- Para exibir o relatório de um esquema individual, selecione o esquema no Gerenciador de Metadados do Oracle.
- Para exibir o relatório de um objeto individual, selecione o objeto no Gerenciador de Metadados do Oracle. Objetos que têm problemas de conversão têm um ícone de erro vermelho.
Para objetos que falharam na conversão, você pode exibir a sintaxe que resultou na falha de conversão.
Exibir problemas de conversão individuais
No Gerenciador de Metadados do Oracle, expanda Esquemas.
Expanda o esquema com um ícone de erro vermelho.
No esquema, expanda uma pasta com um ícone de erro vermelho.
Selecione o objeto com um ícone de erro vermelho.
No painel direito, selecione a guia Relatório .
Há uma lista suspensa na parte superior da guia Relatório. Se a lista mostrar Estatísticas, altere a seleção para Fonte. O SSMA exibe o código-fonte e vários botões imediatamente acima do código.
Selecione o botão Próximo Problema , que exibe um ícone de erro vermelho com uma seta que aponta para a direita. O SSMA realça o primeiro código-fonte problemático encontrado no objeto atual.
Para cada item que não pôde ser convertido, escolha o que você deseja fazer com esse objeto:
- Você pode modificar o código-fonte para procedimentos na guia SQL .
- Você pode modificar o objeto no banco de dados Oracle para remover ou revisar o código problemático. Para carregar o código atualizado no SSMA, você precisa atualizar os metadados. Para obter mais informações, consulte Conectar-se ao Banco de Dados Oracle.
- Você pode excluir o objeto da migração. No Gerenciador de Metadados do SQL Server e no Gerenciador de Metadados do Oracle, desmarque a caixa de seleção ao lado do item. Em seguida, carregue os objetos no SQL Server e migre dados do Oracle.