Oracle RMAN → Azure Blob: Quick Setup Guide
Oracle RMAN → Azure Blob
Backup to Azure, the clean way
Minimal steps, Oracle JDK only, and the recommended oracle.azure library alias.
What you’ll need
- Azure Storage account:
storageaccount,sharedkey,container - Oracle Database 19c RU ≥ 19.28 (or 23ai RU ≥ 23.8)
- Use the Java in
$ORACLE_HOME/jdk/bin/java - Outbound access from DB host to Azure Blob
Tip: Prefer a dedicated wallet directory (mode
700) that survives Oracle Home patching.At a glance
✅ Supported Works on on-prem or Azure VMs.
1) Prepare the module
# Unpack the Azure setup tool inside your Oracle Home
mkdir -p $ORACLE_HOME/lib/azmodule
cd $ORACLE_HOME/lib/azmodule
unzip -q $ORACLE_HOME/lib/az_setup.zip
2) Create wallet dir (secure)
mkdir -p /u01/app/oracle/az_wallet
chmod 700 /u01/app/oracle/az_wallet
Why: The setup writes Azure credentials into this wallet directory.
3) Run setup with Oracle JDK
# Use the Java that ships with your Oracle Home
$ORACLE_HOME/jdk/bin/java -jar $ORACLE_HOME/lib/azmodule/az_setup.jar \
-storageaccount "YOUR_STORAGE_ACCOUNT" \
-sharedkey "YOUR_ACCOUNT_KEY" \
-container "YOUR_CONTAINER" \
-walletDir "/u01/app/oracle/az_wallet"
Outputs:
- Wallet with Azure credentials
- Config file:
$ORACLE_HOME/dbs/az<ORACLE_SID>.ora
Optional flags (click to expand)
-immutable-container <name>· enable immutable backups-proxyHost,-proxyPort,-proxyId,-proxyPass· behind a proxy-configFile /path/az.ora· custom config location/name-argFile arguments.txt· keep params in a file
4) Configure RMAN channel (recommended alias)
RMAN> CONFIGURE DEFAULT DEVICE TYPE TO 'SBT_TAPE';
RMAN> CONFIGURE DEVICE TYPE 'SBT_TAPE' PARALLELISM 3 BACKUP TYPE TO BACKUPSET;
RMAN> CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE'
PARMS 'SBT_LIBRARY=oracle.azure, ENV=(AZ_PFILE=$ORACLE_HOME/dbs/az<ORACLE_SID>.ora)';
Note: Using
SBT_LIBRARY=oracle.azure avoids platform-specific paths and is the Oracle-recommended method.5) Verify
RMAN> SHOW ALL CHANGED;
You should see:
CONFIGURE DEFAULT DEVICE TYPE TO 'SBT_TAPE';
CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=oracle.azure, ...';
6) Test backup
RMAN> BACKUP DATABASE;
Expected lines in output:
using target database control file instead of recovery catalog
channel ORA_SBT_TAPE_1: Oracle Database Azure Backup Service Library VER 19.xx
7) (Optional) Test restore
RMAN> RESTORE DATABASE;
RMAN> RECOVER DATABASE;
FAQ & Gotchas
- Direct library path? Don’t. Use
oracle.azurealias instead of pointing tolibaz.so. - Java version? Run the setup using
$ORACLE_HOME/jdk/bin/javafor best compatibility. - Multiple DBs on same host? Each DB should have its own
az<ORACLE_SID>.oraor a custom-configFile. - Immutability? Configure an immutable container and add
-immutable-containerto the setup if required by policy.
Comments
Post a Comment