cancel
Showing results for 
Search instead for 
Did you mean: 

DBSpace size limit

JimDiaz
Participant
1,864

SQL ANYWHERE 16

I am reaching the DBSpace limit on one of our databases. There is a 4K page size so our DBSpace limit is 1 TB. My question is can I move existing tables into a new database space or must I unload and reload.

Accepted Solutions (0)

Answers (2)

Answers (2)

Breck_Carter
Participant

Update: This is a VERY BAD ANSWER because the database uses SQL Remote replication.


> can I move existing tables into a new database space or must I unload and reload

AFAIK UNLOAD and LOAD is the fastest way to move, er, copy tables.

Based on a recent conversation I believe dbunload -ac uses named pipes, or you can go bare metal for individual tables like Foxhound does when upgrading to a new version, using the technique described here

http://sqlanywhere.blogspot.com/2010/12/unload-and-load-via-named-pipes.html

and here

http://sqlanywhere.blogspot.com/2011/08/unload-to-named-pipe-beats-unload.html


JimDiaz
Participant

I have decided to follow the help and do a manual unload and reload of a database involved in replication. I will then modify the reload script to locate certain tables in a new dbspace. My current plan is to create three or four new spaces as well as use an 8K page size giving me a maximum database size of 6 or 8 TB. Of course all DBSpaces will not expand equally so this is only a very rough max db size.

I do have several related questions 1) Can I turn off the automatic dbspace expansion? 2) If auto expansion is enabled how will these be expanded each separately as required I assume? 3) When extracting new databases will these default to use the same dbspace configuration?

VolkerBarth
Contributor
0 Kudos

As to your first two questions: What do you mean by "automatic dbspace expansion"? AFAIK, like the default system dbspace addional dbspaces do automatically grow when more database pages are needed - if they would not (say, because of a disk full condition), the according transaction would fail... - you can monitor file growth via an GrowDB event...

I don't know how dbspaces affect the default extract process, however, you could certainly customize that.

JimDiaz
Participant
0 Kudos

I ran a test on a large 1TB database and was able to crash the database by inserting data until the system auto expanded the "System" dbspace and reached the maximum. Once this occurs the db will not restart using normal dbsrv parameters. I was able to force a restart by renaming the log file and using the -f parameter. It's interesting because the log file created with -f starts at an offset less than the ending offset of the log file in place when the maximum space was exceeded. I believe a checkpoint might have caused the expansion not sure though.

I'll be looking deeper

VolkerBarth
Contributor
0 Kudos

Well, as stated, the according GrowDB system events might be of help here - I don't know whether the dbsrvX -fc option does also handle file limits or only disk full conditions.

Breck_Carter
Participant
0 Kudos

The V17 dbxtract page does not contain the string "dbspace"

That would fill me with dread if I had your responsibilities, and would prompt me to mark the rest of January and all of February for "testing" 🙂 ...the good news is, it is clear that SQL Remote is actively maintained if the vast increase in dbxtract options is any indication.

Breck_Carter
Participant
0 Kudos

> follow the help and do a manual unload and reload of a database involved in replication

...bet that lifted a great weight off your mind 🙂