Recursos do Oracle Database no Autonomous Database on Dedicated Exadata Infrastructure
Este artigo fornece informações sobre o uso de recursos e opções do Oracle Database no Autonomous Database on Dedicated Exadata Infrastructure.
Para obter informações equivalentes em implantações do Autonomous Database Serverless, consulte Autonomous Database para Usuários Experientes do Banco de Dados.
Você pode provisionar um Autonomous Database com o Oracle Database 19c ou o Oracle Database 23ai, dependendo da versão do software de banco de dados do Autonomous Container Database (ACD) pai. Por exemplo, para criar um Autonomous Database com o Oracle Database 23ai, escolha um ACD cuja versão do software de banco de dados Oracle seja 23ai. Para obter uma lista abrangente de recursos de banco de dados suportados por cada uma dessas versões de banco de dados, consulte Oracle Database 23ai ou Oracle Database 19c no Oracle Help Center.
O Autonomous 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 Oracle são tratados em um Autonomous 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 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 comandoALTER TABLESPACE
. Por exemplo, para alterar o algoritmo de criptografia do tablespace DATA para AES256, informe:ALTER TABLESPACE data ENCRYPTION ONLINE USING 'AES256' REKEY;
- Compactação de dados: Para cargas de trabalho do Autonomous Transaction Processing, a compactação não é ativada por padrão. Para cargas de trabalho do Autonomous Data Warehouse, 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 comandoCREATE TABLE
ouALTER 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.
- Execução paralela: Por padrão, a execução paralela (paralelismo em uma instrução SQL) não é ativada para as cargas de trabalho do Autonomous Transaction Processing. No entanto, para as cargas de trabalho do Autonomous Data Warehouse, 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 de banco de dados que você usa ao estabelecer conexão com o 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;
Consulte o Oracle Database 19c VLDB and Partitioning Guide ou o Oracle Database 23ai VLDB and Partitioning Guide para obter mais informações sobre operações de DML paralelas.
- 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;
- Você pode modificar o grau de paralelismo de uma tabela ou de um índice usando
Recursos Mais Recentes do Autonomous Database
O Autonomous Database inclui as funcionalidades mais recentes do Oracle Database.
O Autonomous 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 23ai Administrator's Guide para obter 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 23ai SQL Tuning Guide para obter 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. Consulte Configurando a Coleta de Estatísticas do Otimizador Automático de Alta Frequência no Guia de Ajuste SQL do Oracle Database 19c ou no Guia de Ajuste SQL do Oracle Database 23ai para obter mais informações.
-
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 Quarantine for Execution Plan for SQL Statements Consuming Excessive System Resources no Oracle Database 19c Administrator's Guide ou no Oracle Database 23ai Administrator's Guide para obter mais informações. - Otimize inserções de linha única de alta frequência para aplicativos, como aplicativos da Internet das Coisas (IoT). Consulte Ativando o Streaming de Dados de Alto Desempenho com o Armazenamento de Linhas Memoptimizado no Guia de Ajuste de Desempenho do Oracle Database 19c ou Guia de Ajuste de Desempenho do Oracle Database 23ai.
O Usuário ADMIN e o Usuário SYS
No Oracle Autonomous 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 Database on Dedicated Exadata Infrastructure impõe controles de segurança e executa tarefas administrativas de banco de dados para você, o usuário ADMIN não tem muitos privilégios como o usuário SYS. Veja a seguir uma lista dos privilégios que o usuário ADMIN não tem, mas que o usuário SYS tem em um Oracle Database:
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 do banco de dados Oracle local, em que a palavra-chave ANY se aplica a todos os usuários, exceto SYS, o privilégio ANY só funciona para Usuários não Comuns no Autonomous 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 Database configura os parâmetros de inicialização do banco de dados automaticamente 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 os parâmetros que não podem ser clicados abaixo, consulte Oracle Database 19c Reference ou Oracle Database 23ai Reference para obter mais informações.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 Database
TIME_ZONE
UNDO_RETENTION (min=300 and max=86400)
SYSDATE_AT_DBTIMEZONE Selecione um Fuso Horário para SYSDATE no Autonomous 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 Database, no Horário Universal Coordenado (UTC) ou com base 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 Database
O fuso horário padrão do Autonomous Database é o Horário Universal Coordenado (UTC) 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. Esse exemplo define o fuso horário do banco de dados como UTC-5
.
ALTER DATABASE SET TIME_ZONE='-05:00';
Observação:
Reinicie a instância do Autonomous Database para que a alteração tenha efeito.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 no Oracle Database 19c ou Definindo o Fuso Horário do Banco de Dados no Oracle Database 23ai 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 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 deSYSDATE_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