Realização de tarefas comuns diversas para instâncias de banco de dados Oracle - Amazon Relational Database Service

Realização de tarefas comuns diversas para instâncias de banco de dados Oracle

Veja a seguir como executar diversas tarefas de DBA nas instâncias de banco de dados do Amazon RDS que executam o Oracle. Para oferecer uma experiência de serviço gerenciado, o Amazon RDS não fornece acesso ao shell para instâncias de bancos de dados e restringe o acesso a determinados procedimentos e tabelas do sistema que exigem privilégios avançados.

Criar e eliminar diretórios no espaço de armazenamento de dados principal

Para criar diretórios, use o procedimento rdsadmin.rdsadmin_util.create_directory do Amazon RDS. É possível criar até 10.000 diretórios, todas localizados no seu espaço de armazenamento físico de dados principal. Para criar diretórios, use o procedimento rdsadmin.rdsadmin_util.drop_directory do Amazon RDS.

Os procedimentos create_directory e drop_directory têm o parâmetro necessário a seguir.

Nome do parâmetro Tipo de dados Padrão Obrigatório Descrição

p_directory_name

varchar2

Sim

O nome do diretório.

O exemplo a seguir cria um novo diretório chamado PRODUCT_DESCRIPTIONS.

EXEC rdsadmin.rdsadmin_util.create_directory(p_directory_name => 'product_descriptions');

O dicionário de dados armazena o nome do diretório em maiúsculas. Você pode listar os diretórios consultando DBA_DIRECTORIES. O sistema escolhe automaticamente o nome do caminho do host real. O exemplo a seguir obtém o caminho do diretório para o diretório chamado PRODUCT_DESCRIPTIONS:

SELECT DIRECTORY_PATH FROM DBA_DIRECTORIES WHERE DIRECTORY_NAME='PRODUCT_DESCRIPTIONS'; DIRECTORY_PATH ---------------------------------------- /rdsdbdata/userdirs/01

O nome de usuário mestre para a instância de banco de dados tem privilégios de leitura e gravação no novo diretório e pode conceder acesso a outros usuários. Privilégios EXECUTE não estão disponíveis para diretórios em uma instância de banco de dados. Os diretórios são criados no seu espaço de armazenamento físico de dados principal e consumirão espaço e largura de banda de E/S.

O exemplo a seguir elimina o diretório chamado PRODUCT_DESCRIPTIONS.

EXEC rdsadmin.rdsadmin_util.drop_directory(p_directory_name => 'product_descriptions');
nota

Também é possível descartar um diretório usando o comando do Oracle SQ DROP DIRECTORY.

Descartar um diretório não remove seu conteúdo. Como o procedimento rdsadmin.rdsadmin_util.create_directory pode reutilizar nomes de caminhos, os arquivos em diretórios eliminados podem aparecer em um diretório recém-criado. Antes de eliminar um diretório, recomendamos que você use UTL_FILE.FREMOVE para remover arquivos do diretório. Para obter mais informações, consulte Procedimento FREMOVE na documentação da Oracle.

Listagem de arquivos no diretório de uma instância de banco de dados

Para listar os arquivos em um diretório, use o procedimento rdsadmin.rds_file_util.listdir do Amazon RDS. O procedimento listdir tem os seguintes parâmetros.

Nome do parâmetro Tipo de dados Padrão Obrigatório Descrição

p_directory

varchar2

Sim

O nome do diretório a ser listado.

O exemplo a seguir concede privilégios de leitura/gravação no diretório PRODUCT_DESCRIPTIONS para o usuário rdsadmin e, em seguida, lista os arquivos neste diretório.

GRANT READ,WRITE ON DIRECTORY PRODUCT_DESCRIPTIONS TO rdsadmin; SELECT * FROM TABLE(rdsadmin.rds_file_util.listdir(p_directory => 'PRODUCT_DESCRIPTIONS'));

Leitura de arquivos no diretório de uma instância de banco de dados

Para ler um arquivo de texto, use o procedimento rdsadmin.rds_file_util.read_text_file do Amazon RDS. O procedimento read_text_file tem os seguintes parâmetros.

Nome do parâmetro Tipo de dados Padrão Obrigatório Descrição

p_directory

varchar2

Sim

O nome do diretório que contém o arquivo.

p_filename

varchar2

Sim

O nome do arquivo a ser lido.

O exemplo a seguir cria o arquivo rice.txt no diretório PRODUCT_DESCRIPTIONS.

declare fh sys.utl_file.file_type; begin fh := utl_file.fopen(location=>'PRODUCT_DESCRIPTIONS', filename=>'rice.txt', open_mode=>'w'); utl_file.put(file=>fh, buffer=>'AnyCompany brown rice, 15 lbs'); utl_file.fclose(file=>fh); end; /

O exemplo a seguir lê o arquivo rice.txt do diretório PRODUCT_DESCRIPTIONS.

SELECT * FROM TABLE (rdsadmin.rds_file_util.read_text_file( p_directory => 'PRODUCT_DESCRIPTIONS', p_filename => 'rice.txt'));

Acessar arquivos do Opatch

O Opatch é um utilitário do Oracle que permite a aplicação e a reversão de patches para o software do Oracle. O mecanismo do Oracle para determinar quais patches foram aplicados a um banco de dados é o comando opatch lsinventory. Para abrir solicitações de serviço para clientes de Traga sua própria licença (BYOL – Bring Your Own Licence), o suporte do Oracle solicita o arquivo lsinventory e, às vezes, o arquivo lsinventory_detail gerado pelo Opatch.

Para oferecer uma experiência de serviço gerenciada, o Amazon RDS não fornece acesso ao shell para o Opatch. Em vez disso, o lsinventory-dbv.txt no diretório BDUMP contém as informações de patch relacionadas à versão atual do mecanismo. Quando você executa um upgrade principal ou secundário, o Amazon RDS atualiza lsinventory-dbv.txt em até uma hora após a aplicação do patch. Para verificar os patches aplicados, leia lsinventory-dbv.txt. Essa ação é semelhante a executar o comando opatch lsinventory.

nota

Os exemplos nesta seção pressupõem que o diretório BDUMP seja chamado BDUMP. Em uma réplica de leitura, o nome do diretório BDUMP é diferente. Para saber como obter o nome BDUMP consultando V$DATABASE.DB_UNIQUE_NAME em uma réplica de leitura, consulte Listar arquivos.

Os arquivos de inventário usam a convenção de nomenclatura do Amazon RDS lsinventory-dbv.txt e lsinventory_detail-dbv.txt, onde dbv é o nome completo da versão do banco de dados. O arquivo lsinventory-dbv.txt está disponível em todas as versões do banco de dados. O lsinventory_detail-dbv.txt correspondente está disponível nas seguintes versões do banco de dados:

  • 19.0.0.0, ru-2020-01.rur-2020-01.r1 ou posterior

  • 12.2.0.1, ru-2020-01.rur-2020-01.r1 ou posterior

  • 12.1.0.2, v19 ou posterior

Por exemplo, se a versão do seu banco de dados for 19.0.0.0.ru-2021-07.rur-2021-07.r1, os arquivos de inventário terão os nomes a seguir.

lsinventory-19.0.0.0.ru-2021-07.rur-2021-07.r1.txt lsinventory_detail-19.0.0.0.ru-2021-07.rur-2021-07.r1.txt

Baixe os arquivos que correspondem à versão atual do mecanismo de banco de dados.

Como baixar um arquivo de inventário usando o console

  1. Abra o console do Amazon RDS em https://console.aws.amazon.com/rds/.

  2. No painel de navegação, escolha Databases (Bancos de dados).

  3. Escolha o nome da instância de banco de dados que contém o arquivo de log que você deseja visualizar.

  4. Escolha a guia Logs & events (Logs e eventos).

  5. Role para baixo até a seção Logs.

  6. Na seção Logs, procure por lsinventory.

  7. Escolha o arquivo que você deseja acessar e selecione Download (Baixar).

Para ler o lsinventory-dbv.txt em um cliente SQL, é possível usar uma instrução SELECT. Para esta técnica, use uma das seguintes funções rdsadmin: rdsadmin.rds_file_util.read_text_file ou rdsadmin.tracefile_listing.

Na consulta de exemplo a seguir, substitua dbv pela versão do seu banco de dados Oracle. Por exemplo, a versão do seu banco de dados pode ser 19.0.0.0.ru-2020-04.rur-2020-04.r1.

SELECT text FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'lsinventory-dbv.txt'));

Para ler o lsinventory-dbv.txt em um cliente SQL, é possível escrever um programa PL/SQL. Esse programa usa utl_file para ler o arquivo e dbms_output para imprimi-lo. Esses são pacotes fornecidos pelo Oracle.

No programa de exemplo a seguir, substitua dbv pela versão do seu banco de dados Oracle. Por exemplo, a versão do seu banco de dados pode ser 19.0.0.0.ru-2020-04.rur-2020-04.r1.

SET SERVEROUTPUT ON DECLARE v_file SYS.UTL_FILE.FILE_TYPE; v_line VARCHAR2(1000); v_oracle_home_type VARCHAR2(1000); c_directory VARCHAR2(30) := 'BDUMP'; c_output_file VARCHAR2(30) := 'lsinventory-dbv.txt'; BEGIN v_file := SYS.UTL_FILE.FOPEN(c_directory, c_output_file, 'r'); LOOP BEGIN SYS.UTL_FILE.GET_LINE(v_file, v_line,1000); DBMS_OUTPUT.PUT_LINE(v_line); EXCEPTION WHEN no_data_found THEN EXIT; END; END LOOP; END; /

Ou consulte rdsadmin.tracefile_listing e transfira a saída para um arquivo. O exemplo a seguir transfere a saída para /tmp/tracefile.txt.

SPOOL /tmp/tracefile.txt SELECT * FROM rdsadmin.tracefile_listing WHERE FILENAME LIKE 'lsinventory%'; SPOOL OFF;

Gerenciando de tarefas do advisor

O banco de dados Oracle inclui vários advisors. Cada advisor suporta tarefas automatizadas e manuais. Você pode usar procedimentos no pacote rdsadmin.rdsadmin_util para gerenciar algumas tarefas do advisor.

Os procedimentos de tarefas do advisor estão disponíveis nas seguintes versões do mecanismo:

  • Oracle Database 21c (21.0.0)

  • Versão 19.0.0.0.ru-2021-01.rur-2021-01.r1 e versões posteriores do Oracle Database 19c

    Para obter mais informações, consulte Versão 19.0.0.0.ru-2021-01.rur-2021-01.r1 em Notas de lançamento do Amazon RDS for Oracle.

  • Versão 12.2.0.1.ru-2021-01.rur-2021-01.r1 e versões posteriores do Oracle Database 12c (versão 2) 12.2.0.1

    Para obter mais informações, consulte Versão 12.2.0.1.ru-2021-01.rur-2021-01.r1 em Notas de lançamento do Amazon RDS for Oracle.

Definição de parâmetros para tarefas do advisor

Para definir parâmetros para algumas tarefas do advisor, use o procedimento do Amazon RDS rdsadmin.rdsadmin_util.advisor_task_set_parameter. O procedimento advisor_task_set_parameter tem os seguintes parâmetros.

Nome do parâmetro Tipo de dados Padrão Obrigatório Descrição

p_task_name

varchar2

Sim

O nome da tarefa do advisor cujos parâmetros você deseja alterar. Os valores a seguir são válidos:

  • AUTO_STATS_ADVISOR_TASK

  • INDIVIDUAL_STATS_ADVISOR_TASK

  • SYS_AUTO_SPM_EVOLVE_TASK

  • SYS_AUTO_SQL_TUNING_TASK

p_parameter

varchar2

Sim

O nome do parâmetro da tarefa. Para localizar parâmetros válidos para uma tarefa do advisor, execute a seguinte consulta. Substitua p_task_name com um valor válido para p_task_name:

COL PARAMETER_NAME FORMAT a30 COL PARAMETER_VALUE FORMAT a30 SELECT PARAMETER_NAME, PARAMETER_VALUE FROM DBA_ADVISOR_PARAMETERS WHERE TASK_NAME='p_task_name' AND PARAMETER_VALUE != 'UNUSED' ORDER BY PARAMETER_NAME;

p_value

varchar2

Sim

O valor de um parâmetro de tarefa. Para localizar valores válidos para parâmetros de tarefa, execute a seguinte consulta. Substitua p_task_name com um valor válido para p_task_name:

COL PARAMETER_NAME FORMAT a30 COL PARAMETER_VALUE FORMAT a30 SELECT PARAMETER_NAME, PARAMETER_VALUE FROM DBA_ADVISOR_PARAMETERS WHERE TASK_NAME='p_task_name' AND PARAMETER_VALUE != 'UNUSED' ORDER BY PARAMETER_NAME;

Os seguintes programas PL/SQL definem ACCEPT_PLANS como FALSE para SYS_AUTO_SPM_EVOLVE_TASK. A tarefa automatizada do Gerenciamento de Plano SQL verifica os planos e gera um relatório de suas descobertas, mas não evolui os planos automaticamente. Você pode usar um relatório para identificar novas listas de referência do plano SQL e aceitá-las manualmente.

BEGIN rdsadmin.rdsadmin_util.advisor_task_set_parameter( p_task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', p_parameter => 'ACCEPT_PLANS', p_value => 'FALSE'); END;

Os seguintes programas PL/SQL definem EXECUTION_DAYS_TO_EXPIRE como 10 para AUTO_STATS_ADVISOR_TASK. A tarefa predefinida AUTO_STATS_ADVISOR_TASK é executada automaticamente na janela de manutenção uma vez por dia. O exemplo define o período de retenção para a execução da tarefa como 10 dias.

BEGIN rdsadmin.rdsadmin_util.advisor_task_set_parameter( p_task_name => 'AUTO_STATS_ADVISOR_TASK', p_parameter => 'EXECUTION_DAYS_TO_EXPIRE', p_value => '10'); END;

Desativação de AUTO_STATS_ADVISOR_TASK

Para desativar AUTO_STATS_ADVISOR_TASK, use o procedimento do Amazon RDS rdsadmin.rdsadmin_util.advisor_task_drop. O procedimento advisor_task_drop aceita o seguinte parâmetro.

nota

Esse procedimento está disponível no Oracle Database 12c Versão 2 (12.2.0.1) e posteriores.

Nome do parâmetro Tipo de dados Padrão Obrigatório Descrição

p_task_name

varchar2

Sim

O nome da tarefa do advisor a ser desabilitada. O único valor válido é AUTO_STATS_ADVISOR_TASK.

Execute o seguinte comando: AUTO_STATS_ADVISOR_TASK.

EXEC rdsadmin.rdsadmin_util.advisor_task_drop('AUTO_STATS_ADVISOR_TASK')

Você pode reativar AUTO_STATS_ADVISOR_TASK usando rdsadmin.rdsadmin_util.dbms_stats_init.

Reativação de AUTO_STATS_ADVISOR_TASK

Para reativar AUTO_STATS_ADVISOR_TASK, use o procedimento do Amazon RDS rdsadmin.rdsadmin_util.dbms_stats_init. O procedimento dbms_stats_init não recebe parâmetros.

O comando a seguir reativa AUTO_STATS_ADVISOR_TASK.

EXEC rdsadmin.rdsadmin_util.dbms_stats_init()

Habilitação de HugePages para uma instância de banco de dados Oracle

O Amazon RDS for Oracle é compatível com HugePages do kernel do Linux para aumentar a escalabilidade do banco de dados. O uso de HugePages resulta em tabelas de página menores e menos tempo de CPU gasto no gerenciamento de memória, aumentando a performance de instâncias de banco de dados grandes. Para obter mais informações, consulte Visão geral sobre HugePages na documentação da Oracle.

Você pode usar HugePages com as seguintes versões e edições do Oracle:

  • 19.0.0.0, todas as edições

  • 12.2.0.1, todas as edições

  • 12.1.0.2, todas as edições

O parâmetro use_large_pages controla se o recurso HugePages permanece habilitado para uma instância de banco de dados. As configurações possíveis desse parâmetro são ONLY, FALSE e {DBInstanceClassHugePagesDefault}. O parâmetro use_large_pages é definido como {DBInstanceClassHugePagesDefault} no parameter group de banco de dados padrão para Oracle.

Para controlar se o recurso HugePages permanece habilitado para uma instância de banco de dados automaticamente, você pode usar a variável de fórmula DBInstanceClassHugePagesDefault em grupos de parâmetros. O valor é determinado da seguinte forma:

  • Para as classes de instância do banco de dados mencionadas na tabela a seguir, DBInstanceClassHugePagesDefault sempre é avaliado como FALSE por padrão, e use_large_pages é avaliado como FALSE. Será possível habilitar o recurso HugePages manualmente para essas classes de instância de banco de dados se estas últimas tiverem pelo menos 14 GiB de memória.

  • Para classes de instância de banco de dados não mencionadas na tabela a seguir, se a classe tiver menos de 14 GiB de memória, DBInstanceClassHugePagesDefault sempre será avaliado como FALSE. Além disso, o use_large_pages será avaliado como FALSE

  • Para classes de instância de banco de dados não mencionadas na tabela a seguir, se a classe da instância tiver pelo menos 14 GiB de memória e menos de 100 GiB de memória, DBInstanceClassHugePagesDefault será avaliado como TRUE por padrão. Além disso, o use_large_pages será avaliado como ONLY É possível desabilitar o recurso HugePages manualmente, definindo use_large_pages como FALSE.

  • Para classes de instância de banco de dados não mencionadas na tabela abaixo, se a classe da instância tiver pelo menos 100 GiB de memória, DBInstanceClassHugePagesDefault sempre é avaliado como TRUE. Além disso, o use_large_pages será avaliado como ONLY e o recurso HugePages não pode ser desabilitado.

O recurso HugePages não é habilitado por padrão para as seguintes classes de instâncias de banco de dados.

Família de classe de instância de banco de dados Classes de instâncias de banco de dados com o recurso HugePages não habilitado por padrão

db.m5

db.m5.large

db.m4

db.m4.large, db.m4.xlarge, db.m4.2xlarge, db.m4.4xlarge, db.m4.10xlarge

db.t3

db.t3.micro, db.t3.small, db.t3.medium, db.t3.large

Para mais informações sobre classes de instância de banco de dados, consulte Especificações de hardware para classes de instância de banco de dados .

Para habilitar o recurso HugePages para instâncias de banco de dados novas ou existentes manualmente, defina o parâmetro use_large_pages como ONLY. Não é possível usar HugePages com o Oracle Automatic Memory Management (AMM). Se você definir o parâmetro use_large_pages como ONLY, também deverá definir memory_target e memory_max_target como 0. Para obter mais informações sobre como definir parâmetros de banco de dados para a sua instância de banco de dados, consulte Trabalhar com grupos de parâmetros.

Também é possível definir os parâmetros sga_target, sga_max_size e pga_aggregate_target. Quando você definir os parâmetros de memória da área global do sistema (SGA) e da área global do programa (PGA), adicione os valores juntos. Subtraia esse total da memória disponível para o banco de dados DBInstanceClassMemory a fim de determinar a memória livre além da alocação de HugePages. Você deve deixar pelo menos 2 GiB de memória livre ou 10% da memória total da instância disponível, o que for menor.

Depois de configurar seus parâmetros, você deverá reiniciar sua instância de banco de dados para que as alterações entrem em vigor. Para obter mais informações, consulte Reinicializar uma instância de banco de dados .

nota

A instância de banco de dados Oracle adiará as alterações nos parâmetros de inicialização relacionados ao SGA até que você reinicialize a instância sem failover. No console do Amazon RDS, escolha Reinicializar, mas não escolha Reinicializar com failover. Na AWS CLI, chame o comando reboot-db-instance com o parâmetro --no-force-failover. A instância de banco de dados não processa os parâmetros relacionados ao SGA durante o failover ou durante outras operações de manutenção que fazem com que a instância seja reiniciada.

Essa é uma configuração de parâmetro de exemplo de HugePages que permite páginas enormes manualmente. Você deve definir os valores para atender às suas necessidades.

memory_target = 0 memory_max_target = 0 pga_aggregate_target = {DBInstanceClassMemory*1/8} sga_target = {DBInstanceClassMemory*3/4} sga_max_size = {DBInstanceClassMemory*3/4} use_large_pages = ONLY

Suponhamos que os valores de parâmetros estejam definidos em um parameter group.

memory_target = IF({DBInstanceClassHugePagesDefault}, 0, {DBInstanceClassMemory*3/4}) memory_max_target = IF({DBInstanceClassHugePagesDefault}, 0, {DBInstanceClassMemory*3/4}) pga_aggregate_target = IF({DBInstanceClassHugePagesDefault}, {DBInstanceClassMemory*1/8}, 0) sga_target = IF({DBInstanceClassHugePagesDefault}, {DBInstanceClassMemory*3/4}, 0) sga_max_size = IF({DBInstanceClassHugePagesDefault}, {DBInstanceClassMemory*3/4}, 0) use_large_pages = {DBInstanceClassHugePagesDefault}

O grupo de parâmetros é usado por uma classe de instância de banco de dados db.r4 com menos de 100 GiB de memória. Com essas configurações de parâmetro e use_large_pages definido como {DBInstanceClassHugePagesDefault}, o recurso HugePages permanece habilitado na instância db.r4.

Considere outro exemplo com os valores de parâmetros a seguir definidos em um parameter group.

memory_target = IF({DBInstanceClassHugePagesDefault}, 0, {DBInstanceClassMemory*3/4}) memory_max_target = IF({DBInstanceClassHugePagesDefault}, 0, {DBInstanceClassMemory*3/4}) pga_aggregate_target = IF({DBInstanceClassHugePagesDefault}, {DBInstanceClassMemory*1/8}, 0) sga_target = IF({DBInstanceClassHugePagesDefault}, {DBInstanceClassMemory*3/4}, 0) sga_max_size = IF({DBInstanceClassHugePagesDefault}, {DBInstanceClassMemory*3/4}, 0) use_large_pages = FALSE

O grupo de parâmetros é usado por uma classe de instância de banco de dados db.r4 e por uma classe de instância de banco de dados db.r5, as duas com menos de 100 GiB de memória. Com essas configurações de parâmetro, o HugePages é desativado na instância db.r4 e db.r5.

nota

Caso esse grupo de parâmetros seja usado por uma classe de instância de banco de dados db.r4 ou por uma classe de instância de banco de dados db.r5 com pelo menos 100 GiB de memória, a configuração de FALSE para use_large_pages será substituída e definida como ONLY. Nesse caso, uma notificação do cliente em relação à substituição é enviada.

Depois que o recurso HugePages estiver habilitado na instância de banco de dados, você poderá visualizar informações sobre o recurso HugePages habilitando o monitoramento avançado. Para obter mais informações, consulte Monitorar métricas do SO com o monitoramento avançado.

Habilitação de tipos de dados estendidos

Amazon RDS O Oracle Database 12c suporta tipos de dados estendidos. Com tipos de dados estendidos, o tamanho máximo é 32.767 bytes para os tipos de dados VARCHAR2, NVARCHAR2 e RAW. Para usar os tipos de dados estendidos, defina o parâmetro MAX_STRING_SIZE como EXTENDED. Para obter mais informações, consulte Tipos de dados estendidos na documentação da Oracle.

Se você não deseja usar os tipos de dados estendidos, mantenha o parâmetro MAX_STRING_SIZE definido como STANDARD (padrão). Quando este parâmetro é definido como STANDARD, os limites de tamanho são 4.000 bytes para os tipos de dados VARCHAR2 e NVARCHAR2 e 2.000 bytes para o tipo de dados RAW.

Você pode habilitar os tipos de dados estendidos em uma instância de banco de dados nova ou existente. Para instâncias de banco de dados novas, o tempo de criação normalmente é maior quando você habilita os tipos de dados estendidos. Para instâncias de banco de dados existentes, a instância fica indisponível durante o processo de conversão.

Veja a seguir algumas considerações sobre uma instância de banco de dados com tipos de dados estendidos habilitados:

  • Ao habilitar tipos de dados estendidos para uma instância de banco de dados, você não poderá voltar atrás e usar o tamanho padrão de tipos de dados para a instância. Após a conversão de uma instância de banco de dados para usar tipos de dados estendidos, se você definir o parâmetro MAX_STRING_SIZE de volta para STANDARD, o status incompatible-parameters será gerado.

  • Quando você restaura uma instância de banco de dados que usa tipos de dados estendidos, é preciso especificar um parameter group com o parâmetro MAX_STRING_SIZE definido como EXTENDED. Durante a restauração, se você especificar um parameter group padrão ou qualquer outro parameter group com MAX_STRING_SIZE definido como STANDARD, o status incompatible-parameters será gerado.

  • Recomendamos que você não habilite os tipos de dados estendidos para instâncias de banco de dados Oracle que estejam em execução na classe de instância t2.micro.

Quando o status da instância de banco e dados for incompatible-parameters por causa da configuração de MAX_STRING_SIZE, a instância permanecerá indisponível até você definir o parâmetro MAX_STRING_SIZE como EXTENDED e reinicializar a instância de banco de dados.

Habilitar tipos de dados estendidos para uma instância de banco de dados nova

Para habilitar tipos de dados estendidos para uma instância de banco de dados nova

  1. Defina o parâmetro MAX_STRING_SIZE como EXTENDED em um parameter group.

    Para definir o parâmetro, crie um novo parameter group ou modifique um parameter group existente.

    Para obter mais informações, consulte Trabalhar com grupos de parâmetros.

  2. Crie uma nova instância de banco de dados Oracle do Amazon RDS e associe o parameter group com MAX_STRING_SIZE definido como EXTENDED na instância de banco de dados.

    Para obter mais informações, consulte Criar uma instância de banco de dados do Amazon RDS.

Habilitar tipos de dados estendidos para uma instância de banco de dados existente

Quando você modifica uma instância de banco de dados para habilitar tipos de dados estendidos, os dados no banco de dados são convertidos para usar os tamanhos estendidos. A instância de banco de dados fica indisponível durante a migração. O tempo necessário para converter os dados depende da classe da instância de banco de dados usada e do tamanho do banco de dados.

nota

Após habilitar os tipos de dados estendidos, não é possível fazer uma restauração point-in-time para um momento durante o processo de conversão. Você pode restaurar para o momento imediatamente anterior à conversão ou após a conversão.

Para habilitar tipos de dados estendidos para uma instância de banco de dados existente

  1. Faça um snapshot do banco de dados.

    Se houver objetos inválidos no banco de dados, o Amazon RDS tentará recompilá-los. A conversão para tipos de dados estendidos poderá falhar se o Amazon RDS não puder recompilar um objeto inválido. O snapshot permitirá que você restaure o banco de dados se houver um problema com a conversão. Sempre verifique se há objetos inválidos antes de iniciar a conversão e corrija ou descarte esses objetos inválidos. Para bancos de dados de produção, recomendamos primeiro testar o processo de conversão em uma cópia da instância de banco de dados.

    Para obter mais informações, consulte Criar um snapshot de banco de dados.

  2. Defina o parâmetro MAX_STRING_SIZE como EXTENDED em um parameter group.

    Para definir o parâmetro, crie um novo parameter group ou modifique um parameter group existente.

    Para obter mais informações, consulte Trabalhar com grupos de parâmetros.

  3. Modifique a instância de banco de dados para associá-la ao parameter group com MAX_STRING_SIZE definido como EXTENDED.

    Para obter mais informações, consulte Modificar uma instância de banco de dados do Amazon RDS.

  4. Reinicialize a instância de banco de dados para que a alteração do parâmetro tenha efeito.

    Para obter mais informações, consulte Reinicializar uma instância de banco de dados .