cancel
Showing results for 
Search instead for 
Did you mean: 

Specified Database file already in use when using dbunload

Former Member
4,025

Hi I have attempted to follow the post on changing the database page size from February 2013.

I am using Sybase ASA 12.0.1.3942.

Step 1 was to create a fresh database using dbinit - p 8k c:\\sqlData\\NewData\\MyData12.db

Step 2 was to use the dbunload command to copy the existing database to the new one with:

dbunload -c "UID=DBA;PWD=sql;DBN=MyData12;DBF=c:\\sqlData\\MyData12.db" -ar "UID=DBA;PWD=sql;DBN=MyDataNew;DBF=c:\\sqlData\\NewData\\MyData12.db"

This results in SQL Error: Specified database file already exists.

I have tried using the -ac and -an switch both giving the same error.

What have I missed?

I wish to change the existing database 4k page size to 8k page size keeping the same database name and file. Just as in the orignal post with the -ar option, but I can't seem to get it to work.

Accepted Solutions (0)

Answers (2)

Answers (2)

VolkerBarth
Contributor

When you want to reload into an existing database, you cannot use option "-ar" as that creates a new database by design and replaces the old one. Instead you want to use option "-ac" instead.

If you only want to change the pagesize, you could omit the step to create a new database and could then use something like (untested):

dbunload -c "UID=DBA;PWD=sql;DBN=MyData12;DBF=c:\\sqlData\\MyData12.db" -ap 8k -ar


in one step.

Former Member
0 Kudos

Hi Volker,

Didn't work, I get the same error "Specified database file already in use". Do I have to stop the database service first?

The answer is yes. I have to stop the database service first. Doh!!

VolkerBarth
Contributor

Ah, I see - yes, this is documented behaviour - from the DBUNLOD doc page:

To unload a database, first ensure that the database is not already running. Then, run dbunload, specifying a DBA user and password, and referencing the database with the DBF= connection parameter.

asa25
Advisor
Advisor
0 Kudos

Hi,

Is each DB as follows?
c:\\sqlData\\MyData12.db = 4k
c:\\sqlData\\NewData\\MyData12.db = 8k

Please try the following command.

dbunload -c "UID=DBA;PWD=sql;SERVER=MyData12;DBF=c:\\sqlData\\MyData12.db" -ac "UID=DBA;PWD=sql;SERVER=MyDataNew;DBF=c:\\sqlData\\NewData\\MyData12.db" -xx

Thanks,
Atsushi