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

Realização de tarefas comuns relacionadas ao log para instâncias de banco de dados Oracle

Veja a seguir como executar determinadas tarefas comuns de DBA relacionadas ao registro em log nas instâncias de bancos 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.

Para obter mais informações, consulte Arquivos de log do banco de dados do Amazon RDS para Oracle.

Definição do registro em log forçado

No modo de registro em log forçado, o Oracle registra todas as alterações no banco de dados, exceto as alterações em espaços de tabela temporários e em segmentos temporários (as cláusulas NOLOGGING são ignoradas). Para obter mais informações, consulte Specifying FORCE LOGGING mode na documentação da Oracle.

Para definir o registro em log forçado, use o procedimento rdsadmin.rdsadmin_util.force_logging do Amazon RDS. O procedimento force_logging tem os seguintes parâmetros.

Nome do parâmetro Tipo de dados Padrão Sim Descrição

p_enable

booliano

true

Não

Defina como true para colocar o banco de dados no modo de registro em log forçado, false para remover o banco de dados do modo de registro em log forçado.

O exemplo a seguir coloca o banco de dados no modo de registro em log forçado.

EXEC rdsadmin.rdsadmin_util.force_logging(p_enable => true);

Definição do registro em log complementar

Se você habilitar o registro em log suplementar, o LogMiner terá as informações necessárias para oferecer suporte a linhas encadeadas e tabelas clusterizadas. Para obter mais informações, consulte Supplemental logging na documentação da Oracle.

Por padrão, o banco de dados Oracle não habilita o registro em log complementar. Para habilitar e desabilitar o registro em log complementar, use o procedimento rdsadmin.rdsadmin_util.alter_supplemental_logging do Amazon RDS. Para obter mais informações sobre como o Amazon RDS gerencia a retenção de logs redo arquivados para instâncias de bancos de dados Oracle, consulte Retenção de logs redo arquivados.

O procedimento alter_supplemental_logging tem os seguintes parâmetros.

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

p_action

varchar2

Sim

'ADD' para adicionar o registro em log complementar, 'DROP' para descartar o registro em log complementar.

p_type

varchar2

nulo

Não

O tipo de registro em log complementar. Os valores válidos são 'ALL', 'FOREIGN KEY', 'PRIMARY KEY', 'UNIQUE' ou PROCEDURAL.

O exemplo a seguir habilita o registro em log complementar.

begin rdsadmin.rdsadmin_util.alter_supplemental_logging( p_action => 'ADD'); end; /

O exemplo a seguir habilita o registro em log complementar para todas as colunas de tamanho máximo com comprimento fixo.

begin rdsadmin.rdsadmin_util.alter_supplemental_logging( p_action => 'ADD', p_type => 'ALL'); end; /

O exemplo a seguir habilita o registro em log complementar para colunas de chave primária.

begin rdsadmin.rdsadmin_util.alter_supplemental_logging( p_action => 'ADD', p_type => 'PRIMARY KEY'); end; /

Alternância de arquivos de log online

Para alternar arquivos de log, use o procedimento rdsadmin.rdsadmin_util.switch_logfile do Amazon RDS. O procedimento switch_logfile não tem parâmetros.

O exemplo a seguir alterna arquivos de log.

EXEC rdsadmin.rdsadmin_util.switch_logfile;

Adição de logs redo online

Uma instância de banco de dados do Amazon RDS executando o Oracle começa com quatro logs redo online, cada um com 128 MB. Para adicionar mais logs redo, use o procedimento rdsadmin.rdsadmin_util.add_logfile do Amazon RDS.

O procedimento add_logfile tem os seguintes parâmetros.

nota

Os parâmetros são mutuamente exclusivos.

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

bytes

positivo

nulo

Não

O tamanho do arquivo de log em bytes.

p_size

varchar2

Sim

O tamanho do arquivo de log. Você pode especificar o tamanho em quilobytes (K), megabytes (M) ou gigabytes (G).

O comando a seguir adiciona um arquivo de log de 100 MB.

EXEC rdsadmin.rdsadmin_util.add_logfile(p_size => '100M');

Descarte de logs redo online

Para descartar logs redo, use o procedimento rdsadmin.rdsadmin_util.drop_logfile do Amazon RDS. O procedimento drop_logfile tem os seguintes parâmetros.

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

grp

positivo

Sim

O número do grupo do log.

O exemplo a seguir descarta o log com o número de grupo 3.

EXEC rdsadmin.rdsadmin_util.drop_logfile(grp => 3);

Você só pode descartar logs que tenham um status de não utilizado ou inativo. O exemplo a seguir obtém os status dos logs.

SELECT GROUP#, STATUS FROM V$LOG; GROUP# STATUS ---------- ---------------- 1 CURRENT 2 INACTIVE 3 INACTIVE 4 UNUSED