Noções básicas de multitenant Arquitetura e plugáveis bancos de dados do Oracle 12c
Um dos mais falou sobre os novos recursos do Oracle 12c é bases de dados multitenant.
Menu
Servindo-se de recursos de computação e aplicativos na nuvem é toda a raiva estes dias. Isso reduz as despesas de capital para corporações e tem benefícios fiscais imediatos também. Portanto, as empresas têm um incentivo muito grande para tirar proveito da computação em nuvem.
Uma das tecnologias que realmente decolou com a revolução da computação em nuvem é virtualização. Usando máquinas virtuais esculpidas em máquinas físicas maiores e alavancar licenciamento fracionada reduz ainda mais os custos para as empresas. Bancos de dados Oracle multitenant foram desenvolvidos para ajudar as empresas a tirar partido de todas estas tecnologias e economias de custo.
A opção multitenant da Oracle 12c é licenciado. Como de costume, verifique com seu representante de vendas da Oracle para os custos. Novamente, porém, certifique-se que você está ciente do retorno sobre o investimento que este recurso pode lhe trazer.
Você precisa estar ciente dos novos tipos de bancos de dados que são agora parte de uma arquitetura multitenant:
Banco de Dados de Container (CDB): O banco de dados primário que contém vários bancos de dados conectados-in. Muitas operações podem ser executadas no nível de contêiner para reduzir os custos de gestão. Um banco de dados é criado ou como um CDB ou um não-CDB.
Banco de Dados conectável (PDB): Um conjunto de esquemas, objetos e objetos não-esquema que pode ser conectado e desconectado de um banco de recipiente. A APO parece OracleNet e usuários finais como um banco de dados em si, mas é realmente conseguiu dentro de um recipiente que pode ter muitas PDBs.
Banco de Dados de semente (seed PDB): A PDB padrão que o sistema usa como um modelo para prestação rapidamente outros PDBs criadas pelo usuário. Internamente, ele é chamado APO $ SEED.
A opção multitenant ajuda você a realizar o seguinte:
Alta densidade de consolidação: Muitos bancos de dados podem compartilhar os processos de memória e de fundo.
Provisioning: Um banco de dados pode ser desconectado de um ambiente e ligado a outro ou clonado com comandos SQL em apenas alguns segundos. Eles podem até mesmo ser conectado em vários sistemas operacionais e chipsets.
Aplicação de patches e atualizações: Você pode corrigir um banco de dados simplesmente desconectando de um recipiente sem correção e colocá-lo em outro recipiente remendado.
Gerenciar muitos bancos de dados como um: Você pode fazer tarefas como backup e remendar no banco de dados do recipiente primário em vez dos bancos de dados conectáveis individuais.
Gestão de recursos: O recurso do Oracle Resource Manager podem trabalhar no nível de banco de dados pluggable para você gerenciar a concorrência de recursos entre os bancos de dados em seu ambiente.
Uma outra coisa que vale a pena mencionar é que um banco de dados pluggable é compatível com um não-CDB. Na verdade, a Oracle tem algo que está chamando a APO / garantia de compatibilidade não-CDB, que afirma que qualquer coisa que você faria em um não-CDB também funcionaria em um PDB. Esta garantia de compatibilidade é importante quando se trata de certificar coisas como produtos de fornecedores de terceiros para trabalhar em uma arquitetura multitenant.
Como criar um ambiente de banco de dados multitenant no Oracle 12c
Ao criar um banco de dados, você deve designá-lo como um CDB ou não CDB para que seja capaz de suportar a arquitetura multitenant. O próximo conjunto de exemplos percorre as etapas para criar um banco de dados recipiente com o DBCA. Não é apenas um passo que diferencia um CDB de um não-CDB ao utilizar o DBCA.
Seguindo o caminho avançado de criação de um banco de dados, a primeira coisa que você pode observar é uma caixa de seleção para criar o contêiner banco de dados no Passo 4 de 13.
Você também pode escolher o número de PDBs criados neste momento. Você também pode optar por criar um banco de dados recipiente vazio com nenhum banco de dados conectáveis no início. O restante das etapas são praticamente o mesmo que quando você cria um não-CDB.
Como iniciar e parar bancos de dados conectáveis no Oracle 12c
Como a arquitetura instância de bancos de dados passíveis de ligação é completamente diferente de um banco de dados non-container, seria de imaginar que gerir o seu estado de prontidão também é diferente. Bom, é verdade. Vamos começar por olhar para a própria CDB.
A primeira coisa a lembrar é que, como o CDB mantém a instância para a qual todos os PDBs compartilhar, essa instância deve estar ativo e aberto para que as pessoas possam se conectar aos PDBs. Iniciar e parar o CDB não é diferente de não-CDBs.
A próxima coisa a lembrar é que quando você iniciar um CDB, todos os seus PDBs associados são deixados em estado MOUNT, o que significa que, por padrão, eles não são abertos com a CDB. Infelizmente, 12cR1 não oferece uma opção para alterar este comportamento.
No entanto, 12c fornece um novo tipo de gatilho que dispara se detectar uma abertura CDB e, em seguida, abrir PDBs específicos. Consulte a documentação do Oracle para obter mais informações sobre como fazer essa configuração.
Depois de iniciar e abrir um CDB, você pode abrir qualquer PDBs correspondentes da seguinte forma:
SQL> alter pluggable banco de dados devpdb1 banco de dados open-Pluggable alterada.
Ou:
SQL> alter database pluggable todos os banco de dados open-Pluggable alterada.
Para fechar PDBs, essencialmente você pode fazer o oposto dos comandos anteriores:
SQL> alter pluggable devpdb1 banco de dados database close-Pluggable alterada.
Ou:
SQL> alter database pluggable todos close-Pluggable banco de dados alterados.
Você pode usar a V $ pdbs vista dicionário de dados para obter informações sobre a disponibilidade dos PDBs.