Usar Tabelas da Nuvem para Armazenar Informações de Log e Diagnóstico
Você pode criar Tabelas na Nuvem nas quais os dados da tabela residem no Armazenamento na Nuvem gerenciado pela Oracle e os dados da tabela não consomem o armazenamento do banco de dados.
- Sobre Tabelas na Nuvem
Você pode criar Tabelas na Nuvem como uma alternativa complementar às tabelas no banco de dados. Todos os dados da Tabela em Nuvem são armazenados no Armazenamento de Objetos gerenciado pela Oracle. O Object Storage gerenciado pela Oracle é um armazenamento externo, fora do banco de dados, que o Autonomous Database cria e gerencia. - Criar Tabelas na Nuvem
Mostra as etapas para criar uma Tabela na Nuvem no Autonomous Database. - Notas da Tabela da Nuvem
Fornece observações para Tabelas da Nuvem:
Tópico principal: Desenvolver
Sobre Tabelas de Nuvem
Você pode criar Tabelas em Nuvem como uma alternativa complementar às tabelas no banco de dados. Todos os dados da Tabela em Nuvem são armazenados no Armazenamento de Objetos gerenciado pela Oracle. O Object Storage gerenciado pela Oracle é um armazenamento externo, fora do banco de dados, que o Autonomous Database cria e gerencia.
Você pode usar Tabelas na Nuvem para armazenar dados de log de aplicativos não usados com frequência, informações de diagnóstico ou para armazenar outros dados. Em alguns aplicativos existentes que não são executados no Autonomous Database, você pode armazenar esse tipo de informação em arquivos em um sistema de arquivos local (por exemplo, usando APIs UTL_FILE
). Tais mecanismos de log e os arquivos associados podem ser muito úteis quando você precisa diagnosticar e resolver erros de aplicativo. No entanto, o armazenamento de informações em tabelas de banco de dados pode usar grandes quantidades de armazenamento de banco de dados para dados que não são usados com frequência. Usando Tabelas em Nuvem, os dados persistentes são salvos no Object Storage gerenciado pela Oracle, sem consumir o armazenamento do banco de dados.
Restrições SELECT e DML para Tabelas de Nuvem
As Tabelas de Nuvem funcionam como tabelas de banco de dados comuns com algumas restrições. Você pode usar SELECT e DML, instruções de manipulação de dados, com as seguintes exceções:
- As instruções
MERGE
não são suportadas. - As colunas
LOB
estão limitadas a 10 MB de dados. - O controle de simultaneidade de DML é diferente e, portanto:
LOCK TABLE
não pode impedir o DML concorrente, como faz para uma tabela de banco de dados.INSERT
não adquire um bloqueio na tabela e, portanto, INSERT nunca é bloqueado por operações DML simultâneas.- As operações
UPDATE
eDELETE
adquirem um bloqueio exclusivo em uma Tabela da Nuvem. Portanto, as transaçõesUPDATE
ouDELETE
bloqueiam operações simultâneasUPDATE
ouDELETE
em uma Tabela da Nuvem.
- Somente constraints NOT NULL são impostas.
- O DML é permitido em um Autonomous Database de Leitura/Gravação, como é para qualquer outra tabela; as Tabelas em Nuvem também permitem operações DML em um Clone Atualizável.
As Tabelas da Nuvem não suportam o seguinte:
- Índices
- Colunas invisíveis
- Colunas virtuais
- Acionadores DML
- Mais de 996 colunas
- Colunas de tipo de dados booleanos
Operações de Gerenciamento do Ciclo de Vida e Tabelas da Nuvem
Os dados da Tabela em Nuvem são armazenados no Armazenamento de Objetos gerenciado pela Oracle. Isso significa que determinadas operações no Autonomous Database lidam com Tabelas na Nuvem de maneira diferente das tabelas no banco de dados, da seguinte forma:
-
Os dados da Tabela da Nuvem são excluídos do backup e da recuperação de uma instância do Autonomous Database (os dados não são submetidos a backup e você não pode restaurar os dados da Tabela da Nuvem).
-
Os Dados da Tabela da Nuvem são protegidos por meio do Object Storage gerenciado pela Oracle.
-
As operações de gerenciamento do ciclo de vida que afetam o estado de uma instância do Autonomous Database não têm impacto nos dados armazenados nas Tabelas da Nuvem.
A nomenclatura de Tabela na Nuvem no Object Storage é definida exclusivamente para cada instância do Autonomous Database, com base em seu OCID. Isso significa que qualquer operação que altere ou introduza um novo OCID para um banco de dados existente tem um impacto nas Tabelas em Nuvem. Veja a seguir uma ilustração do impacto das operações do ciclo de vida nos dados da Tabela Cloud.
Operação do Ciclo de Vida | Disponibilidade de Dados da Tabela da Nuvem |
---|---|
O mesmo clone do banco de dados da região | A Tabela da Nuvem é clonada sem dados da Tabela da Nuvem |
Clone de banco de dados entre regiões | A Tabela da Nuvem é clonada sem dados da Tabela da Nuvem |
Stand-by do Autonomous Data Guard na mesma região (local) | Os dados da Tabela da Nuvem e da Tabela da Nuvem estão acessíveis |
Stand-by do Autonomous Data Guard entre regiões | A Tabela da Nuvem está disponível no stand-by, sem os dados da Tabela da Nuvem |
Mesmo par de Recuperação de Desastre Baseada em Backup (local) da região | Os dados da Tabela da Nuvem e da Tabela da Nuvem estão acessíveis |
Par de Recuperação de Desastre Baseada em Backup entre Regiões | A Tabela da Nuvem está disponível no stand-by, sem dados da Tabela da Nuvem |
Operações de gerenciamento do ciclo de vida que afetam o SCN/timestamp de uma instância do Autonomous Database, incluindo:
|
A Tabela da Nuvem continuará a ser atualizada e o estado antigo dos dados da Tabela da Nuvem não será preservado ou restaurado. Isso significa que apenas os dados atuais da Tabela da Nuvem estão disponíveis. |
Operações do Lifecycle Management, incluindo:
|
Sem impacto nas Tabelas da Nuvem ou nos dados da Tabela da Nuvem |
Tópico principal: Usar Tabelas da Nuvem para Armazenar Informações de Log e Diagnóstico
Criar Tabelas da Nuvem
Mostra as etapas para criar uma Tabela da Nuvem no Autonomous Database.
Para criar uma Tabela da Nuvem:
Use DROP TABLE
quando quiser eliminar uma Tabela da Nuvem.
Por exemplo:
DROP TABLE CLOUD_TABLE_TEST;
As Tabelas da Nuvem não suportam a lixeira.
Consulte Notas da Tabela da Nuvem para obter informações adicionais.
Tópico principal: Usar Tabelas da Nuvem para Armazenar Informações de Log e Diagnóstico
Observações da Tabela da Nuvem
Fornece observações para Tabelas da Nuvem:
-
Você pode conceder privilégios
SELECT
,INSERT
eUPDATE
para uma Tabela da Nuvem. Nenhum outro privilégio pode ser concedido a uma Tabela da Nuvem.Consulte Configurando Autorização de Privilégio e Função para obter mais informações.
-
As restrições da Tabela da Nuvem são limitadas a restrições no modo
RELY DISABLE NOVALIDATE
, o que significa que a restrição não é imposta. A única exceção a isso é para restriçõesNOT NULL
.As Tabelas da Nuvem suportam todos os modos de restrição
NOT NULL
, incluindo o modo padrão (ENABLE VALIDATE
). As restriçõesPRIMARY KEY
,UNIQUE
,FOREIGN KEY
eNOT NULL
são suportadas; as restriçõesCHECK
não são suportadas.Você pode declarar restrições em linha como parte de
COLUMN_LIST
.Por exemplo:
BEGIN
DBMS_CLOUD.CREATE_CLOUD_TABLE
( table_name => 'CLOUD_TAB_WITH_CONSTRAINTS', column_list => 'PK INTEGER, DATE_ID INT REFERENCES DATE_DIM(DATE_ID) RELY DISABLE NOVALIDATE, VAL NUMBER NOT NULL, CONSTRAINT CLOUD_TAB_PK PRIMARY KEY(PK) RELY DISABLE NOVALIDATE'); END; /Consulte Notas da Tabela da Nuvem para obter limitações adicionais da Tabela da Nuvem.
-
O pacote
DBMS_CLOUD
é um pacote de direitos do chamador. O procedimentoDBMS_CLOUD.CREATE_CLOUD_TABLE
só permite criar uma tabela no esquema do chamador.Consulte Cláusula Direitos do Chamador e Direitos do Definidor para obter mais informações.
-
O parâmetro
column_list
em uma chamada de procedimentoDBMS_CLOUD.CREATE_CLOUD_TABLE
pode incluir a cláusulaDEFAULT
, que funciona como a cláusulaDEFAULT
emCREATE TABLE
. Consulte CREATE TABLE para obter mais informações.Por exemplo:
BEGIN
DBMS_CLOUD.CREATE_CLOUD_TABLE
( table_name => 'CLOUD_TABLE_TEST_DEFAULT', column_list => 'I INTEGER, STR2 VARCHAR2(32) DEFAULT ''ABC'''); END; /Em seguida, você pode inserir com valores padrão. Por exemplo:
INSERT INTO cloud_table_test_default (i) VALUES (1); 1 row created. INSERT INTO cloud_table_test_default VALUES (2, default); 1 row created. INSERT INTO cloud_table_test_default VALUES (3, null); 1 row created. INSERT INTO cloud_table_test_default VALUES (4, 'xyz'); 1 row created. COMMIT; Commit complete. SELECT * FROM cloud_table_test_default ORDER BY i; I STR2 - ---- 1 ABC 2 ABC 3 null 4 xyz
Tópico principal: Usar Tabelas da Nuvem para Armazenar Informações de Log e Diagnóstico