

# Personalizar seu ambiente do RDS Custom
<a name="custom-managing.customizing-env"></a>

O RDS Custom para Oracle inclui recursos integrados que possibilitam personalizar seu ambiente de instância de banco de dados sem pausar a automação. Por exemplo, você pode usar as APIs do RDS para personalizar seu ambiente da seguinte forma:
+ Crie e restaure snapshots de banco de dados para criar um ambiente de clonagem.
+ Crie réplicas de leitura.
+ Modifique as configurações de armazenamento.
+ Altere a CEV para aplicar atualizações de versão

Para algumas personalizações, como alterar o conjunto de caracteres, não é possível usar as APIs do RDS. Nesses casos, você precisa alterar o ambiente manualmente acessando sua instância do Amazon EC2 como usuário raiz ou fazendo login em seu banco de dados Oracle como `SYSDBA`. 

Para personalizar sua instância manualmente, você deve pausar e retomar a automação do RDS Custom. A pausa garante que suas personalizações não interfiram na automação do RDS Custom. Dessa forma, você evita quebrar o perímetro de suporte, o que coloca a instância no estado `unsupported-configuration` até que você corrija os problemas subjacentes. Pausar e retomar a automação são as únicas tarefas de automação compatíveis ao modificar uma instância de banco de dados do RDS Custom para Oracle.

## Etapas gerais para personalizar seu ambiente do RDS Custom
<a name="custom-managing.pausing.general-steps"></a>

Para personalizar sua instância de banco de dados do RDS Custom, conclua as seguintes etapas:

1. Pause a automação do RDS Custom por um período específico usando o console ou a CLI. 

1. Identifique sua instância do Amazon EC2 subjacente.

1. Conecte-se à sua instância do Amazon EC2 usando chaves SSH ou AWS Systems Manager.

1. Verifique suas configurações atuais no banco de dados ou na camada do sistema operacional.

   Você pode validar suas alterações comparando a configuração inicial com a configuração alterada. Dependendo do tipo de personalização, use ferramentas do sistema operacional ou consultas ao banco de dados.

1. Personalize a instância de banco de dados do RDS Custom para Oracle, conforme necessário.

1. Reinicialize sua instância ou banco de dados, se necessário.
**nota**  
Em um Oracle CDB on-premises, você pode preservar um modo aberto especificado para PDBs usando um comando integrado ou após um gatilho de inicialização. Esse mecanismo leva os PDBs a um estado especificado quando o CDB é reiniciado. Ao abrir seu CDB, a automação do RDS Custom sempre descarta todos os estados preservados especificados pelo usuário e tenta abrir todos os PDBs. Se o RDS Custom não conseguir abrir todos os PDBs, o seguinte evento será emitido: `The following PDBs failed to open: list-of-PDBs`.

1. Verifique suas novas configurações comparando-as com as configurações anteriores.

1. Retome a automação do RDS Custom das seguintes formas:
   + Retome a automação manualmente.
   + Aguarde o período de pausa terminar. Nesse caso, o RDS Custom retoma o monitoramento e a recuperação de instâncias automaticamente.

1. Verificar a framework de automação do RDS Custom

   Se você seguiu as etapas anteriores corretamente, o RDS Custom iniciará um backup automatizado. O status da instância no console mostra **Disponível**.

Para saber as práticas recomendadas e instruções detalhadas, consulte as publicações do blog AWS [Fazer alterações na configuração de uma instância do Amazon RDS Custom para Oracle: Parte 1](https://aws.amazon.com/blogs/database/part-1-make-configuration-changes-to-an-amazon-rds-custom-for-oracle-instance/) e [Recriar um banco de dados do Amazon RDS Custom para Oracle: Parte 2](https://aws.amazon.com/blogs/database/part-2-recreate-an-amazon-rds-custom-for-oracle-database/).

## Pausar e retomar sua instância de banco de dados do RDS Custom
<a name="custom-managing.pausing"></a>

Você pode pausar e retomar a sua instância de banco de dados usando o console ou a CLI. 

### Console
<a name="custom-managing.pausing.console"></a>

**Para pausar ou retomar a automação 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 **Databases** (Bancos de dados) e a instância de banco de dados do RDS Custom que você deseja modificar.

1. Selecione **Modify**. A página **Modify DB instance (Modificar instância de banco de dados)** será exibida.

1. Para **RDS Custom automation mode** (Modo de automação do RDS Custom), selecione uma das seguintes opções:
   + **Paused** (Pausado) pausa o monitoramento e a recuperação da instância de banco de dados do RDS Custom. Insira a duração da pausa que você deseja (em minutos) para **Automation mode duration** (Duração do modo de automação). O valor mínimo é 60 minutos (padrão). O valor máximo é 1.440 minutos.
   + **Full automation** (Automação total) retoma a automação.

1. Escolha **Continue** (Continuar) e verifique o resumo de modificações.

   Uma mensagem indica que o RDS Custom aplicará as alterações imediatamente.

1. Se estiverem corretas, escolha **Modify DB Instance** (Modificar instância de banco de dados). Ou escolha **Back (Voltar)** para editar as alterações ou **Cancel (Cancelar)** para cancelar as alterações.

   No console do RDS, são exibidos os detalhes da modificação. Se você pausou a automação, o **Status** da sua instância de banco de dados do RDS Custom indicará **Automation paused** (Automação pausada).

1. (Opcional) No painel de navegação, escolha **Databases** (Bancos de dados) e depois selecione sua instância de banco de dados do RDS Custom.

   No painel **Summary** (Resumo), **RDS Custom automation mode** (Modo de automação do RDS Custom) indica o status da automação. Se a automação estiver pausada, o valor será **Paused (Pausado). Automação retomada em *número* minutos**.

### AWS CLI
<a name="custom-managing.pausing.CLI"></a>

Para pausar ou retomar a automação do RDS Custom, utilize o comando `modify-db-instance` da AWS CLI. Identifique a instância de banco de dados utilizando o parâmetro obrigatório `--db-instance-identifier`. Controle o modo de automação com os parâmetros a seguir:
+ `--automation-mode` especifica o estado de pausa da instância de banco de dados. Os valores válidos são `all-paused`, que pausa a automação, e `full`, que retoma a automação.
+ `--resume-full-automation-mode-minutes` especifica a duração da pausa. O valor padrão são 60 minutos.

**nota**  
Independentemente de você especificar `--no-apply-immediately` ou `--apply-immediately`, o RDS Custom aplica modificações de maneira assíncrona logo que possível.

Na resposta do comando, `ResumeFullAutomationModeTime` indica o tempo de retomada como um carimbo de data/hora UTC. Quando o modo de automação é `all-paused`, é possível utilizar `modify-db-instance` para retomar o modo de automação ou estender o período de pausa. Nenhuma outra opção `modify-db-instance` tem suporte.

O exemplo a seguir pausa a automação de `my-custom-instance` por 90 minutos.

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

```
aws rds modify-db-instance \
    --db-instance-identifier my-custom-instance \
    --automation-mode all-paused \
    --resume-full-automation-mode-minutes 90
```
Para Windows:  

```
aws rds modify-db-instance ^
    --db-instance-identifier my-custom-instance ^
    --automation-mode all-paused ^
    --resume-full-automation-mode-minutes 90
```

O exemplo a seguir estende a duração da pausa por mais 30 minutos. Os 30 minutos são adicionados à hora original mostrada em `ResumeFullAutomationModeTime`.

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

```
aws rds modify-db-instance \
    --db-instance-identifier my-custom-instance \
    --automation-mode all-paused \
    --resume-full-automation-mode-minutes 30
```
Para Windows:  

```
aws rds modify-db-instance ^
    --db-instance-identifier my-custom-instance ^
    --automation-mode all-paused ^
    --resume-full-automation-mode-minutes 30
```

O exemplo a seguir retoma a automação completa de `my-custom-instance`.

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

```
aws rds modify-db-instance \
    --db-instance-identifier my-custom-instance \
    --automation-mode full \
```
Para Windows:  

```
aws rds modify-db-instance ^
    --db-instance-identifier my-custom-instance ^
    --automation-mode full
```
Na seguinte saída parcial da amostra, o valor pendente de `AutomationMode` é `full`.  

```
{
    "DBInstance": {
        "PubliclyAccessible": true,
        "MasterUsername": "admin",
        "MonitoringInterval": 0,
        "LicenseModel": "bring-your-own-license",
        "VpcSecurityGroups": [
            {
                "Status": "active",
                "VpcSecurityGroupId": "0123456789abcdefg"
            }
        ],
        "InstanceCreateTime": "2020-11-07T19:50:06.193Z",
        "CopyTagsToSnapshot": false,
        "OptionGroupMemberships": [
            {
                "Status": "in-sync",
                "OptionGroupName": "default:custom-oracle-ee-19"
            }
        ],
        "PendingModifiedValues": {
            "AutomationMode": "full"
        },
        "Engine": "custom-oracle-ee",
        "MultiAZ": false,
        "DBSecurityGroups": [],
        "DBParameterGroups": [
            {
                "DBParameterGroupName": "default.custom-oracle-ee-19",
                "ParameterApplyStatus": "in-sync"
            }
        ],
        ...
        "ReadReplicaDBInstanceIdentifiers": [],
        "AllocatedStorage": 250,
        "DBInstanceArn": "arn:aws:rds:us-west-2:012345678912:db:my-custom-instance",
        "BackupRetentionPeriod": 3,
        "DBName": "ORCL",
        "PreferredMaintenanceWindow": "fri:10:56-fri:11:26",
        "Endpoint": {
            "HostedZoneId": "ABCDEFGHIJKLMNO",
            "Port": 8200,
            "Address": "my-custom-instance.abcdefghijk.us-west-2.rds.amazonaws.com"
        },
        "DBInstanceStatus": "automation-paused",
        "IAMDatabaseAuthenticationEnabled": false,
        "AutomationMode": "all-paused",
        "EngineVersion": "19.my_cev1",
        "DeletionProtection": false,
        "AvailabilityZone": "us-west-2a",
        "DomainMemberships": [],
        "StorageType": "gp2",
        "DbiResourceId": "db-ABCDEFGHIJKLMNOPQRSTUVW",
        "ResumeFullAutomationModeTime": "2020-11-07T20:56:50.565Z",
        "KmsKeyId": "arn:aws:kms:us-west-2:012345678912:key/aa111a11-111a-11a1-1a11-1111a11a1a1a",
        "StorageEncrypted": false,
        "AssociatedRoles": [],
        "DBInstanceClass": "db.m5.xlarge",
        "DbInstancePort": 0,
        "DBInstanceIdentifier": "my-custom-instance",
        "TagList": []
    }
```