<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>RDBMS &#8211; Furushima</title>
	<atom:link href="https://furushima.com.br/blog/tag/rdbms/feed/" rel="self" type="application/rss+xml" />
	<link>https://furushima.com.br</link>
	<description>- Consultoria de Banco de Dados &#124; Furushima</description>
	<lastBuildDate>Thu, 24 Apr 2025 12:11:29 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://furushima.com.br/wp-content/uploads/2024/02/cropped-favicon-32x32.png</url>
	<title>RDBMS &#8211; Furushima</title>
	<link>https://furushima.com.br</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Views no Oracle</title>
		<link>https://furushima.com.br/blog/views-no-oracle/</link>
		
		<dc:creator><![CDATA[Luis Jacoveto]]></dc:creator>
		<pubDate>Thu, 24 Apr 2025 12:11:29 +0000</pubDate>
				<category><![CDATA[Banco De Dados]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Banco de Dados]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[ORACLE]]></category>
		<category><![CDATA[RDBMS]]></category>
		<guid isPermaLink="false">https://furushima.com.br/?p=2806</guid>

					<description><![CDATA[As views (ou também visões) são recursos bastante úteis em bancos de dados relacionais, pois permitem a criação de representações lógicas dos dados armazenados em tabelas, facilitando a consulta, segurança e manutenção. Mas o que exatamente são as views? Uma view pode ser entendida como uma tabela virtual que se baseia no resultado de uma [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>As views (ou também visões) são recursos bastante úteis em bancos de dados relacionais, pois permitem a criação de representações lógicas dos dados armazenados em tabelas, facilitando a consulta, segurança e manutenção.</p>



<h2 class="wp-block-heading">Mas o que exatamente são as views?</h2>



<p>Uma view pode ser entendida como uma tabela virtual que se baseia no resultado de uma consulta, ou seja, ao invés de armazenar os dados diretamente ela apenas exibe os dados pertencentes a outras tabelas. Estes dados são recuperados através de uma instrucão SQL toda vez que a view é executada.</p>



<p>De acordo com a documentação da versão 19c do Oracle, temos:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Use the CREATE VIEW statement to define a view, which is a logical table based on one or more tables or views. A view contains no data itself. The tables upon which a view is based are called base tables.</p>
</blockquote>



<h2 class="wp-block-heading">Vantagens ao utilizar views</h2>



<h4 class="wp-block-heading"> &#8211; Simplicar consultar complexas</h4>



<p>A utilização de views possibilita que uma query complexa seja encapsulada em uma query simples.</p>



<h4 class="wp-block-heading"> &#8211; Segurança no acesso aos dados</h4>



<p>Através da utilização de views é possível restringir o acesso a colunas ou linhas específicas, podendo assim exibir somente os dados necessários.</p>



<h4 class="wp-block-heading"> &#8211; Abstração</h4>



<p>Com as views é possível implementar uma camada de abstração que permite ocultar tanto a estrutura das tabelas ou até mesmo a fonte dos dados.</p>



<h4 class="wp-block-heading"> &#8211; Reutilização de consulta</h4>



<p>Para consultas que são utilizadas com certa frequência é indica a criação de views para reduzir a repetição de código.</p>



<h2 class="wp-block-heading">Tipos de Views no Oracle</h2>



<h3 class="wp-block-heading">Views</h3>



<p>Podem ter desde uma estrutura simplificada baseada em apenas uma tabela e sem funções de agregações e joins ou até mesmo mais complexas com joins entre multiplas tabelas, funções de agregação, subconsultas, etç.</p>



<p>As views com estrutura simples geralmente permitem que sejam feitas inserções e alterações nos dados da tabela de origem.</p>



<p>Já as views que não permitem inserções e alterações são as que possuem clasulas como DISTINCT, funções de agregação, GROPU BY, ORDER BY, sub queries no select, condições recursivas com a clásula WITH, etç.</p>



<p>Independente da estrutura da view, ela não ocupa espaço em disco.</p>



<p>Mais informações disponíveis em <a href="https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/UPDATE.html">https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/UPDATE.html</a></p>



<p>Exemplo:</p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" data-code="CREATE VIEW vw_empresas AS
SELECT id, nome_empresa
FROM empresas;" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #4FC1FF">CREATE</span><span style="color: #D4D4D4"> </span><span style="color: #4FC1FF">VIEW</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">vw_empresas</span><span style="color: #D4D4D4"> </span><span style="color: #4FC1FF">AS</span></span>
<span class="line"><span style="color: #4FC1FF">SELECT</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">id</span><span style="color: #D4D4D4">, </span><span style="color: #9CDCFE">nome_empresa</span></span>
<span class="line"><span style="color: #4FC1FF">FROM</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">empresas</span><span style="color: #D4D4D4">;</span></span></code></pre></div>



<h3 class="wp-block-heading">Materialized Views</h3>



<p>Já as materialized views (views materializadas) armazenam os dados fisicamente, ou seja, ela irá consumir espaço em disco.</p>



<p>As materialized views podem ser usadas para melhorar a performance em consultas complexas ou consultas que envolvam grandes volumes de dados.</p>



<p>Também é possível utiliá-las para transportar ou replicar dados para outros bancos de dados oracle através de database links.</p>



<p>As MVs podem ser atualizadas periodicamente ou sob demanda e podem ser totalmente reconstruídas a cada atualização ou de maneira incremental com a utilização de mlogs (materialized view logs).</p>



<p>Exemplo:</p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" data-code="CREATE MATERIALIZED VIEW mv_vendas
REFRESH FAST ON COMMIT
AS
SELECT produto_id, SUM(quantidade) AS total_vendido
FROM vendas
GROUP BY produto_id;" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #4FC1FF">CREATE</span><span style="color: #D4D4D4"> </span><span style="color: #4FC1FF">MATERIALIZED</span><span style="color: #D4D4D4"> </span><span style="color: #4FC1FF">VIEW</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">mv_vendas</span></span>
<span class="line"><span style="color: #4FC1FF">REFRESH</span><span style="color: #D4D4D4"> </span><span style="color: #4FC1FF">FAST</span><span style="color: #D4D4D4"> </span><span style="color: #4FC1FF">ON</span><span style="color: #D4D4D4"> </span><span style="color: #4FC1FF">COMMIT</span></span>
<span class="line"><span style="color: #4FC1FF">AS</span></span>
<span class="line"><span style="color: #4FC1FF">SELECT</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">produto_id</span><span style="color: #D4D4D4">, </span><span style="color: #DCDCAA">SUM</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">quantidade</span><span style="color: #D4D4D4">) </span><span style="color: #4FC1FF">AS</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">total_vendido</span></span>
<span class="line"><span style="color: #4FC1FF">FROM</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">vendas</span></span>
<span class="line"><span style="color: #4FC1FF">GROUP</span><span style="color: #D4D4D4"> </span><span style="color: #4FC1FF">BY</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">produto_id</span><span style="color: #D4D4D4">;</span></span></code></pre></div>



<p></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Como Criar banco de dados oracle 19c em silent mode</title>
		<link>https://furushima.com.br/blog/como-criar-banco-de-dados-oracle-em-silent-mode-19c/</link>
		
		<dc:creator><![CDATA[Weverton Amorim]]></dc:creator>
		<pubDate>Tue, 01 Apr 2025 09:46:12 +0000</pubDate>
				<category><![CDATA[Banco De Dados]]></category>
		<category><![CDATA[CDB]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[ORACLE]]></category>
		<category><![CDATA[PDB]]></category>
		<category><![CDATA[RDBMS]]></category>
		<category><![CDATA[response file]]></category>
		<category><![CDATA[SILENT MODE]]></category>
		<guid isPermaLink="false">https://furushima.com.br/?p=2750</guid>

					<description><![CDATA[Criando do banco de dados CDB single instance em Silent Mode Após a instalação do software gerenciador de base de dados (SGBD), é necessário proceder à criação do banco de dados. Para isso, pode-se utilizar a ferramenta Database Configuration Assistant (DBCA), localizada no diretório $ORACLE_HOME/bin. Esta ferramenta permite a criação do banco de dados tanto [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading"><strong>Criando do banco de dados CDB single instance em Silent Mode</strong></h2>



<p><br>Após a <a href="https://furushima.com.br/blog/instalar-oracle-database-19c-no-oracle-linux/" data-type="link" data-id="https://furushima.com.br/blog/instalar-oracle-database-19c-no-oracle-linux/">instalação do software gerenciador de base de dados (SGBD)</a>, é necessário proceder à criação do banco de dados. Para isso, pode-se utilizar a ferramenta <em>Database Configuration Assistant</em> (DBCA), localizada no diretório <code>$ORACLE_HOME/bin</code>. Esta ferramenta permite a criação do banco de dados tanto em modo gráfico como em <em>silent mode</em> (modo texto), dependendo das necessidades e preferências do ambiente</p>



<h3 class="wp-block-heading">1) Criação do response file</h3>



<p>Para criação de um banco de dados utilizando Silent mode, por linha de comando, é necessário criar um arquivo de configuração passando os parâmetros de criação do banco de dados. Existe no caminho $ORACLE_HOME/assistants/dbca, um arquivo padrão chamado <strong>dbca.rsp</strong> para o preenchimento manual, porém, iremos criar o nosso próprio arquivo de configuração.</p>



<p>Acesse o servidor de banco de dados com o usuário <strong>oracle</strong> e crie um arquivo de configuração chamado <strong>create_db.rsp</strong> seguindo os passos abaixo:</p>



<p>Levando em consideração que as variáveis mencionadas a seguir, como <strong><code>ORACLE_BASE</code> </strong>e <code><strong>ORACLE_HOME</strong></code>, são específicas para o meu ambiente, é importante destacar que estas podem variar em outros ambientes e devem ser ajustadas conforme necessário.</p>



<p>Além disso, é fundamental prestar atenção aos parâmetros de senha, como <strong><code>sysPassword</code>, <code>systemPassword</code> e <code>pdbAdminPassword</code></strong>. No exemplo apresentado, foi utilizada uma senha fraca, que deve ser substituída por uma senha mais robusta em ambientes produtivos, garantindo maior segurança.</p>



<p>Por fim, o nome do banco de dados <em>container</em>, configurado pelo parâmetro <code><strong>gdbName</strong></code>, está definido como <strong><code>orcl</code> </strong>no exemplo. Este valor também pode ser alterado para atender às necessidades específicas do seu ambiente.</p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" data-code="## Configurar variáveis de ambiente Oracle
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/19.0.0/db_home1

## criar arquivo de configuração
vi /u01/app/oracle/product/19.0.0/db_home1/assistants/dbca/db_create.rsp


## Copiar o conteúdo abaixo para dentro do arquivo de configuração db_create.rsp

responseFileVersion=/home/oracle/assistants/rspfmt_dbca_response_schema_v19.0.0
databaseConfigType=SI
gdbName=orcl
createAsContainerDatabase=true
pdbName=pdb1
useLocalUndoForPDBs=true
sysPassword=oracle
systemPassword=oracle
pdbAdminPassword=oracle
templateName=General_Purpose.dbc
storageType=FS
datafileDestination=/u01/app/oracle/oradata
characterSet=AL32UTF8
databaseType=OLTP
totalMemory=2048" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #D4D4D4">## </span><span style="color: #9CDCFE">Configurar</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">variáveis</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">de</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">ambiente</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">Oracle</span></span>
<span class="line"><span style="color: #569CD6">export</span><span style="color: #D4D4D4"> </span><span style="color: #4FC1FF">ORACLE_BASE</span><span style="color: #D4D4D4">=/</span><span style="color: #9CDCFE">u01</span><span style="color: #D4D4D4">/</span><span style="color: #9CDCFE">app</span><span style="color: #D4D4D4">/</span><span style="color: #9CDCFE">oracle</span></span>
<span class="line"><span style="color: #569CD6">export</span><span style="color: #D4D4D4"> </span><span style="color: #4FC1FF">ORACLE_HOME</span><span style="color: #D4D4D4">=/</span><span style="color: #9CDCFE">u01</span><span style="color: #D4D4D4">/</span><span style="color: #9CDCFE">app</span><span style="color: #D4D4D4">/</span><span style="color: #9CDCFE">oracle</span><span style="color: #D4D4D4">/</span><span style="color: #9CDCFE">product</span><span style="color: #D4D4D4">/</span><span style="color: #B5CEA8">19.0</span><span style="color: #D4D4D4">.</span><span style="color: #B5CEA8">0</span><span style="color: #D4D4D4">/</span><span style="color: #9CDCFE">db_home1</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">## </span><span style="color: #9CDCFE">criar</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">arquivo</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">de</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">configuração</span></span>
<span class="line"><span style="color: #9CDCFE">vi</span><span style="color: #D4D4D4"> /</span><span style="color: #9CDCFE">u01</span><span style="color: #D4D4D4">/</span><span style="color: #9CDCFE">app</span><span style="color: #D4D4D4">/</span><span style="color: #9CDCFE">oracle</span><span style="color: #D4D4D4">/</span><span style="color: #9CDCFE">product</span><span style="color: #D4D4D4">/</span><span style="color: #B5CEA8">19.0</span><span style="color: #D4D4D4">.</span><span style="color: #B5CEA8">0</span><span style="color: #D4D4D4">/</span><span style="color: #9CDCFE">db_home1</span><span style="color: #D4D4D4">/</span><span style="color: #9CDCFE">assistants</span><span style="color: #D4D4D4">/</span><span style="color: #9CDCFE">dbca</span><span style="color: #D4D4D4">/</span><span style="color: #9CDCFE">db_create</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">rsp</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">## </span><span style="color: #9CDCFE">Copiar</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">o</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">conteúdo</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">abaixo</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">para</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">dentro</span><span style="color: #D4D4D4"> </span><span style="color: #C586C0">do</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">arquivo</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">de</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">configuração</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">db_create</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">rsp</span></span>
<span class="line"></span>
<span class="line"><span style="color: #9CDCFE">responseFileVersion</span><span style="color: #D4D4D4">=/</span><span style="color: #9CDCFE">home</span><span style="color: #D4D4D4">/</span><span style="color: #9CDCFE">oracle</span><span style="color: #D4D4D4">/</span><span style="color: #9CDCFE">assistants</span><span style="color: #D4D4D4">/</span><span style="color: #9CDCFE">rspfmt_dbca_response_schema_v19</span><span style="color: #D4D4D4">.</span><span style="color: #B5CEA8">0.0</span></span>
<span class="line"><span style="color: #9CDCFE">databaseConfigType</span><span style="color: #D4D4D4">=</span><span style="color: #4FC1FF">SI</span></span>
<span class="line"><span style="color: #9CDCFE">gdbName</span><span style="color: #D4D4D4">=</span><span style="color: #9CDCFE">orcl</span></span>
<span class="line"><span style="color: #9CDCFE">createAsContainerDatabase</span><span style="color: #D4D4D4">=</span><span style="color: #569CD6">true</span></span>
<span class="line"><span style="color: #9CDCFE">pdbName</span><span style="color: #D4D4D4">=</span><span style="color: #9CDCFE">pdb1</span></span>
<span class="line"><span style="color: #9CDCFE">useLocalUndoForPDBs</span><span style="color: #D4D4D4">=</span><span style="color: #569CD6">true</span></span>
<span class="line"><span style="color: #9CDCFE">sysPassword</span><span style="color: #D4D4D4">=</span><span style="color: #9CDCFE">oracle</span></span>
<span class="line"><span style="color: #9CDCFE">systemPassword</span><span style="color: #D4D4D4">=</span><span style="color: #9CDCFE">oracle</span></span>
<span class="line"><span style="color: #9CDCFE">pdbAdminPassword</span><span style="color: #D4D4D4">=</span><span style="color: #9CDCFE">oracle</span></span>
<span class="line"><span style="color: #9CDCFE">templateName</span><span style="color: #D4D4D4">=</span><span style="color: #9CDCFE">General_Purpose</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">dbc</span></span>
<span class="line"><span style="color: #9CDCFE">storageType</span><span style="color: #D4D4D4">=</span><span style="color: #4FC1FF">FS</span></span>
<span class="line"><span style="color: #9CDCFE">datafileDestination</span><span style="color: #D4D4D4">=/</span><span style="color: #9CDCFE">u01</span><span style="color: #D4D4D4">/</span><span style="color: #9CDCFE">app</span><span style="color: #D4D4D4">/</span><span style="color: #9CDCFE">oracle</span><span style="color: #D4D4D4">/</span><span style="color: #9CDCFE">oradata</span></span>
<span class="line"><span style="color: #9CDCFE">characterSet</span><span style="color: #D4D4D4">=</span><span style="color: #4FC1FF">AL32UTF8</span></span>
<span class="line"><span style="color: #9CDCFE">databaseType</span><span style="color: #D4D4D4">=</span><span style="color: #4FC1FF">OLTP</span></span>
<span class="line"><span style="color: #9CDCFE">totalMemory</span><span style="color: #D4D4D4">=</span><span style="color: #B5CEA8">2048</span></span></code></pre></div>



<p>Será criado um banco de dados <strong>container </strong>com um <strong>pdb</strong>, utilizando a configuração padrão, os datafiles, controlfiles e redo log files estarão localizados no caminho: <strong>/u01/app/oracle/oradata</strong>.</p>



<p>Se a criação do seu banco de dados for em <strong>diskgroup </strong>ASM, basta substituir os parametros relacionado ao storage <strong>diskGroupName </strong>e <strong>storageType </strong>conforme abaixo, por exemplo, diskgroup DATA.</p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" data-code="storageType=ASM
diskGroupName=DATA" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #9CDCFE">storageType</span><span style="color: #D4D4D4">=</span><span style="color: #4FC1FF">ASM</span></span>
<span class="line"><span style="color: #9CDCFE">diskGroupName</span><span style="color: #D4D4D4">=</span><span style="color: #4FC1FF">DATA</span></span></code></pre></div>



<h3 class="wp-block-heading">2) Criação do banco de dados</h3>



<p>Após a configuração do reponse file, com o usuário <strong>oracle</strong>, execute a criação do banco de dados em modo Silent conforme abaixo:</p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" data-code="## Acessar diretório ORACLE_HOME
cd $ORACLE_HOME

## Executar instalação em Silent Mode
dbca -silent -createDatabase -responseFile /u01/app/oracle/product/19.0.0/db_home1/assistants/dbca/db_create.rsp" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #D4D4D4">## </span><span style="color: #9CDCFE">Acessar</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">diretório</span><span style="color: #D4D4D4"> </span><span style="color: #4FC1FF">ORACLE_HOME</span></span>
<span class="line"><span style="color: #9CDCFE">cd</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">$ORACLE_HOME</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">## </span><span style="color: #9CDCFE">Executar</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">instalação</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">em</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">Silent</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">Mode</span></span>
<span class="line"><span style="color: #9CDCFE">dbca</span><span style="color: #D4D4D4"> -</span><span style="color: #9CDCFE">silent</span><span style="color: #D4D4D4"> -</span><span style="color: #9CDCFE">createDatabase</span><span style="color: #D4D4D4"> -</span><span style="color: #9CDCFE">responseFile</span><span style="color: #D4D4D4"> /</span><span style="color: #9CDCFE">u01</span><span style="color: #D4D4D4">/</span><span style="color: #9CDCFE">app</span><span style="color: #D4D4D4">/</span><span style="color: #9CDCFE">oracle</span><span style="color: #D4D4D4">/</span><span style="color: #9CDCFE">product</span><span style="color: #D4D4D4">/</span><span style="color: #B5CEA8">19.0</span><span style="color: #D4D4D4">.</span><span style="color: #B5CEA8">0</span><span style="color: #D4D4D4">/</span><span style="color: #9CDCFE">db_home1</span><span style="color: #D4D4D4">/</span><span style="color: #9CDCFE">assistants</span><span style="color: #D4D4D4">/</span><span style="color: #9CDCFE">dbca</span><span style="color: #D4D4D4">/</span><span style="color: #9CDCFE">db_create</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">rsp</span></span></code></pre></div>



<p>No processo de criação poderá aparecer alguns alertas devido a complexidade das senhas, pode ignorar os alertas.</p>



<figure class="wp-block-image size-large"><img alt="" fetchpriority="high" decoding="async" width="1024" height="245" src="https://furushima.com.br/wp-content/uploads/2025/04/image-2-1024x245.jpg" alt="" class="wp-image-2757" srcset="https://furushima.com.br/wp-content/uploads/2025/04/image-2-1024x245.jpg 1024w, https://furushima.com.br/wp-content/uploads/2025/04/image-2-300x72.jpg 300w, https://furushima.com.br/wp-content/uploads/2025/04/image-2-768x184.jpg 768w, https://furushima.com.br/wp-content/uploads/2025/04/image-2.jpg 1366w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Criação do banco de dados finalizado</p>



<figure class="wp-block-image size-full"><img alt="" decoding="async" width="923" height="420" src="https://furushima.com.br/wp-content/uploads/2025/04/image-2-1.jpg" alt="" class="wp-image-2758" srcset="https://furushima.com.br/wp-content/uploads/2025/04/image-2-1.jpg 923w, https://furushima.com.br/wp-content/uploads/2025/04/image-2-1-300x137.jpg 300w, https://furushima.com.br/wp-content/uploads/2025/04/image-2-1-768x349.jpg 768w" sizes="(max-width: 923px) 100vw, 923px" /></figure>



<h3 class="wp-block-heading">3) Validação do banco de dados</h3>



<p>É possível validar no arquivo <strong>/etc/oratab</strong> as instâncias de banco de dados que estão registradas no servidor, podemos ver a nova instância que foi criada. </p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" data-code="cat /etc/oratab | grep orcl" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #9CDCFE">cat</span><span style="color: #D4D4D4"> /</span><span style="color: #9CDCFE">etc</span><span style="color: #D4D4D4">/</span><span style="color: #9CDCFE">oratab</span><span style="color: #D4D4D4"> | </span><span style="color: #9CDCFE">grep</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">orcl</span></span></code></pre></div>



<figure class="wp-block-image size-full"><img alt="" decoding="async" width="600" height="54" src="https://furushima.com.br/wp-content/uploads/2025/04/image-2.png" alt="" class="wp-image-2759" srcset="https://furushima.com.br/wp-content/uploads/2025/04/image-2.png 600w, https://furushima.com.br/wp-content/uploads/2025/04/image-2-300x27.png 300w" sizes="(max-width: 600px) 100vw, 600px" /></figure>



<p>Para acessar o banco de dados é necessário configurar as variáveis de ambiente, <strong>ORACLE_HOME </strong>e <strong>ORACLE_SID</strong>, para isso, executar os comandos abaixo.</p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" data-code="## Configurar varíaveis de ambiente
. oraenv
orcl

## Acessar o banco de dados
sqlplus / as sysdba

## Verificar pluggables databases 
SQL&gt; show pdbs

## Verificar estatus da instância
SQL&gt; select instance_name,status from v$instance;" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #D4D4D4">## </span><span style="color: #9CDCFE">Configurar</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">varíaveis</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">de</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">ambiente</span></span>
<span class="line"><span style="color: #D4D4D4">. </span><span style="color: #9CDCFE">oraenv</span></span>
<span class="line"><span style="color: #9CDCFE">orcl</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">## </span><span style="color: #9CDCFE">Acessar</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">o</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">banco</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">de</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">dados</span></span>
<span class="line"><span style="color: #9CDCFE">sqlplus</span><span style="color: #D4D4D4"> / </span><span style="color: #C586C0">as</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">sysdba</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">## </span><span style="color: #9CDCFE">Verificar</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">pluggables</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">databases</span><span style="color: #D4D4D4"> </span></span>
<span class="line"><span style="color: #4FC1FF">SQL</span><span style="color: #D4D4D4">&gt; </span><span style="color: #9CDCFE">show</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">pdbs</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">## </span><span style="color: #9CDCFE">Verificar</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">estatus</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">da</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">instância</span></span>
<span class="line"><span style="color: #4FC1FF">SQL</span><span style="color: #D4D4D4">&gt; </span><span style="color: #9CDCFE">select</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">instance_name</span><span style="color: #D4D4D4">,</span><span style="color: #9CDCFE">status</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">from</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">v$instance</span><span style="color: #D4D4D4">;</span></span></code></pre></div>



<p>Configurar variáveis e acessar a instância orcl</p>



<figure class="wp-block-image size-full"><img alt="" loading="lazy" decoding="async" width="806" height="348" src="https://furushima.com.br/wp-content/uploads/2025/04/image-3.jpg" alt="" class="wp-image-2760" srcset="https://furushima.com.br/wp-content/uploads/2025/04/image-3.jpg 806w, https://furushima.com.br/wp-content/uploads/2025/04/image-3-300x130.jpg 300w, https://furushima.com.br/wp-content/uploads/2025/04/image-3-768x332.jpg 768w" sizes="(max-width: 806px) 100vw, 806px" /></figure>



<p>Verificar status da instância</p>



<figure class="wp-block-image size-full"><img alt="" loading="lazy" decoding="async" width="722" height="250" src="https://furushima.com.br/wp-content/uploads/2025/04/image-3.png" alt="" class="wp-image-2761" srcset="https://furushima.com.br/wp-content/uploads/2025/04/image-3.png 722w, https://furushima.com.br/wp-content/uploads/2025/04/image-3-300x104.png 300w" sizes="(max-width: 722px) 100vw, 722px" /></figure>



<p></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Teorema CAP</title>
		<link>https://furushima.com.br/blog/teorema-cap/</link>
		
		<dc:creator><![CDATA[Luis Jacoveto]]></dc:creator>
		<pubDate>Tue, 01 Apr 2025 09:05:31 +0000</pubDate>
				<category><![CDATA[Banco De Dados]]></category>
		<category><![CDATA[RDBMS]]></category>
		<guid isPermaLink="false">https://furushima.com.br/?p=2751</guid>

					<description><![CDATA[O Teorema CAP (também conhecido como Teorema de Brewer) é um dos principais conceito em sistemas distribuídos. Ele foi proposto por Eric Brewer em 2000 e formalmente provado em 2002 por Seth Gilbert e Nancy Lynch. Este teorema descreve as limitações inerentes ao design de sistemas distribuídos, especialmente em relação a três propriedades essenciais: Consistência [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>O Teorema CAP (também conhecido como Teorema de Brewer) é um dos principais conceito em sistemas distribuídos. Ele foi proposto por Eric Brewer em 2000 e formalmente provado em 2002 por Seth Gilbert e Nancy Lynch. Este teorema descreve as limitações inerentes ao design de sistemas distribuídos, especialmente em relação a três propriedades essenciais: Consistência (C), Disponibilidade (A) e Tolerância à Partição (P).</p>



<p>De acordo com o teorema, em um sistema distribuído é impossível garantir simultaneamente as três propriedades a seguir:</p>



<p>Consistência (Consistency): Todos os nós do sistema possuem os mesmos dados ao mesmo tempo. Ou seja, após uma operação de escrita, todas as leituras subsequentes retornam o valor mais recente.<br>Disponibilidade (Availability): O sistema está sempre disponível para responder a solicitações, mesmo que alguns nós estejam inativos ou enfrentando falhas.<br>Tolerância à Partição (Partition Tolerance): O sistema continua a operar mesmo que haja falhas de comunicação ou partições na rede que impeçam a troca de informações entre alguns nós.</p>



<p>Segundo o teorema um sistema distribuído pode satisfazer no máximo duas dessas propriedades ao mesmo tempo, porém nunca as três (ao mesmo tempo).</p>



<figure class="wp-block-image size-full"><img alt="" loading="lazy" decoding="async" width="588" height="482" src="https://furushima.com.br/wp-content/uploads/2025/04/image-1.png" alt="" class="wp-image-2754" srcset="https://furushima.com.br/wp-content/uploads/2025/04/image-1.png 588w, https://furushima.com.br/wp-content/uploads/2025/04/image-1-300x246.png 300w" sizes="(max-width: 588px) 100vw, 588px" /></figure>



<h2 class="wp-block-heading">O que representa cada propriedade do teorema?</h2>



<ul class="wp-block-list">
<li>Consistência</li>
</ul>



<p>A consistência garante que todos os nós do sistema tenham uma visão uniforme dos dados. Por exemplo, em um banco de dados distribuído, se um cliente atualiza um registro, todos os outros clientes devem ver essa atualização imediatamente.</p>



<ul class="wp-block-list">
<li>Disponibilidade</li>
</ul>



<p>A disponibilidade assegura que o sistema responda a todas as solicitações, mesmo que alguns nós estejam indisponíveis. Isso significa que o sistema deve ser resiliente a falhas e sempre fornecer uma resposta válida.</p>



<ul class="wp-block-list">
<li>Tolerância à Partição</li>
</ul>



<p>A tolerância à partição é a capacidade do sistema de continuar funcionando corretamente, mesmo que a comunicação entre alguns nós seja interrompida. Em sistemas distribuídos, partições de rede são inevitáveis, especialmente em redes grandes e complexas.</p>



<h2 class="wp-block-heading">Possíveis escolhas</h2>



<ul class="wp-block-list">
<li>Consistência + Disponibilidade (CA): O sistema é consistente e disponível, mas não tolera partições. Isso é viável apenas em redes confiáveis, onde partições são extremamente raras.</li>



<li>Consistência + Tolerância à Partição (CP): O sistema é consistente e tolera partições, mas pode sacrificar a disponibilidade. Isso significa que, durante uma partição, algumas solicitações podem não ser atendidas.</li>



<li>Disponibilidade + Tolerância à Partição (AP): O sistema é disponível e tolera partições, mas pode sacrificar a consistência. Isso é comum em sistemas que priorizam a experiência do usuário, como redes sociais e caches distribuídos.</li>
</ul>



<figure class="wp-block-image is-resized"><img decoding="async" src="https://upload.wikimedia.org/wikipedia/commons/thumb/c/c6/CAP_Theorem_Venn_Diagram.png/960px-CAP_Theorem_Venn_Diagram.png" alt="CAP theorem - Wikipedia" style="width:502px;height:auto" /></figure>



<h2 class="wp-block-heading">Aplicações do Teorema CAP</h2>



<p>Sistemas CA: Bancos de dados centralizados ou sistemas em redes locais confiáveis.<br>Sistemas CP: Bancos de dados distribuídos como o HBase e o MongoDB em modo de consistência forte.<br>Sistemas AP: Sistemas como o Cassandra e o DynamoDB, que priorizam alta disponibilidade e tolerância a falhas.</p>



<p>O Teorema CAP é uma ferramenta essencial para entender os trade-offs no design de sistemas distribuídos. Ele nos lembra que não existe uma solução perfeita e que as escolhas dependem das necessidades específicas de cada aplicação. Ao compreender as implicações do teorema, engenheiros de software podem tomar decisões mais informadas ao projetar sistemas escaláveis, resilientes e eficientes.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>O que é um Banco de Dados?</title>
		<link>https://furushima.com.br/blog/o-que-e-um-banco-de-dados/</link>
		
		<dc:creator><![CDATA[Luis Jacoveto]]></dc:creator>
		<pubDate>Thu, 06 Mar 2025 23:41:43 +0000</pubDate>
				<category><![CDATA[Banco De Dados]]></category>
		<category><![CDATA[Banco de Dados]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[RDBMS]]></category>
		<guid isPermaLink="false">https://furushima.com.br/?p=2452</guid>

					<description><![CDATA[Introdução aos Bancos de Dados: O Coração da Era Digital
]]></description>
										<content:encoded><![CDATA[
<hr class="wp-block-separator has-alpha-channel-opacity" />



<h3 class="wp-block-heading">Introdução aos Bancos de Dados: O Coração da Era Digital</h3>



<p>Vivemos em uma era onde os dados são considerados o &#8220;novo petróleo&#8221;. Eles impulsionam decisões, alimentam inovações e moldam o futuro das empresas e da sociedade. No centro dessa revolução digital estão os <strong>bancos de dados</strong>, ferramentas essenciais para armazenar, organizar e acessar informações de maneira eficiente. Mas o que exatamente é um banco de dados? E por que ele é tão importante?</p>



<p>Neste artigo, vamos explorar os conceitos básicos de bancos de dados, seus tipos, aplicações e como eles transformam o mundo ao nosso redor.</p>



<p></p>



<h3 class="wp-block-heading">O que é um Banco de Dados?</h3>



<p>Um banco de dados é uma coleção organizada de informações que podem ser acessadas, gerenciadas e atualizadas de forma eficiente. Pense nele como uma biblioteca digital, onde cada livro (ou registro) está catalogado para que você possa encontrá-lo rapidamente.</p>



<p>Os bancos de dados são usados em praticamente todos os setores, desde o comércio eletrônico até a saúde, passando por redes sociais, bancos e até mesmo dispositivos IoT (Internet das Coisas).</p>



<p><strong>Fonte:</strong> <a href="https://www.oracle.com/database/what-is-database/">Oracle &#8211; O que é um banco de dados?</a></p>



<p></p>



<h3 class="wp-block-heading">Tipos de Bancos de Dados</h3>



<p>Existem diferentes tipos de bancos de dados, cada um projetado para atender a necessidades específicas. Aqui estão os principais:</p>



<h4 class="wp-block-heading">1. <strong>Bancos de Dados Relacionais</strong></h4>



<p>Os bancos de dados relacionais, como MySQL, PostgreSQL e Oracle, organizam os dados em tabelas com linhas e colunas. Eles utilizam a linguagem SQL (Structured Query Language) para manipular e consultar os dados. São ideais para aplicações estruturadas, como sistemas de gestão empresarial e e-commerce.</p>



<p><strong>Fontes:</strong></p>



<ul class="wp-block-list">
<li><a href="https://dev.mysql.com/doc/">MySQL Documentation</a></li>



<li><a href="https://www.postgresql.org/docs/">PostgreSQL Documentation</a></li>
</ul>



<h4 class="wp-block-heading">2. <strong>Bancos de Dados Não Relacionais (NoSQL)</strong></h4>



<p>Os bancos de dados NoSQL, como MongoDB, Cassandra e Redis, são projetados para lidar com grandes volumes de dados não estruturados ou semiestruturados. Eles são amplamente usados em aplicações modernas, como redes sociais e análise de big data.</p>



<p><strong>Fontes:</strong></p>



<ul class="wp-block-list">
<li><a href="https://www.mongodb.com/docs/">MongoDB Documentation</a></li>



<li><a href="https://redis.io/docs/">Redis Documentation</a></li>
</ul>



<h4 class="wp-block-heading">3. <strong>Bancos de Dados em Nuvem</strong></h4>



<p>Com o avanço da computação em nuvem serviços como Amazon RDS, Google Cloud Firestore e Microsoft Azure Cosmos DB oferecem bancos de dados escaláveis e acessíveis pela internet. Eles eliminam a necessidade de infraestrutura física e são ideais para empresas que buscam flexibilidade.</p>



<p><strong>Fontes:</strong></p>



<ul class="wp-block-list">
<li><a href="https://aws.amazon.com/rds/">Amazon RDS</a></li>



<li><a href="https://cloud.google.com/firestore">Google Cloud Firestore</a></li>



<li><a href="https://learn.microsoft.com/en-us/azure/cosmos-db/">Microsoft Azure Cosmos DB</a></li>
</ul>



<h4 class="wp-block-heading">4. <strong>Bancos de Dados Orientados a Grafos</strong></h4>



<p>Esses bancos, como Neo4j, são projetados para armazenar e analisar relações complexas entre dados. São amplamente usados em redes sociais, sistemas de recomendação e detecção de fraudes.</p>



<p><strong>Fonte:</strong> <a href="https://neo4j.com/graph-database/">Neo4j &#8211; O que é um banco de dados de grafos?</a></p>



<h3 class="wp-block-heading">Por que os Bancos de Dados são Importantes?</h3>



<p>Os bancos de dados desempenham um papel crucial em nossa sociedade conectada. Aqui estão algumas razões para sua importância:</p>



<ul class="wp-block-list">
<li><strong>Armazenamento e Recuperação de Dados</strong>: Eles permitem que grandes volumes de informações sejam armazenados e acessados rapidamente.</li>



<li><strong>Tomada de Decisões Baseada em Dados</strong>: Empresas utilizam bancos de dados para analisar tendências e tomar decisões estratégicas.</li>



<li><strong>Automação de Processos</strong>: Sistemas automatizados, como ERPs e CRMs, dependem de bancos de dados para funcionar.</li>



<li><strong>Segurança e Conformidade</strong>: Bancos de dados modernos oferecem recursos avançados de segurança para proteger informações sensíveis.</li>
</ul>



<p><strong>Fonte:</strong> <a href="https://www.ibm.com/topics/databases">IBM &#8211; Por que os bancos de dados são importantes?</a></p>



<p></p>



<h3 class="wp-block-heading">Tendências Futuras em Bancos de Dados</h3>



<p>Com o avanço da tecnologia, os bancos de dados continuam a evoluir. Algumas tendências incluem:</p>



<ul class="wp-block-list">
<li><strong>Inteligência Artificial e Machine Learning</strong>: Bancos de dados estão sendo integrados a sistemas de IA para análises preditivas e automação.</li>



<li><strong>Bancos de Dados Distribuídos</strong>: Soluções como blockchain estão redefinindo a forma como os dados são armazenados e compartilhados.</li>



<li><strong>Maior Foco em Segurança</strong>: Com o aumento das ameaças cibernéticas, a proteção de dados é uma prioridade.</li>
</ul>



<p><strong>Fontes:</strong></p>



<ul class="wp-block-list">
<li><a href="https://www.gartner.com/en">Gartner &#8211; Tendências em bancos de dados</a></li>



<li><a href="https://learn.microsoft.com/en-us/azure/architecture/data-guide/technology-choices/machine-learning-database">Microsoft &#8211; Bancos de dados e IA</a></li>
</ul>



<p></p>



<h3 class="wp-block-heading">Conclusão</h3>



<p>Os bancos de dados são a espinha dorsal da era digital. Eles permitem que empresas e indivíduos gerenciem informações de maneira eficiente, segura e escalável. Seja você um desenvolvedor, um empresário ou apenas um entusiasta da tecnologia, entender os fundamentos dos bancos de dados é essencial para navegar no mundo moderno.</p>



<p>Se você está interessado em aprender mais sobre bancos de dados, fique atento ao nosso blog! Em breve, traremos tutoriais, estudos de caso e dicas práticas para ajudá-lo a dominar essa tecnologia indispensável.</p>



<p></p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
