Usar Tabelas da Nuvem para Armazenar Informações de Log e Diagnóstico
Você pode criar Tabelas de Nuvem em que os dados da tabela residem no Cloud Storage gerenciado pela Oracle e os dados da tabela não consomem armazenamento de banco de dados.
- Sobre Tabelas de Nuvem
Você pode criar Tabelas de Nuvem como uma alternativa complementar às tabelas no banco de dados. Todos os dados da Tabela da Nuvem são armazenados no Object Storage gerenciado pela Oracle. O Oracle Managed Object Storage é um armazenamento externo, fora do banco de dados, que o Autonomous Database cria e gerencia. - Criar Tabelas de Nuvem
Mostra as etapas para criar uma Tabela de Nuvem no Autonomous Database. - Notas da Tabela do Cloud
Fornece observações para Tabelas do Cloud:
Tópico principal: Desenvolver
Sobre Tabelas de Nuvem
Você pode criar Tabelas de Nuvem como uma alternativa complementar às tabelas no banco de dados. Todos os dados da Tabela da Nuvem são armazenados no Object Storage gerenciado pela Oracle. O Oracle Managed Object Storage é um armazenamento externo, fora do banco de dados, que o Autonomous Database cria e gerencia.
Você pode usar Tabelas de Nuvem para armazenar dados de log de aplicativos usados com pouca 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 registro 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 são usados com pouca frequência. Usando Tabelas de Nuvem, os dados persistentes são salvos no Object Storage gerenciado pela Oracle, sem consumir armazenamento de banco de dados.
Restrições SELECT e DML para Tabelas em Nuvem
As Tabelas de Nuvem funcionam como tabelas de banco de dados comuns com algumas restrições. Você pode usar instruções SELECT e DML, de manipulação de dados, com as seguintes exceções:
- Instruções
MERGE
não são suportadas. - As colunas
LOB
são limitadas a 10 MB de dados. - O controle de simultaneidade DML é diferente e, portanto:
LOCK TABLE
não pode impedir DML simultânea 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 de Nuvem. Portanto, as transaçõesUPDATE
ouDELETE
bloqueiam operaçõesUPDATE
ouDELETE
simultâneas em uma Tabela de Cloud.
- Somente restrições NOT NULL são impostas.
- O DML é permitido em um Autonomous Database de Leitura e Gravação como é para qualquer outra tabela; as Tabelas de Nuvem também permitem operações DML em um Clone Atualizável.
As Tabelas de Nuvem não suportam o seguinte:
- Índices
- Colunas invisíveis
- Colunas virtuais
- Acionadores DML
- Mais de 996 colunas
- Colunas de tipo de dados boolianos
Operações de Gerenciamento do Ciclo de Vida e Tabelas da Nuvem
Os dados da Tabela da Nuvem são armazenados no Object Storage gerenciado pela Oracle. Isso significa que determinadas operações no Autonomous Database lidam com Tabelas de Nuvem de maneira diferente das tabelas no banco de dados, da seguinte forma:
-
Os dados da Tabela do Cloud são excluídos do backup e da recuperação de uma instância do Autonomous Database (não há backup dos dados e não é possível restaurar os dados da Tabela do Cloud).
-
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 de Nuvem.
A nomeação da Tabela da Nuvem no serviço 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 de Nuvem. O exemplo a seguir ilustra o impacto das operações do ciclo de vida nos dados da Tabela do Cloud.
Operação de Ciclo de Vida | Disponibilidade de Dados da Tabela da Nuvem |
---|---|
O mesmo clone do banco de dados da região | A Tabela do Cloud é clonada sem dados da Tabela do Cloud |
Clone de banco de dados entre regiões | A Tabela do Cloud é clonada sem dados da Tabela do Cloud |
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 do Cloud está disponível no stand-by, sem os dados da Tabela do Cloud |
Mesmo pareamento de Recuperação de Desastre Baseado em Backup (local) da mesma região | Os dados da Tabela da Nuvem e da Tabela da Nuvem estão acessíveis |
Par de Recuperação de Desastres Baseada em Backup entre Regiões | A Tabela do Cloud está disponível no stand-by, sem dados da Tabela do Cloud |
Operações de gerenciamento do ciclo de vida que afetam o SCN/timestamp de uma instância do Autonomous Database, incluindo:
|
A Tabela do Cloud continuará a ser atualizada e o estado antigo dos dados da Tabela do Cloud não será preservado nem restaurado. Isso significa que apenas os dados atuais da Tabela do Cloud estão disponíveis. |
Operações do Gerenciamento de Ciclo de vida, incluindo:
|
Sem impacto nas Tabelas de Nuvem ou nos dados da Tabela de Nuvem |
Tópico principal: Usar Tabelas da Nuvem para Armazenar Informações de Log e Diagnóstico
Criar Tabelas de Nuvem
Mostra as etapas para criar uma Tabela do Cloud no Autonomous Database.
Para criar uma Tabela do Cloud:
Use DROP TABLE
quando quiser eliminar uma Tabela do Cloud.
Por exemplo:
DROP TABLE CLOUD_TABLE_TEST;
As Tabelas de 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 de Nuvem
Fornece observações para Tabelas de Nuvem:
-
Você pode conceder os privilégios
SELECT
,INSERT
eUPDATE
para uma Tabela do Cloud. Nenhum outro privilégio pode ser concedido a uma Tabela do Cloud.Consulte Configurando a 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 do Cloud para obter limitações adicionais da Tabela do Cloud.
-
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 Direitos do Invocador e Cláusula de 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
noCREATE 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