Question probkup

KMoody

Member
Progress: 10.2b SP7
OS: SUSE Linux Enterprise Server 11

I'm updating an old shell script to back up our databases, and I'd like to increase our efficiency:
  1. The old script uses the following to transfer database files into another directory:

    /usr/dlc/bin/probkup online "$dir1" "$dir2" -red 5 -vs 600000 < filenames

    If I increase the volume size to 2 GB, will this increase efficiency and lower defragmentation? What is the recommended size?

  2. We currently structure our databases like this:

    db.st
    d [DIR]/db.d1 f 500000
    d [DIR]/db.d2 f 500000
    d [DIR]/db.d3 f 500000
    d [DIR]/db.d4 f 500000
    d [DIR]/db.d5 f
    b [DIR]/db.b1 f

    Could we benefit from increasing the fixed size of 500000? If so, what is the recommended size?

Thank you for your help.
 

TomBascom

Curmudgeon
You may be confused.

The .st file is not directly related to probkup.

The extent size used by probkup (-vs) is for backup extents that, in your case, are listed in "filenames".

The $dir1 and $dir2 in your script are the dbName and the "device name" provided to probkup. They are not directory names. "Device name" is the name of the first backup extent. The second extent (and any others) must either be listed in "filenames" or typed manually when prompted (if no redirection from "filenames" is present).

-red is for error correction redundancy. I've not personally ever found that to be necessary. It is probably making your backups a lot bigger than they need to be.

I would use -com to "compress" your backups. That will make them smaller by skipping empty space. (It does not do "zip" style compression -- you can do that manually afterwards if you like.)

Unless your database is very large consider using a single large extent rather than lots of smaller ones -- it's a pain in the neck to keep "filenames" up to date as the db grows.

The .st file that you show is an "everything is in the schema area" structure file. If you are at all interested in efficiency and best practices that is very much a worst practice http://dbappraise.com/ppt/worst.pptx that needs to be addressed. Only schema should be in the schema area. All data, indexes and LOBs should be in properly configured type 2 storage areas. See this: http://dbappraise.com/ppt/sos.pptx for ideas on how to configure those storage areas.
 

KMoody

Member
Thanks for your response, Tom!


The .st file is not directly related to probkup.

The extent size used by probkup (-vs) is for backup extents that, in your case, are listed in "filenames".

The $dir1 and $dir2 in your script are the dbName and the "device name" provided to probkup. They are not directory names. "Device name" is the name of the first backup extent. The second extent (and any others) must either be listed in "filenames" or typed manually when prompted (if no redirection from "filenames" is present).

Sorry about the confusion; I meant to ask two somewhat unrelated questions, but the title thread suggests otherwise. Also, I was replacing the full paths of our database names, and I got sloppy. :)

Unless your database is very large consider using a single large extent rather than lots of smaller ones -- it's a pain in the neck to keep "filenames" up to date as the db grows.


What size do you consider "very large?" Our largest database is 2.5 GB.

Thanks again for all of your suggestions. I'll give them a try. :)
 

TomBascom

Curmudgeon
My current thinking about db size: ;)

2.5GB is miniscule.

To qualify as "large" you need hundreds of GB.

"very large" would be terabytes.
 

Rob Fitzpatrick

ProgressTalk.com Sponsor
What size do you consider "very large?" Our largest database is 2.5 GB.

That would be classified as "very small".

As Tom said, make your life both simpler and better by using a single backup file and by getting to Type II storage.

Also, I don't see any after-image extents in your structure file. If this reflects your production structure your first order of business should be implementing AI. It could prevent an otherwise minor issue from becoming a major disaster.
 

KMoody

Member
Now that I look I also notice just one bi extent and that a fixed length extent with no length specified? That seems "odd". I suspect that those are supposed to be variable length?


Yes, you're right. It should read like this:

db.st
d [DIR]/db.d1 f 500000
d [DIR]/db.d2 f 500000
d [DIR]/db.d3 f 500000
d [DIR]/db.d4 f 500000
d [DIR]/db.d5
b [DIR]/db.b1
 
Top