<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Daniel Ferreira Silva</title>
    <description>The latest articles on DEV Community by Daniel Ferreira Silva (@playboyzinho).</description>
    <link>https://dev.to/playboyzinho</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1209050%2F78604533-f621-4ec4-ac77-f20859c22e61.jpg</url>
      <title>DEV Community: Daniel Ferreira Silva</title>
      <link>https://dev.to/playboyzinho</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/playboyzinho"/>
    <language>en</language>
    <item>
      <title>Tutorial TableSpace ;</title>
      <dc:creator>Daniel Ferreira Silva</dc:creator>
      <pubDate>Thu, 07 Dec 2023 23:52:14 +0000</pubDate>
      <link>https://dev.to/playboyzinho/tutorial-tablespace--4h8e</link>
      <guid>https://dev.to/playboyzinho/tutorial-tablespace--4h8e</guid>
      <description>&lt;p&gt;&lt;strong&gt;INTRODUÇÃO:&lt;/strong&gt;&lt;br&gt;
No Banco de Dados, o Tablespace é uma ferramenta fundamental, pois é utilizada para “abrir” um espaço na memória do banco, então a mesma possibilita um maior desempenho, segurança e fácil manutenção, além disso ajuda aos administradores a fazer alocações para que seja possível atender a todo tipo de requisitos.&lt;br&gt;
Neste artigo, mostraremos 5 cenários para um maior conhecimento do Tablespace, colocando ele em prática, em cada um desses cenários será possível ver a utilidade do mesmo, além de entender as necessidades de se ter um tablespace.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;OBJETIVO&lt;/strong&gt;&lt;br&gt;
Neste tutorial dedicado aos Tablespaces no Oracle, temos como objetivo oferecer uma experiência de aprendizado completa, pautada em critérios fundamentais para a assimilação eficaz de conhecimentos técnicos. Cada seção foi cuidadosamente elaborada considerando quatro pilares essenciais: Abrangência e Precisão Técnica, Clareza e Estrutura, Aplicação Prática e Exemplos Relevantes, além de Didática e Recursos Pedagógicos.&lt;/p&gt;

&lt;p&gt;Vamos lá...&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4BH6Ib67--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zyefs7ilk8suz5os942i.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4BH6Ib67--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zyefs7ilk8suz5os942i.gif" alt="Image description" width="455" height="262"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Vamos começar fazendo uma revisão do que é uma tablespace e sua sintaxe.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;O que é uma tablespace?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--EprmVg9O--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sfjytq8z9ki472u7cyfh.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--EprmVg9O--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sfjytq8z9ki472u7cyfh.jpeg" alt="Image description" width="800" height="370"&gt;&lt;/a&gt;&lt;br&gt;
A tablespace no Oracle é uma unidade lógica de armazenamento que serve como uma área para armazenar dados do banco de dados. O Oracle organiza os dados logicamente em tablespaces, que, por sua vez, são compostos por um ou mais arquivos de dados (datafiles), cada arquivo de dados está ligado exclusivamente a uma tablespace.&lt;/p&gt;

&lt;p&gt;Imagem representando estrutura logica:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3LOUhU4l--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y0zw71fpwd0o1p31mbd7.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3LOUhU4l--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y0zw71fpwd0o1p31mbd7.jpeg" alt="Image description" width="800" height="370"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Sintaxe basica:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;CREATE TABLESPACE nome_tablespace 
    DATAFILE 'caminho/arquivo.dbf' 
    SIZE tamanho_inicial 
    AUTOEXTEND ON NEXT tamanho_incremental 
    MAXSIZE tamanho_maximo;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Agora que já relembramos o que é uma tablespace e sua sintaxe vamos praticar com exemplos de aplicação em cenários diferentes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1° Cenário: Armazenamento de Dados Crítico;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Objetivo: Armazenar dados críticos em uma tabela com alta prioridade.&lt;/li&gt;
&lt;li&gt;Parâmetros:

&lt;ul&gt;
&lt;li&gt;TABLESPACE de alta performance (SSD).&lt;/li&gt;
&lt;li&gt;Redefinição do parâmetro PCTFREE para 10% para otimizar espaço.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Explicação Técnica:

&lt;ul&gt;
&lt;li&gt;O uso de uma TABLESPACE em um disco SSD oferece alta velocidade de leitura/gravação, enquanto PCTFREE controla a quantidade de espaço livre para evitar fragmentação.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Benefício:

&lt;ul&gt;
&lt;li&gt;Acesso rápido e eficiente a dados críticos.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Criação da tablespace nesse cenário:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;CREATE TABLESPACE high_performance_ts
   DATAFILE 'high_performance_file.dat' SIZE 1G
   AUTOEXTEND ON NEXT 100M
   EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;

   CREATE TABLE critical_data
   TABLESPACE high_performance_ts
   PCTFREE 10
   AS SELECT * FROM source_data WHERE condition;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Explicação: &lt;/p&gt;

&lt;p&gt;Este código SQL cria um espaço de tabelas chamado "high_performance_ts" com um arquivo de dados inicial ('high_performance_file.dat') de 1 gigabyte, configurado para se expandir automaticamente em incrementos de 100 megabytes conforme necessário. O gerenciamento de extensões é local e uniforme, com extensões de 1 megabyte. Em seguida, uma tabela chamada "critical_data" é criada dentro desse espaço de tabelas, reservando 10% de cada bloco para futuras atualizações (PCTFREE 10). A tabela é populada com dados selecionados da tabela "source_data" com base em uma condição específica.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2° Cenário: Armazenamento de Arquivos Históricos;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Objetivo: Manter dados históricos acessíveis, mas com menor prioridade.

&lt;ul&gt;
&lt;li&gt;Parâmetros:

&lt;ul&gt;
&lt;li&gt;TABLESPACE em um disco de alta capacidade (HDD).&lt;/li&gt;
&lt;li&gt;Uso de compressão para economizar espaço.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Explicação Técnica:

&lt;ul&gt;
&lt;li&gt;HDD para armazenar grandes quantidades de dados e a compressão para reduzir o espaço ocupado.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Benefício:

&lt;ul&gt;
&lt;li&gt;Eficiente para armazenar dados históricos em longo prazo.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Criação da tablespace nesse cenário:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;CREATE TABLESPACE historical_data_ts
   DATAFILE 'historical_data_file.dat' SIZE 10G
   AUTOEXTEND ON NEXT 1G
   EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;

   CREATE TABLE historical_archive
   TABLESPACE historical_data_ts
   COMPRESS FOR OLTP
   AS SELECT * FROM source_data WHERE date &amp;lt; '2023-01-01';
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Explicação: &lt;/p&gt;

&lt;p&gt;Esse código SQL cria um espaço de tabelas chamado "historical_data_ts" com um arquivo de dados inicial ('historical_data_file.dat') de 10 gigabytes. O espaço de tabelas está configurado para aumentar automaticamente em incrementos de 1 gigabyte conforme necessário. O gerenciamento de extensões é local e uniforme, com extensões de 1 megabyte.&lt;br&gt;
Em seguida, uma tabela chamada "historical_archive" é criada dentro desse espaço de tabelas. A tabela utiliza compressão otimizada para transações online (OLTP) com a opção COMPRESS FOR OLTP. Os dados na tabela são populados selecionando registros da tabela "source_data" com base em uma condição que verifica se a data é anterior a '2023-01-01'. Essa operação é destinada a arquivar dados históricos anteriores a uma determinada data.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3° Cenário: Isolamento de Dados Sensíveis;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Objetivo: Isolar dados sensíveis em uma área restrita.&lt;/li&gt;
&lt;li&gt;Parâmetros:

&lt;ul&gt;
&lt;li&gt;Uso de TABLESPACE separada com criptografia habilitada.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Explicação Técnica:

&lt;ul&gt;
&lt;li&gt;A criptografia ajuda a proteger dados sensíveis, e a separação em uma TABLESPACE diferente impede o acesso não autorizado.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Benefício:

&lt;ul&gt;
&lt;li&gt;Fortalece a segurança dos dados sensíveis.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Criação da tablespace nesse cenário:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;CREATE TABLESPACE secure_data_ts
   DATAFILE 'secure_data_file.dat' SIZE 5G
   AUTOEXTEND ON NEXT 500M
   EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M
   ENCRYPTION USING 'AES256' DEFAULT STORAGE(ENCRYPT);

   CREATE TABLE sensitive_data
   TABLESPACE secure_data_ts
   AS SELECT * FROM source_data WHERE sensitive_condition;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Explicação: &lt;/p&gt;

&lt;p&gt;Esse código SQL cria um espaço de tabellas chamado "secure_data_ts" com um arquivo de dados inicial ('secure_data_file.dat') de 5 gigabytes. O espaço de tabelas é configurado para aumentar automaticamente em incrementos de 500 megabytes conforme necessário. O gerenciamento de extensões é local e uniforme, com extensões de 1 megabyte.&lt;br&gt;
Além disso, é aplicada a criptografia aos dados no espaço de tabelas usando o algoritmo 'AES256'. A cláusula ENCRYPTION USING 'AES256' DEFAULT STORAGE(ENCRYPT) especifica que a tabela padrão é criptografada, garantindo segurança adicional aos dados armazenados no espaço de tabelas.&lt;br&gt;
Posteriormente, uma tabela chamada "sensitive_data" é criada dentro desse espaço de tabelas. A tabela é populada selecionando registros da tabela "source_data" com base em uma condição sensível especificada por WHERE sensitive_condition. Essa configuração visa garantir a segurança dos dados sensíveis armazenados na tabela.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4° Cenário: Desenvolvimento e Testes;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Objetivo: Fornecer ambiente de desenvolvimento/testes eficiente.&lt;/li&gt;
&lt;li&gt;Parâmetros:

&lt;ul&gt;
&lt;li&gt;TABLESPACE temporária para processamento rápido.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Explicação Técnica:

&lt;ul&gt;
&lt;li&gt;Uso de TABLESPACE temporária para otimizar operações de leitura/gravação durante o desenvolvimento e testes.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Benefício:

&lt;ul&gt;
&lt;li&gt;Acelera o ciclo de desenvolvimento.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Criação da tablespace nesse cenário:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;CREATE TEMPORARY TABLESPACE temp_dev_test_ts
   TEMPFILE 'temp_dev_test_file.tmp' SIZE 2G
   AUTOEXTEND ON NEXT 200M
   EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;

   -- Usar durante o desenvolvimento/testes
   ALTER SESSION SET TEMPORARY_TABLESPACE = temp_dev_test_ts;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Explicação:&lt;/p&gt;

&lt;p&gt;Esse código SQL cria um espaço de tabelas temporário chamado "temp_dev_test_ts" com um arquivo temporário ('temp_dev_test_file.tmp') de 2 gigabytes. O espaço de tabelas temporário é configurado para aumentar automaticamente em incrementos de 200 megabytes conforme necessário. O gerenciamento de extensões é local e uniforme, com extensões de 1 megabyte.&lt;br&gt;
A seguir, há um comentário indicando que esse espaço de tabelas temporário será usado durante o desenvolvimento ou testes.&lt;br&gt;
Finalmente, é executada uma instrução ALTER SESSION para definir o espaço de tabelas temporário atual para "temp_dev_test_ts". Isso significa que durante a sessão atual, as operações que envolvem tabelas temporárias usarão o espaço de tabelas temporário recém-criado. Isso é útil para isolar temporariamente o armazenamento de dados temporários durante o desenvolvimento ou testes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5° Cenário: Recuperação de Desastres;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Objetivo: Facilitar a recuperação de dados em caso de falha.&lt;/li&gt;
&lt;li&gt;Parâmetros:

&lt;ul&gt;
&lt;li&gt;TABLESPACE particionada para facilitar backup incremental.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Explicação Técnica:

&lt;ul&gt;
&lt;li&gt;Particionar TABLESPACE para permitir backups incrementais, reduzindo o tempo de recuperação em caso de falha.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Benefício:

&lt;ul&gt;
&lt;li&gt;Maior eficiência na recuperação de dados após desastres.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Criação da tablespace nesse cenário:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;CREATE TABLESPACE partitioned_recovery_ts
   DATAFILE 'part1_recovery_file.dat' SIZE 2G
   AUTOEXTEND ON NEXT 200M
   EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M,
   DATAFILE 'part2_recovery_file.dat' SIZE 2G
   AUTOEXTEND ON NEXT 200M
   EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Explicação: &lt;/p&gt;

&lt;p&gt;Esse código SQL cria um espaço de tabelas chamado "partitioned_recovery_ts" com dois arquivos de dados iniciais. O primeiro arquivo, 'part1_recovery_file.dat', tem um tamanho inicial de 2 gigabytes e é configurado para aumentar automaticamente em incrementos de 200 megabytes conforme necessário. O gerenciamento de extensões é local e uniforme, com extensões de 1 megabyte.&lt;br&gt;
O segundo arquivo, 'part2_recovery_file.dat', também tem um tamanho inicial de 2 gigabytes e é configurado da mesma maneira que o primeiro, com extensões uniformes de 1 megabyte.&lt;br&gt;
Este código é utilizado para criar um espaço de tabelas particionado com dois arquivos de dados, potencialmente permitindo uma melhor organização e recuperação de dados, especialmente quando há necessidade de dividir os dados entre diferentes volumes ou discos físicos.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusão:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--trN5Mq-F--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3xmtrrel1jtc4o78lfib.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--trN5Mq-F--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3xmtrrel1jtc4o78lfib.gif" alt="Image description" width="712" height="350"&gt;&lt;/a&gt;&lt;br&gt;
Com este artigo, obtivemos um conhecimento um pouco maior sobre como utilizar um Tablespace, concluindo então que esta é uma ferramenta útil para os administradores de um banco de dados, isso porque o mesmo será utilizado para garantir uma maior segurança, um maior desempenho e simplificar a manutenção do banco de dados, usando-o para abrir espaço na memória dos dados.&lt;br&gt;
Com os cenários apresentados aqui, pudemos perceber o quanto este recurso é versátil, mostrando que este pode apresentar soluções rápidas desde um problema no armazenamento crítico, até para recuperar dados após algum defeito, ajudando com o cotidiano de quem trabalha com banco de dados para dar maior aprimoramento ao seu trabalho.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>TableSpace ;</title>
      <dc:creator>Daniel Ferreira Silva</dc:creator>
      <pubDate>Tue, 14 Nov 2023 00:54:18 +0000</pubDate>
      <link>https://dev.to/playboyzinho/tablespace--5hi8</link>
      <guid>https://dev.to/playboyzinho/tablespace--5hi8</guid>
      <description>&lt;p&gt;A administração do armazenamento de um banco de dados é fundamental em qualquer sistema de software, e um dos conceitos essenciais dentro desse contexto é o de "tablespace". Neste artigo, mostraremos o que é um tablespace, sua sintaxe, vantagens e desvantagens, e exemplos de aplicações no mercado.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--d_ZM4lXy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lugxgukruo3ivr2goru9.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--d_ZM4lXy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lugxgukruo3ivr2goru9.gif" alt="Image description" width="530" height="205"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;O que é uma TableSpace?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A tablespace no Oracle é uma unidade lógica de armazenamento que serve como uma área para armazenar dados do banco de dados. O Oracle organiza os dados logicamente em tablespaces, que, por sua vez, são compostos por um ou mais arquivos de dados (datafiles), cada arquivo de dados está ligado exclusivamente a uma tablespace.&lt;/p&gt;

&lt;p&gt;Em resumo, tablespaces são unidades organizacionais lógicas que agrupam segmentos, como tabelas e índices, enquanto os arquivos de dados (datafiles) representam a implementação física dessas tablespaces, armazenando coletivamente todos os dados do banco de dados Oracle.&lt;/p&gt;

&lt;p&gt;A figura a seguir ilustra o relacionamento entre um banco de dados, espaços de tabela e arquivos de dados:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--unN8QOAd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/o5xs4y30hz66j57pbphw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--unN8QOAd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/o5xs4y30hz66j57pbphw.png" alt="Image description" width="705" height="407"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;O que posso fazer em uma Tablespace?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Controlar o tamanho do armazenamento que será alocado para os dados do banco de dados;&lt;/li&gt;
&lt;li&gt;Conceder cotas de espaço específicas aos usuários do banco de dados;&lt;/li&gt;
&lt;li&gt;Melhorar o desempenho do banco de dados alocando armazenamento de dados entre dispositivos;&lt;/li&gt;
&lt;li&gt;Executar backup ou recuperação parcial do banco de dados.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Quais os tipos de Tablespace?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;TABLESPACE para Dados:&lt;/strong&gt; Armazena os dados das tabelas e clusters.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;TABLESPACE para Índices:&lt;/strong&gt; Destinado exclusivamente ao armazenamento de índices. Separar dados e índices pode otimizar a performance.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;TABLESPACE Temporária:&lt;/strong&gt; Utilizada para operações que necessitam de espaço temporário, como as operações de ordenação.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;TABLESPACE de Desfazer (UNDO):&lt;/strong&gt; Armazena informações de desfazer, que são usadas para reverter transações e manter a consistência dos dados.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Criação de uma Tablespace:&lt;/strong&gt;&lt;br&gt;
A criação de TABLESPACES é realizada através do comando CREATE TABLESPACE. A sintaxe é:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;CREATE TABLESPACE nome_tablespace 
    DATAFILE 'caminho/arquivo.dbf' 
    SIZE tamanho_inicial 
    AUTOEXTEND ON NEXT tamanho_incremental 
    MAXSIZE tamanho_maximo;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Alteração de uma Tablespace:&lt;/strong&gt;&lt;br&gt;
Para modificar um TABLESPACE existente, utiliza-se o comando ALTER TABLESPACE. Por exemplo, para adicionar ou redimensionar um arquivo de dados:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Adicionar um arquivo:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ALTER TABLESPACE  tbs_exemplo
    ADD DATAFILE '/oradata/tbs_exemplo02.dbf' 
    SIZE 100M;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Redimensionar um arquivo:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ALTER DATABASE tbs_exemplo
    DATAFILE '/oradata/tbs_exemplo.dbf' 
    RESIZE 150M;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Exclusão de uma Tablespace:&lt;/strong&gt;&lt;br&gt;
A exclusão é realizada com o comando DROP TABLESPACE, seguido pelo nome do TABLESPACE e, opcionalmente, pela cláusula INCLUDING CONTENTS para eliminar também os objetos associados. Por exemplo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;DROP TABLESPACE tbs_exemplo
    INCLUDING CONTENTS;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Quais são as vantagens e desvantagens de uma Tablespace?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--RH4wM4YX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4njd350leg4jn87jv2p3.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--RH4wM4YX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4njd350leg4jn87jv2p3.jpg" alt="Image description" width="800" height="434"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;VANTAGENS:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Gerenciar um Armazenamento Flexível:&lt;/strong&gt; O Tablespace nos permite que o banco de dados seja alocado e redistribuído de uma forma mais flexível em seu armazenamento, de acordo com o que for necessário, assim facilitando a adaptação que este banco de dados teve devido às mudanças que foram feitas em seu armazenamento.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Melhorias no Desempenho:&lt;/strong&gt; Ao se distribuírem as tabelas e índices em tablespaces separadas, podemos ter um melhor desenho, isso porque os dados serão distribuídos em diferentes sistemas de armazenamento, o que reduz a limitação do E/S.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backup e Recuperação mais Eficientes:&lt;/strong&gt; É possível colocar tablespaces em locais de backup e restauração granulares, isso nos ajuda porque assim podem ser realizados backups individuais dos tablespaces,  facilitando e tornando o processo mais eficiente do backup de todo o banco de dados.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gerenciar Espaço Temporário:&lt;/strong&gt; É possível criar tablespaces temporários, que armazenará dados temporários que são usados apenas para consultas e operações de classificação, o que melhora o desempenho por estar separando dados temporários dos dados permanentes.&lt;/li&gt;
&lt;li&gt;Isolar Dados: O tablespace consegue nos ajudar na hora que precisamos isolar algum dado, o que nos facilita uma administração e manutenção maior, ao separar alguns dados de de outros projetos.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;DESVANTAGENS:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Planejamento Adequado:&lt;/strong&gt; O tablespace tem muito benefícios, porém para usufruir dos mesmo é necessário um melhor planejamento, bem mais cuidadoso e bem gerenciado, o que exige maior tempo e trabalho no projeto.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Aloca em Espaço Desigual:&lt;/strong&gt; Além de um bom planejamento, também é necessário gerenciar muito bem os tablespace, isso porque se houver qualquer erro ele pode acabar colocando os dados em espaços desiguais, o que prejudica o desempenho.&lt;/li&gt;
&lt;li&gt;**Complexidade: **Ao usarmos o tablespace, ele nos traz uma maior complexibilidade ao nosso projeto, isso porque é necessário maior cuidado e planejamento para criação do mesmo.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Recuperação Granular Complexa:&lt;/strong&gt; Neste caso aqui, a recuperação além de vantajosa, traz também uma desvantagem, isso porque ao fazermos uma recuperação, é necessário saber bem qual dado será recuperado, para não trazer falhas ao projeto.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Exemplos de aplicações no mercado:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ZAFXmLRd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m4gtzpg5i9jezpsiah2c.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ZAFXmLRd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m4gtzpg5i9jezpsiah2c.gif" alt="Image description" width="712" height="350"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Oracle Database&lt;/strong&gt;&lt;br&gt;
No dia-a-dia usando o Oracle Database para ter um Ambientes de Desenvolvimento e Teste criando cópia do sistema que está em produção tendo a segurança de fazer simulações com as informações atualizadas e originais sem ter risco de corromper a estrutura em produção, para aumentar a segurança de que os dados armazenados não serão perdidos nesse processo de Testes ou por uma possível falha, a utilização da tablespace contém Backups e Recuperação podendo realizar backups de tablespaces específicas garantindo teste seguros e acelerando o consumo de dados em grandes volumes. Uma outra função interessante é a Manutenção Online que se baseia em atualizar uma tabela minimizando o impacto nos usuários finais, como por exemplo, criar um índice em uma tabela temporária e já atualizar essa opção em produção para o usuário sem a necessidade de interromper o sistema que está em produção.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;MySQL&lt;/strong&gt;&lt;br&gt;
Já no MySQL a tablespace é utilizada para algumas funções semelhantes mas outras também como Organização de Dados, dando a possibilidade de organizar os dados relacionados a áreas específicas, facilitando a manutenção e a administração do sistema. Como pode acontecer de existir estruturas com um tamanho grande para o banco de dados, a utilização do Particionamento de Tabelas é muito utilizado, já que aquela tabela será dividida em tabelas menores, fazendo com o que a busca, manutenção e atualização do banco seja simplificada, não tendo a necessidade de acessar toda a tabela que deseja gerenciar. Também é possível fazer Backups e Recuperação que é igual ao Oracle, podendo selecionar tabelas, objetos e estruturas específicas, acelerando o consumo de dados em grandes volumes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CONCLUSÃO&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--jZhKyLM7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b3r5eoo5vobon69vcxir.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jZhKyLM7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b3r5eoo5vobon69vcxir.gif" alt="Image description" width="712" height="350"&gt;&lt;/a&gt;&lt;br&gt;
As tablespaces desempenham um papel fundamental no gerenciamento de um bancos de dados, pois permite que o seu administrador tenha eficiência, segurança, controle das ações feitas dentro do banco, controle de desempenho e a capacidade de restaurar dados de maneira simples e eficaz. Ao mesmo tempo que essa ferramenta auxilia muito, ela exige conhecimento detalhado, tendo em vista a complexibilidade, responsabilidade e além de tudo se a utilização dela é realmente necessária para o banco de dados no gerenciamento das funções e dos dados armazenados nas estruturas. Por esses motivos o estudo e experiência dessa ferramenta é de vital importância ao utilizar, assim garantimos a integridade e a confiabilidade de todo o gerenciamento do banco de dados.&lt;/p&gt;

</description>
      <category>database</category>
      <category>learning</category>
    </item>
  </channel>
</rss>
