Release Notes 1.6
1.6.1
backup_rman | Incremental level 1 backup sets are now refused with a clear message naming the backup set |
FastBCP 1.6.0 read an incremental level 1 backup set as a full backup: the export held only the rows of the blocks changed since the previous backup, with no error. Full backups and incremental level 0 backups were read correctly.
If you exported tables with FastBCP 1.6.0 from RMAN incremental level 1 backups, export them again from the full (or level 0) backup with 1.6.1.
| Component | Version |
|---|---|
| ArpeOraBackup ADBC driver | 0.1.1 |
1.6.0: Oracle RMAN Backups
Your Oracle backups are a data source too. FastBCP 1.6 reads tables straight from RMAN backup sets and exports them to Parquet — no restore, no Oracle instance, no extra disk space.
Point FastBCP at the directory of the backup pieces. No database to restore, no credentials.
From an uncompressed, LOW, MEDIUM or HIGH compressed backup, open included.
Large compressed backups striped over several files are ready to export in seconds, not minutes.
On Windows, a run without a window now gets the full speed of the CPU.
What's New: At a Glance
| New source | --connectiontype backup_rman: export tables from Oracle RMAN backup sets, multi-piece or not, compressed or not | |
| SQL Server backups | Large striped backups start much faster; more databases and tables are read, with the right values | |
| Windows | Full speed without a window: scheduled tasks, services and orchestrators no longer run on the efficiency cores | |
| Doc Wizard | backup_rman in the ADBC connectors | |
| License | The ARPE.IO Software License Agreement ships with FastBCP |
Oracle RMAN Backup Sets — --connectiontype backup_rman
Need the data of an Oracle database that is not reachable — on a backup server, in an archive, a database decommissioned long ago — or don't want to restore a large backup to read one table? FastBCP now reads RMAN backup sets directly through the embedded ArpeOraBackup ADBC driver.
--serveris the directory holding the backup pieces.--databasenames the pieces: names or patterns, separated by;("full_*","full_*;ctl_*").- That's it: no user, no password, no Oracle.
- Windows
- Linux
.\FastBCP.exe `
--connectiontype backup_rman `
--server "D:\Backups\RMAN\ORCL" `
--database "full_*" `
--sourceschema "SALES" `
--sourcetable "ORDERS" `
--directory "D:\export\orders" `
--fileoutput "orders.parquet" `
--parallelmethod Physical `
--paralleldegree 8
./FastBCP \
--connectiontype backup_rman \
--server "/backup/rman/orcl" \
--database "full_*" \
--sourceschema "SALES" \
--sourcetable "ORDERS" \
--directory "/export/orders" \
--fileoutput "orders.parquet" \
--parallelmethod Physical \
--paralleldegree 8
Every RMAN Compression
FastBCP to Parquet, a 1 M-row table, open of the backup included, Windows laptop (hybrid CPU), degree 8.
| Backup | Elapsed |
|---|---|
| Uncompressed | 0.73 s |
AS COMPRESSED BACKUPSET, MEDIUM | 0.83 s |
AS COMPRESSED BACKUPSET, HIGH | 0.82 s |
AS COMPRESSED BACKUPSET, LOW | 1.04 s |
AS COMPRESSED BACKUPSET, BASIC | 7.0 s |
AS COMPRESSED BACKUPSET, HIGH, Oracle 19c | 6.0 s |
What It Reads
| Supported | ||
|---|---|---|
| Oracle versions | 19c, 21c, 23ai and 26ai, on Linux x86-64 | |
| Backup types | Full backup sets of a database, tablespaces, datafiles or PDBs, uncompressed or compressed with BASIC, LOW, MEDIUM or HIGH | |
| Multi-piece and multi-set backups | MAXPIECESIZE, several channels, FILESPERSET: every piece, by patterns or a ;-separated list, in any order | |
| Several backups | The most recent copy of each datafile is read | |
| Database layout | Container databases (root and PDBs) and non-CDB, bigfile and smallfile tablespaces | |
| Tables | Heap tables, with chained and migrated rows, more than 255 columns | |
| Data types | Numbers, text in the database and national character sets, binary floats, RAW, DATE and TIMESTAMP — see the datatypes mapping |
- Parquet output only, on Windows x64 and Linux x64.
--parallelmethodacceptsNoneandPhysical(which resolves to the Pages method).--queryacceptsSELECT * | col1, col2, … FROM [[container.]owner.]table.- An incremental level 0 backup is read like a full backup; incremental level 1 backups are refused since 1.6.1.
- Refused with a clear message: encrypted backup sets (
SET ENCRYPTION); partitioned, index-organized and clustered tables; LOB,INTERVAL,ROWID,JSON,VECTORand object columns (the other columns of the table can be exported with--query); incomplete multi-piece sets.
See also: Oracle RMAN backup sets · Examples
SQL Server Backups: Large Striped Backups and Fixes
A compressed backup striped over many files could keep --connectiontype backup_mssql busy for minutes before the first row, on what looked like a single thread. The backup files are now prepared in parallel (internal improvement).
TPC-H SF100 database (150 M-row orders), backed up with COMPRESSION (XPRESS) and striped over 6 files (36 GB), Windows laptop.
| Before the first row | 1.5.1 | 1.6.0 |
|---|---|---|
| Compressed backup, 6 files | 200 s | 25 s |
| Uncompressed backup, 6 files | 24 s | 7.4 s |
Export of orders to Parquet (zstd), --parallelmethod Physical, --paralleldegree 24 | 1.5.1 | 1.6.0 |
|---|---|---|
| 150,000,000 rows, compressed backup over 6 files | error | 33 s |
| Fixed | ||
|---|---|---|
system table on a PAGE-compressed page: not supported | Databases created on older SQL Server versions (for example 2016, compatibility level 130) are now read | |
corrupt anchor record | Some PAGE-compressed tables are now read | |
Wrong float / real values | Some clustered columnstore float and real columns came out with wrong values (for example 5870.58 as 58705800) | |
| Wrong long strings | In clustered columnstore tables, some strings of 128 bytes and more came out with a stray character in front and their last character missing |
The last two came with no error. If you exported clustered columnstore tables with float / real columns or long strings from SQL Server backups with FastBCP 1.5, export them again with 1.6.
Windows: Full Speed in Scheduled Tasks
On Windows 11, a program started without a window — a scheduled task, a service, an orchestrator, a remote shell — runs on the efficiency cores of a hybrid CPU, at a reduced clock. FastBCP now asks Windows for full speed when it starts.
| Same export, started without a window | Elapsed |
|---|---|
| FastBCP 1.6.0 | 5.7 s |
| FastBCP 1.5.1 | 18.1 s |
Set FASTBCP_ECOQOS=1 to keep FastBCP under the Windows policy, on a host where it must stay discreet.
Doc Wizard
The Doc Wizard offers backup_rman in the ADBC (High Performance) connectors: the server field becomes the directory of the backup pieces, the database field the piece names or patterns, and only None and Physical are offered as parallel methods.
License
FastBCP now ships the ARPE.IO Software License Agreement (LICENSE.txt in the zip). The license grant is unchanged; the agreement adds that the binaries may not be reverse engineered, manually or with the help of an AI system, and that the software may not be used to train an AI model to reproduce it. Using an AI assistant to operate FastBCP stays permitted. See License.
Dependencies
| Component | Version |
|---|---|
| ArpeOraBackup ADBC driver | 0.1.0 (new) |
| ArpeMSBackup ADBC driver | 0.1.8 |
| AdbcFileExport | 0.5.6 (arpeorabackup driver profile) |
The other components are unchanged since 1.5.1.