How and what do you backup for a simple Oracle DB

backuporaclerestore

Background:

I am in the following situation: We have a JIRA instance running on a dedicated server machine (Windows Server). It uses Oracle XE to store all the data. The JIRA instance and a Oracle XE install for the data are both running on this one server box. JIRA does support doing cyclic export to XML, and we export this "XML dump" to a network share twice a day. But due to performance implications, we would like to replace this no-brainer solution with a (hopefully) no-brainer database backup.

Question:

Now, this question is not about the technical details, I can look them up easily enough. This question is about cutting through the blabla and hopefully getting to the point 🙂

So I have this very simple one-user database on a single server and single harddisk, and want to do a backup to a network share:

  • What do I need to back up so that the database is recoverable if the machine breaks.
    • Is an "export" enough, do I need some setting files, etc?
    • Essentially, what does constitute a "full" backup, so that the database + instance can be reconstructed by a fairly inexperienced Oracle user, even if the instance saw some undocumented tweaking.
  • How do I backup, as in:
    • Which tools should I use to do the backup.
    • Should I try to get a live/continuous backup, or just do periodic "exports".
    • Should the backup be "initiated" by the DB or by an external script?

So basically, I have a simple setup. The database was simple to install. How do I backup this so that it'll be simple to maintain and simple to restore?

Hope this is not too generic or noobish for this site.

Best Answer

Use RMAN to back up to the network share. An export is NOT a true backup as you cannot perform a point-in-time recovery with it. XE comes with backup scripts that you can just schedule with AT or similar, the documentation says:

To schedule automatic backups, use any operating system or third party task scheduling software to run the supplied backup script for your platform

If you are running the database in archivelog mode, then the archived redo logs are your "continuous export", so you would ideally want to have those on seperate disks from the DBFs, and hopefully mirrored. RMAN will back those up too. As you say you have a single disk, well, this is a judgement call you will need to make - I would say if the data is valuable enough to back up, it is valuable enough to run on server-grade hardware.