Gerenciar Atualizações do 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 do Autonomous Database.

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

Para suporte de 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 específicas de fuso horário mais recentes.

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 em seu banco de dados para usar os dados de fuso horário mais recentes. Essa opção requer que você reinicie ou interrompa e, em seguida, inicie sua instância do Autonomous Database.

  • AUTO_DST_UPGRADE_EXCL_DATA: Faz upgrade automático dos arquivos de fuso horário e não atualiza automaticamente os dados do seu 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. Essa opção não exige 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. Você pode 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 no arquivo de horário de verão introduzidas para fazer com que os dados existentes cumpram 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 os novos dados são tratados, como também altera potencialmente 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 arquivos de fuso horário está desatualizada e você precisa atualizar para a versão mais recente disponível para 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 em 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á impedi-lo de usar AUTO_DST_UPGRADE para fazer upgrade para os arquivos de fuso horário mais recentes.

Você pode ativar 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 (onde 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 da instância estão em UTC e o banco de dados não é afetado pelas atualizações do arquivo de fuso 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 afetadas 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 de 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 do Oracle Support 406410.1 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. Essa 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 de fuso horário mais recente 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 o banco de dados na versão mais recente do arquivo de fuso horário ativando AUTO_DST_UPGRADE. Essa 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 dos dados existentes do tipo de dados TIMESTAMP WITH TIME ZONE para usar a versão mais recente. A ativação de 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 há novos arquivos de fuso horário e há dados que precisam ser atualizados quando o banco de dados é reiniciado.

    Quando você ativa AUTO_DST_UPGRADE_EXCL_DATA, no momento em que ativa essa opção, o banco de dados é submetido a upgrade para a versão mais recente dos 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 de 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 Tipos de Dados de Data/Hora e Suporte a Fuso Horário para obter mais informações.

Usar 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 do 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. Você pode ativar uma ou outra das opções de atualização automática do 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:

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

  • Disponível: Após uma reinicialização ou uma interrupção e, em seguida, iniciar, 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 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 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 view DB_NOTIFICATIONS para ver se a versão do fuso horário é a versão mais recente:

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

Quando 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 reinicialização ou interrupção e, em seguida, inicia 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 de fuso horário durante o reinício.

Para desativar 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 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 Procedimento e DISABLE_FEATURE Procedimento para obter mais informações.

Para obter mais informações, consulte Tipo de Dados TIMESTAMP WITH TIME ZONE.

Usar 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 do banco de dados Autonomous Database.

O AUTO_DST_UPGRADE_EXCL_DATA atualiza automaticamente os arquivos de fuso horário e não atualiza automaticamente as linhas no banco de dados para usar os dados de fuso horário mais recentes. Quando essa 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). Essa opção não exige 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. Você pode ativar uma ou outra das opções de atualização automática do 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 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 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 view DB_NOTIFICATIONS para ver se a versão do fuso horário é a versão mais recente:

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

Quando AUTO_DST_UPGRADE_EXCL_DATA está ativado, o Autonomous Database faz upgrade para a versão mais recente dos arquivos de fuso horário e verifica e atualiza as novas versões do arquivo de fuso horário durante cada janela de manutenção programada. Com AUTO_DST_UPGRADE_EXCL_DATA ativado, 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 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 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 Procedimento e DISABLE_FEATURE Procedimento para obter mais informações.

Para obter mais informações, consulte Tipo de Dados TIMESTAMP WITH TIME ZONE.