AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / dba / Perguntas / 9765
Accepted
darwindeeds
darwindeeds
Asked: 2011-12-28 08:32:30 +0800 CST2011-12-28 08:32:30 +0800 CST 2011-12-28 08:32:30 +0800 CST

Como fazer uma transição de SQL Server DBA para Oracle?

  • 772

Como interesse, se eu fizer a transição de um SQL Server DBA para Oracle, qual será o principal aprendizado ou desaprendizado que eu teria que fazer?

Eu diria que os conceitos são os mesmos e a diferença é apenas a linguagem de programação, mas não vi o outro lado da porta.

sql-server oracle
  • 2 2 respostas
  • 8594 Views

2 respostas

  • Voted
  1. Best Answer
    ConcernedOfTunbridgeWells
    2011-12-28T10:32:09+08:002011-12-28T10:32:09+08:00

    O Oracle e o SQL Server têm várias diferenças arquitetônicas e idiomáticas, e várias partes importantes da terminologia são usadas de maneira diferente na documentação. Faz alguns anos desde que fiz isso, mas algumas das principais diferenças idiomáticas são:

    • O Oracle não tem equivalente direto ao tempdb. As tabelas temporárias globais são entidades persistentes e você não as cria instantaneamente como faria com uma tabela temporária no SQL Server.

    • O PL/SQL idiomático é muito mais processual do que o T-SQL idiomático. Por outro lado, o PL/SQL possui recursos para oferecer suporte a operações rápidas de cursor, incluindo construções de loop paralelo. Freqüentemente, os resultados intermediários do cursor são usados ​​de maneiras semelhantes às coisas de classificação para as quais alguém usaria tabelas temporárias no SQL Server. Procure como usar '%' para obter algum polimorfismo nos tipos de variável do cursor.

    • O SQL*Plus é uma ferramenta de linha de comando semelhante ao SQLCMD. Em uma instalação vanilla, pode ser tudo o que você tem disponível. Se você deseja uma ferramenta GUI como o SSMS, pode obter o SQL Developer ou ferramentas de terceiros, como o TOAD. TOAD é muito caro.

    • Aprenda a função dos segmentos de rollback (usados ​​no MVCC da Oracle) e as alegrias do erro 'instantâneo muito antigo'.

    • Obtenha uma conta metalink, se possível.

    • Leia o guia de conceitos. Tem muitas informações úteis para iniciantes.

    • Tablespaces são aproximadamente equivalentes a grupos de arquivos.

    • SQL e o dialeto SQL embutido no PL/SQL não são exatamente a mesma coisa no Oracle.

    • A Oracle não suportava CTEs recursivos até bem recentemente. Você pode fazer consultas recursivas com CONNECT BY.

    • Leia os documentos do RMAN para ver como fazer backups. Você pode fazer alguns truques legais, como mesclar backups diferenciais em um único backup restaurável.

    • O dicionário de dados do sistema possui as versões 'ALL', 'USER' e 'DBA' das tabelas. 'USER_ ' mostra objetos pertencentes ao login. 'ALL_ ' mostra todos os objetos que o login pode ler. 'DBA_*' é uma exibição global, mas você precisa ter as permissões apropriadas para vê-la. Você provavelmente usará mais o dicionário de dados com o Oracle do que com o SQL Server, portanto, conheça-o.

    • As tabelas agrupadas são chamadas de 'tabelas ordenadas por índice' no Oracle. 'Tabelas agrupadas' no Oracle referem-se a um recurso muito diferente. No Oracle, uma tabela em cluster é um recurso que permite que o armazenamento físico de tabelas master/detail seja combinado com base em uma chave comum. O recurso não é amplamente utilizado.

    • Visualizações indexadas são chamadas de 'visualizações materializadas' no Oracle. Eles funcionam de maneira um pouco diferente, com nuances suficientes para merecer sua própria pergunta.

    • O Oracle não possui um conceito equivalente a um 'banco de dados' no SQL Server. No Oracle, um esquema é apenas o proprietário de alguns objetos do banco de dados.

    • PL/SQL tem uma estrutura de módulo explícita chamada 'pacotes'.

    • Veja como usar sequências em vez de colunas de identidade.

    • Obter um plano de consulta é um pouco mais complicado em versões mais antigas do Oracle (anteriores a 10g). Você tem que criar uma tabela (do formato certo) para despejar o plano, então 'EXPLAIN PLAN' a consulta na tabela para obter o plano de consulta. Você pode obter o plano de consulta de volta da tabela. Todos e seus cães têm consultas de plano de consulta favoritas. Faça uma pesquisa no Google e encontre um, depois frite a gosto. 10g adicionou um pacote chamado dbms_xplan , que simplifica o trabalho com planos de consulta.

    • Se você estiver executando o Oracle em um host unix ou linux, ter um conhecimento prático de scripts de shell não faria mal.

    • O Oracle tem suporte para transações autônomas - você pode confirmar uma transação autônoma interna e esperar que ela permaneça confirmada se o pai reverter. As transações aninhadas do SQL Server não são transações aninhadas verdadeiras e têm semântica diferente. Você pode emular esse comportamento com um procedimento armazenado CLR no SQL Server abrindo uma conexão independente e executando a operação autônoma por meio dela.

    A Oracle vem com menos ferramentas de BI prontas para uso, embora a Oracle venda servidores OLAP, ferramentas de relatórios e ferramentas ETL.

    • A Oracle agrupa uma ferramenta de carregamento em massa chamada SQL*Loader que é semelhante em função ao bcp.

    • O equivalente mais próximo do SSIS é o Oracle Warehouse Builder (OWB), mas este é um item separado e não vem junto com o sistema básico.

    • A Oracle cria uma ferramenta de relatórios chamada Oracle Reports , mas ela também não está incluída no sistema básico. Este é o equivalente mais próximo do Reporting Services.

    • A Oracle também faz uma ferramenta ROLAP chamada Discoverer . Este é o produto mais próximo do Report Builder produzido pela Oracle. Versões mais recentes ('Drake') têm suporte para o mecanismo OLAP da Oracle.

    • A Oracle costumava ter um produto OLAP chamado Express. A certa altura, eles o incorporaram ao mecanismo principal do Oracle DBMS, armazenando suas estruturas de dados nativas em blobs opacos. Não é totalmente compatível com o Express e possui uma interface proprietária com muito pouco suporte de ferramentas front-end OLAP de terceiros.

    • O Oracle BI Enterprise Edition é o que costumava ser o Siebel Analytics. Isso tem alguma funcionalidade OLAP, mas não estou familiarizado com isso. Talvez alguém que já tenha usado queira comentar. Sem admitir diretamente que o Siebel era um produto completamente separado de suas próprias ferramentas de BI, a Oracle afirmou que não havia "caminho de atualização" do Oracle BI Standard Edition para o Enterprise Edition. Observe que as suítes Standard e Enterprise BI são produtos separados e não agrupados com o sistema básico.

    • Na prática, o mais próximo do SSAS vendido pela Oracle é o Essbase (antigo Hyperion). Este é um produto separado e não vem junto com o sistema básico.

    Não surpreendentemente, a estratégia de BI da Oracle é vista pelos especialistas do setor como uma espécie de café da manhã para cães.

    Provavelmente há outras coisas que não consigo pensar em OTOH; Vou adicioná-los como eu penso neles.

    • 45
  2. A-K
    2012-01-03T19:21:33+08:002012-01-03T19:21:33+08:00

    Trabalhamos com Oracle e SQL Server, e nossa líder de DBA, Michelle Malcher, frequentemente ajuda colegas de trabalho nessa transição. Com base nessa experiência, ela escreveu um livro intitulado "Oracle Database Administration for Microsoft SQL Server DBAs (Oracle Press)". Eu gostei deste livro.

    Não tenho certeza se recomendar um livro de um colega de trabalho é apropriado para este site. Não me reporto a Michelle, lidero uma equipe de desenvolvedores.

    • 12

relate perguntas

  • ORDER BY usando prioridades personalizadas para colunas de texto

  • Interface sqlplus confortável? [fechado]

  • Como encontrar as instruções SQL mais recentes no banco de dados?

  • Como posso consultar nomes usando expressões regulares?

  • Como determinar se um Índice é necessário ou necessário

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Como você mostra o SQL em execução em um banco de dados Oracle?

    • 2 respostas
  • Marko Smith

    Como selecionar a primeira linha de cada grupo?

    • 6 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Posso ver Consultas Históricas executadas em um banco de dados SQL Server?

    • 6 respostas
  • Marko Smith

    Como uso currval() no PostgreSQL para obter o último id inserido?

    • 10 respostas
  • Marko Smith

    Como executar o psql no Mac OS X?

    • 11 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Marko Smith

    Passando parâmetros de array para um procedimento armazenado

    • 12 respostas
  • Martin Hope
    Manuel Leduc Restrição exclusiva de várias colunas do PostgreSQL e valores NULL 2011-12-28 01:10:21 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Stuart Blackler Quando uma chave primária deve ser declarada sem cluster? 2011-11-11 13:31:59 +0800 CST
  • Martin Hope
    pedrosanta Listar os privilégios do banco de dados usando o psql 2011-08-04 11:01:21 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST
  • Martin Hope
    BrunoLM Guid vs INT - Qual é melhor como chave primária? 2011-01-05 23:46:34 +0800 CST
  • Martin Hope
    bernd_k Quando devo usar uma restrição exclusiva em vez de um índice exclusivo? 2011-01-05 02:32:27 +0800 CST
  • Martin Hope
    Patrick Como posso otimizar um mysqldump de um banco de dados grande? 2011-01-04 13:13:48 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve