

# Fazer o backup e a restauração de uma instância de banco de dados do Amazon RDS Custom for Oracle
<a name="custom-backup"></a>

Como o Amazon RDS, o RDS Custom cria e salva backups automatizados da sua instância de banco de dados do RDS Custom for Oracle durante a janela de backup de sua instância de banco de dados. Também é possível fazer backup da instância de banco de dados manualmente. 

O procedimento é idêntico a obter um snapshot de uma instância de banco de dados do Amazon RDS. O primeiro snapshot de uma instância de banco de dados do RDS Custom os dados da instância de banco de dados completa. Os snapshots subsequentes são incrementais.

Restaure snapshots de banco de dados utilizando o Console de gerenciamento da AWS ou a AWS CLI.

**Topics**
+ [Criar um snapshot do RDS Custom for Oracle](custom-backup.creating.md)
+ [Restaurar um snapshot de banco de dados do RDS Custom for Oracle](custom-backup.restoring.md)
+ [Restaurar uma instância do RDS Custom for Oracle para um ponto no tempo](custom-backup.pitr.md)
+ [Excluir um snapshot do RDS Custom for Oracle](custom-backup.deleting.md)
+ [Excluir backups automatizados do RDS Custom for Oracle](custom-backup.deleting-backups.md)

# Criar um snapshot do RDS Custom for Oracle
<a name="custom-backup.creating"></a>

O RDS Custom for Oracle cria um snapshot do volume de armazenamento da instância de banco de dados, fazendo o backup de toda a instância de banco de dados e não apenas dos bancos de dados individuais. Quando sua instância de banco de dados contiver um banco de dados de contêiner (CDB), o snapshot da instância incluirá o CDB raiz e todos os PDBs.

Ao criar um snapshot do RDS Custom for Oracle, especifique qual instância de banco de dados do RDS Custom deve receber o backup. Atribua um nome ao snapshot para que ele possa ser restaurado posteriormente.

Quando você cria um snapshot, o RDS Custom for Oracle cria um snapshot do Amazon EBS para cada volume anexado à instância de banco de dados. O RDS Custom for Oracle usa o snapshot do EBS do volume raiz para registrar uma nova imagem de máquina da Amazon (AMI). Para facilitar a associação de snapshots a uma instância de banco de dados específica, eles são marcados com `DBSnapshotIdentifier`, `DbiResourceId` e `VolumeType`.

A criação de um snapshot de banco de dados resulta em uma breve suspensão de E/S. Essa suspensão pode durar desde alguns segundos até alguns minutos, dependendo do tamanho e da classe da sua instância de banco de dados. O tempo de criação do snapshot varia dependendo do tamanho do banco de dados. Como o snapshot inclui todo o volume de armazenamento, o tamanho de arquivos, como arquivos temporários, também afeta o tempo necessário para criar esse snapshot. Para saber mais sobre como criar snapshots, consulte [Criar um snapshot de banco de dados para uma instância de banco de dados single-AZ para o Amazon RDS](USER_CreateSnapshot.md).

Crie um snapshot do RDS Custom for Oracle utilizando o console ou a AWS CLI.

## Console
<a name="USER_CreateSnapshot.CON"></a>

**Para criar um snapshot do RDS Custom**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon RDS em [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. No painel de navegação, escolha **Bancos de dados**.

1. Na lista de instâncias de banco de dados do RDS Custom, escolha a instância da qual você deseja obter um snapshot.

1. Em **Actions (Ações)**, escolha **Take snapshot (Fazer snapshot)**.

   A janela **Take snapshot de banco de dados** (Fazer snapshot de banco de dados) é exibida.

1. Para **Snapshot name** (Nome do snapshot), insira o nome do snapshot.

1. Selecione **Take Snapshot** (Fazer snapshot).

## AWS CLI
<a name="USER_CreateSnapshot.CLI"></a>

Você cria um snapshot de uma instância de banco de dados do RDS Custom utilizando o comando [create-db-snapshot](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-snapshot.html) da AWS CLI.

Especifique as seguintes opções:
+ `--db-instance-identifier` – Identifica de qual instância de banco de dados do RDS Custom você fará backup
+ `--db-snapshot-identifier` – Dê um nome para seu snapshot do RDS Custom para que ele possa ser restaurado mais tarde

Neste exemplo, você cria um snapshot de banco de dados chamado *`my-custom-snapshot`* para uma instância de banco de dados do RDS Custom chamada `my-custom-instance`.

**Example**  
Para Linux, macOS ou Unix:  

```
1. aws rds create-db-snapshot \
2.     --db-instance-identifier my-custom-instance \
3.     --db-snapshot-identifier my-custom-snapshot
```
Para Windows:  

```
1. aws rds create-db-snapshot ^
2.     --db-instance-identifier my-custom-instance ^
3.     --db-snapshot-identifier my-custom-snapshot
```

# Restaurar um snapshot de banco de dados do RDS Custom for Oracle
<a name="custom-backup.restoring"></a>

Ao restaurar uma instância de banco de dados do RDS Custom for Oracle, você fornece o nome do snapshot de banco de dados e um nome para a nova instância. Não é possível restaurar de um snapshot para uma instância de banco de dados do RDS Custom existente. Uma nova instância de banco de dados do RDS Custom é criada quando você realiza a restauração.

O processo de restauração difere das seguintes maneiras da restauração no Amazon RDS:
+ Antes de restaurar um snapshot, o RDS Custom for Oracle faz backup dos arquivos de configuração existentes. Esses arquivos estão disponíveis no diretório `/rdsdbdata/config/backup` da instância restaurada. O RDS Custom for Oracle restaura o snapshot de banco de dados com parâmetros padrão e substitui os arquivos de configuração de banco de dados anteriores pelos existentes. Portanto, a instância restaurada não preserva parâmetros personalizados e alterações em arquivos de configuração do banco de dados.
+ O banco de dados restaurado tem o mesmo nome que no snapshot. Se desejar, especifique um nome diferente. (Para o RDS Custom for Oracle, o padrão é `ORCL`.)

## Console
<a name="custom-backup.restoring.console"></a>

**Para restaurar uma instância de banco de dados do RDS Custom a partir de um snapshot de banco de dados**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon RDS em [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. No painel de navegação, escolha **Snapshots**.

1. Escolha o DB snapshot do qual você deseja restaurar.

1. Em **Actions (Ações)**, escolha **Restore snapshot (Restaurar snapshot)**.

1. Na página **Restore DB instance** (Restaurar instância de banco de dados), para **DB Instance Identifier** (Identificador da instância de banco de dados), insira o nome da instância de banco de dados do RDS Custom restaurada.

1. Escolha **Restore DB Instance**. 

## AWS CLI
<a name="custom-backup.restoring.CLI"></a>

Você restaura um snapshot de banco de dados do RDS Custom utilizando o comando [restore-db-instance-from-db-snapshot](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html) da AWS CLI.

Se o snapshot do qual você está restaurando for para uma instância de banco de dados privada, certifique-se de especificar `db-subnet-group-name` e `no-publicly-accessible`, ambos corretos. Caso contrário, a instância de banco de dados assumirá como padrão o estado de acesso público. São necessárias as seguintes opções:
+ `db-snapshot-identifier` – Identifica o snapshot do qual restaurar
+ `db-instance-identifier` – Especifica o nome da instância de banco de dados do RDS Custom a ser criada a partir do snapshot de banco de dados
+ `custom-iam-instance-profile`: especifica o perfil da instância associado à instância subjacente do Amazon EC2 de uma instância de banco de dados do RDS Custom.

O código a seguir restaura o snapshot chamado `my-custom-snapshot` para `my-custom-instance`.

**Example**  
Para Linux, macOS ou Unix:  

```
aws rds restore-db-instance-from-db-snapshot \
  --db-snapshot-identifier my-custom-snapshot \
  --db-instance-identifier my-custom-instance \
  --custom-iam-instance-profile AWSRDSCustomInstanceProfileForRdsCustomInstance \
  --no-publicly-accessible
```
Para Windows:  

```
aws rds restore-db-instance-from-db-snapshot ^
  --db-snapshot-identifier my-custom-snapshot ^
  --db-instance-identifier my-custom-instance ^
  --custom-iam-instance-profile AWSRDSCustomInstanceProfileForRdsCustomInstance ^
  --no-publicly-accessible
```

# Restaurar uma instância do RDS Custom for Oracle para um ponto no tempo
<a name="custom-backup.pitr"></a>

É possível restaurar uma instância de banco de dados para um ponto anterior no tempo (PITR) criando uma nova instância de banco de dados. Para dar suporte ao PITR, suas instâncias de banco de dados devem ter a retenção de backup definida como diferente de zero.

O tempo de restauração mais recente de uma instância de banco de dados do RDS Custom for Oracle depende de vários fatores, mas em geral é de até cinco minutos do horário atual. Para visualizar o tempo restaurável mais recente para uma instância de banco de dado, use o comando AWS CLI [describe-db-instances](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html) e confira o valor retornado no campo `LatestRestorableTime` para a instância de banco de dados. Para ver o tempo de restauração mais recente para cada instância de banco de dados no console Amazon RDS, selecione **Backups automatizados**.

É possível fazer a restauração para qualquer momento dentro do período de retenção de backup. Para ver o tempo de restauração mais antigo para cada instância de banco de dados, selecione **Backups automatizados** no console do Amazon RDS.

Para obter informações gerais sobre PITR, consulte [Restaurar uma instância de banco de dados para um momento especificado no Amazon RDS](USER_PIT.md).

**Topics**
+ [Considerações sobre o PITR para o RDS Custom for Oracle](#custom-backup.pitr.oracle)

## Considerações sobre o PITR para o RDS Custom for Oracle
<a name="custom-backup.pitr.oracle"></a>

No RDS Custom for Oracle, o PITR difere das seguintes maneiras importantes do PITR no Amazon RDS:
+ O banco de dados restaurado tem o mesmo nome da instância de banco de dados de origem. Se desejar, especifique um nome diferente. O padrão é `ORCL`.
+ `AWSRDSCustomIamRolePolicy` requer novas permissões. Para obter mais informações, consulte [Etapa 2: Adicionar uma política de acesso a AWSRDSCustomInstanceRoleForRdsCustomInstance](custom-setup-orcl.md#custom-setup-orcl.iam.add-policy).
+ Todas as instâncias de banco de dados do RDS Custom for Oracle devem ter a retenção de backup definida como um valor diferente de zero.
+ Se você alterar o fuso horário do sistema operacional ou da instância de banco de dados, a PITR talvez não funcione. Para obter informações sobre como alterar fusos horários, consulte [Fuso horário da Oracle](custom-managing.timezone.md).
+ Se você definir a automação como `ALL_PAUSED`, o RDS Custom pausará o upload dos arquivos de log redo arquivados, incluindo os logs criados antes da hora da última restauração possível (LRT). Convém pausar a automação por um breve período.

  Para ilustrar, suponha que sua LRT seja 10 minutos atrás. Você pausa a automação. Durante a pausa, o RDS Custom não carrega logs de redo arquivados. Se a sua instância de banco de dados falhar, apenas será possível recuperar em um momento antes da LRT que existia quando você pausou. Quando você retomar a automação, o RDS Custom retomará o carregamento de logs. A LRT avançará. Regras de PITR normais são aplicáveis. 
+ No RDS Custom, é possível especificar manualmente um número arbitrário de horas para reter logs de redo arquivados antes que o RDS Custom os exclua após o upload. Especifique o número de horas da seguinte forma:

  1. Crie um arquivo de texto chamado `/opt/aws/rdscustomagent/config/redo_logs_custom_configuration.json`.

  1. Adicione um objeto JSON no seguinte formato: `{"archivedLogRetentionHours" : "num_of_hours"}`. O número deve ser um número inteiro no intervalo de 1 a 840.
+ Suponha que você conecte um não CDB a um banco de dados de contêiner (CDB) como um PDB e, depois, tente o PITR. A operação só será bem-sucedida se você tiver feito backup do PDB anteriormente. Depois de criar ou modificar um PDB, recomendamos que você sempre faça backup dele.
+ Convém não personalizar parâmetros de inicialização do banco de dados. Por exemplo, a modificação dos seguintes parâmetros afeta a PITR:
  + `CONTROL_FILE_RECORD_KEEP_TIME` afeta as regras para carregar e excluir logs.
  + `LOG_ARCHIVE_DEST_n` não oferece suporte a vários destinos.
  + `ARCHIVE_LAG_TARGET` afeta a última restauração possível. `ARCHIVE_LAG_TARGET` está definido como `300` porque o objetivo de ponto de recuperação (RPO) é de cinco minutos. Para honrar esse objetivo, o RDS troca o log redo on-line a cada cinco minutos e o armazena em um bucket do Amazon S3. Se a frequência da troca de log causar um problema de desempenho em seu banco de dados do RDS Custom para Oracle, você poderá escalar a instância de banco de dados e o armazenamento para um com maior IOPS e throughput. Se necessário para seu plano de recuperação, é possível ajustar a configuração do parâmetro de inicialização `ARCHIVE_LAG_TARGET` para um valor de 60 a 7.200.
+ Se você personalizar os parâmetros de inicialização do banco de dados, é altamente recomendável personalizar apenas o seguinte:
  + `COMPATIBLE` 
  + `MAX_STRING_SIZE`
  + `DB_FILES` 
  + `UNDO_TABLESPACE` 
  + `ENABLE_PLUGGABLE_DATABASE` 
  + `CONTROL_FILES` 
  + `AUDIT_TRAIL` 
  + `AUDIT_TRAIL_DEST` 

  Para todos os outros parâmetros de inicialização, o RDS Custom restaura os valores padrão. Se você modificar um parâmetro que não esteja na lista anterior, ele talvez tenha um efeito adverso na PITR, levando a resultados imprevisíveis. Por exemplo, `CONTROL_FILE_RECORD_KEEP_TIME` afeta as regras para carregar e excluir logs.

Você pode restaurar uma instância de banco de dados do RDS Custom em um ponto anterior utilizando o Console de gerenciamento da AWS, a AWS CLI ou a API do RDS.

## Console
<a name="custom-backup.pitr2.CON"></a>

**Para restaurar uma instância de banco de dados do RDS Custom para um ponto anterior especificado**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon RDS em [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. No painel de navegação, escolha **Automated backups (Backups automatizados)**.

1. Escolha a instância de banco de dados do RDS Custom que você deseja restaurar.

1. Em **Actions (Ações)**, escolha **Restore to point in time (Restaurar para point-in-time)**.

   A janela **Restore to point in time (Restaurar para point-in-time)** é exibida.

1. Escolha **Latest restorable time (Hora da última restauração)** para restaurar no último horário possível ou escolha **Custom (Personalizar)** para escolher um horário.

   Se você escolher **Custom** (Personalizado), insira a data e a hora para a qual deseja restaurar a instância.

   Os horários são mostrados no fuso horário local, que é indicado por um deslocamento do Tempo Universal Coordenado (UTC). Por exemplo, UTC-5 é a Hora Padrão do Leste dos EUA/Horário de Verão Central.

1. Para **DB instance identifier** (Identificador de instância de banco de dados), insira o nome da instância de banco de dados do RDS Custom restaurada de destino. O nome deve ser exclusivo.

1. Escolha outras opções conforme necessário, como a classe da instância de banco de dados.

1. Escolha **Restore to point in time (Restaurar para point-in-time)**.

## AWS CLI
<a name="custom-backup.pitr2.CLI"></a>

Você restaura uma instância de banco de dados em um horário especificado utilizando o comando [restore-db-instance-to-point-in-time](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html) da AWS CLI para criar uma nova instância de banco de dados do RDS Custom.

Utilize uma das seguintes opções para especificar o backup a ser restaurado:
+ `--source-db-instance-identifier mysourcedbinstance`
+ `--source-dbi-resource-id dbinstanceresourceID`
+ `--source-db-instance-automated-backups-arn backupARN`

A opção `custom-iam-instance-profile` é obrigatória.

O exemplo a seguir restaura `my-custom-db-instance` para uma nova instância de banco de dados denominada `my-restored-custom-db-instance`, a partir do ponto anterior especificado.

**Example**  
Para Linux, macOS ou Unix:  

```
1. aws rds restore-db-instance-to-point-in-time \
2.     --source-db-instance-identifier my-custom-db-instance\
3.     --target-db-instance-identifier my-restored-custom-db-instance \
4.     --custom-iam-instance-profile AWSRDSCustomInstanceProfileForRdsCustomInstance \
5.     --restore-time 2022-10-14T23:45:00.000Z
```
Para Windows:  

```
1. aws rds restore-db-instance-to-point-in-time ^
2.     --source-db-instance-identifier my-custom-db-instance ^
3.     --target-db-instance-identifier my-restored-custom-db-instance ^
4.     --custom-iam-instance-profile AWSRDSCustomInstanceProfileForRdsCustomInstance ^
5.     --restore-time 2022-10-14T23:45:00.000Z
```

# Excluir um snapshot do RDS Custom for Oracle
<a name="custom-backup.deleting"></a>

É possível excluir snapshots de banco de dados gerenciados pelo RDS Custom for Oracle quando eles não são mais necessários. O procedimento de exclusão é o mesmo para instâncias de banco de dados Amazon RDS e RDS Custom.

Os snapshots do Amazon EBS para os volumes binário e raiz permanecem na sua conta por mais tempo, pois podem estar vinculados a algumas instâncias em execução na sua conta ou a outros snapshots do RDS Custom for Oracle. Esses snapshots do EBS serão excluídos automaticamente quando não estiverem mais relacionados a nenhum recurso existente do RDS Custom for Oracle (instâncias de banco de dados ou backups).

## Console
<a name="USER_DeleteSnapshot.CON"></a>

**Para excluir um snapshot de uma instância de banco de dados do RDS Custom**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon RDS em [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. No painel de navegação, escolha **Snapshots**.

1. Escolha o snapshot de banco de dados que você deseja excluir.

1. Em **Actions** (Ações), selecione **Delete Snapshot** (Excluir snapshot).

1. Escolha **Delete (Excluir)** na página de confirmação.

## AWS CLI
<a name="USER_DeleteSnapshot.CLI"></a>

Para excluir um snapshot do RDS Custom, utilize o comando da AWS CLI [delete-db-snapshot](https://docs.aws.amazon.com/cli/latest/reference/rds/delete-db-snapshot.html).

A seguinte opção é necessária:
+ `--db-snapshot-identifier` ؎ – o snapshot a ser excluído

O exemplo a seguir exclui o snapshot de banco de dados `my-custom-snapshot`.

**Example**  
Para Linux, macOS ou Unix:  

```
1. aws rds delete-db-snapshot \  
2.   --db-snapshot-identifier my-custom-snapshot
```
Para Windows:  

```
1. aws rds delete-db-snapshot ^
2.   --db-snapshot-identifier my-custom-snapshot
```

# Excluir backups automatizados do RDS Custom for Oracle
<a name="custom-backup.deleting-backups"></a>

Você pode excluir backups automatizados retidos para o RDS Custom for Oracle quando eles não são mais necessários. O procedimento é idêntico ao de exclusão de backups do Amazon RDS.

## Console
<a name="USER_WorkingWithAutomatedBackups-Deleting.CON"></a>

**Como excluir um backup automatizado retido**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon RDS em [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. No painel de navegação, escolha **Automated backups (Backups automatizados)**.

1. Escolha **Retained (Retido)**.

1. Escolha o backup automatizado retido que você deseja excluir.

1. Em **Actions**, selecione **Delete**.

1. Na página de confirmação, insira **delete me** e escolha **Delete (Excluir)**. 

## AWS CLI
<a name="USER_WorkingWithAutomatedBackups-Deleting.CLI"></a>

Você pode excluir um backup automatizado retido usando o comando da AWS CLI [delete-db-instance-automated-backup](https://docs.aws.amazon.com/cli/latest/reference/rds/delete-db-instance-automated-backup.html).

A seguinte opção é usada para excluir um backup automatizado retido:
+ `--dbi-resource-id` – o identificador de recurso da instância de banco de dados do RDS Custom de origem.

  Você pode encontrar o identificador de recurso da instância de banco de dados de origem de um backup automatizado retido usando o comando da AWS CLI [describe-db-instance-automated-backups](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instance-automated-backups.html).

O exemplo a seguir exclui o backup automatizado retido com o identificador de recurso da instância de banco de dados de origem `custom-db-123ABCEXAMPLE`.

**Example**  
Para Linux, macOS ou Unix:  

```
1. aws rds delete-db-instance-automated-backup \
2.     --dbi-resource-id custom-db-123ABCEXAMPLE
```
Para Windows:  

```
1. aws rds delete-db-instance-automated-backup ^
2.     --dbi-resource-id custom-db-123ABCEXAMPLE
```