Características do Oracle Database no Autonomous AI Database na Infraestrutura Dedicada do Exadata

Este artigo fornece informações sobre o uso de recursos e opções do Oracle AI Database no Autonomous AI Database on Dedicated Exadata Infrastructure.

Para obter informações equivalentes em implantações do Autonomous AI Database Serverless, consulte Autonomous AI Database para Usuários de Banco de Dados Experientes.

Você pode provisionar um Autonomous AI Database com o Oracle Database 19c ou o Oracle AI Database 26ai, dependendo da versão de software de banco de dados de seu Autonomous Container Database (ACD) principal. Por exemplo, para criar um Autonomous AI Database com o Oracle AI Database 26ai, você deve escolher um ACD cuja versão do software de banco de dados Oracle seja 26ai. Para obter uma lista abrangente de recursos de banco de dados suportados por cada uma dessas versões, consulte Oracle Database 26ai ou Oracle Database 19c no Oracle Help Center.

O Autonomous AI Database configura e otimiza seu banco de dados para você. Não é necessário executar operações de administração para configurar o banco de dados. Os comandos SQL usados exclusivamente para administração de banco de dados não estão disponíveis neste serviço. Da mesma forma, outras interfaces e utilitários administrativos, como RMAN, não estão disponíveis.

Vamos discutir como alguns dos principais recursos do banco de dados do sistema Oracle são tratados em um Autonomous AI Database:

  • Tablespaces de dados e temporários: Os tablespaces de dados padrão e os temporários do banco de dados são configurados automaticamente. O nome do tablespace de dados padrão é DATA.
  • Conjunto de caracteres do banco de dados: O conjunto de caracteres do banco de dados é Unicode AL32UTF8.
  • criptografia de dados armazenados: Os dados armazenados são criptografados usando o algoritmo AES256 (chave de criptografia Advanced Encryption Standard 256 bits).

    Observação:

    Os Autonomous AI Databases criados antes de setembro de 2021 usam o algoritmo AES128 por padrão.
    Se necessário, você pode alterar o algoritmo de criptografia de um tablespace usando o comando ALTER TABLESPACE. Por exemplo, para alterar o algoritmo de criptografia do tablespace DATA para AES256, informe:
    ALTER TABLESPACE data ENCRYPTION ONLINE USING 'AES256' REKEY;
  • Compressão de dados: Para cargas de trabalho do serviço Autonomous AI Transaction Processing, a compactação não é ativada por padrão. Para workloads do Autonomous AI Lakehouse, a compactação colunar híbrida é ativada por padrão para todas as tabelas.

    Para ativar ou desativar a compactação ou especificar diferentes métodos de compactação para suas tabelas usando a cláusula table_compression no comando CREATE TABLE ou ALTER TABLE.

  • Acesso ao banco de dados: Você não tem acesso direto ao nó do banco de dados ou ao sistema de arquivos local e aos tablespaces SYSTEM ou SYSAUX.
  • Executação paralela: Por padrão, a execução paralela (paralelismo em uma instrução SQL) não está ativada para as cargas de Trabalho do Autonomous AI Transaction Processing. No entanto, para as cargas de trabalho Autonomous AI Lakehouse, a execução paralela é ativada por padrão e o grau de paralelismo para instruções SQL é definido com base no número de CPUs no sistema e no serviço do banco de Dados que você usa ao se conectar ao banco de Dados.
    • Você pode modificar o grau de paralelismo de uma tabela ou de um índice usando parallel_clause ou usando uma dica. Por exemplo, você pode desativar a DML paralela na sua sessão usando o seguinte comando SQL:
      ALTER SESSION DISABLE PARALLEL DML;

      Para obter mais informações sobre operações DML paralelas, consulte o Oracle Database 19c VLDB and Partitioning Guide ou o Oracle Database 26ai VLDB and Partitioning Guide

    • Se você criar um índice manualmente e especificar parallel_clause, o atributo paralelo permanecerá após a criação do índice. Nesse caso, as instruções SQL podem ser executadas em paralelo e ser desconhecidas para o usuário final. Altere o valor parallel_clause para NOPARALLEL ou defina o atributo PARALLEL como 1 para especificar a execução serial:
       ALTER INDEX index_name NOPARALLEL;

      ou

       ALTER INDEX index_name PARALLEL 1; 

Mais Recentes Recursos do Autonomous AI Database

O Autonomous AI Database inclui os recursos mais recentes de Oracle Database.

O Autonomous AI Database inclui recursos que:

  • Automatizam tarefas de gerenciamento de índices, como criar, reconstruir e eliminar índices com base em alterações na carga de trabalho do aplicativo. Consulte Managing Auto Indexes no Oracle Database 19c Administrator's Guide ou Oracle Database 26ai Administrator's Guide para mais informações.

  • Reúnem estatísticas em tempo real automaticamente enquanto uma carga de trabalho DML convencional está em execução. Como as estatísticas podem ficar obsoletas entre jobs DBMS_STATS, a coleta de estatísticas on-line para DML convencional ajuda o otimizador a gerar planos melhores. As estatísticas on-line visam reduzir a possibilidade de o otimizador ser enganado por estatísticas obsoletas. É possível gerenciar e acessar estatísticas para DML convencional por meio de pacotes PL/SQL, views de dicionário de dados e dicas. Consulte Real-Time Statistics no Oracle Database 19c SQL Tuning Guide ou Oracle Database 26ai SQL Tuning Guide para mais informações.

  • Reúnem estatísticas automaticamente com mais frequência. A coleta de estatísticas do otimizador automático de alta frequência complementa o job de coleta de estatísticas padrão. Por padrão, a coleta ocorre a cada 15 minutos, o que significa que as estatísticas têm menos tempo para ficarem desatualizadas. Para obter mais informações, consulte Configuring High-Frequency Automatic Optimizer Statistics Collection no Oracle Database 19c SQL Tuning Guide ou Oracle Database 26ai SQL Tuning Guide.

  • Colocam os planos de execução em quarentena para instruções SQL que são encerradas pelo Resource Manager por consumir em excesso recursos do sistema em um banco de dados Oracle. Você pode configurar definições de quarentena para uma instrução SQL especificando limites em seu consumo de recursos usando procedimentos no pacote DBMS_SQLQ. Quando a instrução SQL cruza qualquer um desses limites de consumo de recursos, ela é encerrada e o plano de execução é colocado em quarentena. Dessa forma, o banco de dados impede que instruções SQL com alto consumo de recurso sejam executadas repetidamente. Consulte Quarentine for Execution Plans for SQL Statements Consuming Excessive System Resources no Oracle Database 19c Administrator's Guide ou Oracle Database 26ai Administrator's Guide para mais informações.

  • Otimize inserções de linha única de alta frequência para aplicativos, como aplicativos da Internet das Coisas (IoT). Consulte Enabling High Performance Data Streaming With the Memoptimized Rowstore no Oracle Database 19c Performance Tuning Guide ou no Oracle Database 26ai Performance Tuning Guide.

O Usuário ADMIN e o Usuário SYS

No Oracle Autonomous AI Database on Dedicated Exadata Infrastructure, o usuário administrativo predefinido é ADMIN. No Oracle Database, o usuário administrativo predefinido é SYS. Embora esses dois usuários tenham a mesma finalidade em seus respectivos bancos de dados, eles não são iguais e não têm o mesmo conjunto de privilégios.

Como o Oracle Autonomous AI Database on Dedicated Exadata Infrastructure impõe controles de segurança e executa tarefas administrativas do banco de Dados para você, o usuário ADMIN não tem tantos privilégios quanto o usuário SYS. Esta é uma lista dos privilégios que o usuário ADMIN não tem, mas que o usuário SYS de um Oracle Database não tem:

ALTER LOCKDOWN PROFILE
BACKUP ANY TABLE
BECOME USER
CREATE ANY JOB
CREATE ANY LIBRARY
CREATE LIBRARY
CREATE LOCKDOWN PROFILE
CREATE PLUGGABLE DATABASE
DEQUEUE ANY QUEUE
DROP LOCKDOWN PROFILE
EM EXPRESS CONNECT
ENQUEUE ANY QUEUE
EXPORT FULL DATABASE
FLASHBACK ANY TABLE
FLASHBACK ARCHIVE ADMINISTER
GRANT ANY PRIVILEGE
GRANT ANY ROLE
IMPORT FULL DATABASE
INHERIT ANY PRIVILEGES
LOGMINING
MANAGE ANY FILE GROUP
MANAGE ANY QUEUE
MANAGE FILE GROUP
USE ANY JOB RESOURCE
USE ANY SQL TRANSLATION PROFILE

Todos os privilégios de sistema com a palavra-chave ANY (como SELECT ANY TABLE, CREATE ANY PROCEDURE) respeitam o bloqueio COMMON_SCHEMA_ACCESS, e um usuário ADMIN não pode usá-lo nos esquemas de usuário Comuns.

Diferentemente dos bancos de dados Oracle on-premises, em que a senha ANY se aplica a todos os usuários, exceto SYS, o privilégio ANY só funciona contra Usuários não Comuns no Autonomous AI Database.

Dica:

Para localizar uma lista de usuários comuns, você pode executar a seguinte consulta como um usuário ADMIN:
select username 
from dba_users 
where common ='YES' 
order by username;

Dica:

Para exibir uma lista de privilégios que podem ser usados com a palavra-chave ANY, execute a seguinte consulta como um usuário ADMIN:
select distinct(privilege)
from dba_sys_privs 
where grantee like 'ADMIN' and privilege like '%ANY%' 
order by privilege;

Parâmetros de Inicialização do Banco de Dados

O Autonomous AI Database configura automaticamente os parâmetros da inicialização de um banco de Dados quando você provisiona um banco de Dados. Não é necessário definir nenhum parâmetro de inicialização para começar a usar seu serviço. No entanto, você pode modificar alguns parâmetros se precisar.

Lista de Parâmetros de Inicialização que podem ser Modificados

Observação:

Clique em um parâmetro de inicialização na lista a seguir para saber mais sobre ele. Para obter mais informações sobre os parâmetros que não podem ser clicados abaixo, consulte Oracle Database 19c Reference ou Oracle Database 26ai Reference.
ALLOW_ROWID_COLUMN_TYPE
APPROX_FOR_AGGREGATION
APPROX_FOR_COUNT_DISTINCT
APPROX_FOR_PERCENTILE
AWR_PDB_AUTOFLUSH_ENABLED
CONTAINER_DATA
CURRENT_SCHEMA (Session only by using ALTER SESSION)
CURSOR_SHARING
DB_BLOCK_CHECKING
DDL_LOCK_TIMEOUT
FIXED_DATE
GLOBAL_NAMES
HEAT_MAP
IGNORE_SESSION_SET_PARAM_ERRORS
INMEMORY_OPTIMIZED_ARITHMETIC (Allowed only with ALTER SYSTEM)
INMEMORY_QUERY (Allowed with ALTER SYSTEM and ALTER SESSION)
JOB_QUEUE_PROCESSES (You can only lower its value or bring it back to the original value)
LDAP_DIRECTORY_ACCESS
MAX_IDLE_TIME
NLS_CALENDAR
NLS_COMP
NLS_CURRENCY
NLS_DATE_FORMAT
NLS_DATE_LANGUAGE
NLS_DUAL_CURRENCY
NLS_ISO_CURRENCY
NLS_LANGUAGE
NLS_LENGTH_SEMANTICS
NLS_NCHAR_CONV_EXCP
NLS_NUMERIC_CHARACTERS
NLS_SORT
NLS_TERRITORY
NLS_TIME_FORMAT
NLS_TIME_TZ_FORMAT
NLS_TIMESTAMP_FORMAT
NLS_TIMESTAMP_TZ_FORMAT
OPEN_CURSORS (Allowed range of values are 1000 to 4000)
OPEN_LINKS (You must set SCOPE=SPFILE and restart the Autonomous Database after modifying this parameter)
OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES (Session only by using ALTER SESSION)
OPTIMIZER_IGNORE_HINTS
OPTIMIZER_IGNORE_PARALLEL_HINTS
OPTIMIZER_INMEMORY_AWARE (Allowed with ALTER SYSTEM and ALTER SESSION)
OPTIMIZER_MODE
PARALLEL_MIN_DEGREE
PARALLEL_DEGREE_LIMIT
PLSCOPE_SETTINGS
PLSQL_CCFLAGS
PLSQL_DEBUG
PLSQL_OPTIMIZE_LEVEL
PLSQL_WARNINGS
QUERY_REWRITE_INTEGRITY
RECYCLEBIN
RESULT_CACHE_MODE
SESSION_EXIT_ON_PACKAGE_STATE_ERROR
SQL_TRACE (Allowed only with ALTER SESSION)
STATISTICS_LEVEL (Session only by using ALTER SESSION)
SYSDATE_AT_DBTIMEZONE Select a Time Zone for SYSDATE on Autonomous AI Database
TIME_ZONE
UNDO_RETENTION (min=300 and max=86400)

SYSDATE_AT_DBTIMEZONE Selecionar um Fuso Horário para SYSDATE no Autonomous AI Database

SYSDATE_AT_DBTIMEZONE ativa o tratamento especial em uma sessão para o valor de data e hora retornado nas chamadas para SYSDATE e SYSTIMESTAMP.

Dependendo do valor de SYSDATE_AT_DBTIMEZONE, você verá a data e a hora com base no fuso horário padrão do Autonomous AI Database, no Horário Universal Coordenado (UTC) ou no fuso horário definido no seu banco de dados.

Property Descrição
Tipo de parâmetro Booliano
Valor padrão FALSE
Modificável ALTER SESSION, ALTER SYSTEM
Faixa de valores TRUE | FALSE

Fuso Horário Padrão do Autonomous AI Database

O fuso horário padrão do Autonomous AI Database é UTC (Coordinated Universal Time ) e, por padrão, as chamadas para SYSDATE e SYSTIMESTAMP retornam a data e a hora em UTC.

Para alterar o fuso horário do banco de dados, você pode executar a instrução a seguir.

Este exemplo define o fuso horário do banco de dados como UTC-5.

ALTER DATABASE SET TIME_ZONE='-05:00';

Este exemplo define o fuso horário do banco de dados para a costa leste dos EUA: America/New_York e a hora é ajustada automaticamente nos switches de horário de verão:

ALTER DATABASE SET TIME_ZONE='America/New_York';

Observação:

Reinicie a instância do Autonomous AI Database para que a alteração entre em vigor.

Após a definição do fuso horário do banco de dados, por padrão, SYSDATE e SYSTIMESTAMP continuam a retornar a data e hora no UTC (SYSDATE_AT_DBTIMEZONE é FALSE por padrão). Se você definir SYSDATE_AT_DBTIMEZONE como TRUE em uma sessão, SYSDATE e SYSTIMESTAMP retornarão o fuso horário do banco de dados.

Consulte Definindo o Fuso Horário do Banco de Dados em Oracle Database 19c ou Oracle Database 26ai para obter mais informações sobre como usar a cláusula SET TIME_ZONE com ALTER DATABASE.

Usando SYSDATE_AT_DBTIMEZONE em uma Sessão

Quando SYSDATE_AT_DBTIMEZONE é FALSE em uma sessão, as chamadas para SYSDATE e SYSTIMESTAMP retornam valores com base no fuso horário padrão do Autonomous AI Database, Horário Universal Coordenado (UTC).

Quando SYSDATE_AT_DBTIMEZONE é TRUE em uma sessão, as chamadas para SYSDATE ou SYSTIMESTAMP retornam a data e hora com base no fuso horário do banco de dados.

Observação:

A definição de SYSDATE_AT_DBTIMEZONE como TRUE só afeta o uso de SYSDATE e SYSTIMESTAMP como operadores em SQL de aplicativo (por exemplo, nas operações de consultas, DML e CTAS). Ao usar esse parâmetro, é recomendável que o fuso horário do cliente/sessão corresponda ao fuso horário do banco de dados.

Exemplo

O seguinte exemplo retorna datas e horas para dois fusos horários distintos, com base no valor do parâmetro SYSDATE_AT_DBTIMEZONE:

SQL> SELECT DBTIMEZONE FROM DUAL;

DBTIMEZONE
_____________
-05:00

SQL> ALTER SESSION SET SYSDATE_AT_DBTIMEZONE=FALSE;

Session altered.

SQL> SELECT SYSTIMESTAMP FROM DUAL;

SYSTIMESTAMP
______________________________________
27-JAN-22 06.59.45.708082000 PM GMT

SQL> ALTER SESSION SET SYSDATE_AT_DBTIMEZONE=TRUE;

Session altered.

SQL> SELECT SYSTIMESTAMP FROM DUAL;

SYSTIMESTAMP
_________________________________________
27-JAN-22 02.14.47.578946000 PM -05:00 

Observação:

Quando uma consulta SYSDATE ou SYSTIMESTAMP é executada na Planilha SQL do Database Actions, o valor de data e hora retornado fica no UTC (quando o parâmetro SYSDATE_AT_DBTIMEZONE é definido como TRUE ou FALSE). Para obter o fuso horário do banco de dados ao trabalhar no Database Actions, use TO_CHAR() da seguinte forma:

SQL> SELECT TO_CHAR(SYSTIMESTAMP,'YYYY-MM-DD"T"HH24:MI:SS TZH":"TZM') FROM DUAL;

TO_CHAR(SYSTIMESTAMP,'YYYY-MM-DD"T"HH24:MI:SSTZH":"TZM')
___________________________________________________________
2022-01-27T14:15:00 -05:00