cancel
Showing results for 
Search instead for 
Did you mean: 

log file for database crash

Former Member
0 Kudos
5,796

Hi All,

when ever my sqlanywhere client db crashes , i dont get any crashdump or any log file in powerbuilder 10.0 application.

is there a way to enable the logs and crash dump.badly i need for help . unable to figure out how and why my application crashes. the crashes started happening after migrating application to WINDOWS 2008 R2. it was not happening in windows XP machine.. thanks in advance

Breck_Carter
Participant
0 Kudos

What version of SQL Anywhere are you using?

Try adding the -o filespec.txt option to the command line that starts the database server; e.g., dbsrvXX.exe -o filespec.txt database.db

Also, ODBC trace files may be available in the ODBC Administrator setup, and thwere may be a trace file available from the PowerBuilder runtime (my memory is feeble).

Accepted Solutions (0)

Answers (2)

Answers (2)

Breck_Carter
Participant

Dbeng50.exe is very old and no longer supported... and AFAIK it never produced a crash dump file.

Before migrating to Windows 2008 R2, did you check to see if your software is supported on it? Because SQL Anywhere 5 is not.

VolkerBarth
Contributor
0 Kudos

...and AFAIK some folks have reported that SQL Anywhere 5 does not run stable on Windows 7 and above, cf. that FAQ search...

Breck_Carter
Participant
0 Kudos

I no longer see why "Dbeng50.exe" can be assumed... did something get deleted?

The tag says "sa-5" but that could be a speling misteak 🙂

Former Member
0 Kudos

HERE IS WHAT TO DO...

Steps to fix the transaction log

  1. Stop the service from Sybase Central.

  2. Move the existing log file that is tied to the database to a different location.

  3. Launch a command prompt and navigate to where your SQL Anywhere databases are stored.

For example: F:\\Temp>

Type > dbeng50.exe software.db You may need to type in the full path to your dbeng50 executable if sqlany50 is not in your system path. For example: "C:\\Program Files\\sqlany50\\win32\\dbeng50.exe" dbfilename.db

Note: This step will start the database server without the transaction log for the first time.

  1. Type > dbeng50.exe -f dbfilename.db

Note: This step will fix the database server.

  1. Type > dbeng50.exe dbfilename.db

Note: This step will connect to the database and write a new transaction log.

  1. Click the Shutdown button to stop the server.

  2. Launch Sybase Central and restart the service.

Note: You can adjust the file so that it no longer uses a transaction log.

  1. Verify that all information is valid for the master_dbs table.
Breck_Carter
Participant

The OP was asking about diagnostic log files (like a crash dump or dbsrv50 -o text file), NOT the database transaction log file.

> You can adjust the file so that it no longer uses a transaction log.

That is very dangerous advice, and should always be accompanied by warnings about unintended consequences.

For example, the Version 5.5 Help says this about dbinit -n: "The transaction log is required for data replication and provides extra security for database information in case of media failure or system failure."

The Version 16 Help says this, and the point about performance is probably true for Version 5.5 as well: "Creating a database without a transaction log saves disk space, but can result in poorer performance because each commit causes a checkpoint. Also, if your database becomes corrupted and you are not running with a transaction log, data is not recoverable. The transaction log is required for data replication and provides extra security for database information during a media or system failure."