The forum will experience an outage sometime between February 10 at 7:00pm EST and February 12 at 11:59 EST for installation of security updates. The actual time and duration of the outage are unknown but attempts will be made to minimize the downtime. We apologize for any inconvenience.

In our conversions to SQL Anywhere 12, I'm running into an issue with understanding this part of the configuration for the replication environment using dbremote. I'm sure I've missed something profoundly simple, so my apologies in advance. :)

Currently our production database and current log file is running on the physical C drive of our server that we use to run our database. Specifically it runs in the "c:\database" directory.

Second, our backup directory for our production database is on the physical D drive of our server that we use to run our database. It is located in the "d:\database\backup" directory.

Because we're using replication, we backup our database every hour at the bottom of the hour. We are using the -r switch in dbbackup, so the current working transaction log is copied to the "d:\database\backup" directory, along with the current copy of the database.

My question is... "HOW???"

I don't see where the backup directory "d:\database\backup" is defined. This is the command line that gets ran for the backup.

"%ASANY%\win32\dbbackup.exe" -r -y -c "eng=*****;dbn=*****;uid=***;pwd=*****;links=tcpip{host=*****;udp=no}" -o "c:\database\rp-backup.txt" "c:\database"

As you can see from the command line, there is no reference to "Put the log files needed for replication into the "d:\database\backup" directory."

I thought it might be dbremote that defines where the backed up logs get placed, however, my impression is that the reference I have to the directory in which old transaction logs are held, is just that. A reference.

For the record, this is our dbremote command line...

dbremote.exe -l 100000 -t -m 128M -k -v -o "d:\dbserver\repdb\$$dbremote$$.dat" -c "eng=*****;dbn=*****;uid=***;pwd=*****;links=tcpip;con=replmsgagent;" d:\database\backup

From the help file, for renaming and starting new transaction logs, it says...

Step 1 The current working transaction log file is copied and saved to the directory specified in the command line.

Can somebody show me where that is specified?? I've been looking over this for two days since I'm trying to emulate this configuration on a new server running SQL Anywhere 12. I wasn't even sure if this was something that was defined at the creation of the database and was some type of option setting.

For the record, these command lines are copied directly out of the batch files that get fired, there are no additional utilities being called.

Any clarification on this would be greatly appreciated!!

TIA

Jeff Gibson
Intercept Solutions - Sybase SQL Anywhere OEM Partner
Nashville, TN

asked 22 Jul '11, 17:15

Jeff%20Gibson's gravatar image

Jeff Gibson
1.3k274352
accept rate: 22%

edited 22 Jul '11, 17:42

Volker%20Barth's gravatar image

Volker Barth
29.3k287438644


NEVERMIND!!!

I would flush this question if I could, but then somebody else may not learn from my stupidity!! :)

I should have looked at the configuration information a little more closely for the service that runs the database. The live database is on the D drive. The backup is on the C drive. I got them backwards because I was thinking that the working transaction logs would stay with the backup of the database, not the live database.

Also, for the sake of the original message, I changed the company information that was in the directory name on to d drive to "backup", so I could keep it generic. (Sorry if that confused anyone).

So... Disregard!!! Nothing to see here!!! Move along people!!! Move along!!

DBBACKUP IS WORKING AS IT SHOULD!!

;)

Jeff Gibson
Intercept Solutions - Sybase SQL Anywhere OEM Partner
Nashville, TN

permanent link

answered 22 Jul '11, 18:21

Jeff%20Gibson's gravatar image

Jeff Gibson
1.3k274352
accept rate: 22%

1

Glad you got it to work (where "understand how" is part of the work, too:))

(22 Jul '11, 18:26) Volker Barth

Mysterious. The backup directory is given in the DBBACKUP command, so you would put the backup right in the "c:\database" directory, i.e. in the live database directory. By this you would be trying to overwrite the existing live database log, and do this silently by -y. I would expect this will fail - but I'm not sure how the -r option works in that way. But it does not seem sensible to backup into the database directory IMHO.

Neither I do not understand how logs will get into the d:\database\backup at all in this configuration. And I guess dbremote will by default read logs from the live database directory as well. So it might use the old logs from the live directory...

Are there new logs copied to the d:\database\backup directory?

Still puzzled...

BTW: When you do run dbbackup from the local machine, I would recommend the dbbackup -s option to do a server-side backup (or use events to automate this alltogether)...

permanent link

answered 22 Jul '11, 17:50

Volker%20Barth's gravatar image

Volker Barth
29.3k287438644
accept rate: 32%

edited 22 Jul '11, 17:53

1

Just to understand: Am I right that dbbackup is run on the database server and not on a different client machine? This is important as the dbbackup directory is specified relative to the machine running dbbackup, not relative to the database server...

(22 Jul '11, 17:56) Volker Barth

Glad to see I'm not the only one that is confused!! :)

This was configured by one of the other developers that used to work here back around 2003 or 2004. In doing this migration, I thought I had this whole thing figured out, but ran across this anomaly and was like "WHAT THE HECK!"

Again, thoughts or suggestions are appreciated!!

(22 Jul '11, 17:58) Jeff Gibson
Replies hidden
1

@Jeff: Can you assure that on the new system dbbackup really does copy the db and log to the backup directory?

And where are the renamed logs stored? AFAIK, the dbbackup -r option (without -n) will just rename the log in the live database directory, whereas the copied transaction log has the original file name. Therefore dbbackup -r would not create logs with different names in the backup folder - it would just overwrite the existing log. Cf. this diagram.

(22 Jul '11, 18:13) Volker Barth

And thanks for the heads up on the -s switch. I'll be sure to look into that in the new configuration.

(22 Jul '11, 18:28) Jeff Gibson
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×71
×39
×37

question asked: 22 Jul '11, 17:15

question was seen: 1,704 times

last updated: 22 Jul '11, 18:28