Oracle Database Driven Backup Job

Preview:

DESCRIPTION

Backup a list of databases serially using the database and the cron schedulers, rman and flag files.

Citation preview

Database Driven Backup Job

Backup a list of databases serially using the database and the cron schedulers, rman and flag files

ServerDatabase

Cron Job

Finish Flag

DB1 DB2

DB Job

Ready Flag

Cron job runs every minute to check flag filesOnce started, database job uses a wait loop to continue to the next database backup

Database Server

Finish Flag

DB1 DB2

ready

Cron Job

Are you "not started"?

NoDB Job

DB Proc

Ready Flag

not ready Then I'll sleep for a minute

Database job updates the Finish Flag to "ready" and executes database procedureCron job checks Finish Flag for "not started" every minute

Database Server

Finish Flag

DB1 DB2

Cron Job

host.sh

DB Job

DB Proc

Ready Flag

not ready

ready

Database procedure writes the host.sh file to the OS

Database Server

DB Job Finish Flag

DB1 DB2

ready

Cron Job

host.sh

not started

DB Proc

Ready Flag

not readyready

Database procedure changes the Ready Flag to "ready" and the Finish Flag to "not started"Database procedure is now completed

Database Server

DB Job Finish Flag

DB1 DB2

Cron Job

host.sh

not started

Are you "ready"?

No

DB Proc

Ready Flag

ready

Database job is in wait loop checking the "Finish Flag" every minute for "ready"

Database Server

DB Job Finish Flag

DB1 DB2

Cron Job

host.sh

not started

DB Proc

Ready Flag

ready

Yes

Are you "ready"?

Yes

Are you "not started"?

Cron job checks Finish Flag for "not started" and Ready Flag for "ready"

Database Server

DB Job Finish Flag

DB1 DB2

Cron Job

host.sh

not started

DB Proc

Ready Flag

readyrunning

Cron job changes Ready Flag to "running"

Database Server

DB Job Finish Flag

DB1 DB2

Cron Job

host.sh

not started

DB Proc

Ready Flag

running

Cron job executes host.sh

Database Server

DB Job Finish Flag

DB1 DB2

Cron Jobhost.sh

not started

DB Proc

Ready Flag

running

started

Host.sh changes Finish Flag to "started"

Database Server

DB Job Finish Flag

DB1 DB2

Cron Jobhost.shDB

Proc

Ready Flag

running

started

Are you "ready"?

No

No

Are you "not started"?

Every minute the database job and cron job check the Finish Flag

Database Server

DB Job Finish Flag

DB1 DB2

Cron Jobhost.shDB

Proc

Ready Flag

running

started

rman job

The host.sh creates and runs an rman job

Database Server

DB Job Finish Flag

DB1 DB2

Cron Jobhost.shDB

Proc

Ready Flag

running

started

rman job

The rman job executes a backup script for the first database and finishes

Database Server

DB Job Finish Flag

DB1 DB2

Cron Jobhost.shDB

Proc

Ready Flag

running

startedready

Host.sh changes the Finish Flag to "ready" and finishes

Database Server

DB1 DB2

DB Proc

Ready Flag

running

DB Job Finish Flag

Cron Job

ready

not running

Cron job changes the Ready Flag to "not running"

Database Server

DB1 DB2

DB Proc

Ready Flag

not running

DB Job Finish Flag

Cron Job

ready

Are you "ready"?

YesNo

Are you "not started"?

Cron job checks Finish Flag for "not started" every minuteDatabase job checks Finish Flag for "ready" and starts database procedure

Database Server

DB1 DB2

Ready Flag

not running

Finish Flag

Cron Job

ready

host.sh

DB Job

DB Proc

Database procedure writes the host.sh file to the OS

Database Server

DB Job Finish Flag

DB1 DB2

ready

Cron Job

host.sh

not started

DB Proc

Ready Flag

not runningready

Database procedure changes the Ready Flag to "ready" and the Finish Flag to "not started"Database procedure is now completed

Database Server

DB Job Finish Flag

DB1 DB2

Cron Job

host.sh

not started

DB Proc

Ready Flag

ready

Yes

Are you "ready"?

Yes

Are you "not started"?

Cron job checks Finish Flag for "not started" and Ready Flag for "ready"

Database Server

DB Job Finish Flag

DB1 DB2

Cron Job

host.sh

not started

DB Proc

Ready Flag

readyrunning

Cron job changes Ready Flag to "running"

Database Server

DB Job Finish Flag

DB1 DB2

Cron Job

host.sh

not started

DB Proc

Ready Flag

running

Cron job executes host.sh

Database Server

DB Job Finish Flag

DB1 DB2

Cron Jobhost.sh

not started

DB Proc

Ready Flag

running

started

Host.sh changes Finish Flag to "started"

Database Server

DB Job Finish Flag

DB1 DB2

Cron Jobhost.sh

started

DB Proc

Ready Flag

running

rman job

The host.sh creates and runs an rman job

Database Server

DB Job Finish Flag

DB1 DB2

Cron Jobhost.shDB

Proc

Ready Flag

running

rman job

started

The rman job executes a backup script for the next database and finishesThis process continues until the database backup list runs out

End

Recommended