<?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>Alain Klein, auteur/autrice sur dbi Blog</title>
	<atom:link href="https://www.dbi-services.com/blog/author/alainklein/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.dbi-services.com/blog/author/alainklein/</link>
	<description></description>
	<lastBuildDate>Tue, 29 Sep 2026 15:48:23 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2025/05/cropped-favicon_512x512px-min-32x32.png</url>
	<title>Alain Klein, auteur/autrice sur dbi Blog</title>
	<link>https://www.dbi-services.com/blog/author/alainklein/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Archiving Oracle databases with SIARD Suite</title>
		<link>https://www.dbi-services.com/blog/archiving-oracle-databases-with-siard-suite/</link>
					<comments>https://www.dbi-services.com/blog/archiving-oracle-databases-with-siard-suite/#respond</comments>
		
		<dc:creator><![CDATA[Alain Klein]]></dc:creator>
		<pubDate>Tue, 29 Sep 2026 15:46:10 +0000</pubDate>
				<category><![CDATA[Oracle]]></category>
		<guid isPermaLink="false">https://www.dbi-services.com/blog/?p=46428</guid>

					<description><![CDATA[<p>One of our customers needed to archive a 4T Oracle database. Several options have been chosen, one of them being archiving the data to SIARD format using SIARD Suite from Swiss Federal Archives. This blog posts explains the basics: what SIARD Suite is, how it works, and examples in command line mode. Meeting SIARD Suite [&#8230;]</p>
<p>L’article <a href="https://www.dbi-services.com/blog/archiving-oracle-databases-with-siard-suite/">Archiving Oracle databases with SIARD Suite</a> est apparu en premier sur <a href="https://www.dbi-services.com/blog">dbi Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph" id="h-"></p>



<h2 id="h-one-of-our-customers-needed-to-archive-a-4t-oracle-database-several-options-have-been-chosen-one-of-them-being-archiving-the-data-to-siard-format-using-siard-suite-from-swiss-federal-archives-this-blog-posts-explains-the-basics-what-siard-suite-is-how-it-works-and-examples-in-command-line-mode" class="wp-block-heading">One of our customers needed to archive a 4T Oracle database. Several options have been chosen, one of them being archiving the data to SIARD format using SIARD Suite from Swiss Federal Archives. This blog posts explains the basics: what SIARD Suite is, how it works, and examples in command line mode.</h2>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 id="h-meeting-siard-suite" class="wp-block-heading">Meeting SIARD Suite</h3>



<p class="wp-block-paragraph"><a href="https://www.bar.admin.ch/en/siard-suite-en" data-type="link" data-id="https://www.bar.admin.ch/en/siard-suite-en">SIARD Suite</a> is software developed and made freely available by Swiss Federal Archives for long-term archiving of data stored in the following relational database management systems:</p>



<ul class="wp-block-list">
<li>MS Access 2007 or newer</li>



<li>DB/2 or newer</li>



<li>MySQL (or MariaDB) 5.5 or newer</li>



<li>Oracle 10 or newer</li>



<li>PostgreSQL 11 or newer</li>



<li>SQL Server 2012 or newer</li>
</ul>



<p class="wp-block-paragraph">Data is extracted and stored in a custom <a href="https://www.bar.admin.ch/dam/en/sd-web/e13OBixbrV01/en_siard_formatbeschreibung.pdf">SIARD</a> format based on XML, SQL:2008, UNICODE and ZIP64 standards, thus enabling long-term storage of data archives (often required by audit projects, governance and legal frameworks).</p>



<p class="wp-block-paragraph">Archive data files can later on be used to load the data in a new database if required.</p>



<p class="wp-block-paragraph">The software can be downloaded from GitHub through this <a href="https://github.com/sfa-siard/siard-suite/releases">link</a>.</p>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 id="h-concepts" class="wp-block-heading">Concepts</h3>



<p class="wp-block-paragraph">Archived data is stored in an XML files collection conforming to SQL:2008 standard.</p>



<p class="wp-block-paragraph">Code and custom application objects are not extracted. However, table and columns definition are exported as XML metadata. BLOBs and CLOBs are stored as binary files outside of the XML files.</p>



<p class="wp-block-paragraph">To unload more metadata, database features can be used such as Data Pump or DBMS_METADATA package procedures/functions when dealing with an Oracle database as the source database.</p>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 id="h-basic-principles-of-database-archiving-with-siard-suite" class="wp-block-heading">Basic principles of database archiving with SIARD Suite</h3>



<p class="wp-block-paragraph">The following list summarizes what to take into account and anticipate before starting a new archiving project:</p>



<ul class="wp-block-list">
<li>clearly define the data archiving scope: which tables, views or schemas, which records, and so on</li>



<li>create a dedicated user with the least privileges (typically read-only) on the objects belonging to the archiving scope</li>



<li>create views in case you need to filter data (columns and/or rows) to be archived</li>



<li>the source database must be frozen during archiving jobs (use whatever features the source database provides to bring the database in such a state)</li>



<li>to check thoroughly the end result of the archiving jobs, load the archive data into another database</li>



<li>define additional metadata to archive based on your specific business needs ; this will later (think of several years in the future) lead to a better understanding of data archives : PL/SQL code, application documentation, data model entity-relation diagrams, and so on.</li>
</ul>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 id="h-how-siard-suite-works" class="wp-block-heading">How SIARD Suite works</h3>



<p class="wp-block-paragraph">SIARD Suite is a JavaFX application, requiring JRE17 with JavaFX support in its latest release (v2.2.167) and can be used on Windows, Linux and MacOS.</p>



<p class="wp-block-paragraph">Based on our experience, it is recommended to download the binary file with the right Java version embedded (always better not having to manage a separate stack).</p>



<p class="wp-block-paragraph">There are two interfaces available:</p>



<ul class="wp-block-list">
<li>Graphical User Interface (GUI)</li>



<li>Command Line Interface (CLI)</li>
</ul>



<p class="wp-block-paragraph">Take care, if you are planning to use the CLI, to not use &#8220;native&#8221; binaries because they don&#8217;t include the CLI.</p>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 id="h-application-installation" class="wp-block-heading">Application installation</h4>



<p class="wp-block-paragraph">Binary files are downloaded as ZIP files and can be installed anywhere on your system. For our customer project, we decided to create a separate Virtual Machine with adequate storage space thanks to the high performance link between the two VMs.</p>



<p class="wp-block-paragraph">Once SIARD Suite has been unzipped, the directory looks like:</p>



<pre class="wp-block-code"><code>SIARD-Suite.2.2.161-linux
├── bin
├── conf
├── legal
├── lib
└── release</code></pre>



<p class="wp-block-paragraph">As expected, the bin directory contains all relevant utilities to perform the archiving or loading jobs:</p>



<pre class="wp-block-code"><code>SIARD-Suite.2.2.161-linux/bin
├── java
├── jfr
├── jrunscript
├── keytool
├── siard-from-db
├── siard-from-db.bat
├── SIARD-Suite
├── SIARD-Suite.bat
├── siard-to-db
└── siard-to-db.bat
</code></pre>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td><strong>Utility name</strong></td><td><strong>Description</strong></td></tr><tr><td>SIARD-Suite</td><td>To launch the GUI</td></tr><tr><td>siard-from-db</td><td>To launch archiving jobs in CLI; several parameters can be provided to customize some aspects of the jobs</td></tr><tr><td>siard-to-db</td><td>To launch a loading job in CLI</td></tr></tbody></table></figure>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 id="h-command-line-interface" class="wp-block-heading">Command line interface</h3>



<div style="height:10px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 id="h-siard-from-db-utility" class="wp-block-heading">&#8216;siard-from-db&#8217; utility</h4>



<p class="wp-block-paragraph">Using the &#8216;siard-from-db&#8217; utility is quite straightforward since there is no fine grained configurations/options/parameters to choose from:</p>



<pre class="wp-block-code"><code>siard-from-db &#091;-h] | &#091;-o] &#091;-v] &#091;-l=&lt;login timeout&gt;] &#091;-q=&lt;query timeout&gt;] &#091;-i=&lt;import
meta data&gt;] &#091;-x=&lt;external lob folder&gt;] &#091;-m=&lt;mime type&gt;] -j=&lt;JDBC URL&gt; -u=&lt;database
user&gt; -p=&lt;database password&gt; -s=&lt;siard file&gt; -e=&lt;export meta data&gt;"</code></pre>



<p class="wp-block-paragraph">The following table, pulled from the SIARD Suite documentation, details each parameter&#8217;s goal and usage pattern:</p>



<div class="wp-block-media-text is-stacked-on-mobile"><figure class="wp-block-media-text__media"><img fetchpriority="high" decoding="async" width="813" height="1024" src="http://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/08/siard-from-db-parameters-813x1024.png" alt="" class="wp-image-46444 size-full" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/08/siard-from-db-parameters-813x1024.png 813w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/08/siard-from-db-parameters-238x300.png 238w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/08/siard-from-db-parameters-768x967.png 768w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/08/siard-from-db-parameters-1220x1536.png 1220w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/08/siard-from-db-parameters-1627x2048.png 1627w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/08/siard-from-db-parameters.png 1878w" sizes="(max-width: 813px) 100vw, 813px" /></figure><div class="wp-block-media-text__content">
<p class="wp-block-paragraph"></p>
</div></div>



<p class="wp-block-paragraph">For instance, to extract the Oracle HR sample schema, we could use the following command:</p>



<pre class="wp-block-code"><code>./siard-from-db -l=10 -q=120 \
-j=jdbc:oracle:thin:@&#091;hostname|ip]:listening_port/pdb_name \
-u=hr -p=hr_password -s=hr.siard -e=hr_metadata.xml</code></pre>



<p class="wp-block-paragraph">The archive job produces the following two files:</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td>File name</td><td>Content</td></tr><tr><td>hr.siard</td><td>Archive file in ZIP format ; content can be listed with &#8216;unzip -l hr.siard&#8217; and extracted with &#8216;unzip hr.siard&#8217;</td></tr><tr><td>hr_metadata.xml</td><td>Contains the HR schema metadata exported</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Running the Linux &#8216;file&#8217; command on the &#8216;hr.siard&#8217; file confirms it is a Zip archive file:</p>



<pre class="wp-block-code"><code>file hr.siard
hr.siard: Zip archive data, at least v2.0 to extract</code></pre>



<p class="wp-block-paragraph">Listing the content of the archive file returns:</p>



<pre class="wp-block-code"><code>unzip -l hr.siard
Archive:  hr.siard
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  07-27-2026 08:15   content/
        0  07-27-2026 08:16   content/schema0/
        0  07-27-2026 08:16   content/schema0/table0/
        0  07-27-2026 08:16   content/schema0/table1/
        0  07-27-2026 08:16   content/schema0/table2/
        0  07-27-2026 08:16   content/schema0/table3/
        0  07-27-2026 08:16   content/schema0/table4/
        0  07-27-2026 08:16   content/schema0/table5/
        0  07-27-2026 08:16   content/schema0/table6/
     1595  07-27-2026 08:16   content/schema0/table0/table0.xml
     4857  07-27-2026 08:16   content/schema0/table0/table0.xsd
     1884  07-27-2026 08:16   content/schema0/table1/table1.xml
     4910  07-27-2026 08:16   content/schema0/table1/table1.xsd
    19577  07-27-2026 08:16   content/schema0/table2/table2.xml
     5323  07-27-2026 08:16   content/schema0/table2/table2.xsd
     1786  07-27-2026 08:16   content/schema0/table3/table3.xml
     4909  07-27-2026 08:16   content/schema0/table3/table3.xsd
     1345  07-27-2026 08:16   content/schema0/table4/table4.xml
     4951  07-27-2026 08:16   content/schema0/table4/table4.xsd
     2740  07-27-2026 08:16   content/schema0/table5/table5.xml
     5036  07-27-2026 08:16   content/schema0/table5/table5.xsd
      455  07-27-2026 08:16   content/schema0/table6/table6.xml
     4793  07-27-2026 08:16   content/schema0/table6/table6.xsd
        0  07-27-2026 08:16   header/
        0  07-27-2026 08:16   header/siardversion/
        0  07-27-2026 08:16   header/siardversion/2.2/
    38441  07-27-2026 08:16   header/metadata.xsd
     4825  07-27-2026 08:16   header/table.xsd
    32980  07-27-2026 08:16   header/metadata.xml
---------                     -------
   140407                     29 files</code></pre>



<p class="wp-block-paragraph">For each table, SIARD Suite generates an XML file containing the data unloaded from the database and an XSD file with the XML schema definition used.</p>



<p class="wp-block-paragraph">The header/metadata.xml file contains the list of schemas, list of tables, list of table columns, and so on.</p>



<p class="wp-block-paragraph">Here is an extract from header/metadata.xml file produced by the HR archiving job:</p>



<pre class="wp-block-code"><code>&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;
&lt;siardArchive xmlns="http://www.bar.admin.ch/xmlns/siard/2/metadata.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.2" xsi:schemaLocation="http://www.bar.admin.ch/xmlns/siard/2/metadata.xsd metadata.xsd"&gt;
    &lt;dbname&gt;(...)&lt;/dbname&gt;
    &lt;dataOwner&gt;(...)&lt;/dataOwner&gt;
    &lt;dataOriginTimespan&gt;(...)&lt;/dataOriginTimespan&gt;
    &lt;producerApplication&gt;SiardFromDb 2.2.26 Swiss Federal Archives, Berne, Switzerland, 2008-2016&lt;/producerApplication&gt;
    &lt;archivalDate&gt;2026-07-27Z&lt;/archivalDate&gt;
    &lt;messageDigest&gt;
        &lt;digestType&gt;MD5&lt;/digestType&gt;
        &lt;digest&gt;8DC757A5338AA000234CC6199FEFE0AA&lt;/digest&gt;
    &lt;/messageDigest&gt;
    &lt;clientMachine&gt;srvsiard&lt;/clientMachine&gt;
    &lt;databaseProduct&gt;Oracle Oracle AI Database 26ai Enterprise Edition Release 23.26.2.0.0 - Production&lt;/databaseProduct&gt;
    &lt;connection&gt;jdbc:oracle:thin:@xxx.xxx.xxx.xxx:yyyy/pdb_name&lt;/connection&gt;
    &lt;databaseUser&gt;HR&lt;/databaseUser&gt;
    &lt;schemas&gt;
        &lt;schema&gt;
            &lt;name&gt;HR&lt;/name&gt;
            &lt;folder&gt;schema0&lt;/folder&gt;
            &lt;tables&gt;
                &lt;table&gt;
                    &lt;name&gt;COUNTRIES&lt;/name&gt;
                    &lt;folder&gt;table0&lt;/folder&gt;
                    &lt;description&gt;country table. References with locations table.&lt;/description&gt;
                    &lt;columns&gt;
                        &lt;column&gt;
                            &lt;name&gt;COUNTRY_ID&lt;/name&gt;
                            &lt;type&gt;CHAR(2)&lt;/type&gt;
                            &lt;typeOriginal&gt;CHAR(2)&lt;/typeOriginal&gt;
                            &lt;nullable&gt;false&lt;/nullable&gt;
                            &lt;description&gt;Primary key of countries table.&lt;/description&gt;
                        &lt;/column&gt;
                        &lt;column&gt;
                            &lt;name&gt;COUNTRY_NAME&lt;/name&gt;
                            &lt;type&gt;VARCHAR(60)&lt;/type&gt;
                            &lt;typeOriginal&gt;VARCHAR2(60)&lt;/typeOriginal&gt;
                            &lt;description&gt;Country name&lt;/description&gt;
                        &lt;/column&gt;
                        &lt;column&gt;
                            &lt;name&gt;REGION_ID&lt;/name&gt;
                            &lt;type&gt;FLOAT(38)&lt;/type&gt;
                            &lt;typeOriginal&gt;NUMBER&lt;/typeOriginal&gt;
                            &lt;description&gt;Region ID for the country. Foreign key to region_id column in the departments table.&lt;/description&gt;
                        &lt;/column&gt;
                    &lt;/columns&gt;
                    &lt;primaryKey&gt;
                        &lt;name&gt;COUNTRY_C_ID_PK&lt;/name&gt;
                        &lt;column&gt;COUNTRY_ID&lt;/column&gt;
                    &lt;/primaryKey&gt;
                    &lt;foreignKeys&gt;
                        &lt;foreignKey&gt;
                            &lt;name&gt;COUNTR_REG_FK&lt;/name&gt;
                            &lt;referencedSchema&gt;HR&lt;/referencedSchema&gt;
                            &lt;referencedTable&gt;REGIONS&lt;/referencedTable&gt;
                            &lt;reference&gt;
&lt;column&gt;REGION_ID&lt;/column&gt;
&lt;referenced&gt;REGION_ID&lt;/referenced&gt;
                            &lt;/reference&gt;
                            &lt;deleteAction&gt;RESTRICT&lt;/deleteAction&gt;
                            &lt;updateAction&gt;CASCADE&lt;/updateAction&gt;
                        &lt;/foreignKey&gt;
                    &lt;/foreignKeys&gt;
                    &lt;rows&gt;25&lt;/rows&gt;
                &lt;/table&gt;
                &lt;table&gt;
                    &lt;name&gt;DEPARTMENTS&lt;/name&gt;
                    &lt;folder&gt;table1&lt;/folder&gt;
                    &lt;description&gt;Departments table that shows details of departments where employees\u000Awork. references with locations, employees, and job_history tables.&lt;/description&gt;
                    &lt;columns&gt;
                        &lt;column&gt;
                            &lt;name&gt;DEPARTMENT_ID&lt;/name&gt;
                            &lt;type&gt;SMALLINT&lt;/type&gt;
                            &lt;typeOriginal&gt;NUMBER(4,0)&lt;/typeOriginal&gt;
                            &lt;nullable&gt;false&lt;/nullable&gt;
                            &lt;description&gt;Primary key column of departments table.&lt;/description&gt;
                        &lt;/column&gt;
                        &lt;column&gt;
                            &lt;name&gt;DEPARTMENT_NAME&lt;/name&gt;
                            &lt;type&gt;VARCHAR(30)&lt;/type&gt;
                            &lt;typeOriginal&gt;VARCHAR2(30)&lt;/typeOriginal&gt;
                            &lt;nullable&gt;false&lt;/nullable&gt;
                            &lt;description&gt;A not null column that shows name of a department. Administration,\u000AMarketing, Purchasing, Human Resources, Shipping, IT, Executive, Public\u000ARelations, Sales, Finance, and Accounting.\u0020&lt;/description&gt;
                        &lt;/column&gt;
                        &lt;column&gt;
                            &lt;name&gt;MANAGER_ID&lt;/name&gt;
                            &lt;type&gt;INT&lt;/type&gt;
                            &lt;typeOriginal&gt;NUMBER(6,0)&lt;/typeOriginal&gt;
                            &lt;description&gt;Manager_id of a department. Foreign key to employee_id column of employees table. The manager_id column of the employee table references this column.&lt;/description&gt;
                        &lt;/column&gt;
                        &lt;column&gt;
                            &lt;name&gt;LOCATION_ID&lt;/name&gt;
                            &lt;type&gt;SMALLINT&lt;/type&gt;
                            &lt;typeOriginal&gt;NUMBER(4,0)&lt;/typeOriginal&gt;
                            &lt;description&gt;Location id where a department is located. Foreign key to location_id column of locations table.&lt;/description&gt;
                        &lt;/column&gt;
                    &lt;/columns&gt;
                    &lt;primaryKey&gt;
                        &lt;name&gt;DEPT_ID_PK&lt;/name&gt;
                        &lt;column&gt;DEPARTMENT_ID&lt;/column&gt;
                    &lt;/primaryKey&gt;
                    &lt;foreignKeys&gt;
                        &lt;foreignKey&gt;
                            &lt;name&gt;DEPT_MGR_FK&lt;/name&gt;
                            &lt;referencedSchema&gt;HR&lt;/referencedSchema&gt;
                            &lt;referencedTable&gt;EMPLOYEES&lt;/referencedTable&gt;
                            &lt;reference&gt;
&lt;column&gt;MANAGER_ID&lt;/column&gt;
&lt;referenced&gt;EMPLOYEE_ID&lt;/referenced&gt;
                            &lt;/reference&gt;
                            &lt;deleteAction&gt;RESTRICT&lt;/deleteAction&gt;
                            &lt;updateAction&gt;CASCADE&lt;/updateAction&gt;
                        &lt;/foreignKey&gt;
                        &lt;foreignKey&gt;
                            &lt;name&gt;DEPT_LOC_FK&lt;/name&gt;
                            &lt;referencedSchema&gt;HR&lt;/referencedSchema&gt;
                            &lt;referencedTable&gt;LOCATIONS&lt;/referencedTable&gt;
                            &lt;reference&gt;
&lt;column&gt;LOCATION_ID&lt;/column&gt;
&lt;referenced&gt;LOCATION_ID&lt;/referenced&gt;
                            &lt;/reference&gt;
                            &lt;deleteAction&gt;RESTRICT&lt;/deleteAction&gt;
                            &lt;updateAction&gt;CASCADE&lt;/updateAction&gt;
                        &lt;/foreignKey&gt;
                    &lt;/foreignKeys&gt;
                    &lt;rows&gt;27&lt;/rows&gt;
                &lt;/table&gt;</code></pre>



<p class="wp-block-paragraph">Complete metadata include definitions for:</p>



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



<li>columns</li>



<li>descriptions</li>



<li>primary keys</li>



<li>foreign keys</li>



<li>check constraints</li>



<li>triggers</li>



<li>views</li>



<li>procedures/functions (name and parameters but not the code)</li>
</ul>



<p class="wp-block-paragraph"><u>Important&nbsp;note:</u> as already mentioned, the tool doesn&#8217;t provide fine grained tuning of archiving jobs: extraction scope is based on the security perimeter of the user performing the job, which metadata is unloaded is fixed by the tool and data is fully extracted (no way to filter with utility parameters).</p>



<p class="wp-block-paragraph">That said, you can use the source database features to configure more fine grained behaviour, for instance by:</p>



<ul class="wp-block-list">
<li>creating a dedicated user</li>



<li>defining user permissions tailored to the archiving scope defined</li>



<li>creating views for column or row filtering purposes</li>
</ul>



<p class="wp-block-paragraph">To get an idea of how big an archive file can be when exporting a big table, we made a first test with a three columns table containing 26,300,300 rows and whose segment size is 50G: the archive file size is 27G. During the tests, other intermediary sizes were used for the table and each time, the archive file was a little more than 50% of the segment size.</p>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 id="h-what-s-next" class="wp-block-heading">What&#8217;s next</h3>



<p class="wp-block-paragraph">In upcoming blog posts, we will dive in the GUI interface and the various challenges encountered on real schemas.</p>
<p>L’article <a href="https://www.dbi-services.com/blog/archiving-oracle-databases-with-siard-suite/">Archiving Oracle databases with SIARD Suite</a> est apparu en premier sur <a href="https://www.dbi-services.com/blog">dbi Blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dbi-services.com/blog/archiving-oracle-databases-with-siard-suite/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>AutoUpgrade powered easy download and installation of Oracle AI Database 26ai on Linux</title>
		<link>https://www.dbi-services.com/blog/autoupgrade-powered-easy-download-and-installation-of-oracle-ai-database-26ai-on-linux/</link>
					<comments>https://www.dbi-services.com/blog/autoupgrade-powered-easy-download-and-installation-of-oracle-ai-database-26ai-on-linux/#respond</comments>
		
		<dc:creator><![CDATA[Alain Klein]]></dc:creator>
		<pubDate>Fri, 01 May 2026 13:21:58 +0000</pubDate>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[autoupgrade]]></category>
		<category><![CDATA[patching]]></category>
		<guid isPermaLink="false">https://www.dbi-services.com/blog/?p=44159</guid>

					<description><![CDATA[<p>With latest versions of AutoUpgrade, downloading and installing Oracle AI Database 26ai on Linux x86 on-premise has become a very simple process. If you want to give a try to Oracle Database 26ai, building a test environment requires minimal effort as you will see in this short post. What we need: Steps to proceed: 1) [&#8230;]</p>
<p>L’article <a href="https://www.dbi-services.com/blog/autoupgrade-powered-easy-download-and-installation-of-oracle-ai-database-26ai-on-linux/">AutoUpgrade powered easy download and installation of Oracle AI Database 26ai on Linux</a> est apparu en premier sur <a href="https://www.dbi-services.com/blog">dbi Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading" id="h-with-latest-versions-of-autoupgrade-downloading-and-installing-oracle-ai-database-26ai-on-linux-x86-on-premise-has-become-a-very-simple-process-if-you-want-to-give-a-try-to-oracle-database-26ai-building-a-test-environment-requires-minimal-effort-as-you-will-see-in-this-short-post">With latest versions of AutoUpgrade, downloading and installing Oracle AI Database 26ai on Linux x86 on-premise has become a very simple process. If you want to give a try to Oracle Database 26ai, building a test environment requires minimal effort as you will see in this short post.</h2>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph">What we need:</p>



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



<li>Oracle Support account</li>



<li>new installation of Oracle Linux 8 or 9, RHEL 8 or 9, SLES 15 with enough space for Oracle binaries</li>



<li>Java JDK 8 to JDK 11</li>



<li>latest version of AutoUpgrade</li>
</ul>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph">Steps to proceed:</p>



<ul class="wp-block-list">
<li>update the system if not already performed</li>



<li>install OpenJDK if java not yet installed on the system</li>



<li>install Oracle preinstall package for 26ai</li>



<li>create oracle base, inventory and home directories with relevant permissions</li>



<li>change to oracle user created during installation of preinstall package for 26ai</li>



<li>create AutoUpgrade home with some subdirectories</li>



<li>download latest AutoUgrade version</li>



<li>check version of AutoUpgrade</li>



<li>create AutoUpgrade configuration file for software download</li>



<li>configure AutoUpgrade keystore to enable access to Oracle Support</li>



<li>launch software download</li>



<li>create AutoUpgrade configuration file for Oracle Home creation</li>



<li>launch Oracle Home creation</li>



<li>check the newly installed Oracle AI Database 26ai environment</li>
</ul>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h5 class="wp-block-heading" id="h-1-update-the-system">1) Update the system</h5>



<pre class="wp-block-code"><code>sudo dnf update
</code></pre>



<h5 class="wp-block-heading" id="h-2-install-openjdk-if-java-not-yet-installed-on-the-system">2) Install OpenJDK if java not yet installed on the system</h5>



<pre class="wp-block-code"><code>sudo dnf install -y java-11-openjdk
</code></pre>



<h5 class="wp-block-heading" id="h-3-install-oracle-preinstall-package-for-26ai">3) Install Oracle preinstall package for 26ai</h5>



<pre class="wp-block-code"><code>sudo dnf install -y oracle-database-preinstall-23ai
</code></pre>



<h5 class="wp-block-heading" id="h-4-create-oracle-base-inventory-and-home-directories-with-relevant-permissions">4) Create oracle base, inventory and home directories with relevant permissions</h5>



<pre class="wp-block-code"><code>sudo mkdir -p /u01/app/oracle
sudo mkdir -p /u01/app/oraInventory
sudo mkdir -p /u01/app/oracle/product/23.26.2/dbhome_1
sudo chown -R oracle:oinstall /u01/app/oracle
sudo chown -R oracle:oinstall /u01/app/oraInventory
</code></pre>



<h5 class="wp-block-heading" id="h-5-change-to-oracle-user-created-during-installation-of-preinstall-package-for-26ai">5) Change to oracle user created during installation of preinstall package for 26ai</h5>



<pre class="wp-block-code"><code>sudo su - oracle
</code></pre>



<h5 class="wp-block-heading" id="h-6-create-autoupgrade-home-with-some-subdirectories">6) Create AutoUpgrade home with some subdirectories</h5>



<pre class="wp-block-code"><code>mkdir autoupgrade
mkdir autoupgrade/logs
mkdir autoupgrade/patches
mkdir autoupgrade/keystore
mkdir autoupgrade/etc
cd autoupgrade</code></pre>



<h5 class="wp-block-heading" id="h-7-download-latest-version-of-autoupgrade">7) Download latest version of AutoUpgrade</h5>



<pre class="wp-block-code"><code>wget -O /home/oracle/autoupgrade/autoupgrade.jar https://download.oracle.com/otn-pub/otn_software/autoupgrade.jar
</code></pre>



<h5 class="wp-block-heading" id="h-8-check-version-of-autoupgrade">8) Check version of AutoUpgrade</h5>



<pre class="wp-block-code"><code>java -jar autoupgrade.jar -version
</code></pre>



<h5 class="wp-block-heading" id="h-9-create-autoupgrade-configuration-file-for-software-download">9) Create AutoUpgrade configuration file for software download</h5>



<pre class="wp-block-code"><code>vi etc/au-download.cfg

global.global_log_dir=/home/oracle/autoupgrade/logs
global.keystore=/home/oracle/autoupgrade/keystore

dl.folder=/home/oracle/autoupgrade/patches
dl.patch=RU,OPATCH
dl.target_version=23
dl.platform=LINUX.X64</code></pre>



<h5 class="wp-block-heading" id="h-10-configure-autoupgrade-keystore-to-enable-access-to-oracle-support">10) Configure AutoUpgrade keystore to enable access to Oracle Support</h5>



<pre class="wp-block-code"><code>java -jar autoupgrade.jar -config etc/au-download.cfg -patch -load_password
Processing config file ...

Starting AutoUpgrade Patching Password Loader - Type help for available options
Creating new AutoUpgrade Patching keystore - Password required
Enter password:
Enter password again:
AutoUpgrade Patching keystore was successfully created

MOS&gt; add -user &lt;your-mos-account-name&gt;
Enter your secret/Password:
Re-enter your secret/Password:
MOS&gt; save
Convert the AutoUpgrade Patching keystore to auto-login &#091;YES|NO] ? YES
MOS&gt; exit

AutoUpgrade Patching Password Loader finished - Exiting AutoUpgrade Patching
</code></pre>



<h5 class="wp-block-heading" id="h-11-launch-software-download">11) Launch software download</h5>



<pre class="wp-block-code"><code>java -jar autoupgrade.jar -config etc/au-download.cfg -patch -mode download
AutoUpgrade Patching 26.3.260401 launched with default internal options
Processing config file ...
Loading AutoUpgrade Patching keystore
AutoUpgrade Patching keystore is loaded

Connected to MOS - Searching for specified patches

-----------------------------------------------------
Downloading files to /home/oracle/autoupgrade/patches
-----------------------------------------------------
DATABASE RELEASE UPDATE 23.26.2.0.0
    File: p39099680_230000_Linux-x86-64.zip \ 16%
...
</code></pre>



<p class="wp-block-paragraph">After download has completed, we get the following output:</p>



<pre class="wp-block-code"><code>AutoUpgrade Patching 26.3.260401 launched with default internal options
Processing config file ...
Loading AutoUpgrade Patching keystore
AutoUpgrade Patching keystore is loaded

Connected to MOS - Searching for specified patches

-----------------------------------------------------
Downloading files to /home/oracle/autoupgrade/patches
-----------------------------------------------------
DATABASE RELEASE UPDATE 23.26.2.0.0
    File: p39099680_230000_Linux-x86-64.zip - VALIDATED

OPatch 12.2.0.1.51 for DB 23.0.0.0.0 (Apr 2026)
    File: p6880880_230000_Linux-x86-64.zip - VALIDATED
-----------------------------------------------------
</code></pre>



<p class="wp-block-paragraph">At time of writing, 23.26.2 was just released and Data Pump Bundle Patch could not yet be downloaded for this Release Update.</p>



<h5 class="wp-block-heading" id="h-12-create-autoupgrade-configuration-file-for-oracle-home-creation">12) Create AutoUpgrade configuration file for Oracle Home creation</h5>



<pre class="wp-block-code"><code>vi etc/au-create-home.cfg

global.global_log_dir=/home/oracle/autoupgrade/logs

crh.folder=/home/oracle/autoupgrade/patches
crh.patch=RU,OPATCH
crh.target_version=23
crh.platform=LINUX.X64
crh.target_home=/u01/app/oracle/product/23.26.2/dbhome_1
crh.home_settings.edition=ee
crh.home_settings.oracle_base=/u01/app/oracle
crh.home_settings.inventory_location=/u01/app/oraInventory
crh.download=no</code></pre>



<h5 class="wp-block-heading" id="h-13-launch-oracle-home-creation">13) Launch Oracle Home creation</h5>



<pre class="wp-block-code"><code>java -jar autoupgrade.jar -config etc/au-create-home.cfg -patch -mode create_home
AutoUpgrade Patching 26.3.260401 launched with default internal options
Processing config file ...
+-----------------------------------------+
| Starting AutoUpgrade Patching execution |
+-----------------------------------------+
Type 'help' to list console commands
patch&gt;lsj -a
patch&gt; +----+-------------+-------+---------+-------+----------+-------+---------------------+
|Job#|      DB_NAME|  STAGE|OPERATION| STATUS|START_TIME|UPDATED|              MESSAGE|
+----+-------------+-------+---------+-------+----------+-------+---------------------+
| 100|create_home_1|EXTRACT|EXECUTING|RUNNING|  09:29:32|37s ago|Extracting gold image|
+----+-------------+-------+---------+-------+----------+-------+---------------------+
Total jobs 1

patch&gt; Job 100 completed
------------------- Final Summary --------------------
Number of databases            &#091; 1 ]

Jobs finished                  &#091;1]
Jobs failed                    &#091;0]
Jobs restored                  &#091;0]
Jobs pending                   &#091;0]

# Run the root.sh script as root for the following jobs:
For create_home_1 -&gt; /u01/app/oracle/product/23.26.2/dbhome_1/root.sh

# Run the orainstRoot.sh script as root for the following jobs:
For create_home_1 -&gt; /u01/app/oraInventory/orainstRoot.sh

Please check the summary report at:
/home/oracle/autoupgrade/logs/cfgtoollogs/patch/auto/status/status.html
/home/oracle/autoupgrade/logs/cfgtoollogs/patch/auto/status/status.log</code></pre>



<p class="wp-block-paragraph">To complete the installation, we need to execute with root privileges the two scripts mentioned at the end of the output.</p>



<h5 class="wp-block-heading" id="h-14-check-the-newly-installed-oracle-ai-database-26ai-environment">14) Check the newly installed Oracle AI Database 26ai environment</h5>



<pre class="wp-block-code"><code>more /home/oracle/autoupgrade/logs/cfgtoollogs/patch/auto/status/status.log
==========================================
   AutoUpgrade Patching Summary Report
==========================================
&#091;Date]           Fri May 01 09:33:13 GMT 2026
&#091;Number of Jobs] 1
==========================================
&#091;Job ID] 100
==========================================
&#091;DB Name]                create_home_1
&#091;Version Before AutoUpgrade Patching] 23.0.0.0.0
&#091;Version After AutoUpgrade Patching]  23.26.2.0.0
------------------------------------------
&#091;Stage Name]    PENDING
&#091;Status]        SUCCESS
&#091;Start Time]    2026-05-01 09:29:32
&#091;Duration]      0:00:00
&#091;Log Directory] /home/oracle/autoupgrade/logs/create_home_1/100/pending
------------------------------------------
&#091;Stage Name]    PREACTIONS
&#091;Status]        SUCCESS
&#091;Start Time]    2026-05-01 09:29:32
&#091;Duration]      0:00:00
&#091;Log Directory] /home/oracle/autoupgrade/logs/create_home_1/100/preaction
------------------------------------------
&#091;Stage Name]    EXTRACT
&#091;Status]        SUCCESS
&#091;Start Time]    2026-05-01 09:29:32
&#091;Duration]      0:01:17
&#091;Log Directory] /home/oracle/autoupgrade/logs/create_home_1/100/extract
------------------------------------------
&#091;Stage Name]    DBTOOLS
&#091;Status]        SUCCESS
&#091;Start Time]    2026-05-01 09:30:51
&#091;Duration]      0:00:00
&#091;Log Directory] /home/oracle/autoupgrade/logs/create_home_1/100/dbtools
------------------------------------------
&#091;Stage Name]    INSTALL
&#091;Status]        SUCCESS
&#091;Start Time]    2026-05-01 09:30:52
&#091;Duration]      0:02:20
&#091;Log Directory] /home/oracle/autoupgrade/logs/create_home_1/100/install
------------------------------------------
&#091;Stage Name]    OH_PATCHING
&#091;Status]        SUCCESS
&#091;Start Time]    2026-05-01 09:33:13
&#091;Duration]      0:00:00
&#091;Log Directory] /home/oracle/autoupgrade/logs/create_home_1/100/opatch
------------------------------------------
&#091;Stage Name]    OPTIONS
&#091;Status]        SUCCESS
&#091;Start Time]    2026-05-01 09:33:13
&#091;Duration]      0:00:00
&#091;Log Directory] /home/oracle/autoupgrade/logs/create_home_1/100/options
------------------------------------------
&#091;Stage Name]    ROOTSH
&#091;Status]        SUCCESS
&#091;Start Time]    2026-05-01 09:33:13
&#091;Duration]      0:00:00
&#091;Log Directory] /home/oracle/autoupgrade/logs/create_home_1/100/rootsh
------------------------------------------
&#091;Stage Name]    DISPATCH
&#091;Status]        SUCCESS
&#091;Start Time]    2026-05-01 09:33:13
&#091;Duration]      0:00:00
&#091;Log Directory] /home/oracle/autoupgrade/logs/create_home_1/100/dispatch
------------------------------------------
&#091;Stage Name]    POSTACTIONS
&#091;Status]        SUCCESS
&#091;Start Time]    2026-05-01 09:33:13
&#091;Duration]      0:00:00
&#091;Log Directory] /home/oracle/autoupgrade/logs/create_home_1/100/postaction
------------------------------------------

sqlplus -V

SQL*Plus: Release 23.26.2.0.0 - Production
Version 23.26.2.0.0</code></pre>



<p class="wp-block-paragraph">And that&#8217;s it.</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>
<p>L’article <a href="https://www.dbi-services.com/blog/autoupgrade-powered-easy-download-and-installation-of-oracle-ai-database-26ai-on-linux/">AutoUpgrade powered easy download and installation of Oracle AI Database 26ai on Linux</a> est apparu en premier sur <a href="https://www.dbi-services.com/blog">dbi Blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dbi-services.com/blog/autoupgrade-powered-easy-download-and-installation-of-oracle-ai-database-26ai-on-linux/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Exascale new clone and snapshot capabilities</title>
		<link>https://www.dbi-services.com/blog/exascale-new-clone-and-snapshot-capabilities/</link>
					<comments>https://www.dbi-services.com/blog/exascale-new-clone-and-snapshot-capabilities/#respond</comments>
		
		<dc:creator><![CDATA[Alain Klein]]></dc:creator>
		<pubDate>Wed, 29 Apr 2026 13:03:59 +0000</pubDate>
				<category><![CDATA[OCI]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[oracle exadata database service]]></category>
		<category><![CDATA[oracle exascale]]></category>
		<category><![CDATA[oracle exascale architecture]]></category>
		<category><![CDATA[oracle exascale clone]]></category>
		<category><![CDATA[oracle exascale infrastructure]]></category>
		<category><![CDATA[oracle exascale snapshot]]></category>
		<guid isPermaLink="false">https://www.dbi-services.com/blog/?p=44113</guid>

					<description><![CDATA[<p>One of the most game changing capabilities of Exascale are the new clone and snapshot features compared to previous options available with ASM / ACFS. And since the business requirements for clones or snapshots to be made available rapidly and conveniently are rising, Exascale comes in rescue for IT operations to quickly provide storage efficient [&#8230;]</p>
<p>L’article <a href="https://www.dbi-services.com/blog/exascale-new-clone-and-snapshot-capabilities/">Exascale new clone and snapshot capabilities</a> est apparu en premier sur <a href="https://www.dbi-services.com/blog">dbi Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading" id="h-one-of-the-most-game-changing-capabilities-of-exascale-are-the-new-clone-and-snapshot-features-compared-to-previous-options-available-with-asm-acfs-and-since-the-business-requirements-for-clones-or-snapshots-to-be-made-available-rapidly-and-conveniently-are-rising-exascale-comes-in-rescue-for-it-operations-to-quickly-provide-storage-efficient-copies-of-production-databases-even-the-most-big-ones">One of the most game changing capabilities of Exascale are the new clone and snapshot features compared to previous options available with ASM / ACFS. And since the business requirements for clones or snapshots to be made available rapidly and conveniently are rising, Exascale comes in rescue for IT operations to quickly provide storage efficient copies of production databases, even the most big ones.</h2>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph">The business requirements to be able to get hands on clones of production databases are nowadays countless:</p>



<ul class="wp-block-list">
<li>developer agility (needing separate and isolated databases),</li>



<li>production-like shared environment providing same model and code but with a smaller footprint,</li>



<li>test databases for software update testing,</li>



<li>data sharing,</li>



<li>point-in-time reporting, what-if scenario modeling or data audit.</li>
</ul>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph">For environments with big databases (tens of terabytes and more), Exascale is very well suited to do the job, with the following main features and advantages:</p>



<ul class="wp-block-list">
<li>source database flexibility: you can now clone read-write and read-only 23/26ai databases, at the PDB and CDB level</li>



<li>no upstream dependencies: unlike ASM, Exascale no longer requires a test-master read-only copy</li>



<li>storage reclamation is automatically performed by Exascale for extents no longer referenced by a file</li>



<li>redirect-on-write techniques enable quick clone creation and maintenance with unprecedented space efficiency</li>



<li>and last but not least, clone/snapshot is independent of source, which can be dropped without impacting clone</li>
</ul>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph">Before going through the details on how to make clones and snapshots, let&#8217;s remind what clones and snapshots are.</p>



<h3 class="wp-block-heading" id="h-snapshot">Snapshot</h3>



<p class="wp-block-paragraph">A snapshot is a read-only point-in-time copy of a file. Possible sources for snapshot creation are regular files, clones or another snapshot.</p>



<h3 class="wp-block-heading" id="h-clone">Clone</h3>



<p class="wp-block-paragraph">A clone is a read-write point-in-time copy of a file, possibly created from a regular file, another clone or a snapshot.</p>



<p class="wp-block-paragraph">There are actually two types of clones: thin (space efficient) or full (byte-for-byte copy of source).</p>



<p class="wp-block-paragraph">Cloning implicitly creates snapshots.</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading" id="h-how-do-we-create-clones-or-snapshots-of-pdbs">How do we create clones or snapshots of PDBs ?</h3>



<p class="wp-block-paragraph">This is where database kernel and Exascale integration really shines: physical storage operations are encapsulated in single SQL commands, thus there is no need to learn new tricky commands and clauses to leverage Exascale cloning and snapshoting capabilities. You use SQL commands you are already familiar with:</p>



<pre class="wp-block-code"><code>CREATE|ALTER PLUGGABLE DATABASE
</code></pre>



<div style="height:10px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading" id="h-creating-pdb-snapshots">Creating PDB snapshots</h3>



<p class="wp-block-paragraph">To create a read-only point-in-time reference to a PDB, use:</p>



<pre class="wp-block-code"><code>ALTER PLUGGABLE DATABASE pdb_name SNAPSHOT pdb_snapshot_name;
</code></pre>



<p class="wp-block-paragraph">Remember that snapshots are inconsistent by default (which precisely makes quick creation possible); so cloning a snapshot triggers recovery based on redo data before the new clone can be opened read-write. Thus, required redo data has to be retained or restored from backup.</p>



<p class="wp-block-paragraph">The DBA_PDB_SNAPSHOTS dictionary view is available to display snapshots information.</p>



<div style="height:10px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading" id="h-creating-pdb-thin-clones">Creating PDB thin clones</h3>



<p class="wp-block-paragraph">A PDB thin clone is a space-efficient clone of an existing PDB. You need to use the SNAPSHOT COPY clause like in the following syntax:</p>



<pre class="wp-block-code"><code>CREATE PLUGGABLE DATABASE pdb_name FROM source_pdb_name SNAPSHOT COPY;</code></pre>



<h4 class="wp-block-heading" id="h-thin-cloning-a-pdb">Thin cloning a PDB</h4>



<pre class="wp-block-code"><code>CREATE PLUGGABLE DATABASE thin_clone_pdb_name FROM source_pdb_name SNAPSHOT COPY;
ALTER PLUGGABLE DATABASE thin_clone_pdb_name OPEN INSTANCES=ALL;
</code></pre>



<h4 class="wp-block-heading" id="h-thin-cloning-a-pdb-snapshot">Thin cloning a PDB snapshot</h4>



<pre class="wp-block-code"><code>CREATE PLUGGABLE DATABASE thin_clone_pdb_name FROM source_pdb_name USING SNAPSHOT pdb_snapshot_name SNAPSHOT COPY;
ALTER PLUGGABLE DATABASE thin_clone_pdb_name OPEN INSTANCES=ALL;
</code></pre>



<div style="height:10px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading" id="h-creating-pdb-full-clones">Creating PDB full clones</h3>



<p class="wp-block-paragraph">As already mentioned, a full clone is a byte-for-byte copy of an existing PDB and therefore takes the same storage space than source PDB. The command to be used is a simple:</p>



<pre class="wp-block-code"><code>CREATE PLUGGABLE DATABASE … FROM …</code></pre>



<p class="wp-block-paragraph">The missing SNAPSHOT COPY clause directs the database to create a complete block-for-block copy of the PDB.</p>



<pre class="wp-block-code"><code>CREATE PLUGGABLE DATABASE full_clone_pdb_name FROM source_pdb_name;
ALTER PLUGGABLE DATABASE full_clone_pdb_name OPEN INSTANCES=ALL;
</code></pre>



<p class="wp-block-paragraph">Existing snapshots or thin clones can also be referenced as a source in the preceding commands.</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading" id="h-what-about-cloning-an-entire-container-database">What about cloning an entire container database ?</h3>



<p class="wp-block-paragraph">Space-efficient clones of an entire container database are possible thanks to the powerful gDBClone utility written by Ruggero Citton, to whom we owe other great utilities ODABR (consistent and incremental backup and restore for Oracle Database Appliance nodes), KVMBR (backup and restore of KVM domains) or more recently DSCM &amp; DSCMREST (deployment of Oracle database containers with efficient storage snapshots).</p>



<p class="wp-block-paragraph">The gDBClone utility enables:</p>



<ul class="wp-block-list">
<li>End-to-end thin and full cloning of a CDB with all its PDB</li>



<li>File clone operations</li>



<li>RMAN calls to make cloned files consistent</li>



<li>Instance related files (such as password, spfile or TDE wallet files) creation</li>



<li>GI registration</li>
</ul>



<p class="wp-block-paragraph">Here are some simple examples to respectively thin clone and full clone an entire CDB:</p>



<pre class="wp-block-code"><code>gDBClone.bin snap –sdbname source_db_name –tdbname target_db_name
</code></pre>



<pre class="wp-block-code"><code>gDBClone.bin clone –sdbname source_db_name –tdbname target_db_name
</code></pre>



<p class="wp-block-paragraph">More on this powerful tool in <a href="https://docs.oracle.com/en/engineered-systems/exadata-database-machine/exscl/cloning-container-database.html" id="https://docs.oracle.com/en/engineered-systems/exadata-database-machine/exscl/cloning-container-database.html" target="_blank" rel="noreferrer noopener">Exascale documentation</a> and Oracle Support <a href="https://support.oracle.com/ic/builder/rt/customer_portal/live/webApps/customer-portal/?anchorId=&amp;kmContentId=2099214&amp;page=sptemplate&amp;sptemplate=km-article" id="https://support.oracle.com/ic/builder/rt/customer_portal/live/webApps/customer-portal/?anchorId=&amp;kmContentId=2099214&amp;page=sptemplate&amp;sptemplate=km-article" target="_blank" rel="noreferrer noopener">KB145187</a> article.</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading" id="h-performance">Performance</h3>



<p class="wp-block-paragraph">Thin cloning a 2.4 TB PDB takes less than 12 seconds while opening the new thin clone on a two instances cluster database takes another 11 seconds, for a total elapsed time of the entire operation under 30 seconds !!!</p>



<p class="wp-block-paragraph">Additional details can be found in this <a href="https://alexblyth.net/2025/09/16/ultra-fast-pdb-thin-clones-on-exadata-exascale/" id="https://alexblyth.net/2025/09/16/ultra-fast-pdb-thin-clones-on-exadata-exascale/" target="_blank" rel="noreferrer noopener">Alex Blyth blog post</a>.</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading" id="h-conclusion">Conclusion</h2>



<p class="wp-block-paragraph">By leveraging state-of-the-art redirect-on-write technologies, Exascale is a leap forward and game changing technology when it comes to clone and snapshot features and capabilities. It is CI/CD friendly and the ideal tool to address the business requirements for test and qualification environments by letting DBAs provide very quickly space efficient copies of production or standby databases or PDBs.</p>



<p class="wp-block-paragraph">Give it a try to be definitely convinced.</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>
<p>L’article <a href="https://www.dbi-services.com/blog/exascale-new-clone-and-snapshot-capabilities/">Exascale new clone and snapshot capabilities</a> est apparu en premier sur <a href="https://www.dbi-services.com/blog">dbi Blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dbi-services.com/blog/exascale-new-clone-and-snapshot-capabilities/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Exascale storage architecture</title>
		<link>https://www.dbi-services.com/blog/exascale-storage-architecture/</link>
					<comments>https://www.dbi-services.com/blog/exascale-storage-architecture/#respond</comments>
		
		<dc:creator><![CDATA[Alain Klein]]></dc:creator>
		<pubDate>Tue, 16 Dec 2025 11:26:14 +0000</pubDate>
				<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[oracle exadata database service]]></category>
		<category><![CDATA[oracle exascale]]></category>
		<category><![CDATA[oracle exascale architecture]]></category>
		<category><![CDATA[oracle exascale infrastructure]]></category>
		<category><![CDATA[resource pooling]]></category>
		<guid isPermaLink="false">https://www.dbi-services.com/blog/?p=41712</guid>

					<description><![CDATA[<p>In the first article, we discovered Exascale from a high level overview with a focus on Exascale Infrastructure. In this new article, we will dive into the Exascale storage architecture, with details about the physical components as well as the services and processes managing this new storage management approach for Exadata. In this blog post, [&#8230;]</p>
<p>L’article <a href="https://www.dbi-services.com/blog/exascale-storage-architecture/">Exascale storage architecture</a> est apparu en premier sur <a href="https://www.dbi-services.com/blog">dbi Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading" id="h-in-the-first-article-we-discovered-exascale-from-a-high-level-overview-with-a-focus-on-exascale-infrastructure-in-this-new-article-we-will-dive-into-the-exascale-storage-architecture-with-details-about-the-physical-components-as-well-as-the-services-and-processes-managing-this-new-storage-management-approach-for-exadata">In the first article, we discovered Exascale from a high level overview with a focus on Exascale Infrastructure. In this new article, we will dive into the Exascale storage architecture, with details about the physical components as well as the services and processes managing this new storage management approach for Exadata.</h2>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph">In this blog post, we will explore the Exascale storage architecture and processes pertaining to Exascale. But before diving in, a quick note to avoid any confusion about Exascale: even though in the <a href="https://www.dbi-services.com/blog/exascale-infrastructure-new-flavor-of-exadata-database-service/">previous article</a>, we focused on Exascale Infrastructure and its various benefits in terms of small footprint and hyper-elasticity based on modern cloud characteristics, it is important to keep in mind that <strong>Exascale is an Exadata technology</strong> and not a cloud-only technology. You can benefit from it in non-cloud deployments as well such as on Exadata Database Machine deployed in your data centers.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading" id="h-exascale-storage-components">Exascale storage components</h3>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph">Here is the overall picture:</p>



<figure class="wp-block-image size-full"><img decoding="async" width="960" height="540" src="http://www.dbi-services.com/blog/wp-content/uploads/sites/2/2025/12/XS-storage-arch-1-2.jpg" alt="" class="wp-image-42075" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2025/12/XS-storage-arch-1-2.jpg 960w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2025/12/XS-storage-arch-1-2-300x169.jpg 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2025/12/XS-storage-arch-1-2-768x432.jpg 768w" sizes="(max-width: 960px) 100vw, 960px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading" id="h-exascale-cluster">Exascale cluster</h4>



<p class="wp-block-paragraph">An Exascale Cluster is composed of Exadata storage servers to provide storage to Grid Infrastructure clusters and the databases. An Exadata storage server can belong to only one Exascale cluster.</p>



<p class="wp-block-paragraph">Software services (included in the Exadata System Software stack) run on each Exadata cluster for managing the cluster resources made available to GI and databases, namely pool disks, storage pools, vaults, block volumes and many other.</p>



<p class="wp-block-paragraph">With Exadata Database Service on Exascale Infrastructure, the number of Exadata storage servers included in the Exascale cluster can be quite huge, hundreds maybe even thousands storage servers, to enable cloud-scale storage resource pooling.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading" id="h-storage-pools">Storage pools</h4>



<p class="wp-block-paragraph">A storage pool is a collection of pool disks (see below for details about pool disks).</p>



<p class="wp-block-paragraph">Each Exascale cluster requires at least one storage pool.</p>



<p class="wp-block-paragraph">A storage pool can be dynamically reconfigured by changing pool disks size, allocating more pool disks or adding Exadata storage servers.</p>



<p class="wp-block-paragraph">The pool disks found inside a storage pool must be of the same media type.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading" id="h-pool-disks">Pool disks</h4>



<p class="wp-block-paragraph">A pool disk is physical storage space allocated from an Exascale-specific cell disk to be integrated in a storage pool.</p>



<p class="wp-block-paragraph">Each storage server physical disk has a LUN in the storage server OS and a cell disk is created as a container for all Exadata-related partitions within the LUN. Each partition in a cell disk is then designated as a pool disk for Exascale (or grid disk in case of ASM is used instead of Exascale).</p>



<p class="wp-block-paragraph">A media type is associated to each pool disk based on the underlying storage device and can be one of the following :</p>



<ul class="wp-block-list">
<li>HC : points to high capacity storage using hard disk drives</li>



<li>EF : based on extreme flash storage devices</li>



<li>XT : corresponds to extended storage using hard disk drives found in <a href="https://blogs.oracle.com/exadata/exadata-x11m-extended-and-recovery-appliance-ra23-z">Exadata Storage Server X11M Extended (XT) hardware</a></li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading" id="h-vaults">Vaults</h4>



<p class="wp-block-paragraph">Vaults are logical storage containers used for storing files and are allocated from storage pools. By default, without specific provisioning attributes, vaults can use all resources from all storage pools of an Exascale cluster.</p>



<p class="wp-block-paragraph">Here are the two main services provided by vaults:</p>



<ol class="wp-block-list">
<li><strong>Security isolation</strong>: a security perimeter is associated with vaults based on user access controls which guarantee a strict isolation of data between users and clusters.</li>



<li><strong>Resource control</strong>: storage pool resources usage is configured at the vault level for attributes like storage space, IOPS, XRMEM and flash cache sizing.</li>
</ol>



<p class="wp-block-paragraph">For those familiar with ASM, think of vaults as the equivalent to ASM disk groups. For example, instance parameters like ‘db_create_file_dest’ and ‘db_recovery_file_dest’ reference vaults instead of ASM disk groups by using &#8216;@vault_name&#8217; syntax.</p>



<p class="wp-block-paragraph">Since attributes like redundancy, type of file content, type of media are positioned at the file level instead at the logical storage container, there is no need to organize vaults in the same manner as we did for disk groups. For instance, we don&#8217;t need to create a first vault for data and a second vault for recovery files as we are used to with ASM.</p>



<p class="wp-block-paragraph">Beside database files, vaults can also store other types of files even though it is recommended to store non database files on block volumes. That&#8217;s because Exascale is optimized for storing large files such as database files whereas regular files are typically much smaller and fit more on block volumes.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading" id="h-files">Files</h4>



<p class="wp-block-paragraph">The main files found on Exascale storage are Database and Grid Infrastructure files. Beyond that, all objects in Exascale are represented as files of a certain type. Each file type has storage attributes defined in a template. The file storage attributes are :</p>



<ul class="wp-block-list">
<li>mediaType : HC, EF or XT</li>



<li>redundancy : currently high</li>



<li>contentType : DATA and RECO</li>
</ul>



<p class="wp-block-paragraph">This makes a huge difference with ASM where different redundancy needs required to create different disk groups. With Exascale, it is now possible to store files with different redundancy requirements in the same storage structure (vaults). This also enables to optimize usage of the storage capacity.</p>



<p class="wp-block-paragraph">Files are composed of extents of 8MB in size which are mirrored and stripped across all vault&#8217;s storage resources.</p>



<p class="wp-block-paragraph">The tight integration of the database kernel with Exascale makes it possible for Exascale to automatically understand the type of file the database asks to create and thus applies the appropriate attributes defined in the file template. This prevents Exascale to store data and recovery files extents (more on extents in the next section) on the same disks and also guarantees that mirrored extents are located on different storage servers than the primary extent.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading" id="h-file-extents">File extents</h4>



<p class="wp-block-paragraph">Remember that in Exascale, storage management moved from the compute servers to the storage servers. Specifically, this means the building blocks of files, namely extents, are managed by the storage servers.</p>



<p class="wp-block-paragraph">The new data structure used for extent management is a mapping table which tracks for each file extent the location of the primary and mirror copy extents in the storage servers. This mapping table is cached by each database server and instance to retrieve its file extents location. Once the database has the extent location, it can directly make an I/O call to the appropriate storage server. In case the mapping table is no more up-to-date because of database physical structure changes or storage servers addition or removal, an I/O call can be rejected, triggering a mapping table refresh allowing the I/O call to be retried.</p>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="538" src="http://www.dbi-services.com/blog/wp-content/uploads/sites/2/2025/12/XS-storage-arch-2-1024x538.jpg" alt="Exascale mapping table" class="wp-image-41824" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2025/12/XS-storage-arch-2-1024x538.jpg 1024w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2025/12/XS-storage-arch-2-300x158.jpg 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2025/12/XS-storage-arch-2-768x404.jpg 768w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2025/12/XS-storage-arch-2-1536x807.jpg 1536w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2025/12/XS-storage-arch-2-2048x1076.jpg 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading" id="h-exascale-block-store-with-rdma-enabled-block-volumes">Exascale Block Store with RDMA-enabled block volumes</h4>



<p class="wp-block-paragraph">Block volumes can be allocated from storage pools to store regular files on file systems like ACFS or XFS. They also enable centralization of VC VM images, thus cutting the dependency of VM images to internal compute node storage and streamlining migrations between physical database servers. Clone, snapshot and backup and restore features for block volumes can leverage all resources of the available storage servers.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading" id="h-exascale-storage-services">Exascale storage services</h3>



<p class="wp-block-paragraph">From a software perspective, Exascale is composed of a number of software services available in the Exadata System Software (since release 24.1). These software services run mainly on the Exadata Storage Servers but also on the Exadata Database Servers.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading" id="h-exascale-storage-server-services">Exascale storage server services</h4>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td><strong>Service</strong></td><td><strong>Description</strong></td></tr><tr><td><strong>EGS</strong> &#8211; Cluster Services</td><td>EGS (Exascale Global Services) main task is to manage the storage allocated to storage pools. In addition, EGS also controls storage cluster membership, security and identity services as well as monitoring the other Exascale services.</td></tr><tr><td><strong>ERS</strong> &#8211; Control Services</td><td>ERS (Exascale RESTful Services) provide the management endpoint for all Exascale management operations. The new Exascale command-line interface (ESCLI), used for monitoring and management functions, leverages ERS for command execution.</td></tr><tr><td><strong>EDS</strong> &#8211; Exascale Vault Manager Services</td><td>EDS (Exascale Data Services) are responsible for files and vaults metadata management and are made up of two groups of services:<br>System Vault Manager and User Vault Manager.<br><br>System Vault Manager (SYSEDS) manages Exascale vaults metadata, such as the security perimeter through ACL and vaults attributes<br><br>User Vault Manager (USREDS) manages Exascale files metadata, such as ACLs and attributes as well as clones and snapshots metadata</td></tr><tr><td><strong>BSM</strong> &#8211; Block Store Manager</td><td>BSM manages Exascale block storage metadata and controls all block store management operations like volume creation, attachment, detachment, modification or snapshot.</td></tr><tr><td><strong>BSW</strong> &#8211; Block Store Worker</td><td>These services perform the actual requests from clients and translate them to storage server I/O.</td></tr><tr><td><strong>IFD</strong> &#8211; Instant Failure Detection</td><td>IFD service watches for failures which could arise in the Exascale cluster and triggers recovery actions when needed.</td></tr><tr><td><strong>Exadata Cell Services</strong></td><td>Exadata cell services are required for Exascale to function and both services work in conjunction to provide the Exascale features.</td></tr></tbody></table></figure>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading" id="h-exascale-database-server-services">Exascale database server services</h4>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td><strong>Service</strong></td><td><strong>Description</strong></td></tr><tr><td><strong>EGS</strong> &#8211; Cluster Services</td><td>EGS instances will run on database servers when the Exadata configuration has fewer than five storage servers</td></tr><tr><td><strong>BSW</strong> &#8211; Block Store Worker</td><td>Services requests from block store clients and performs the resulting storage server I/O</td></tr><tr><td><strong>ESNP</strong> &#8211; Exascale Node Proxy</td><td>ESNP provides Exascale cluster state to GI and Database processes.</td></tr><tr><td><strong>EDV</strong> &#8211; Exascale Direct Volume</td><td>EDV service exposes Exascale block volumes to Exadata compute nodes and runs I/O requests on EDV devices.</td></tr><tr><td><strong>EGSB/EDSB</strong></td><td>Per database instance services that maintain metadata about the Exascale cluster and vaults</td></tr></tbody></table></figure>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph">Below diagram depicts how the various Exascale services are dispatched on the storage and compute nodes:</p>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="573" src="http://www.dbi-services.com/blog/wp-content/uploads/sites/2/2025/12/XS-storage-arch-3-1024x573.jpg" alt="Exascale processes" class="wp-image-41825" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2025/12/XS-storage-arch-3-1024x573.jpg 1024w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2025/12/XS-storage-arch-3-300x168.jpg 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2025/12/XS-storage-arch-3-768x430.jpg 768w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2025/12/XS-storage-arch-3-1536x860.jpg 1536w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2025/12/XS-storage-arch-3-2048x1146.jpg 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading" id="h-wrap-up">Wrap-up</h3>



<p class="wp-block-paragraph">By rearchitecting Exadata storage management with focus on space efficiency, flexibility and elasticity, Exascale can now overcome the main limitations of ASM:</p>



<ul class="wp-block-list">
<li>diskgroup resizing complexity and time-consuming rebalance operation </li>



<li>space distribution among DATA and RECO diskgroups requiring rigorous estimation of storage needs for each</li>



<li>sparse diskgroup requirement for cloning with a read-only test master or use of ACFS without smart scan</li>



<li>redundancy configuration at the diskgroup level</li>
</ul>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph">The below links will provide you further details on the matter:</p>



<p class="wp-block-paragraph"><a href="https://blogs.oracle.com/exadata/exadata-exascale">Oracle Exadata Exascale blog</a></p>



<p class="wp-block-paragraph"><a href="https://blogs.oracle.com/exadata/advantages-of-exadata-exascale">Oracle Exadata Exascale advantages blog</a></p>



<p class="wp-block-paragraph"><a href="https://blogs.oracle.com/exadata/exascale-storage-fundamentals">Oracle Exadata Exascale storage fundamentals blog</a></p>



<p class="wp-block-paragraph"><a href="https://docs.oracle.com/en/engineered-systems/exadata-database-machine/exscl/exascale-components-and-concepts.html">Oracle Exascale documentation</a></p>



<p class="wp-block-paragraph"><a href="https://www.oracle.com/database/technologies/exadata/architecture/">Oracle Exadata architecture</a></p>



<p class="wp-block-paragraph"><a href="https://oracleandme.com/2025/02/11/exascale-1-3-why-asm-needed-an-heir-worthy-of-the-21st-century/">Oracle And Me blog &#8211; Why ASM Needed an Heir Worthy of the 21st&nbsp;Century</a></p>



<p class="wp-block-paragraph"><a href="https://oracleandme.com/2025/02/14/exascale-2-3-new-exascale-architecture/">Oracle And Me blog &#8211; New Exascale architecture</a></p>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph">More on the exciting Exascale technology in coming posts &#8230; </p>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<p>L’article <a href="https://www.dbi-services.com/blog/exascale-storage-architecture/">Exascale storage architecture</a> est apparu en premier sur <a href="https://www.dbi-services.com/blog">dbi Blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dbi-services.com/blog/exascale-storage-architecture/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Exascale Infrastructure : new flavor of Exadata Database Service</title>
		<link>https://www.dbi-services.com/blog/exascale-infrastructure-new-flavor-of-exadata-database-service/</link>
					<comments>https://www.dbi-services.com/blog/exascale-infrastructure-new-flavor-of-exadata-database-service/#respond</comments>
		
		<dc:creator><![CDATA[Alain Klein]]></dc:creator>
		<pubDate>Mon, 24 Nov 2025 08:30:00 +0000</pubDate>
				<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[oracle exadata database service]]></category>
		<category><![CDATA[oracle exascale]]></category>
		<category><![CDATA[oracle exascale architecture]]></category>
		<category><![CDATA[oracle exascale infrastructure]]></category>
		<category><![CDATA[resource pooling]]></category>
		<guid isPermaLink="false">https://www.dbi-services.com/blog/?p=41555</guid>

					<description><![CDATA[<p>Oracle unveiled Exadata Database Service on Exascale Infrastructure in summer 2024. In this blog post, the first of a series dedicated to Exascale, we will dive into its architecture after a brief presentation of what Exascale is. Introduction Exadata on Exascale Infrastructure is a new deployment option for Exadata Database Service. It comes in addition [&#8230;]</p>
<p>L’article <a href="https://www.dbi-services.com/blog/exascale-infrastructure-new-flavor-of-exadata-database-service/">Exascale Infrastructure : new flavor of Exadata Database Service</a> est apparu en premier sur <a href="https://www.dbi-services.com/blog">dbi Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading" id="h-oracle-unveiled-exadata-database-service-on-exascale-infrastructure-in-summer-2024-in-this-blog-post-the-first-of-a-series-dedicated-to-exascale-we-will-dive-into-its-architecture-after-a-brief-presentation-of-what-exascale-is">Oracle unveiled Exadata Database Service on Exascale Infrastructure in summer 2024. In this blog post, the first of a series dedicated to Exascale, we will dive into its architecture after a brief presentation of what Exascale is.</h2>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading" id="h-introduction">Introduction</h3>



<p class="wp-block-paragraph">Exadata on Exascale Infrastructure is a new deployment option for Exadata Database Service. It comes in addition to the well known Exadata Cloud@Customer or Exadata on Dedicated Infrastructure options already available. It is based on new storage management technology decoupling database and Grid Infrastructure clusters from the Exadata underlying storage servers by integrating the database kernel directly with the Exascale storage structures.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading" id="h-what-is-exascale-infrastructure">What is Exascale Infrastructure ?</h3>



<p class="wp-block-paragraph">Simply put, Exascale is the next-generation of Oracle Exadata Database Services. It combines a cloud storage approach for flexibilty and hyper-elasticity with the performance of Exadata Infrastructure. It introduces a loosely-coupled shared and multitenant architecture where Database and Grid Infrastructure clusters are decoupled from the underlying Exadata storage servers which become a pool of shared storage resources available for multiple Grid Infrastructure clusters and databases.</p>



<p class="wp-block-paragraph">Strict data isolation provides secure storage sharing while storage pooling enables flexible and dynamic provisioning combined with better storage space and processing utilization.</p>



<p class="wp-block-paragraph">Advanced snapshot and cloning features, leveraging Redirect-On-Write technology instead of Copy-On-Write, enable space-efficient thin clones from any read/write database or pluggable database. Read-only test master are therefore a thing of the past. These features alone make Exascale a game-changer for database refreshes, CI/CD workflows and pipelines, development environments provisioning, all done with single SQL commands and much faster than before.</p>



<p class="wp-block-paragraph">Block storage services allow the creation of arbitrary-sized block volumes for use by numerous applications. Exascale block volumes are also used to store Exadata database server virtual machines images enabling :</p>



<ul class="wp-block-list">
<li>creation of more virtual machines</li>



<li>removal of local storage dependency inside the Exadata compute nodes</li>



<li>seamless migration of virtual machines between different compute nodes</li>
</ul>



<p class="wp-block-paragraph">Finally, the following hardware and software considerations complete this brief presentation of Exascale:</p>



<ul class="wp-block-list">
<li>runs on 2-socket Oracle Exadata system hardware with RoCE Network Fabric (X8M-2 or later)</li>



<li>Database 23ai release 23.5.0 or later is required for full-featured native Database file storage in Exascale</li>



<li>Exascale block volumes support databases using older Database software releases back to Oracle Database 19c</li>



<li>Exascale is built into Exadata System Software (since release 24.1)</li>
</ul>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading" id="h-architecture">Architecture</h3>



<p class="wp-block-paragraph">The main point with Exascale architecture is cloud-scale, multi-tenant <strong>resource pooling</strong>, both for storage and compute.</p>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="960" height="540" src="http://www.dbi-services.com/blog/wp-content/uploads/sites/2/2025/11/XS-Archi-1.jpg" alt="" class="wp-image-41593" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2025/11/XS-Archi-1.jpg 960w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2025/11/XS-Archi-1-300x169.jpg 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2025/11/XS-Archi-1-768x432.jpg 768w" sizes="auto, (max-width: 960px) 100vw, 960px" /></figure>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading" id="h-storage-pooling">Storage pooling</h4>



<p class="wp-block-paragraph">Exascale is based on pooling storage servers which provide services such as Storage Pools, Vaults and Volume Management. Vaults, which can be considered an equivalent of ASM diskgroups, are directly accessed by the database kernel.</p>



<p class="wp-block-paragraph">File and extent management is done by Exadata System Software, thus freeing the compute layer from ASM processes and memory structures for database files access and extents management (with Database 23ai or 26ai; for Database 19c, ASM is still required). With storage management moving to storage servers, resource management becomes more flexible and more memory and CPU resources are available on compute nodes to process database tasks.</p>



<p class="wp-block-paragraph">Exascale also provides redundancy, caching, file metadata management, snapshots and clones as well as security and data integrity features.</p>



<p class="wp-block-paragraph">Of course, since Exascale is built on top of Exadata, you benefit from features like RDMA, RoCE, Smart Flash Cache, XRMEM, Smart Scan, Storage Indexes, Columnar Caching.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading" id="h-compute-pooling">Compute pooling</h4>



<p class="wp-block-paragraph">On the compute side, we have database-optimized servers which run Database 23ai or newer and Grid Infrastructure Cluster management software. The physical database servers host the VM Clusters and are managed by Oracle. Unlike Exadata on Dedicated Infrastructure, there is no need to provision an infrastructure before going ahead with VM Cluster creation and configuration : in Exascale, you only deal with VM Clusters.</p>



<p class="wp-block-paragraph">VM file systems are centrally-hosted by Oracle on RDMA-enabled block volumes in a system-vault. VM images used by the VM Clusters are no more hosted on local storage on the database servers. This enables the number of VMs running on the database servers to raise from 12 to 50.</p>



<p class="wp-block-paragraph">Each VM Cluster accesses a Database Vault storing the database files with strict isolation from other VM Clusters database files.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading" id="h-virtual-cloud-network">Virtual Cloud Network</h4>



<p class="wp-block-paragraph">Client and backup connectivity is provided by Virtual Cloud Network (VCN) services.</p>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="960" height="540" src="http://www.dbi-services.com/blog/wp-content/uploads/sites/2/2025/11/XS-Archi-2.jpg" alt="" class="wp-image-41614" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2025/11/XS-Archi-2.jpg 960w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2025/11/XS-Archi-2-300x169.jpg 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2025/11/XS-Archi-2-768x432.jpg 768w" sizes="auto, (max-width: 960px) 100vw, 960px" /></figure>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph">This loosely-coupled, shared and multitenant architecture enables far greater flexibilty than what was possible with ASM or even Exadata on Dedicated Infrastructure. Exascale&#8217;s hyper-elasticity enables to start with very small VM Clusters and then scale as the workloads increase, with Oracle managing the infrastructure automatically. You can start as small as 1 VM per cluster (up to 10), 8 eCPUs per VM (up to 200), 22GB of memory per VM, 220GB file system storage per VM and 300GB Vault storage per VM Cluster (up to 100TB). Memory is tightly coupled to eCPUs configuration with 2.75GB per eCPU and thus does not scale independently from the eCPUs number.</p>



<p class="wp-block-paragraph">For those new to eCPU, it is a standard billing metric based on the number of cores per hour elastically allocated from a pool of compute and storage servers. eCPUs are not tied to the make, model or clock speed of the underlying processor. By contrast, an OCPU is the equivalent of one physical core with hyper-threading enabled. </p>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading" id="h-to-summarize">To summarize</h3>



<p class="wp-block-paragraph">To best understand what Exascale Infrastructure is and introduces, here is the wording which best describes this new flavor of Exadata Database Service :</p>



<ul class="wp-block-list">
<li>loosely-coupling of compute and storage cloud</li>



<li>hyper-elasticity</li>



<li>shared and multi-tenant service model</li>



<li>ASM-less (for 23ai or newer)</li>



<li>Exadata performance, reliability, availability and security at any scale</li>



<li>CI/CD friendly</li>



<li>pay-per-use model</li>
</ul>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph">Stay tuned for more on Exascale &#8230;</p>
<p>L’article <a href="https://www.dbi-services.com/blog/exascale-infrastructure-new-flavor-of-exadata-database-service/">Exascale Infrastructure : new flavor of Exadata Database Service</a> est apparu en premier sur <a href="https://www.dbi-services.com/blog">dbi Blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dbi-services.com/blog/exascale-infrastructure-new-flavor-of-exadata-database-service/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/?utm_source=w3tc&utm_medium=footer_comment&utm_campaign=free_plugin

Page Caching using Disk: Enhanced 
Lazy Loading (feed)

Served from: www.dbi-services.com @ 2026-10-21 03:05:05 by W3 Total Cache
-->