{"id":46428,"date":"2026-09-29T17:46:10","date_gmt":"2026-09-29T15:46:10","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/?p=46428"},"modified":"2026-09-29T17:48:23","modified_gmt":"2026-09-29T15:48:23","slug":"archiving-oracle-databases-with-siard-suite","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/archiving-oracle-databases-with-siard-suite\/","title":{"rendered":"Archiving Oracle databases with SIARD Suite"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\" id=\"h-\"><\/p>\n\n\n\n<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>\n\n\n\n<div style=\"height:15px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 id=\"h-meeting-siard-suite\" class=\"wp-block-heading\">Meeting SIARD Suite<\/h3>\n\n\n\n<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>\n\n\n\n<ul class=\"wp-block-list\">\n<li>MS Access 2007 or newer<\/li>\n\n\n\n<li>DB\/2 or newer<\/li>\n\n\n\n<li>MySQL (or MariaDB) 5.5 or newer<\/li>\n\n\n\n<li>Oracle 10 or newer<\/li>\n\n\n\n<li>PostgreSQL 11 or newer<\/li>\n\n\n\n<li>SQL Server 2012 or newer<\/li>\n<\/ul>\n\n\n\n<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>\n\n\n\n<p class=\"wp-block-paragraph\">Archive data files can later on be used to load the data in a new database if required.<\/p>\n\n\n\n<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>\n\n\n\n<div style=\"height:15px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 id=\"h-concepts\" class=\"wp-block-heading\">Concepts<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Archived data is stored in an XML files collection conforming to SQL:2008 standard.<\/p>\n\n\n\n<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>\n\n\n\n<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>\n\n\n\n<div style=\"height:15px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 id=\"h-basic-principles-of-database-archiving-with-siard-suite\" class=\"wp-block-heading\">Basic principles of database archiving with SIARD Suite<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The following list summarizes what to take into account and anticipate before starting a new archiving project:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>clearly define the data archiving scope: which tables, views or schemas, which records, and so on<\/li>\n\n\n\n<li>create a dedicated user with the least privileges (typically read-only) on the objects belonging to the archiving scope<\/li>\n\n\n\n<li>create views in case you need to filter data (columns and\/or rows) to be archived<\/li>\n\n\n\n<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>\n\n\n\n<li>to check thoroughly the end result of the archiving jobs, load the archive data into another database<\/li>\n\n\n\n<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>\n<\/ul>\n\n\n\n<div style=\"height:15px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 id=\"h-how-siard-suite-works\" class=\"wp-block-heading\">How SIARD Suite works<\/h3>\n\n\n\n<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>\n\n\n\n<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>\n\n\n\n<p class=\"wp-block-paragraph\">There are two interfaces available:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Graphical User Interface (GUI)<\/li>\n\n\n\n<li>Command Line Interface (CLI)<\/li>\n<\/ul>\n\n\n\n<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>\n\n\n\n<div style=\"height:15px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h4 id=\"h-application-installation\" class=\"wp-block-heading\">Application installation<\/h4>\n\n\n\n<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>\n\n\n\n<p class=\"wp-block-paragraph\">Once SIARD Suite has been unzipped, the directory looks like:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SIARD-Suite.2.2.161-linux\n\u251c\u2500\u2500 bin\n\u251c\u2500\u2500 conf\n\u251c\u2500\u2500 legal\n\u251c\u2500\u2500 lib\n\u2514\u2500\u2500 release<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">As expected, the bin directory contains all relevant utilities to perform the archiving or loading jobs:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SIARD-Suite.2.2.161-linux\/bin\n\u251c\u2500\u2500 java\n\u251c\u2500\u2500 jfr\n\u251c\u2500\u2500 jrunscript\n\u251c\u2500\u2500 keytool\n\u251c\u2500\u2500 siard-from-db\n\u251c\u2500\u2500 siard-from-db.bat\n\u251c\u2500\u2500 SIARD-Suite\n\u251c\u2500\u2500 SIARD-Suite.bat\n\u251c\u2500\u2500 siard-to-db\n\u2514\u2500\u2500 siard-to-db.bat\n<\/code><\/pre>\n\n\n\n<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>\n\n\n\n<div style=\"height:15px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 id=\"h-command-line-interface\" class=\"wp-block-heading\">Command line interface<\/h3>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h4 id=\"h-siard-from-db-utility\" class=\"wp-block-heading\">&#8216;siard-from-db&#8217; utility<\/h4>\n\n\n\n<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>\n\n\n\n<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\nmeta data&gt;] &#091;-x=&lt;external lob folder&gt;] &#091;-m=&lt;mime type&gt;] -j=&lt;JDBC URL&gt; -u=&lt;database\nuser&gt; -p=&lt;database password&gt; -s=&lt;siard file&gt; -e=&lt;export meta data&gt;\"<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The following table, pulled from the SIARD Suite documentation, details each parameter&#8217;s goal and usage pattern:<\/p>\n\n\n\n<div class=\"wp-block-media-text is-stacked-on-mobile\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" 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=\"auto, (max-width: 813px) 100vw, 813px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"wp-block-paragraph\"><\/p>\n<\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">For instance, to extract the Oracle HR sample schema, we could use the following command:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>.\/siard-from-db -l=10 -q=120 \\\n-j=jdbc:oracle:thin:@&#091;hostname|ip]:listening_port\/pdb_name \\\n-u=hr -p=hr_password -s=hr.siard -e=hr_metadata.xml<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The archive job produces the following two files:<\/p>\n\n\n\n<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>\n\n\n\n<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>\n\n\n\n<pre class=\"wp-block-code\"><code>file hr.siard\nhr.siard: Zip archive data, at least v2.0 to extract<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Listing the content of the archive file returns:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>unzip -l hr.siard\nArchive:  hr.siard\n  Length      Date    Time    Name\n---------  ---------- -----   ----\n        0  07-27-2026 08:15   content\/\n        0  07-27-2026 08:16   content\/schema0\/\n        0  07-27-2026 08:16   content\/schema0\/table0\/\n        0  07-27-2026 08:16   content\/schema0\/table1\/\n        0  07-27-2026 08:16   content\/schema0\/table2\/\n        0  07-27-2026 08:16   content\/schema0\/table3\/\n        0  07-27-2026 08:16   content\/schema0\/table4\/\n        0  07-27-2026 08:16   content\/schema0\/table5\/\n        0  07-27-2026 08:16   content\/schema0\/table6\/\n     1595  07-27-2026 08:16   content\/schema0\/table0\/table0.xml\n     4857  07-27-2026 08:16   content\/schema0\/table0\/table0.xsd\n     1884  07-27-2026 08:16   content\/schema0\/table1\/table1.xml\n     4910  07-27-2026 08:16   content\/schema0\/table1\/table1.xsd\n    19577  07-27-2026 08:16   content\/schema0\/table2\/table2.xml\n     5323  07-27-2026 08:16   content\/schema0\/table2\/table2.xsd\n     1786  07-27-2026 08:16   content\/schema0\/table3\/table3.xml\n     4909  07-27-2026 08:16   content\/schema0\/table3\/table3.xsd\n     1345  07-27-2026 08:16   content\/schema0\/table4\/table4.xml\n     4951  07-27-2026 08:16   content\/schema0\/table4\/table4.xsd\n     2740  07-27-2026 08:16   content\/schema0\/table5\/table5.xml\n     5036  07-27-2026 08:16   content\/schema0\/table5\/table5.xsd\n      455  07-27-2026 08:16   content\/schema0\/table6\/table6.xml\n     4793  07-27-2026 08:16   content\/schema0\/table6\/table6.xsd\n        0  07-27-2026 08:16   header\/\n        0  07-27-2026 08:16   header\/siardversion\/\n        0  07-27-2026 08:16   header\/siardversion\/2.2\/\n    38441  07-27-2026 08:16   header\/metadata.xsd\n     4825  07-27-2026 08:16   header\/table.xsd\n    32980  07-27-2026 08:16   header\/metadata.xml\n---------                     -------\n   140407                     29 files<\/code><\/pre>\n\n\n\n<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>\n\n\n\n<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>\n\n\n\n<p class=\"wp-block-paragraph\">Here is an extract from header\/metadata.xml file produced by the HR archiving job:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?&gt;\n&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;\n    &lt;dbname&gt;(...)&lt;\/dbname&gt;\n    &lt;dataOwner&gt;(...)&lt;\/dataOwner&gt;\n    &lt;dataOriginTimespan&gt;(...)&lt;\/dataOriginTimespan&gt;\n    &lt;producerApplication&gt;SiardFromDb 2.2.26 Swiss Federal Archives, Berne, Switzerland, 2008-2016&lt;\/producerApplication&gt;\n    &lt;archivalDate&gt;2026-07-27Z&lt;\/archivalDate&gt;\n    &lt;messageDigest&gt;\n        &lt;digestType&gt;MD5&lt;\/digestType&gt;\n        &lt;digest&gt;8DC757A5338AA000234CC6199FEFE0AA&lt;\/digest&gt;\n    &lt;\/messageDigest&gt;\n    &lt;clientMachine&gt;srvsiard&lt;\/clientMachine&gt;\n    &lt;databaseProduct&gt;Oracle Oracle AI Database 26ai Enterprise Edition Release 23.26.2.0.0 - Production&lt;\/databaseProduct&gt;\n    &lt;connection&gt;jdbc:oracle:thin:@xxx.xxx.xxx.xxx:yyyy\/pdb_name&lt;\/connection&gt;\n    &lt;databaseUser&gt;HR&lt;\/databaseUser&gt;\n    &lt;schemas&gt;\n        &lt;schema&gt;\n            &lt;name&gt;HR&lt;\/name&gt;\n            &lt;folder&gt;schema0&lt;\/folder&gt;\n            &lt;tables&gt;\n                &lt;table&gt;\n                    &lt;name&gt;COUNTRIES&lt;\/name&gt;\n                    &lt;folder&gt;table0&lt;\/folder&gt;\n                    &lt;description&gt;country table. References with locations table.&lt;\/description&gt;\n                    &lt;columns&gt;\n                        &lt;column&gt;\n                            &lt;name&gt;COUNTRY_ID&lt;\/name&gt;\n                            &lt;type&gt;CHAR(2)&lt;\/type&gt;\n                            &lt;typeOriginal&gt;CHAR(2)&lt;\/typeOriginal&gt;\n                            &lt;nullable&gt;false&lt;\/nullable&gt;\n                            &lt;description&gt;Primary key of countries table.&lt;\/description&gt;\n                        &lt;\/column&gt;\n                        &lt;column&gt;\n                            &lt;name&gt;COUNTRY_NAME&lt;\/name&gt;\n                            &lt;type&gt;VARCHAR(60)&lt;\/type&gt;\n                            &lt;typeOriginal&gt;VARCHAR2(60)&lt;\/typeOriginal&gt;\n                            &lt;description&gt;Country name&lt;\/description&gt;\n                        &lt;\/column&gt;\n                        &lt;column&gt;\n                            &lt;name&gt;REGION_ID&lt;\/name&gt;\n                            &lt;type&gt;FLOAT(38)&lt;\/type&gt;\n                            &lt;typeOriginal&gt;NUMBER&lt;\/typeOriginal&gt;\n                            &lt;description&gt;Region ID for the country. Foreign key to region_id column in the departments table.&lt;\/description&gt;\n                        &lt;\/column&gt;\n                    &lt;\/columns&gt;\n                    &lt;primaryKey&gt;\n                        &lt;name&gt;COUNTRY_C_ID_PK&lt;\/name&gt;\n                        &lt;column&gt;COUNTRY_ID&lt;\/column&gt;\n                    &lt;\/primaryKey&gt;\n                    &lt;foreignKeys&gt;\n                        &lt;foreignKey&gt;\n                            &lt;name&gt;COUNTR_REG_FK&lt;\/name&gt;\n                            &lt;referencedSchema&gt;HR&lt;\/referencedSchema&gt;\n                            &lt;referencedTable&gt;REGIONS&lt;\/referencedTable&gt;\n                            &lt;reference&gt;\n&lt;column&gt;REGION_ID&lt;\/column&gt;\n&lt;referenced&gt;REGION_ID&lt;\/referenced&gt;\n                            &lt;\/reference&gt;\n                            &lt;deleteAction&gt;RESTRICT&lt;\/deleteAction&gt;\n                            &lt;updateAction&gt;CASCADE&lt;\/updateAction&gt;\n                        &lt;\/foreignKey&gt;\n                    &lt;\/foreignKeys&gt;\n                    &lt;rows&gt;25&lt;\/rows&gt;\n                &lt;\/table&gt;\n                &lt;table&gt;\n                    &lt;name&gt;DEPARTMENTS&lt;\/name&gt;\n                    &lt;folder&gt;table1&lt;\/folder&gt;\n                    &lt;description&gt;Departments table that shows details of departments where employees\\u000Awork. references with locations, employees, and job_history tables.&lt;\/description&gt;\n                    &lt;columns&gt;\n                        &lt;column&gt;\n                            &lt;name&gt;DEPARTMENT_ID&lt;\/name&gt;\n                            &lt;type&gt;SMALLINT&lt;\/type&gt;\n                            &lt;typeOriginal&gt;NUMBER(4,0)&lt;\/typeOriginal&gt;\n                            &lt;nullable&gt;false&lt;\/nullable&gt;\n                            &lt;description&gt;Primary key column of departments table.&lt;\/description&gt;\n                        &lt;\/column&gt;\n                        &lt;column&gt;\n                            &lt;name&gt;DEPARTMENT_NAME&lt;\/name&gt;\n                            &lt;type&gt;VARCHAR(30)&lt;\/type&gt;\n                            &lt;typeOriginal&gt;VARCHAR2(30)&lt;\/typeOriginal&gt;\n                            &lt;nullable&gt;false&lt;\/nullable&gt;\n                            &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;\n                        &lt;\/column&gt;\n                        &lt;column&gt;\n                            &lt;name&gt;MANAGER_ID&lt;\/name&gt;\n                            &lt;type&gt;INT&lt;\/type&gt;\n                            &lt;typeOriginal&gt;NUMBER(6,0)&lt;\/typeOriginal&gt;\n                            &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;\n                        &lt;\/column&gt;\n                        &lt;column&gt;\n                            &lt;name&gt;LOCATION_ID&lt;\/name&gt;\n                            &lt;type&gt;SMALLINT&lt;\/type&gt;\n                            &lt;typeOriginal&gt;NUMBER(4,0)&lt;\/typeOriginal&gt;\n                            &lt;description&gt;Location id where a department is located. Foreign key to location_id column of locations table.&lt;\/description&gt;\n                        &lt;\/column&gt;\n                    &lt;\/columns&gt;\n                    &lt;primaryKey&gt;\n                        &lt;name&gt;DEPT_ID_PK&lt;\/name&gt;\n                        &lt;column&gt;DEPARTMENT_ID&lt;\/column&gt;\n                    &lt;\/primaryKey&gt;\n                    &lt;foreignKeys&gt;\n                        &lt;foreignKey&gt;\n                            &lt;name&gt;DEPT_MGR_FK&lt;\/name&gt;\n                            &lt;referencedSchema&gt;HR&lt;\/referencedSchema&gt;\n                            &lt;referencedTable&gt;EMPLOYEES&lt;\/referencedTable&gt;\n                            &lt;reference&gt;\n&lt;column&gt;MANAGER_ID&lt;\/column&gt;\n&lt;referenced&gt;EMPLOYEE_ID&lt;\/referenced&gt;\n                            &lt;\/reference&gt;\n                            &lt;deleteAction&gt;RESTRICT&lt;\/deleteAction&gt;\n                            &lt;updateAction&gt;CASCADE&lt;\/updateAction&gt;\n                        &lt;\/foreignKey&gt;\n                        &lt;foreignKey&gt;\n                            &lt;name&gt;DEPT_LOC_FK&lt;\/name&gt;\n                            &lt;referencedSchema&gt;HR&lt;\/referencedSchema&gt;\n                            &lt;referencedTable&gt;LOCATIONS&lt;\/referencedTable&gt;\n                            &lt;reference&gt;\n&lt;column&gt;LOCATION_ID&lt;\/column&gt;\n&lt;referenced&gt;LOCATION_ID&lt;\/referenced&gt;\n                            &lt;\/reference&gt;\n                            &lt;deleteAction&gt;RESTRICT&lt;\/deleteAction&gt;\n                            &lt;updateAction&gt;CASCADE&lt;\/updateAction&gt;\n                        &lt;\/foreignKey&gt;\n                    &lt;\/foreignKeys&gt;\n                    &lt;rows&gt;27&lt;\/rows&gt;\n                &lt;\/table&gt;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Complete metadata include definitions for:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>tables<\/li>\n\n\n\n<li>columns<\/li>\n\n\n\n<li>descriptions<\/li>\n\n\n\n<li>primary keys<\/li>\n\n\n\n<li>foreign keys<\/li>\n\n\n\n<li>check constraints<\/li>\n\n\n\n<li>triggers<\/li>\n\n\n\n<li>views<\/li>\n\n\n\n<li>procedures\/functions (name and parameters but not the code)<\/li>\n<\/ul>\n\n\n\n<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>\n\n\n\n<p class=\"wp-block-paragraph\">That said, you can use the source database features to configure more fine grained behaviour, for instance by:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>creating a dedicated user<\/li>\n\n\n\n<li>defining user permissions tailored to the archiving scope defined<\/li>\n\n\n\n<li>creating views for column or row filtering purposes<\/li>\n<\/ul>\n\n\n\n<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>\n\n\n\n<div style=\"height:15px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 id=\"h-what-s-next\" class=\"wp-block-heading\">What&#8217;s next<\/h3>\n\n\n\n<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>\n","protected":false},"excerpt":{"rendered":"<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 [&hellip;]<\/p>\n","protected":false},"author":154,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":"","_members_access_role":[],"_members_access_error":""},"categories":[59],"tags":[],"type_dbi":[],"class_list":["post-46428","post","type-post","status-publish","format-standard","hentry","category-oracle"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.5 (Yoast SEO v28.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Archiving Oracle databases with SIARD Suite - dbi Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbi-services.com\/blog\/archiving-oracle-databases-with-siard-suite\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Archiving Oracle databases with SIARD Suite\" \/>\n<meta property=\"og:description\" content=\"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 [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/archiving-oracle-databases-with-siard-suite\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-29T15:46:10+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-29T15:48:23+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/08\/siard-from-db-parameters.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1878\" \/>\n\t<meta property=\"og:image:height\" content=\"2364\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Alain Klein\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Alain Klein\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/archiving-oracle-databases-with-siard-suite\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/archiving-oracle-databases-with-siard-suite\\\/\"},\"author\":{\"name\":\"Alain Klein\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/4a2d318709fbf7f3ba1af9b98df85560\"},\"headline\":\"Archiving Oracle databases with SIARD Suite\",\"datePublished\":\"2026-09-29T15:46:10+00:00\",\"dateModified\":\"2026-09-29T15:48:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/archiving-oracle-databases-with-siard-suite\\\/\"},\"wordCount\":986,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/archiving-oracle-databases-with-siard-suite\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2026\\\/08\\\/siard-from-db-parameters-813x1024.png\",\"articleSection\":[\"Oracle\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/archiving-oracle-databases-with-siard-suite\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/archiving-oracle-databases-with-siard-suite\\\/\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/archiving-oracle-databases-with-siard-suite\\\/\",\"name\":\"Archiving Oracle databases with SIARD Suite - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/archiving-oracle-databases-with-siard-suite\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/archiving-oracle-databases-with-siard-suite\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2026\\\/08\\\/siard-from-db-parameters-813x1024.png\",\"datePublished\":\"2026-09-29T15:46:10+00:00\",\"dateModified\":\"2026-09-29T15:48:23+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/4a2d318709fbf7f3ba1af9b98df85560\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/archiving-oracle-databases-with-siard-suite\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/archiving-oracle-databases-with-siard-suite\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/archiving-oracle-databases-with-siard-suite\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2026\\\/08\\\/siard-from-db-parameters.png\",\"contentUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2026\\\/08\\\/siard-from-db-parameters.png\",\"width\":1878,\"height\":2364},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/archiving-oracle-databases-with-siard-suite\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Archiving Oracle databases with SIARD Suite\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/4a2d318709fbf7f3ba1af9b98df85560\",\"name\":\"Alain Klein\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/665b85bb4ef86a045ecdaddf584f8c446d6d3b8d83ede327d0305e81730feb8d?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/665b85bb4ef86a045ecdaddf584f8c446d6d3b8d83ede327d0305e81730feb8d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/665b85bb4ef86a045ecdaddf584f8c446d6d3b8d83ede327d0305e81730feb8d?s=96&d=mm&r=g\",\"caption\":\"Alain Klein\"},\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/author\\\/alainklein\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Archiving Oracle databases with SIARD Suite - dbi Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dbi-services.com\/blog\/archiving-oracle-databases-with-siard-suite\/","og_locale":"en_US","og_type":"article","og_title":"Archiving Oracle databases with SIARD Suite","og_description":"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 [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/archiving-oracle-databases-with-siard-suite\/","og_site_name":"dbi Blog","article_published_time":"2026-09-29T15:46:10+00:00","article_modified_time":"2026-09-29T15:48:23+00:00","og_image":[{"width":1878,"height":2364,"url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/08\/siard-from-db-parameters.png","type":"image\/png"}],"author":"Alain Klein","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Alain Klein","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/archiving-oracle-databases-with-siard-suite\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/archiving-oracle-databases-with-siard-suite\/"},"author":{"name":"Alain Klein","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/4a2d318709fbf7f3ba1af9b98df85560"},"headline":"Archiving Oracle databases with SIARD Suite","datePublished":"2026-09-29T15:46:10+00:00","dateModified":"2026-09-29T15:48:23+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/archiving-oracle-databases-with-siard-suite\/"},"wordCount":986,"commentCount":0,"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/archiving-oracle-databases-with-siard-suite\/#primaryimage"},"thumbnailUrl":"http:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/08\/siard-from-db-parameters-813x1024.png","articleSection":["Oracle"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/archiving-oracle-databases-with-siard-suite\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/archiving-oracle-databases-with-siard-suite\/","url":"https:\/\/www.dbi-services.com\/blog\/archiving-oracle-databases-with-siard-suite\/","name":"Archiving Oracle databases with SIARD Suite - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/archiving-oracle-databases-with-siard-suite\/#primaryimage"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/archiving-oracle-databases-with-siard-suite\/#primaryimage"},"thumbnailUrl":"http:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/08\/siard-from-db-parameters-813x1024.png","datePublished":"2026-09-29T15:46:10+00:00","dateModified":"2026-09-29T15:48:23+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/4a2d318709fbf7f3ba1af9b98df85560"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/archiving-oracle-databases-with-siard-suite\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/archiving-oracle-databases-with-siard-suite\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/archiving-oracle-databases-with-siard-suite\/#primaryimage","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/08\/siard-from-db-parameters.png","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/08\/siard-from-db-parameters.png","width":1878,"height":2364},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/archiving-oracle-databases-with-siard-suite\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Archiving Oracle databases with SIARD Suite"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/4a2d318709fbf7f3ba1af9b98df85560","name":"Alain Klein","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/665b85bb4ef86a045ecdaddf584f8c446d6d3b8d83ede327d0305e81730feb8d?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/665b85bb4ef86a045ecdaddf584f8c446d6d3b8d83ede327d0305e81730feb8d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/665b85bb4ef86a045ecdaddf584f8c446d6d3b8d83ede327d0305e81730feb8d?s=96&d=mm&r=g","caption":"Alain Klein"},"url":"https:\/\/www.dbi-services.com\/blog\/author\/alainklein\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/46428","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/154"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=46428"}],"version-history":[{"count":36,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/46428\/revisions"}],"predecessor-version":[{"id":47203,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/46428\/revisions\/47203"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=46428"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=46428"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=46428"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=46428"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}