Gerenciar Atualizações de Arquivo de Fuso Horário no Autonomous Database

O Autonomous Database fornece várias opções para atualizar automaticamente arquivos de fuso horário em uma instância de banco de dados Autonomous Database.

Sobre Opções de Atualização de Arquivo de Fuso Horário

Para o suporte a fuso horário, o Oracle Database usa arquivos de fuso horário que armazenam a lista de todos os fusos horários. Os arquivos de fuso horário do Autonomous Database são atualizados periodicamente para refletir as alterações mais recentes específicas do fuso horário.

O Autonomous Database fornece as seguintes opções para atualizar arquivos de fuso horário:

  • AUTO_DST_UPGRADE: Atualiza automaticamente os arquivos de fuso horário e atualiza automaticamente os dados do banco de dados para usar os dados de fuso horário mais recentes. Esta opção requer que você reinicie ou interrompa e, em seguida, inicie sua instância do Autonomous Database.

  • AUTO_DST_UPGRADE_EXCL_DATA: Atualiza automaticamente os arquivos de fuso horário e não atualiza automaticamente os dados do banco de dados para usar os dados de fuso horário mais recentes. Os arquivos de fuso horário são atualizados para a versão mais recente quando você ativa essa opção e as versões são mantidas atualizadas com a versão mais recente. Esta opção não requer que você reinicie sua instância do Autonomous Database.

Observação

Por padrão, AUTO_DST_UPGRADE e AUTO_DST_UPGRADE_EXCL_DATA são desativados. É possível ativar uma ou outra dessas opções, mas não ambas.

Com cada versão do Horário de Verão (DST), há alterações de arquivo DST introduzidas para fazer com que os dados existentes estejam em conformidade com as regras de horário de verão mais recentes. A aplicação de uma alteração nos arquivos de fuso horário do banco de dados não só afeta a maneira como novos dados são tratados, mas potencialmente altera os dados armazenados nas colunas TIMESTAMP WITH TIME ZONE.

Quando uma operação de carregamento ou importação resulta no seguinte erro relacionado ao fuso horário, isso indica que a versão dos seus arquivos de fuso horário está desatualizada e você precisa atualizar para a versão mais recente disponível para o seu banco de dados:

ORA-39405: Oracle Data Pump does not support importing from a source database with TSTZ version y 
into a target database with TSTZ version n.

Você pode ativar o recurso AUTO_DST_UPGRADE que faz upgrade automaticamente de uma instância para usar a versão mais recente disponível dos arquivos de fuso horário e atualiza automaticamente as linhas do seu banco de dados para usar os dados de fuso horário mais recentes. A versão mais recente dos arquivos de fuso horário é aplicada e os valores nas colunas TIMESTAMP WITH TIME ZONE são atualizados na próxima reinicialização do banco de dados. No entanto, dependendo do uso do banco de dados, a reinicialização necessária do banco de dados poderá impedir que você use AUTO_DST_UPGRADE para fazer upgrade para os arquivos de fuso horário mais recentes.

Você pode ativar o AUTO_DST_UPGRADE_EXCL_DATA para atualizar seus arquivos de fuso horário. Esta opção permite que você atualize imediatamente seu banco de dados se encontrar erros de importação/exportação devido a uma incompatibilidade de versão dos arquivos de fuso horário (em que você recebe o erro ORA-3940).

A ativação do AUTO_DST_UPGRADE_EXCL_DATA no seu banco de dados pode ser benéfica nos seguintes casos:

  • Os dados na instância estão em UTC e o banco de dados não é afetado pelas atualizações do arquivo de fuso horário de horário de horário de verão.

  • A instância não tem dados nas colunas TIMESTAMP WITH TIME ZONE.

  • Os dados na instância usam datas que não são alteradas com novas políticas de fuso horário ou horário de verão.

Nesse caso, quando sua instância do Autonomous Database não contiver linhas que sejam impactadas negativamente pelas novas regras de fuso horário e você encontrar o erro ORA-3940, poderá ativar a opção AUTO_DST_UPGRADE_EXCL_DATA para atualizar para a versão mais recente dos arquivos de fuso horário. A opção AUTO_DST_UPGRADE_EXCL_DATA prioriza o sucesso dos jobs do Oracle Data Pump em relação aos problemas de consistência de dados devido à alteração do horário de verão.

Consulte o Documento 406410.1 do Oracle Support para ajudá-lo a determinar se as alterações de fuso horário afetarão seu banco de dados.

Observação

A Oracle recomenda ativar a opção AUTO_DST_UPGRADE quando esses casos de limitação não se aplicam ao seu banco de dados.

Em resumo, a opção de ativar upgrades automáticos de fuso horário com AUTO_DST_UPGRADE ou AUTO_DST_UPGRADE_EXCL_DATA envolve as seguintes considerações:

  • Possível Inconsistência de Dados: A Oracle recomenda que você mantenha seu banco de dados na versão mais recente do arquivo de fuso horário ativando AUTO_DST_UPGRADE. Esta opção atualiza automaticamente as linhas do banco de dados para usar os dados de fuso horário mais recentes.

    A opção alternativa, AUTO_DST_UPGRADE_EXCL_DATA, permite que você mantenha seu banco de dados usando a versão mais recente do fuso horário sem exigir uma reinicialização do banco de dados; no entanto, os dados que podem ser afetados pelos arquivos de fuso horário atualizados não são atualizados, o que pode levar a uma possível inconsistência de dados.

  • Reinicialização do Banco de Dados: A Oracle recomenda que você mantenha seu banco de dados na versão mais recente do arquivo de fuso horário ativando o AUTO_DST_UPGRADE. Esta opção requer uma reinicialização para fazer upgrade para a versão mais recente dos arquivos de fuso horário e, durante a reinicialização, atualiza as linhas do tipo de dados existente TIMESTAMP WITH TIME ZONE para usar a versão mais recente. A ativação do AUTO_DST_UPGRADE pode afetar o tempo de reinicialização do banco de dados. Uma reinicialização pode exigir tempo extra em comparação com uma reinicialização sem essa opção ativada quando houver novos arquivos de fuso horário e houver dados que precisam ser atualizados quando o banco de dados for reiniciado.

    Quando você ativa AUTO_DST_UPGRADE_EXCL_DATA, no momento em que você ativa essa opção, o banco de dados é atualizado para a versão mais recente, os arquivos de fuso horário e, durante cada janela de manutenção, se houver arquivos de fuso horário mais recentes disponíveis, o Autonomous Database atualizará o banco de dados para usar a versão mais recente. A ativação do AUTO_DST_UPGRADE_EXCL_DATA não exige que você reinicie sua instância do Autonomous Database para se manter atualizado com a versão mais recente dos arquivos de fuso horário.

Consulte Suporte a Tipos de Dados de Data/Hora e Fuso Horário para obter mais informações.

Usar a Opção de Arquivo de Fuso Horário AUTO_DST_UPGRADE

O Autonomous Database fornece a opção AUTO_DST_UPGRADE para atualizar automaticamente arquivos de fuso horário em uma instância de banco de dados Autonomous Database.

O recurso AUTO_DST_UPGRADE faz upgrade automaticamente dos arquivos de fuso horário e faz upgrade automaticamente das linhas do banco de dados para usar os dados de fuso horário mais recentes.

Observação

Por padrão, AUTO_DST_UPGRADE e AUTO_DST_UPGRADE_EXCL_DATA são desativados. É possível ativar uma ou outra das opções de atualização automática de arquivo de fuso horário, mas não ambas.

Quando você ativa o AUTO_DST_UPGRADE, sua instância do Autonomous Database aplica automaticamente atualizações para arquivos de fuso horário, dependendo do estado da instância:

  • Interrompido: Na próxima operação de início, a atualização será aplicada automaticamente.

  • Disponível: Após uma reinicialização ou uma interrupção e, em seguida, início, a atualização é aplicada automaticamente.

Quando uma operação de carregamento ou importação resulta no seguinte erro relacionado ao fuso horário, isso indica que seus arquivos de fuso horário estão desatualizados e você precisa atualizar para a versão mais recente disponível para o seu banco de dados:

ORA-39405: Oracle Data Pump does not support importing from a source database with TSTZ version n+1 
into a target database with TSTZ version n.

Para ativar atualizações automáticas de arquivo de fuso horário com AUTO_DST_UPGRADE:

  1. Ative o recurso AUTO_DST_UPGRADE.
    BEGIN 
       DBMS_CLOUD_ADMIN.ENABLE_FEATURE(
            feature_name => 'AUTO_DST_UPGRADE');
    END;
    /
  2. Consulte dba_cloud_config para verificar se o AUTO_DST_UPGRADE está ativado.
    SELECT param_name, param_value FROM dba_cloud_config WHERE
           LOWER(param_name) = 'auto_dst_upgrade';
    
    PARAM_NAME              PARAM_VALUE                              
    ----------------------- ---------------------------------------- 
    auto_dst_upgrade        enable                                   
  3. Consulte dba_cloud_config para verificar a versão do fuso horário.
    SELECT param_name, param_value FROM dba_cloud_config 
        WHERE LOWER(param_name) = 'latest_timezone_version';
    
    PARAM_NAME              PARAM_VALUE 
    ----------------------- ----------- 
    latest_timezone_version 38          

    Você pode consultar a exibição DB_NOTIFICATIONS para ver se a versão do fuso horário é a mais recente:

    SELECT type, time, description, expected_start_date FROM db_notifications 
       WHERE TYPE='TIMEZONE VERSION';

Quando o AUTO DST UPGRADE está ativado, o Autonomous Database faz upgrade para a versão mais recente dos arquivos de fuso horário (na próxima vez que você reiniciar ou interromper e, em seguida, iniciar o banco de dados). As colunas do banco de dados com o tipo de dados TIMESTAMP WITH TIME ZONE são convertidas na nova versão do fuso horário durante a reinicialização.

Para desativar o AUTO_DST_UPGRADE:

  1. Desative o recurso AUTO_DST_UPGRADE:
    BEGIN 
       DBMS_CLOUD_ADMIN.DISABLE_FEATURE(
            feature_name => 'AUTO_DST_UPGRADE');
    END;
    /
  2. Consulte dba_cloud_config para verificar se o AUTO_DST_UPGRADE está desativado.

    SELECT param_name, param_value FROM dba_cloud_config WHERE
           LOWER(param_name) = 'auto_dst_upgrade';
    
    0 rows selected.

Consulte ENABLE_FEATURE Procedure e DISABLE_FEATURE Procedure para obter mais informações.

Consulte TIMESTAMP WITH TIME ZONE Data Type para obter mais informações.

Usar a Opção de Arquivo de Fuso Horário AUTO_DST_UPGRADE_EXCL_DATA

O Autonomous Database fornece a opção AUTO_DST_UPGRADE_EXCL_DATA para atualizar automaticamente arquivos de fuso horário em uma instância de banco de dados Autonomous Database.

O AUTO_DST_UPGRADE_EXCL_DATA faz upgrade automático dos arquivos de fuso horário e não faz upgrade automático das linhas do banco de dados para usar os dados de fuso horário mais recentes. Quando esta opção está ativada, o banco de dados faz upgrade para a versão mais recente dos arquivos de fuso horário e, posteriormente, faz upgrade do banco de dados para usar novas versões dos arquivos de fuso horário durante a janela de manutenção do Autonomous Database (sempre que uma nova versão estiver disponível). Esta opção não requer que você reinicie sua instância do Autonomous Database.

Observação

Por padrão, AUTO_DST_UPGRADE e AUTO_DST_UPGRADE_EXCL_DATA são desativados. É possível ativar uma ou outra das opções de atualização automática de arquivo de fuso horário, mas não ambas.

Quando uma operação de carregamento ou importação resulta no seguinte erro relacionado ao fuso horário, isso indica que seus arquivos de fuso horário estão desatualizados e você precisa atualizar para a versão mais recente disponível para o seu banco de dados:

ORA-39405: Oracle Data Pump does not support importing from a source database with TSTZ version n+1 
into a target database with TSTZ version n.

Para ativar atualizações automáticas de arquivo de fuso horário com AUTO_DST_UPGRADE_EXCL_DATA:

  1. Ative o recurso AUTO_DST_UPGRADE_EXCL_DATA.
    BEGIN 
       DBMS_CLOUD_ADMIN.ENABLE_FEATURE(
            feature_name => 'AUTO_DST_UPGRADE_EXCL_DATA');
    END;
    /
  2. Consulte dba_cloud_config para verificar se o AUTO_DST_UPGRADE_EXCL_DATA está ativado.
    SELECT param_name, param_value FROM dba_cloud_config WHERE
           LOWER(param_name) = 'auto_dst_upgrade_excl_data';
    
    PARAM_NAME                   PARAM_VALUE                              
    ---------------------------- ---------------------------------------- 
    auto_dst_upgrade_excl_data    enabled                                   
  3. Consulte dba_cloud_config para verificar a versão do fuso horário.
    SELECT param_name, param_value FROM dba_cloud_config 
        WHERE LOWER(param_name) = 'latest_timezone_version';
    
    PARAM_NAME              PARAM_VALUE 
    ----------------------- ----------- 
    latest_timezone_version 38          

    Você pode consultar a exibição DB_NOTIFICATIONS para ver se a versão do fuso horário é a mais recente:

    SELECT type, time, description, expected_start_date FROM db_notifications 
       WHERE TYPE='TIMEZONE VERSION';

Quando a opção AUTO_DST_UPGRADE_EXCL_DATA está ativada, o Autonomous Database faz upgrade para a versão mais recente dos arquivos de fuso horário e verifica e atualiza para novas versões de arquivo de fuso horário durante cada janela de manutenção programada. Com a opção AUTO_DST_UPGRADE_EXCL_DATA ativada, as colunas do banco de dados com o tipo de dados TIMESTAMP WITH TIME ZONE não são convertidas na nova versão de fuso horário.

Para desativar o AUTO_DST_UPGRADE_EXCL_DATA:

  1. Desative o recurso AUTO_DST_UPGRADE_EXCL_DATA:
    BEGIN 
       DBMS_CLOUD_ADMIN.DISABLE_FEATURE(
            feature_name => 'AUTO_DST_UPGRADE_EXCL_DATA');
    END;
    /
  2. Consulte dba_cloud_config para verificar se o AUTO_DST_UPGRADE_EXCL_DATA está desativado.

    SELECT param_name, param_value FROM dba_cloud_config WHERE
           LOWER(param_name) = 'auto_dst_upgrade_excl_data';
    
    0 rows selected.

Consulte ENABLE_FEATURE Procedure e DISABLE_FEATURE Procedure para obter mais informações.

Consulte TIMESTAMP WITH TIME ZONE Data Type para obter mais informações.