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 / 20410
Accepted
Mark Allison
Mark Allison
Asked: 2012-07-06 02:51:29 +0800 CST2012-07-06 02:51:29 +0800 CST 2012-07-06 02:51:29 +0800 CST

Faz sentido consolidar bancos de dados Oracle?

  • 772

Tenho mais experiência com SQL Server e Sybase do que com Oracle e entendo bem esses produtos. Pediram-me para procurar maneiras de reduzir a propriedade do servidor executando o Oracle. Entendo que uma instância no Oracle é mapeada para um banco de dados que hospeda muitos tablespaces. Eu tenho uma boa compreensão dos fundamentos, no entanto, se eu quisesse consolidar o SERVER1,..,SERVER4 executando o banco de dados Oracle em um servidor, qual seria a melhor maneira de fazer isso fisicamente? Estou considerando o Virtual também usando um modelo DBaaS (Database as a Service), mas estou curioso para saber se isso pode/deve ser feito fisicamente.

É possível ter quatro instâncias separadas apontando para quatro bancos de dados separados em uma máquina? Ou eu teria que mesclar os quatro bancos de dados em um banco de dados no servidor consolidado e gerenciar os esquemas para garantir que não houvesse conflitos de nome? Se eu fizesse isso, teria uma instância ou quatro?

Eu li a documentação, mas ainda não tenho 100% de certeza sobre esta área.

oracle
  • 2 2 respostas
  • 1950 Views

2 respostas

  • Voted
  1. ik_zelf
    2012-07-06T03:46:32+08:002012-07-06T03:46:32+08:00

    É bastante fácil consolidar vários bancos de dados em um banco de dados real. No Oracle, um banco de dados é a coleção de arquivos. Os usuários se conectam ao banco de dados conectando-se a uma instância. Um banco de dados pode ser atendido por várias instâncias; nesse caso, você está executando o RAC.

    Portanto, para simplesmente consolidar o banco de dados em um único banco de dados, você não precisa do RAC, mas pode, se quiser/precisar fazer isso.

    Se você estiver consolidando em um banco de dados, há algumas coisas a serem consideradas:

    1. espaços de nomes
    2. acordos de nível de serviço - não torne a manutenção impossível combinando slas conflitantes.
    3. isolamento de desempenho - use o Resource Manager para lidar com isso
    4. isolamento de aplicativos - certifique-se de que todos os aplicativos usem seus próprios tns_alias para se conectar
    5. services - dê a cada aplicativo um nome de serviço próprio no banco de dados, se possível.

    Quando você tem conflitos de nomenclatura, há um problema, a combinação não é possível. Você pode querer tirar algum tempo de inatividade para manutenção/atualizações. Se você não consegue obter um tempo de inatividade de todos os aplicativos ao mesmo tempo, você tem um problema. Usando o Resource Manager, você pode dar uma certa garantia de desempenho para os serviços específicos. Os serviços são uma coisa inteligente de usar, é a coisa mais fácil de ver como os recursos são usados, em comparação com um e outro.

    O mais fácil é executar várias instâncias em um único servidor, cada uma servindo seu próprio banco de dados. Esta é a coisa mais fácil, mas não a mais inteligente a fazer. O mais inteligente é ter uma única instância em um único servidor. Isso ocorre porque cada instância se considera o mestre do servidor. Você não pode isolar facilmente o uso de recursos, como pode fazer em uma única instância. Se você quiser dar alguma garantia de desempenho em um servidor de várias instâncias, a configuração aumentará em complexidade porque, em muitos casos, você precisará iniciar vários projetos e usuários para executar seus bancos de dados.

    Um único banco de dados pode suportar facilmente algumas centenas de aplicativos, muito mais barato do que usar algumas centenas de bancos de dados. Isso rapidamente economiza MUITO dinheiro anualmente, fazendo bom uso dos recursos da Oracle.

    • 6
  2. Best Answer
    Philᵀᴹ
    2012-07-06T03:07:52+08:002012-07-06T03:07:52+08:00

    Você tem duas opções:

    1. Execute várias instâncias do Oracle na mesma máquina
    2. Consolide todas as suas instâncias Oracle em uma única instância, colocando os dados em esquemas separados

    Como você está familiarizado com o SQL Server/Sybase, explicarei a diferença entre eles e o Oracle no que diz respeito a bancos de dados e usuários.

    • Um banco de dados SQL Server é equivalente a um Oracle Schema. Um esquema Oracle pertence a um único usuário
    • Um servidor de dados SQL Server é equivalente a uma instância Oracle

    Executar 4 instâncias em uma máquina é trivial, então não vou explicar mais.

    A consolidação em um único banco de dados também é fácil se os bancos de dados separados não tiverem nomes de esquema conflitantes. Se o fizerem, pode não ser um problema, desde que os aplicativos/interfaces/pacotes não tenham nomes de esquema codificados - é fácil exportar dados de um esquema em um banco de dados e importá-los para um esquema diferente em outro banco de dados .

    • 5

relate perguntas

  • Backups de banco de dados no Oracle - Exportar o banco de dados ou usar outras ferramentas?

  • 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?

Sidebar

Stats

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

    Como ver a lista de bancos de dados no Oracle?

    • 8 respostas
  • Marko Smith

    Quão grande deve ser o mysql innodb_buffer_pool_size?

    • 4 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    restaurar a tabela do arquivo .frm e .ibd?

    • 10 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

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

    • 4 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

    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
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +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
    bernd_k Quando devo usar uma restrição exclusiva em vez de um índice exclusivo? 2011-01-05 02:32:27 +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