Backup and restore your Oracle IAS

Today I was faced with a challange to restore an Oracle AS installation, in this case a SOA Suite 10.3.4.0 mlr 4.
Every day we make a configuration backup of our installation and when we install a new tier we create a root (node) backup and an on-line backup. How this is done is described below. What I found today is that when I restored the tier from the root backup and ran the restore from the configuration backup, the newly create containers including their apps where not restore. Thus when you create a new container, run an on-line or off-line backup off your tier!

In the following examples I assume that the database is running an a separate machine and that RMAN, or an other backup utility is used to backup and restore your database.

Configuring and creating as backup

Following command are used to configure your tier for as backup:

cd $ORACLE_HOME/backup_restore/config
cp config.inp config.inp.org
vi config.inp

Change/add:

log_path={AS_BACKUP_PATH}/log
config_backup_path={AS_BACKUP_PATH}
cd $ORACLE_HOME/backup_restore/
./bkp_restore.sh -m configure_nodb

(Create backup without database)

./bkp_restore.sh -v -m node_backup -o prepare

(Prepare your tier for backup)

Create the root (node) backup

su - root
export ORACLE_HOME=<oracle_home>
mkdir -p {BACKUP_PATH_AS}/node
cd {ORACLE_HOME}/backup_restore
./bkp_restore.sh -v -m node_backup -o image_backup -P {BACKUP_PATH_AS}/node/

Commands below are used to create on-line and config backups.

./bkp_restore.sh -v -m backup_instance_cold
./bkp_restore.sh -v -m backup_instance_online

Restore as backup

Restore your root (node) backup:

su - root
export ORACLE_HOME=/appl/oracle/{AS_HOME}
cd /
tar -xvpf {BACKUP_PATH_AS}/node/{ARCHIVE_NAME}

Create a new oratab ant oui metadata

cd $ORACLE_HOME/backup_restore
./bkp_restore.sh -m node_restore -o sys_init

Register the restored tier in the inventory and oratab

./bkp_restore.sh -m node_restore -o inst_register

Log in as the oracle user and start restore from the online/config backup

./bkp_restore.sh -m node_restore -o inst_reconfigure -t config_bkp_timestamp

With the above command you will get a list of availeble backups (timestamps), choose one and execute the following command

./bkp_restore.sh -m node_restore -o inst_reconfigure -t {TIMESTAMP}

Normaly oracle will ask you to restore the opmn state of the last backup, witch means oracle will start the AS for you.

Keep in mind the oracle will not clean-up old as backups (retention) like RMAN. For this I have created a script and is explained earlier.