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

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

Na seção a seguir, você pode encontrar como você pode realizar tarefas de DBA do Oracle Recovery Manager (RMAN) em suas instâncias de bancos de dados do Amazon RDS executando o Oracle. Para oferecer uma experiência de serviço gerenciada, o Amazon RDS não fornece acesso ao shell para as instâncias de banco de dados. Ele também restringe o acesso a determinados procedimentos e tabelas do sistema que exigem privilégios avançados.

Use o pacote rdsadmin.rdsadmin_rman_util do Amazon RDS para realizar backups do RMAN do banco de dados do Amazon RDS para Oracle em um disco. O pacote rdsadmin.rdsadmin_rman_util é compatível com backups de arquivos de banco de dados completos e incrementais, backups de espaços de tabelas e backups de redo logs arquivados.

Após a conclusão de um backup do RMAN, é possível copiar os arquivos de backup do host da instância de banco de dados do Amazon RDS para Oracle. Você pode fazer isso com a finalidade de restaurar para um host não-RDS ou para armazenamento de backups a longo prazo. Por exemplo, você pode copiar os arquivos de backup para um bucket do Amazon S3. Para obter mais informações, consulte como usar Integração do Amazon S3.

Os arquivos de backup para backups do RMAN permanecerão no host da instância de banco de dados do Amazon RDS até que você os remova manualmente. Você pode usar o procedimento UTL_FILE.FREMOVE do Oracle para remover arquivos de um diretório. Para receber mais informações, consulte FREMOVE procedure na documentação da Oracle.

Você não pode usar o RMAN para restaurar o RDS para instâncias de banco de dados Oracle. No entanto, é possível usar o RMAN para restaurar um backup em uma instância on-premises ou do Amazon EC2. Para receber mais informações, consulte o artigo de blog Restaurar uma instância do Amazon RDS para Oracle para uma instância autogerenciada.

nota

Para fazer o backup e a restauração para outra instância de banco de dados do Amazon RDS para Oracle, você pode continuar usando os atributos de backup e restauração do Amazon RDS. Para ter mais informações, consulte Backup, restauração e exportação de dados.

Pré-requisitos para backups do RMAN

Antes de fazer backup do banco de dados usando o pacote rdsadmin.rdsadmin_rman_util, atenda aos seguintes pré-requisitos:

  • Assegure-se de que o banco de dados RDS para Oracle esteja no modo ARCHIVELOG. Para habilitar esse modo, defina o período de retenção de backup como um valor diferente de zero.

  • Ao fazer o backup de redo logs arquivados ou realizar um backup completo ou incremental que inclua redo logs arquivados, a retenção de redo logs deve estar definida como um valor diferente de zero. Os redo logs arquivados são necessários para tornar os arquivos do banco de dados consistentes durante a recuperação. Para ter mais informações, consulte Retenção de logs redo arquivados.

  • Assegure-se de que sua instância de banco de dados tenha espaço livre suficiente para armazenar os backups. Ao fazer backup do banco de dados, especifique um objeto de diretório Oracle como um parâmetro na chamada de procedimento. O RMAN coloca os arquivos no diretório especificado. Você pode usar o diretórios padrão, como DATA_PUMP_DIR, ou criar um novo diretório. Para ter mais informações, consulte Criar e eliminar diretórios no espaço de armazenamento de dados principal.

    Você pode monitorar o espaço livre atual em uma instância do RDS para Oracle usando a métrica FreeStorageSpace do CloudWatch. Recomendamos que o espaço livre exceda o tamanho atual do banco de dados, embora o RMAN faça backup somente de blocos formatados e seja compatível com a compactação.

Parâmetros comuns para procedimentos do RMAN

Você pode usar procedimentos no pacote rdsadmin.rdsadmin_rman_util do Amazon RDS para realizar tarefas com o RMAN. Vários parâmetros são comuns aos procedimentos no pacote. O pacote tem os seguintes parâmetros comuns.

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

p_directory_name

varchar2

Um nome de diretório de banco de dados válido.

Sim

O nome do diretório para conter os arquivos de backup.

p_label

varchar2

a-z, A-Z, 0-9, '_', '-', '.'

Não

Uma string exclusiva incluída nos nomes dos arquivos de backup.

nota

O limite é de 30 caracteres.

p_owner

varchar2

Um proprietário válido do diretório especificado em p_directory_name.

Sim

O proprietário do diretório para conter os arquivos de backup.

p_tag

varchar2

a-z, A-Z, 0-9, '_', '-', '.'

NULL

Não

Uma string que pode ser usada para distinguir entre backups para indicar a finalidade ou o uso de backups, como backups diários, semanais ou incrementais.

O limite é de 30 caracteres. A etiqueta não diferencia maiúsculas de minúsculas. As etiquetas são sempre armazenadas em letras maiúsculas, independentemente de como são inseridas.

As etiquetas não precisam ser exclusivas, portanto, vários backups podem ter a mesma etiqueta.

Se você não especificar uma etiqueta, o RMAN atribuirá uma etiqueta padrão automaticamente usando o formato TAGYYYYMMDDTHHMMSS, em que YYYY é o ano, MM é o mês, DD é o dia, HH é a hora (no formato de 24 horas), MM são os minutos e SS os segundos. A data e a hora referem-se a quando o RMAN iniciou o backup.

Por exemplo, um backup pode receber uma etiqueta TAG20190927T214517 para um backup iniciado em 27/9/2019, às 21h45m17s.

O parâmetro p_tag é compatível com as seguintes versões de mecanismo de banco de dados do Amazon RDS para Oracle:

  • Oracle Database 21c (21.0.0)

  • Oracle Database 19c (19.0.0) usando 19.0.0.0.ru-2021-10.rur-2021-10.r1 e posteriores

p_compress

boolean

TRUE, FALSE

FALSE

Não

Especifique TRUE para habilitar a compactação de backup BASIC.

Especifique FALSE para desabilitar a compactação de backup BASIC.

p_include_archive_logs

booliano

TRUE, FALSE

FALSE

Não

Especifique TRUE para incluir logs redo arquivados no backup.

Especifique FALSE para excluir logs redo arquivados do backup.

Se você incluir logs redo arquivados no backup, defina a retenção para uma hora ou mais usando o procedimento rdsadmin.rdsadmin_util.set_configuration. Além disso, chame o procedimento rdsadmin.rdsadmin_rman_util.crosscheck_archivelog imediatamente antes de executar o backup. Caso contrário, o backup poderá falhar devido à ausência de arquivos de log redo que foram excluídos por procedimentos de gerenciamento do Amazon RDS.

p_include_controlfile

booliano

TRUE, FALSE

FALSE

Não

Especifique TRUE para incluir o arquivo de controle no backup.

Especifique FALSE para excluir o arquivo de controle do backup.

p_optimize

booliano

TRUE, FALSE

TRUE

Não

Especifique TRUE para habilitar a otimização de backup, se logs redo arquivados estiverem incluídos, para reduzir o tamanho do backup.

Especifique FALSE para desabilitar a otimização de backup.

p_parallel

número

Um inteiro válido entre 1 e 254 para Oracle Database Enterprise Edition (EE)

1 para outras edições do Oracle Database

1

Não

Número de canais.

p_rman_to_dbms_output

booliano

TRUE, FALSE

FALSE

Não

Quando TRUE, a saída RMAN é enviada para o pacote DBMS_OUTPUT além de um arquivo no diretório BDUMP. No SQL*Plus, use SET SERVEROUTPUT ON para ver a saída.

Quando FALSE, a saída RMAN é enviada somente para um arquivo no diretório BDUMP.

p_section_size_mb

número

Um inteiro válido

NULL

Não

O tamanho da seção em megabytes (MB).

Valida em paralelo dividindo cada arquivo no tamanho da seção especificado.

Quando NULL, o parâmetro é ignorado.

p_validation_type

varchar2

'PHYSICAL', 'PHYSICAL+LOGICAL'

'PHYSICAL'

Não

O nível de detecção da corrupção.

Especifique 'PHYSICAL' para verificar se há danos físicos. Um exemplo de dano físico é um bloco com uma diferença no cabeçalho e no rodapé.

Especifique 'PHYSICAL+LOGICAL' para verificar se há inconsistências lógicas além de danos físicos. Um exemplo de dano lógico é um bloco corrompido.

Validar arquivos de banco de dados no RDS para Oracle

É possível usar o pacote do Amazon RDS rdsadmin.rdsadmin_rman_util para validar os arquivos de banco de dados do Amazon RDS para Oracle, como arquivos de dados, espaços de tabela, arquivos de controle ou arquivos de parâmetro do servidor (SPFILEs).

Para obter mais informações sobre a validação do RMAN, consulte Validating database files and backups (Validar arquivos e backups de bancos de dados) e VALIDATE (Validar) na documentação do Oracle.

Validar um banco de dados

Para validar todos os arquivos relevantes usados por um banco de dados Oracle no RDS para Oracle, use o procedimento rdsadmin.rdsadmin_rman_util.validate_database do Amazon RDS.

Este procedimento usa os seguintes parâmetros comuns para tarefas RMAN:

  • p_validation_type

  • p_parallel

  • p_section_size_mb

  • p_rman_to_dbms_output

Para ter mais informações, consulte Parâmetros comuns para procedimentos do RMAN.

O seguinte exemplo valida o banco de dados usando os valores padrão dos parâmetros.

EXEC rdsadmin.rdsadmin_rman_util.validate_database;

O seguinte exemplo valida o banco de dados usando os valores especificado dos parâmetros.

BEGIN rdsadmin.rdsadmin_rman_util.validate_database( p_validation_type => 'PHYSICAL+LOGICAL', p_parallel => 4, p_section_size_mb => 10, p_rman_to_dbms_output => FALSE); END; /

Quando o parâmetro p_rman_to_dbms_output é definido como FALSE, a saída RMAN é gravada em um arquivo no diretório BDUMP.

Para visualizar os arquivos no diretório BDUMP, execute o seguinte comando SELECT.

SELECT * FROM table(rdsadmin.rds_file_util.listdir('BDUMP')) order by mtime;

Para visualizar o conteúdo de um arquivo no diretório BDUMP, execute o seguinte comando SELECT.

SELECT text FROM table(rdsadmin.rds_file_util.read_text_file('BDUMP','rds-rman-validate-nnn.txt'));

Substitua o nome do arquivo pelo nome do arquivo que você deseja visualizar.

Validando um banco de dados de inquilinos

Para validar os arquivos de dados do banco de dados do inquilino em um banco de dados de contêiner (CDB), use o procedimento do Amazon RDS. rdsadmin.rdsadmin_rman_util.validate_tenant

Este procedimento se aplica somente ao banco de dados do locatário atual e usa os seguintes parâmetros comuns para tarefas RMAN:

  • p_validation_type

  • p_parallel

  • p_section_size_mb

  • p_rman_to_dbms_output

Para ter mais informações, consulte Parâmetros comuns para procedimentos do RMAN. Esse procedimento não tem suporte para as seguintes versões de mecanismo de banco de dados do for Oracle:

  • Oracle Database 21c (21.0.0)

  • Oracle Database 19c (19.0.0)

O seguinte exemplo valida a instância de banco de dados usando os valores padrão dos parâmetros.

EXEC rdsadmin.rdsadmin_rman_util.validate_tenant;

O seguinte exemplo valida a instância de banco de dados usando os valores especificado dos parâmetros.

BEGIN rdsadmin.rdsadmin_rman_util.validate_tenant( p_validation_type => 'PHYSICAL+LOGICAL', p_parallel => 4, p_section_size_mb => 10, p_rman_to_dbms_output => FALSE); END; /

Quando o parâmetro p_rman_to_dbms_output é definido como FALSE, a saída RMAN é gravada em um arquivo no diretório BDUMP.

Para visualizar os arquivos no diretório BDUMP, execute o seguinte comando SELECT.

SELECT * FROM table(rdsadmin.rds_file_util.listdir('BDUMP')) order by mtime;

Para visualizar o conteúdo de um arquivo no diretório BDUMP, execute o seguinte comando SELECT.

SELECT text FROM table(rdsadmin.rds_file_util.read_text_file('BDUMP','rds-rman-validate-nnn.txt'));

Substitua o nome do arquivo pelo nome do arquivo que você deseja visualizar.

Validar um espaço de tabela

Para validar os arquivos associados a um espaço de tabela, use o procedimento rdsadmin.rdsadmin_rman_util.validate_tablespace do Amazon RDS.

Este procedimento usa os seguintes parâmetros comuns para tarefas RMAN:

  • p_validation_type

  • p_parallel

  • p_section_size_mb

  • p_rman_to_dbms_output

Para obter mais informações, consulte Parâmetros comuns para procedimentos do RMAN.

Esse procedimento também usa o seguinte parâmetro adicional.

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

p_tablespace_name

varchar2

Um nome de espaço de tabela válido

Sim

O nome do espaço de tabela.

Validar um arquivo de controle

Para validar somente o arquivo de controle usado por uma instância de banco de dados Oracle do Amazon RDS, use o procedimento rdsadmin.rdsadmin_rman_util.validate_current_controlfile do Amazon RDS.

Esse procedimento usa o seguinte parâmetro comum para tarefas RMAN:

  • p_validation_type

  • p_rman_to_dbms_output

Para obter mais informações, consulte Parâmetros comuns para procedimentos do RMAN.

Validar um SPFILE

Para validar somente o arquivo de parâmetro do servidor (SPFILE) usado por uma instância de banco de dados Oracle do Amazon RDS, use o procedimento rdsadmin.rdsadmin_rman_util.validate_spfile do Amazon RDS.

Esse procedimento usa o seguinte parâmetro comum para tarefas RMAN:

  • p_validation_type

  • p_rman_to_dbms_output

Para ter mais informações, consulte Parâmetros comuns para procedimentos do RMAN.

Validar um arquivo de dados Oracle

Para validar um arquivo de dados, use o procedimento rdsadmin.rdsadmin_rman_util.validate_datafile do Amazon RDS.

Este procedimento usa os seguintes parâmetros comuns para tarefas RMAN:

  • p_validation_type

  • p_parallel

  • p_section_size_mb

  • p_rman_to_dbms_output

Para obter mais informações, consulte Parâmetros comuns para procedimentos do RMAN.

Esse procedimento também usa os seguintes parâmetros adicionais.

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

p_datafile

varchar2

Um número de ID datafile válido ou um nome datafile válido incluindo o caminho completo

Sim

O número do ID do arquivo de dados (de v$datafile.file#) ou o nome completo do arquivo de dados, incluindo o caminho (de v$datafile.name).

p_from_block

número

Um inteiro válido

NULL

Não

O número do bloco em que a validação começa dentro do arquivo de dados. Quando é NULL, 1 é usado.

p_to_block

número

Um inteiro válido

NULL

Não

O número do bloco em que a validação termina dentro do arquivo de dados. Quando é NULL, o bloco máximo no arquivo de dados é usado.

Habilitar e desabilitar o controle de alterações de bloco

Os registros de monitoramento de alterações de blocos alterou os blocos em um arquivo de monitoramento. Essa técnica pode melhorar a performance de backups incrementais RMAN. Para obter mais informações, consulte Using Block Change Tracking to Improve Incremental Backup Performance (Uso do monitoramento de alterações em bloco para aumentar a performance do backup incremental) na documentação do Oracle Database.

Os recursos do RMAN não são comportados em uma réplica de leitura. No entanto, como parte de sua estratégia de alta disponibilidade, você pode optar por habilitar o rastreamento de blocos em uma réplica somente leitura usando o procedimento rdsadmin.rdsadmin_rman_util.enable_block_change_tracking. Se você promover essa réplica somente leitura a uma instância de banco de dados de origem, o rastreamento de alterações de blocos será habilitado para a nova instância de origem. Assim, a instância pode se beneficiar de backups incrementais rápidos.

Os procedimentos de monitoramento de alterações de blocos são compatíveis na Enterprise Edition somente com as seguintes versões do mecanismo de banco de dados:

  • Oracle Database 21c (21.0.0)

  • Oracle Database 19c (19.0.0)

nota

Em um CDB de locatário único, as operações a seguir funcionam, mas nenhum mecanismo visível para o cliente pode detectar o status atual das operações. Consulte também Limitações do RDS for CDBs Oracle.

Para habilitar o controle de alterações de bloco para uma instância de banco de dados usando o procedimento rdsadmin.rdsadmin_rman_util.enable_block_change_tracking do Amazon RDS. Para desativar o monitoramento de alterações de bloco, use disable_block_change_tracking. Esses procedimentos não usam parâmetros.

Para determinar se o controle de alterações de bloco está habilitado para a sua instância de banco de dados, execute a consulta a seguir.

SELECT STATUS, FILENAME FROM V$BLOCK_CHANGE_TRACKING;

O exemplo a seguir habilita o controle de alterações de bloco para uma instância de banco de dados.

EXEC rdsadmin.rdsadmin_rman_util.enable_block_change_tracking;

O exemplo a seguir desabilita o controle de alterações de bloco para uma instância de banco de dados.

EXEC rdsadmin.rdsadmin_rman_util.disable_block_change_tracking;

Verificação cruzada de logs redo

Você pode fazer a verificação cruzada de logs redo arquivados usando o procedimento rdsadmin.rdsadmin_rman_util.crosscheck_archivelog do Amazon RDS.

É possível usar esse procedimento para fazer uma verificação cruzada dos logs redo arquivados registrados no arquivo de controle e, opcionalmente, excluir os registros de logs expirados. Quando o RMAN faz um backup, ele cria um registro no arquivo de controle. Com o tempo, esses registros aumentam o tamanho do arquivo de controle. Recomendamos que você remova registros expirados periodicamente.

nota

Os backups padrão do Amazon RDS não usam o RMAN e, portanto, não criam registros no arquivo de controle.

Esse procedimento usa o parâmetro comum p_rman_to_dbms_output para tarefas do RMAN.

Para obter mais informações, consulte Parâmetros comuns para procedimentos do RMAN.

Esse procedimento também usa o seguinte parâmetro adicional.

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

p_delete_expired

booliano

TRUE, FALSE

TRUE

Não

Quando TRUE, exclui os registros de logs redo arquivados expirados do arquivo de controle.

Quando FALSE, retém os registros de logs redo arquivados expirados no arquivo de controle.

Esse procedimento não tem suporte para as seguintes versões de mecanismo de banco de dados do Amazon RDS para Oracle:

  • Oracle Database 21c (21.0.0)

  • Oracle Database 19c (19.0.0)

O exemplo a seguir marca os registros de log redo arquivados no arquivo de controle como expirados, mas não exclui os registros.

BEGIN rdsadmin.rdsadmin_rman_util.crosscheck_archivelog( p_delete_expired => FALSE, p_rman_to_dbms_output => FALSE); END; /

O exemplo a seguir exclui os registros d logs redo arquivados expirados do arquivo de controle.

BEGIN rdsadmin.rdsadmin_rman_util.crosscheck_archivelog( p_delete_expired => TRUE, p_rman_to_dbms_output => FALSE); END; /

Fazer backup de logs redo armazenados

Você pode usar o pacote rdsadmin.rdsadmin_rman_util do Amazon RDS para fazer backup de logs redo arquivados para uma instância de banco de dados do Amazon RDS Oracle.

Os procedimentos para fazer backup de logs redo arquivados têm suporte para as seguintes versões de mecanismo de banco de dados do Amazon RDS para Oracle:

  • Oracle Database 21c (21.0.0)

  • Oracle Database 19c (19.0.0)

Fazer backup de todos os logs redo arquivados

Para fazer backup de todos os logs redo arquivados para uma instância de banco de dados Oracle do Amazon RDS, use o procedimento rdsadmin.rdsadmin_rman_util.backup_archivelog_all do Amazon RDS.

Este procedimento usa os seguintes parâmetros comuns para tarefas RMAN:

  • p_owner

  • p_directory_name

  • p_label

  • p_parallel

  • p_compress

  • p_rman_to_dbms_output

  • p_tag

Para obter mais informações, consulte Parâmetros comuns para procedimentos do RMAN.

O exemplo a seguir faz backup de todos os logs redo arquivados para a instância de banco de dados.

BEGIN rdsadmin.rdsadmin_rman_util.backup_archivelog_all( p_owner => 'SYS', p_directory_name => 'MYDIRECTORY', p_parallel => 4, p_tag => 'MY_LOG_BACKUP', p_rman_to_dbms_output => FALSE); END; /

Fazer backup de um log redo arquivado de um intervalo de datas

Para fazer backup de logs redo arquivados específicos para uma instância de banco de dados Oracle do Amazon RDS especificando um intervalo de datas, use o procedimento rdsadmin.rdsadmin_rman_util.backup_archivelog_date do Amazon RDS. O intervalo de datas especifica quais logs redo arquivados devem ser incluídos no backup.

Este procedimento usa os seguintes parâmetros comuns para tarefas RMAN:

  • p_owner

  • p_directory_name

  • p_label

  • p_parallel

  • p_compress

  • p_rman_to_dbms_output

  • p_tag

Para obter mais informações, consulte Parâmetros comuns para procedimentos do RMAN.

Esse procedimento também usa os seguintes parâmetros adicionais.

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

p_from_date

data

Uma data entre start_date e next_date de um log redo arquivado que existe no disco. O valor deve ser menor que ou igual ao valor especificado para p_to_date.

Sim

A data de início dos backups de log arquivados.

p_to_date

data

Uma data entre start_date e next_date de um log redo arquivado que existe no disco. O valor deve ser maior que ou igual ao valor especificado para p_from_date.

Sim

A data de término dos backups de logs arquivados.

O exemplo a seguir faz backup de logs redo arquivados no intervalo de datas para a instância de banco de dados.

BEGIN rdsadmin.rdsadmin_rman_util.backup_archivelog_date( p_owner => 'SYS', p_directory_name => 'MYDIRECTORY', p_from_date => '03/01/2019 00:00:00', p_to_date => '03/02/2019 00:00:00', p_parallel => 4, p_tag => 'MY_LOG_BACKUP', p_rman_to_dbms_output => FALSE); END; /

Fazer backup de um log redo arquivado de um intervalo de SCN

Para fazer backup de logs redo arquivados específicos para uma instância de banco de dados do Oracle do Amazon RDS, especificando um intervalo de SCNs (números de alteração de sistema), use o procedimento rdsadmin.rdsadmin_rman_util.backup_archivelog_scn do Amazon RDS. O intervalo de SCNs especifica quais logs redo arquivados devem ser incluídos no backup.

Este procedimento usa os seguintes parâmetros comuns para tarefas RMAN:

  • p_owner

  • p_directory_name

  • p_label

  • p_parallel

  • p_compress

  • p_rman_to_dbms_output

  • p_tag

Para obter mais informações, consulte Parâmetros comuns para procedimentos do RMAN.

Esse procedimento também usa os seguintes parâmetros adicionais.

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

p_from_scn

número

Um SCN de um log redo arquivado que existe no disco. O valor deve ser menor que ou igual ao valor especificado para p_to_scn.

Sim

O SCN inicial para os backups de logs arquivados.

p_to_scn

número

Um SCN de um log redo arquivado que existe no disco. O valor deve ser maior que ou igual ao valor especificado para p_from_scn.

Sim

O SCN final para os backups de logs arquivados.

O exemplo a seguir faz backup de logs redo arquivados no intervalo de SCNs para a instância de banco de dados.

BEGIN rdsadmin.rdsadmin_rman_util.backup_archivelog_scn( p_owner => 'SYS', p_directory_name => 'MYDIRECTORY', p_from_scn => 1533835, p_to_scn => 1892447, p_parallel => 4, p_tag => 'MY_LOG_BACKUP', p_rman_to_dbms_output => FALSE); END; /

Fazer backup de um log redo arquivado de um intervalo de números de sequência

Para fazer backup de logs redo arquivados específicos para uma instância de banco de dados Oracle do Amazon RDS, especificando um intervalo de números de sequência, use o procedimento rdsadmin.rdsadmin_rman_util.backup_archivelog_sequence do Amazon RDS. O intervalo de números de sequência especifica quais logs redo arquivados devem ser incluídos no backup.

Este procedimento usa os seguintes parâmetros comuns para tarefas RMAN:

  • p_owner

  • p_directory_name

  • p_label

  • p_parallel

  • p_compress

  • p_rman_to_dbms_output

  • p_tag

Para obter mais informações, consulte Parâmetros comuns para procedimentos do RMAN.

Esse procedimento também usa os seguintes parâmetros adicionais.

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

p_from_sequence

número

Um número de sequência de um log redo arquivado que existe no disco. O valor deve ser menor que ou igual ao valor especificado para p_to_sequence.

Sim

O número de sequência inicial dos backups de log arquivados.

p_to_sequence

número

Um número de sequência de um log redo arquivado que existe no disco. O valor deve ser maior que ou igual ao valor especificado para p_from_sequence.

Sim

O número de sequência final dos backups de log arquivados.

O exemplo a seguir faz backup de logs redo arquivados no intervalo de números de sequência para a instância de banco de dados.

BEGIN rdsadmin.rdsadmin_rman_util.backup_archivelog_sequence( p_owner => 'SYS', p_directory_name => 'MYDIRECTORY', p_from_sequence => 11160, p_to_sequence => 11160, p_parallel => 4, p_tag => 'MY_LOG_BACKUP', p_rman_to_dbms_output => FALSE); END; /

Realizar um backup de banco de dados completo

Você pode realizar um backup de todos os blocos de arquivos de dados incluídos no backup usando o procedimento rdsadmin.rdsadmin_rman_util.backup_database_full do Amazon RDS.

Este procedimento usa os seguintes parâmetros comuns para tarefas RMAN:

  • p_owner

  • p_directory_name

  • p_label

  • p_parallel

  • p_section_size_mb

  • p_include_archive_logs

  • p_optimize

  • p_compress

  • p_rman_to_dbms_output

  • p_tag

Para obter mais informações, consulte Parâmetros comuns para procedimentos do RMAN.

Esse procedimento não tem suporte para as seguintes versões de mecanismo de banco de dados do Amazon RDS para Oracle:

  • Oracle Database 21c (21.0.0)

  • Oracle Database 19c (19.0.0)

O exemplo a seguir realiza um backup completo da instância de banco de dados usando os valores especificados para os parâmetros.

BEGIN rdsadmin.rdsadmin_rman_util.backup_database_full( p_owner => 'SYS', p_directory_name => 'MYDIRECTORY', p_parallel => 4, p_section_size_mb => 10, p_tag => 'FULL_DB_BACKUP', p_rman_to_dbms_output => FALSE); END; /

Realizar um backup completo de um banco de dados de locatários

Você pode realizar um backup de todos os blocos de dados incluídos em um banco de dados de locatário em um banco de dados de contêiner (CDB). Use o procedimento do Amazon RDS rdsadmin.rdsadmin_rman_util.backup_tenant_full. Este procedimento se aplica somente ao backup do banco de dados atual e usa os seguintes parâmetros comuns para tarefas RMAN:

  • p_owner

  • p_directory_name

  • p_label

  • p_parallel

  • p_section_size_mb

  • p_include_archive_logs

  • p_optimize

  • p_compress

  • p_rman_to_dbms_output

  • p_tag

Para ter mais informações, consulte Parâmetros comuns para procedimentos do RMAN.

O parâmetro rdsadmin_rman_util.backup_tenant_full é compatível com as seguintes versões de mecanismo de banco de dados Amazon RDS for Oracle:

  • Oracle Database 21c (21.0.0)

  • Oracle Database 19c (19.0.0)

O exemplo a seguir realiza um backup completo da instância de banco de dados usando os valores especificados para os parâmetros.

BEGIN rdsadmin.rdsadmin_rman_util.backup_tenant_full( p_owner => 'SYS', p_directory_name => 'MYDIRECTORY', p_parallel => 4, p_section_size_mb => 10, p_tag => 'FULL_TENANT_DB_BACKUP', p_rman_to_dbms_output => FALSE); END; /

Realizar um backup de banco de dados incremental

Você pode realizar um backup incremental da sua instância de banco de dados usando o procedimento rdsadmin.rdsadmin_rman_util.backup_database_incremental do Amazon RDS.

Para obter mais informações sobre backups incrementais, consulte Incremental backups (Backups incrementais) na documentação do Oracle.

Este procedimento usa os seguintes parâmetros comuns para tarefas RMAN:

  • p_owner

  • p_directory_name

  • p_label

  • p_parallel

  • p_section_size_mb

  • p_include_archive_logs

  • p_include_controlfile

  • p_optimize

  • p_compress

  • p_rman_to_dbms_output

  • p_tag

Para obter mais informações, consulte Parâmetros comuns para procedimentos do RMAN.

Esse procedimento não tem suporte para as seguintes versões de mecanismo de banco de dados do Amazon RDS para Oracle:

  • Oracle Database 21c (21.0.0)

  • Oracle Database 19c (19.0.0)

Esse procedimento também usa o seguinte parâmetro adicional.

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

p_level

número

0, 1

0

Não

Especifique 0 para habilitar um backup incremental completo.

Especifique 1 para habilitar um backup incremental não cumulativo.

O exemplo a seguir realiza um backup incremental da instância de banco de dados usando os valores especificados para os parâmetros.

BEGIN rdsadmin.rdsadmin_rman_util.backup_database_incremental( p_owner => 'SYS', p_directory_name => 'MYDIRECTORY', p_level => 1, p_parallel => 4, p_section_size_mb => 10, p_tag => 'MY_INCREMENTAL_BACKUP', p_rman_to_dbms_output => FALSE); END; /

Realizar um backup incremental de um banco de dados de locatários

Você pode realizar um backup incremental do banco de dados do inquilino atual no seu CDB. Use o procedimento do Amazon RDS rdsadmin.rdsadmin_rman_util.backup_tenant_incremental.

Para obter mais informações sobre backups incrementais, consulte Incremental backups (Backups incrementais) na documentação do Oracle.

Este procedimento se aplica somente ao banco de dados do locatário atual e usa os seguintes parâmetros comuns para tarefas RMAN:

  • p_owner

  • p_directory_name

  • p_label

  • p_parallel

  • p_section_size_mb

  • p_include_archive_logs

  • p_include_controlfile

  • p_optimize

  • p_compress

  • p_rman_to_dbms_output

  • p_tag

Para ter mais informações, consulte Parâmetros comuns para procedimentos do RMAN.

Esse procedimento não tem suporte para as seguintes versões de mecanismo de banco de dados do Amazon RDS para Oracle:

  • Oracle Database 21c (21.0.0)

  • Oracle Database 19c (19.0.0)

Esse procedimento também usa o seguinte parâmetro adicional.

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

p_level

número

0, 1

0

Não

Especifique 0 para habilitar um backup incremental completo.

Especifique 1 para habilitar um backup incremental não cumulativo.

O exemplo a seguir realiza um backup incremental da instância de banco de dados usando os valores especificados para os parâmetros.

BEGIN rdsadmin.rdsadmin_rman_util.backup_tenant_incremental( p_owner => 'SYS', p_directory_name => 'MYDIRECTORY', p_level => 1, p_parallel => 4, p_section_size_mb => 10, p_tag => 'MY_INCREMENTAL_BACKUP', p_rman_to_dbms_output => FALSE); END; /

Backup de um tablespace

Você pode realizar um backup de um espaço de tabela usando o procedimento do Amazon RDS rdsadmin.rdsadmin_rman_util.backup_tablespace.

Este procedimento usa os seguintes parâmetros comuns para tarefas RMAN:

  • p_owner

  • p_directory_name

  • p_label

  • p_parallel

  • p_section_size_mb

  • p_include_archive_logs

  • p_include_controlfile

  • p_optimize

  • p_compress

  • p_rman_to_dbms_output

  • p_tag

Para obter mais informações, consulte Parâmetros comuns para procedimentos do RMAN.

Esse procedimento também usa o seguinte parâmetro adicional.

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

p_tablespace_name

varchar2

Um nome de espaço de tabela válido.

Sim

O nome do espaço de tabela para backup.

Esse procedimento não tem suporte para as seguintes versões de mecanismo de banco de dados do Amazon RDS para Oracle:

  • Oracle Database 21c (21.0.0)

  • Oracle Database 19c (19.0.0)

O exemplo a seguir realiza um backup de espaço de tabela usando os valores especificados para os parâmetros.

BEGIN rdsadmin.rdsadmin_rman_util.backup_tablespace( p_owner => 'SYS', p_directory_name => 'MYDIRECTORY', p_tablespace_name => 'MYTABLESPACE', p_parallel => 4, p_section_size_mb => 10, p_tag => 'MYTABLESPACE_BACKUP', p_rman_to_dbms_output => FALSE); END; /

Backup de um arquivo de controle

Você pode fazer backup de um arquivo de controle usando o procedimento rdsadmin.rdsadmin_rman_util.backup_current_controlfile do Amazon RDS.

Este procedimento usa os seguintes parâmetros comuns para tarefas RMAN:

  • p_owner

  • p_directory_name

  • p_label

  • p_compress

  • p_rman_to_dbms_output

  • p_tag

Para obter mais informações, consulte Parâmetros comuns para procedimentos do RMAN.

Esse procedimento não tem suporte para as seguintes versões de mecanismo de banco de dados do Amazon RDS para Oracle:

  • Oracle Database 21c (21.0.0)

  • Oracle Database 19c (19.0.0)

O exemplo a seguir realiza um backup de um arquivo de controle usando os valores especificados para os parâmetros.

BEGIN rdsadmin.rdsadmin_rman_util.backup_current_controlfile( p_owner => 'SYS', p_directory_name => 'MYDIRECTORY', p_tag => 'CONTROL_FILE_BACKUP', p_rman_to_dbms_output => FALSE); END; /

Realizar a recuperação de mídia de blocos

É possível recuperar blocos de dados individuais, conhecidos como recuperação de mídia de blocos, usando os procedimentos rdsadmin.rdsadmin_rman_util.recover_datafile_block do Amazon RDS. É possível usar esse procedimento sobrecarregado para recuperar um ou vários blocos de dados.

Esse procedimento usa o seguinte parâmetro comum para tarefas RMAN:

  • p_rman_to_dbms_output

Para ter mais informações, consulte Parâmetros comuns para procedimentos do RMAN.

Esse procedimento usa os parâmetros adicionais a seguir.

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

p_datafile

NUMBER

Um número de ID válido do arquivo de dados.

Sim

O arquivo de dados contendo os blocos corrompidos. Especifique o arquivo de dados de uma das seguintes formas:

  • O número de ID do arquivo de dados, localizado em V$DATAFILE.FILE#.

  • O nome completo do arquivo de dados, incluindo o caminho, localizado em V$DATAFILE.NAME.

p_block

NUMBER

Um número inteiro válido.

Sim

O número de um bloco individual a ser recuperado.

Os seguintes parâmetros são mutuamente exclusivos:

  • p_block

  • p_from_block e p_to_block

p_from_block

NUMBER

Um número inteiro válido.

Sim

O primeiro número de bloco em um intervalo de blocos a serem recuperados.

Os seguintes parâmetros são mutuamente exclusivos:

  • p_block

  • p_from_block e p_to_block

p_to_block

NUMBER

Um número inteiro válido.

Sim

O último número de bloco em um intervalo de blocos a serem recuperados.

Os seguintes parâmetros são mutuamente exclusivos:

  • p_block

  • p_from_block e p_to_block

Esse procedimento não tem suporte para as seguintes versões de mecanismo de banco de dados do Amazon RDS para Oracle:

  • Oracle Database 21c (21.0.0)

  • Oracle Database 19c (19.0.0)

O exemplo a seguir recupera o bloco 100 no arquivo de dados 5.

BEGIN rdsadmin.rdsadmin_rman_util.recover_datafile_block( p_datafile => 5, p_block => 100, p_rman_to_dbms_output => TRUE); END; /

O exemplo a seguir recupera os blocos 100 a 150 no arquivo de dados 5.

BEGIN rdsadmin.rdsadmin_rman_util.recover_datafile_block( p_datafile => 5, p_from_block => 100, p_to_block => 150, p_rman_to_dbms_output => TRUE); END; /