Discussion:
database creation from dumps
(too old to reply)
c***@lecentre.net
2007-10-30 16:18:53 UTC
Permalink
Hi,

I would like to create a dev database identical to my production
database on ASE 12.5.4.
I have a dump from the production database done with flushstats.

I tried many ways to achieve that but had no chance to have it
working :

1) creating a database with srvbuild, starting it with "-m" (single-
user), loading the dump of the master database. Then the server won't
startup :

00:00000:00001:2007/10/30 16:03:24.82 kernel libomni1 - Component
Integration Services loaded; version 'libomni1 - Component Integration
Services/12.5.4/EBF 13395/P/Solaris AMD64/OS 5.10/ase1254/2006/64-bit/
OPT/Sat May 20 00:11:23 2006'.
00:00000:00001:2007/10/30 16:03:24.82 kernel libomni1 - Component
Integration Services: using 'Sybase Client-Library/12.5.1/P/DRV.
12.5.1.4/AMD Opteron/Solaris 2.10/BUILD1251-044/64bit/OPT/Mon Dec 5
16:21:51 2005'
00:00000:00001:2007/10/30 16:03:24.82 server Opening Master
Database ...
00:00000:00001:2007/10/30 16:03:24.82 server Loading SQL Server's
default sort order and character set
00:00000:00001:2007/10/30 16:03:24.82 server Error: 7114, Severity:
22, State: 1
00:00000:00001:2007/10/30 16:03:24.82 server Page 2105 is not a valid
text page.
00:00000:00001:2007/10/30 16:03:24.82 kernel
************************************
00:00000:00001:2007/10/30 16:03:24.82 kernel curdb = 1 tempdb = 0
pstat = 0x0
00:00000:00001:2007/10/30 16:03:24.82 kernel lasterror = 7114
preverror = 0 transtate = 1
00:00000:00001:2007/10/30 16:03:24.82 kernel curcmd = 0 program
=
00:00000:00001:2007/10/30 16:03:24.85 kernel pc: 0x0000000000fb646e
pcstkwalk+0x33()
00:00000:00001:2007/10/30 16:03:24.85 kernel pc: 0x0000000000fb63ac
ucstkgentrace+0x23c()
00:00000:00001:2007/10/30 16:03:24.85 kernel pc: 0x0000000000f50def
ucbacktrace+0xe8()
00:00000:00001:2007/10/30 16:03:24.85 kernel pc: 0x00000000007d0584
terminate_process+0xb9b()
00:00000:00001:2007/10/30 16:03:24.86 kernel Unix interval timer
enabled for sysclk interrupts.
00:00000:00001:2007/10/30 16:03:24.86 kernel pc: 0x000000000083c674
hdl_default+0x3d()
00:00000:00001:2007/10/30 16:03:24.87 kernel pc: 0x000000000096558c
text_handler+0x71()
00:00000:00001:2007/10/30 16:03:24.87 kernel pc: 0x000000000083bf15
ex_raise+0x1ab()
00:00000:00001:2007/10/30 16:03:24.87 kernel pc: 0x00000000009595a2
gettxtpage+0x422()
00:00000:00001:2007/10/30 16:03:24.87 kernel [Handler pc:
0x000000000096551b text_handler installed by the following function:-]
00:00000:00001:2007/10/30 16:03:24.87 kernel pc: 0x000000000096e228
txt_open+0x383()
00:00000:00001:2007/10/30 16:03:24.87 kernel [Handler pc:
0x000000000083c637 hdl_default installed by the following function:-]
00:00000:00001:2007/10/30 16:03:24.87 kernel [Handler pc:
0x000000000083c637 hdl_default installed by the following function:-]
00:00000:00001:2007/10/30 16:03:24.87 kernel pc: 0x00000000007d1f22
ld_sort_char+0x3ab()
00:00000:00001:2007/10/30 16:03:24.87 kernel pc: 0x00000000007cd7d2
dsinit+0x96e()
00:00000:00001:2007/10/30 16:03:24.87 kernel pc: 0x0000000000fa0c84
kpstartproc+0x56()
00:00000:00001:2007/10/30 16:03:24.87 kernel end of stack trace, spid
1, kpid 196611, suid 0

2) creating a new database by hand : can't import the master dump as
the sort-order is not standard.

3) creating a new instance with srvbuild, adding old devices from the
dbschema DDL, loading database dump, dbcc...

My questions are :

- what is the problem when I load the master from my production
server ?
- what can I do to reload every database in the instance without
reloading the master database ?
- when doing the 3) solution, how can I be sure the master database
includes all the data I need, including the references between
databases ?

I'm lost....

Thanks !
Mark A. Parsons
2007-10-30 15:49:43 UTC
Permalink
The stack trace seems to show up as a result of 'Loading SQL Server's default sort order and character set' ... taking
this in conjunction with your comment in #2 about 'sort-order is not standard' ... just wondering ... did you create
your new dataserver with the same sort order and character set as the old dataserver?

Also, what is @@version from the old server?

In the old dataserver's master database, what object and/or index does page 2105 belong to?

Have you tried to open a case with Sybase TechSupport?
Post by c***@lecentre.net
Hi,
I would like to create a dev database identical to my production
database on ASE 12.5.4.
I have a dump from the production database done with flushstats.
I tried many ways to achieve that but had no chance to have it
1) creating a database with srvbuild, starting it with "-m" (single-
user), loading the dump of the master database. Then the server won't
00:00000:00001:2007/10/30 16:03:24.82 kernel libomni1 - Component
Integration Services loaded; version 'libomni1 - Component Integration
Services/12.5.4/EBF 13395/P/Solaris AMD64/OS 5.10/ase1254/2006/64-bit/
OPT/Sat May 20 00:11:23 2006'.
00:00000:00001:2007/10/30 16:03:24.82 kernel libomni1 - Component
Integration Services: using 'Sybase Client-Library/12.5.1/P/DRV.
12.5.1.4/AMD Opteron/Solaris 2.10/BUILD1251-044/64bit/OPT/Mon Dec 5
16:21:51 2005'
00:00000:00001:2007/10/30 16:03:24.82 server Opening Master
Database ...
00:00000:00001:2007/10/30 16:03:24.82 server Loading SQL Server's
default sort order and character set
22, State: 1
00:00000:00001:2007/10/30 16:03:24.82 server Page 2105 is not a valid
text page.
00:00000:00001:2007/10/30 16:03:24.82 kernel
************************************
00:00000:00001:2007/10/30 16:03:24.82 kernel curdb = 1 tempdb = 0
pstat = 0x0
00:00000:00001:2007/10/30 16:03:24.82 kernel lasterror = 7114
preverror = 0 transtate = 1
00:00000:00001:2007/10/30 16:03:24.82 kernel curcmd = 0 program
=
00:00000:00001:2007/10/30 16:03:24.85 kernel pc: 0x0000000000fb646e
pcstkwalk+0x33()
00:00000:00001:2007/10/30 16:03:24.85 kernel pc: 0x0000000000fb63ac
ucstkgentrace+0x23c()
00:00000:00001:2007/10/30 16:03:24.85 kernel pc: 0x0000000000f50def
ucbacktrace+0xe8()
00:00000:00001:2007/10/30 16:03:24.85 kernel pc: 0x00000000007d0584
terminate_process+0xb9b()
00:00000:00001:2007/10/30 16:03:24.86 kernel Unix interval timer
enabled for sysclk interrupts.
00:00000:00001:2007/10/30 16:03:24.86 kernel pc: 0x000000000083c674
hdl_default+0x3d()
00:00000:00001:2007/10/30 16:03:24.87 kernel pc: 0x000000000096558c
text_handler+0x71()
00:00000:00001:2007/10/30 16:03:24.87 kernel pc: 0x000000000083bf15
ex_raise+0x1ab()
00:00000:00001:2007/10/30 16:03:24.87 kernel pc: 0x00000000009595a2
gettxtpage+0x422()
0x000000000096551b text_handler installed by the following function:-]
00:00000:00001:2007/10/30 16:03:24.87 kernel pc: 0x000000000096e228
txt_open+0x383()
0x000000000083c637 hdl_default installed by the following function:-]
0x000000000083c637 hdl_default installed by the following function:-]
00:00000:00001:2007/10/30 16:03:24.87 kernel pc: 0x00000000007d1f22
ld_sort_char+0x3ab()
00:00000:00001:2007/10/30 16:03:24.87 kernel pc: 0x00000000007cd7d2
dsinit+0x96e()
00:00000:00001:2007/10/30 16:03:24.87 kernel pc: 0x0000000000fa0c84
kpstartproc+0x56()
00:00000:00001:2007/10/30 16:03:24.87 kernel end of stack trace, spid
1, kpid 196611, suid 0
2) creating a new database by hand : can't import the master dump as
the sort-order is not standard.
3) creating a new instance with srvbuild, adding old devices from the
dbschema DDL, loading database dump, dbcc...
- what is the problem when I load the master from my production
server ?
- what can I do to reload every database in the instance without
reloading the master database ?
- when doing the 3) solution, how can I be sure the master database
includes all the data I need, including the references between
databases ?
I'm lost....
Thanks !
c***@lecentre.net
2007-10-31 08:59:22 UTC
Permalink
On 30 oct, 16:49, "Mark A. Parsons"
Post by Mark A. Parsons
The stack trace seems to show up as a result of 'Loading SQL Server's default sort order and character set' ... taking
this in conjunction with your comment in #2 about 'sort-order is not standard' ... just wondering ... did you create
your new dataserver with the same sort order and character set as the old dataserver?
Both servers are Roman-8 and binary Roman-8 sort order. This is true
when I create the database from srvbuild, then user srvloc to change
the sort order. If I create an empty master, which should be the right
solution, I can't load the master database due to a sort order problem
-> maybe there is something more to do ?
Old server : Adaptive Server Enterprise/12.5.4/EBF 14123 ESD#4/P/
Solaris AMD64/OS 5.10/ase1254/2034/64-bit/OPT/Thu Nov 30 05:33:01
2006
New server : Adaptive Server Enterprise/12.5.4/EBF 13395/P/Solaris
AMD64/OS 5.10/ase1254/2006/64-bit/OPT/Sat May 20 00:11:23 2006

Seems I will have to patch the new server to the same ESD...
Post by Mark A. Parsons
In the old dataserver's master database, what object and/or index does page 2105 belong to?
Have you tried to open a case with Sybase TechSupport?
not yet. I will try with a ESD patch the same level then open a case.
I was just wondering if I was missing something or if it was a real
problem with Sybase :)

Thanks for your time.
Mark A. Parsons
2007-11-01 13:40:42 UTC
Permalink
See comments, below ...
Post by c***@lecentre.net
On 30 oct, 16:49, "Mark A. Parsons"
Post by Mark A. Parsons
The stack trace seems to show up as a result of 'Loading SQL Server's default sort order and character set' ... taking
this in conjunction with your comment in #2 about 'sort-order is not standard' ... just wondering ... did you create
your new dataserver with the same sort order and character set as the old dataserver?
Both servers are Roman-8 and binary Roman-8 sort order. This is true
when I create the database from srvbuild, then user srvloc to change
the sort order. If I create an empty master, which should be the right
solution, I can't load the master database due to a sort order problem
-> maybe there is something more to do ?
Your original post mentioned that you had loaded the master database but then the dataserver would not start up. (And
from the errorlog entries I took a stab in the dark that it *might* be an issue with character sets and/or sort orders.)

Now you're stating that you can't load the master database due to a sort order problem. If this is the case, what error
messages did you get upon trying to load the master database?

------------

I rarely have to change character sets and/or sort orders, so I end up digging through the manuals for the necessary steps.

Have you looked through the (ASE 12.5.1) System Admin Guide, Chapter 7, Configuring Characters Sets, Sort Orders and
Languages ... just to make sure you didn't miss any steps?

-----------

I found a solved case at sybase.com which addresses an issue of loading a master database into a dataserver with a
different character set and sort order. While we haven't determined (at least not from what's been posted so far) that
this is the same problem you're running into, there are a few checks you can perform before performing the actual 'load
database' to make sure you won't have problems.

After you've created the new dataserver and before you attempt to load the master database:

- run 'sp_helpsort' on the new dataserver
- 'load database master from <dumpfile> with headeronly' (alternatively run 'sp_helpsort' on old dataserver)

Compare the character set and sort order from these 2 sets of output to insure they are the same. If they're not the
same consider modifying the new dataserver accordingly.

If in doubt at this point as to what to do, please post the following:

- 'sp_helpsort' from old dataserver
- 'sp_helpsort' from new dataserver
- output from 'load database master from <dumpfile> with headeronly'
Post by c***@lecentre.net
Old server : Adaptive Server Enterprise/12.5.4/EBF 14123 ESD#4/P/
Solaris AMD64/OS 5.10/ase1254/2034/64-bit/OPT/Thu Nov 30 05:33:01
2006
New server : Adaptive Server Enterprise/12.5.4/EBF 13395/P/Solaris
AMD64/OS 5.10/ase1254/2006/64-bit/OPT/Sat May 20 00:11:23 2006
Seems I will have to patch the new server to the same ESD...
Since both servers are 12.5.4/Solaris/x64 there shouldn't be any major problems with what you're doing but yeah, I'd
want to have the new server at (or above) the same version level as the old server. (Again, I doubt this is
contributing to your problem but it's easy enough to correct just to make sure there is no issue due to loading into an
older version.)
Post by c***@lecentre.net
Post by Mark A. Parsons
In the old dataserver's master database, what object and/or index does page 2105 belong to?
Have you tried to open a case with Sybase TechSupport?
not yet. I will try with a ESD patch the same level then open a case.
I was just wondering if I was missing something or if it was a real
problem with Sybase :)
Thanks for your time.
unknown
2007-11-07 16:46:07 UTC
Permalink
Post by Mark A. Parsons
See comments, below ...
Post by c***@lecentre.net
On 30 oct, 16:49, "Mark A. Parsons"
Post by Mark A. Parsons
The stack trace seems to show up as a result of
'Loading SQL Server's default sort order and character
set' ... taking >> this in conjunction with your comment
in #2 about 'sort-order is not standard' ... just
wondering ... did you create >> your new dataserver with
the same sort order and character set as the old
Post by c***@lecentre.net
dataserver?
Both servers are Roman-8 and binary Roman-8 sort order.
This is true when I create the database from srvbuild,
then user srvloc to change the sort order. If I create
an empty master, which should be the right solution, I
can't load the master database due to a sort order
problem -> maybe there is something more to do ?
Your original post mentioned that you had loaded the
master database but then the dataserver would not start
up. (And from the errorlog entries I took a stab in the
dark that it *might* be an issue with character sets
and/or sort orders.)
Now you're stating that you can't load the master database
due to a sort order problem. If this is the case, what
error messages did you get upon trying to load the master
database?
------------
I rarely have to change character sets and/or sort orders,
so I end up digging through the manuals for the necessary
steps.
Have you looked through the (ASE 12.5.1) System Admin
Guide, Chapter 7, Configuring Characters Sets, Sort Orders
and Languages ... just to make sure you didn't miss any
steps?
In fact, I'm trying to load the database to an "empty
container". I haven't found yet how to create an empty
database with the right sort order.
Post by Mark A. Parsons
-----------
I found a solved case at sybase.com which addresses an
issue of loading a master database into a dataserver with
a different character set and sort order. While we
haven't determined (at least not from what's been posted
so far) that this is the same problem you're running into
, there are a few checks you can perform before performing
the actual 'load database' to make sure you won't have
problems.
After you've created the new dataserver and before you
- run 'sp_helpsort' on the new dataserver
This won't work the way I create the database.
This is how I do :

add an entry into the interface file for my new to be
created database (ISAMAINT)
create an empty base with :
../bin/dataserver -d
/opt/db/dbdata/fs-isamaint/ISA_Master.dat -b72M -z2k
-sISAMAINT

Doing this close the database upon creation.
Create a RUN_ISAMAINT file and a ISAMAINT.cfg file
Start the database :
./startserver -f RUN_ISAMAINT -m

This way I have an empty database with only master.
I then want to load the master database into it.

As you suggest, I will try with headeronly.
Post by Mark A. Parsons
- 'load database master from <dumpfile> with headeronly'
(alternatively run 'sp_helpsort' on old dataserver)
load database master from
"compress::6::/mnt/SQLBT/DUMP_SYBASE/ISAPROD/DumpDATA/master-0.06-11-2007.20:08:18"

Backup Server: 4.132.1.1: Attempting to open byte stream
device:
'compress::6::/mnt/SQLBT/DUMP_SYBASE/ISAPROD/DumpDATA/master-0.06-11-2007.20:08:18::00'
Backup Server: 6.28.1.1: Dumpfile name 'master0731011B33 '
section number 1 mounted on byte stream
'compress::6::/mnt/SQLBT/DUMP_SYBASE/ISAPROD/DumpDATA/master-0.06-11-2007.20:08:18::00'
Msg 3143, Level 16, State 1:
Line 1:
The master database you are attempting to load was dumped
under a different sort order id (50) or character set id (4)
than the ones running on this server (sort order id = 50,
character set id = 1).
Msg 3144, Level 16, State 1:
Line 1:
Since this load may render the master database unusable,
this load will only be permitted under the 3100 traceflag.
Please contact Sybase Technical Support regarding the
correct usage of this traceflag.

1> Nov 7 17:39:57 2007 Backup Server: 6.32.2.2:
compress::6::/mnt/SQLBT/DUMP_SYBASE/ISAPROD/DumpDATA/master-0.06-11-2007.20:08:18::00:
volume not valid or not requested (server: , session id: 5.)
Nov 7 17:39:57 2007 Backup Server: 1.14.2.3: Unrecoverable
I/O or volume error. This DUMP or LOAD session must exit.
Nov 7 17:39:57 2007 Backup Server: 6.32.2.3:
compress::6::/mnt/SQLBT/DUMP_SYBASE/ISAPROD/DumpDATA/master-0.06-11-2007.20:08:18::00:
volume not valid or not requested (server: , session id: 5.)
Nov 7 17:39:57 2007 Backup Server: 1.14.2.4: Unrecoverable
I/O or volume error. This DUMP or LOAD session must exit.


or with headeronly :

1> load database master from
"compress::6::/mnt/SQLBT/DUMP_SYBASE/ISAPROD/DumpDATA/master-0.06-11-2007.20:08:18"
with headeronly
2> go
Backup Server session id is: 8. Use this value when
executing the 'sp_volchanged' system stored procedure after
fulfilling any volume change request from the Backup Server.
Backup Server: 4.132.1.1: Attempting to open byte stream
device:
'compress::6::/mnt/SQLBT/DUMP_SYBASE/ISAPROD/DumpDATA/master-0.06-11-2007.20:08:18::00'
Backup Server: 6.28.1.1: Dumpfile name 'master0731011B33 '
section number 1 mounted on byte stream
'compress::6::/mnt/SQLBT/DUMP_SYBASE/ISAPROD/DumpDATA/master-0.06-11-2007.20:08:18::00'
This is a database dump of database ID 1, name 'master',
from Nov 6 2007 8:08PM. SQL Server version: Adaptive
Server Enterprise/12.5.4/EBF 14123 ESD#4/P/Solaris AMD64/OS
5.10/ase1254/2034/64-bit/OPT/Th. Backup Server version:
Backup Server/12.5.4/EBF 14123 ESD#4/P/Solaris AMD64/OS
5.10/ase1254/2444/64-bit/OPT/Thu Nov 30 00:. Database page
size is 2048.
Database contains 24576 pages; checkpoint RID=(Rid pageid =
0x1367; row num = 0x11); next object ID=688002451; sort
order ID=50, status=0; charset ID=4.
Database log version=6; database upgrade version=31.
segmap: 0x00000007 lstart=0 vstart=4 lsize=3072 unrsvd=447
segmap: 0x00000007 lstart=3072 vstart=6660 lsize=21504
unrsvd=21412
The master database you are attempting to load was dumped
under a different sort order id (50) or character set id (4)
than the ones running on this server (sort order id = 50,
character set id = 1).
Since this load may render the master database unusable,
this load will only be permitted under the 3100 traceflag.
Please contact Sybase Technical Support regarding the
correct usage of this traceflag.

same :)
Post by Mark A. Parsons
Compare the character set and sort order from these 2 sets
of output to insure they are the same. If they're not the
same consider modifying the new dataserver accordingly.
If in doubt at this point as to what to do, please post
- 'sp_helpsort' from old dataserver
- 'sp_helpsort' from new dataserver
- output from 'load database master from <dumpfile> with
headeronly'
new and old servers are the same :
old :
Adaptive Server Enterprise/12.5.4/EBF 14123 ESD#4/P/Solaris
AMD64/OS 5.10/ase1254/2034/64-bit/OPT/Thu Nov 30 05:33:01
2006
new :
Adaptive Server Enterprise/12.5.4/EBF 14123 ESD#4/P/Solaris
AMD64/OS 5.10/ase1254/2034/64-bit/OPT/Thu Nov 30 05:33:01
2006
Post by Mark A. Parsons
Post by c***@lecentre.net
Old server : Adaptive Server Enterprise/12.5.4/EBF
14123 ESD#4/P/ Solaris AMD64/OS
5.10/ase1254/2034/64-bit/OPT/Thu Nov 30 05:33:01 2006
New server : Adaptive Server Enterprise/12.5.4/EBF
13395/P/Solaris AMD64/OS
5.10/ase1254/2006/64-bit/OPT/Sat May 20 00:11:23 2006
Seems I will have to patch the new server to the same
ESD...
Since both servers are 12.5.4/Solaris/x64 there shouldn't
be any major problems with what you're doing but yeah, I'd
want to have the new server at (or above) the same version
level as the old server. (Again, I doubt this is
contributing to your problem but it's easy enough to
correct just to make sure there is no issue due to loading
into an older version.)
Post by c***@lecentre.net
Post by Mark A. Parsons
In the old dataserver's master database, what object
and/or index does page 2105 belong to? >>
Post by c***@lecentre.net
Post by Mark A. Parsons
Have you tried to open a case with Sybase TechSupport?
not yet. I will try with a ESD patch the same level then
open a case. I was just wondering if I was missing
something or if it was a real problem with Sybase :)
Thanks for your time.
Mark A. Parsons
2007-11-07 18:16:42 UTC
Permalink
In an earlier post you mentioned:

"Both servers are Roman-8 and binary Roman-8 sort order."
Post by unknown
The master database you are attempting to load was dumped
under a different sort order id (50) or character set id (4)
than the ones running on this server (sort order id = 50,
character set id = 1).
character set info:

id name
== ===========
1 iso_1
4 roman8


sort order info:

id name
== ===========
50 binary


Soooo, from the ASE message (failed load db command), it looks the old dataserver is in fact running with roman8 but the
new dataserver is running with iso_1.

I'd recommend trying to get the new dataserver up and running under roman8 and then try to load your database again.

You can try using sqlloc (or sqllocres) to load and configure roman8 as the default character set in your new dataserver.
unknown
2007-11-08 10:13:04 UTC
Permalink
Post by Mark A. Parsons
"Both servers are Roman-8 and binary Roman-8 sort order."
From your latest post we see the following information
Post by unknown
The master database you are attempting to load was
dumped under a different sort order id (50) or character
set id (4) than the ones running on this server (sort
order id = 50, character set id = 1).
id name
== ===========
1 iso_1
4 roman8
id name
== ===========
50 binary
Soooo, from the ASE message (failed load db command), it
looks the old dataserver is in fact running with roman8
but the new dataserver is running with iso_1.
I'd recommend trying to get the new dataserver up and
running under roman8 and then try to load your database
again.
You can try using sqlloc (or sqllocres) to load and
configure roman8 as the default character set in your new
dataserver.
Yes, of course. Using the dataserver command to create the
database makes an empty database, without stored procs. This
way I wasn't able to use stored procs, so I wasn't able to
change the sort order to the one required.
The second solution is to create an empty database with the
srvbuild command. Then use sqlloc, as you suggested.
This is exacly what I did :

1> load database master from
"compress::6::/mnt/SQLBT/DUMP_SYBASE/ISAPROD/DumpDATA/master-0.06-11-2007.20:08:18"
2> go
WARNING: In order to LOAD the master database, the SQL
Server must run in single-user mode. If the master database
dump uses multiple volumes, you must execute sp_volchanged
on another SQL Server at LOAD time in order to signal volume
changes.
Backup Server session id is: 11. Use this value when
executing the 'sp_volchanged' system stored procedure after
fulfilling any volume change request from the Backup Server.
Backup Server: 4.132.1.1: Attempting to open byte stream
device:
'compress::6::/mnt/SQLBT/DUMP_SYBASE/ISAPROD/DumpDATA/master-0.06-11-2007.20:08:18::00'
Backup Server: 6.28.1.1: Dumpfile name 'master0731011B33 '
section number 1 mounted on byte stream
'compress::6::/mnt/SQLBT/DUMP_SYBASE/ISAPROD/DumpDATA/master-0.06-11-2007.20:08:18::00'
Backup Server: 4.58.1.1: Database master: 10244 kilobytes
LOADED.
Backup Server: 4.58.1.1: Database master: 49158 kilobytes
LOADED.
Backup Server: 4.58.1.1: Database master: 49166 kilobytes
LOADED.
Backup Server: 3.42.1.1: LOAD is complete (database master).
Started estimating recovery log boundaries for database
'master'.
Database 'master', checkpoint=(4967, 17), first=(4967, 17),
last=(4967, 17).
Completed estimating recovery log boundaries for database
'master'.
Started ANALYSIS pass for database 'master'.
Completed ANALYSIS pass for database 'master'.
Started REDO pass for database 'master'. The total number of
log records to process is 1.
Completed REDO pass for database 'master'.
Started filling free space info for database 'master'.
Completed filling free space info for database 'master'.
Started cleaning up the default data cache for database
'master'.
Completed cleaning up the default data cache for database
'master'.
00:00000:00006:2007/11/08 10:55:41.33 server The
transaction log in the database 'master' will use I/O size
of 2 Kb.
00:00000:00006:2007/11/08 10:55:41.33 server The
transaction log in the database 'master' will use I/O size
of 2 Kb.
(5 rows affected)
Database 'master' is now online.
1> 00:00000:00006:2007/11/08 10:55:41.34 kernel ueshutdown:
exiting


Then I start it again :
./startserver -f RUN_ISAMAINT -m
...

00:00000:00001:2007/11/08 10:56:34.76 server Opening Master
Database ...
00:00000:00001:2007/11/08 10:56:34.76 server Loading SQL
Server's default sort order and character set
00:00000:00001:2007/11/08 10:56:34.76 server Error: 7114,
Severity: 22, State: 1
00:00000:00001:2007/11/08 10:56:34.76 server Page 2129 is
not a valid text page.
00:00000:00001:2007/11/08 10:56:34.76 kernel
************************************
00:00000:00001:2007/11/08 10:56:34.76 kernel curdb = 1
tempdb = 0 pstat = 0x0
00:00000:00001:2007/11/08 10:56:34.76 kernel lasterror =
7114 preverror = 0 transtate = 1
00:00000:00001:2007/11/08 10:56:34.76 kernel curcmd = 0
program =
00:00000:00001:2007/11/08 10:56:34.76 kernel pc:
0x00000000010215bc pcstkwalk+0x35()
00:00000:00001:2007/11/08 10:56:34.76 kernel pc:
0x00000000010214f8 ucstkgentrace+0x23c()
00:00000:00001:2007/11/08 10:56:34.76 kernel pc:
0x0000000000fb6f84 ucbacktrace+0xe8()
00:00000:00001:2007/11/08 10:56:34.76 kernel pc:
0x00000000007d4366 terminate_process+0xcf9()
00:00000:00001:2007/11/08 10:56:34.76 kernel pc:
0x0000000000844666 hdl_default+0x3d()
00:00000:00001:2007/11/08 10:56:34.76 kernel pc:
0x000000000097cd2b text_handler+0x71()
00:00000:00001:2007/11/08 10:56:34.76 kernel pc:
0x0000000000843eb6 ex_raise+0x1fc()
00:00000:00001:2007/11/08 10:56:34.76 kernel pc:
0x000000000097044b gettxtpage+0x584()
00:00000:00001:2007/11/08 10:56:34.76 kernel [Handler pc:
0x000000000097ccba text_handler installed by the following
function:-]
00:00000:00001:2007/11/08 10:56:34.76 kernel pc:
0x000000000098614a txt_open+0x3d4()
00:00000:00001:2007/11/08 10:56:34.76 kernel [Handler pc:
0x0000000000844629 hdl_default installed by the following
function:-]
00:00000:00001:2007/11/08 10:56:34.76 kernel [Handler pc:
0x0000000000844629 hdl_default installed by the following
function:-]
00:00000:00001:2007/11/08 10:56:34.76 kernel pc:
0x00000000007d5e6f ld_sort_char+0x3ab()
00:00000:00001:2007/11/08 10:56:34.76 kernel pc:
0x00000000007d1046 dsinit+0x965()
00:00000:00001:2007/11/08 10:56:34.76 kernel pc:
0x000000000100b92a kpstartproc+0x56()
00:00000:00001:2007/11/08 10:56:34.76 kernel end of stack
trace, spid 1, kpid 196611, suid 0
00:00000:00000:2007/11/08 10:56:34.80 kernel Unix interval
timer enabled for sysclk interrupts.

Again, same problem.
I will check I don't have a device problem with the tempdb,
but whatever I do, I still can't load this damn database...

Last question : do I have to load the master database to
create a copy of the old database ? :)
Mark A. Parsons
2007-11-08 13:41:18 UTC
Permalink
Prune wrote:
... snip ...
Post by unknown
Again, same problem.
OK, so now I'm on the same sheet of music.
Post by unknown
I will check I don't have a device problem with the tempdb,
but whatever I do, I still can't load this damn database...
I'd give Sybase TechSupport a call .
Post by unknown
Last question : do I have to load the master database to
create a copy of the old database ? :)
I usually do the following:

[NOTE #1: The below assumes that the 2 OS platforms are compatable thus allowing for the bcp of
master..syslogins.password as well as the dump-n-load of the user-defined databases.]

[NOTE #2: All of the below should be 'easy' to do if you've maintained the DDL necessary to rebuild your dataserver
from scratch; alternatively you should be able to reverse-engineer the DDL from the old dataserver; either way you
should make it a point to have all this info available (on a different machine) in the event you ever have to rebuild
your dataserver.]

- create new dataserver, to include building the sybsystemprocs database, to include running all the necessary install*
scripts (eg, installmaster, installmontables, etc.)

- run the same 'disk init' commands that you had run on the old dataserver; obviously (?) change the physical device
names to match whatever you've setup on the new machine

- alter the tempdb database(s) as desired

- bcp records out of the old master database, edit bcp files to remove those records that already exist in the new
master database, then bcp what's leftover into the new master database; tables to process would include
syslogins/sysloginroles/syssrvroles/sysusers/sysalternates

- on the new dataserver run 'create/alter database ... for load' to match the commands used to create the user-defined
databases on the old dataserver

- dump user-defined databases from old dataserver, load into new user-defined databases in new dataserver

- copy over *.cfg file from the old dataserver to the new dataserver (assuming you have enough memory on the new
dataserver, else you may need to manually edit *.cfg to fit within the memory limitations on the new dataserver);
alternatively, just issue the necessary sp_configure/sp_cacheconfig/sp_poolconfig commands to get your newdataserver
configured as you want

- make whatever other customizations as are necessary, eg, loading you own procs into sybsystemprocs,
installing/configuring auditing (and the sybsecurity database), setting logiosize for various databases, adding servers
and remote/external logins, etc.

If the OS platforms are the same, and you'll be using the same named/sized physical devices on the new OS platform ...
then dumping-n-loading the master database would certainly make you life a lot easier ... so a call to Sybase
TechSupport may be the first thing on your list.
unknown
2007-11-09 09:07:07 UTC
Permalink
Post by Mark A. Parsons
... snip ...
Post by unknown
Again, same problem.
OK, so now I'm on the same sheet of music.
Post by unknown
I will check I don't have a device problem with the
tempdb, but whatever I do, I still can't load this damn
database...
I'd give Sybase TechSupport a call .
Post by unknown
Last question : do I have to load the master database
to create a copy of the old database ? :)
[NOTE #1: The below assumes that the 2 OS platforms are
compatable thus allowing for the bcp of
master..syslogins.password as well as the dump-n-load of
the user-defined databases.]
[NOTE #2: All of the below should be 'easy' to do if
you've maintained the DDL necessary to rebuild your
dataserver from scratch; alternatively you should be able
to reverse-engineer the DDL from the old dataserver;
either way you should make it a point to have all this
info available (on a different machine) in the event you
ever have to rebuild your dataserver.]
- create new dataserver, to include building the
sybsystemprocs database, to include running all the
necessary install* scripts (eg, installmaster,
installmontables, etc.)
- run the same 'disk init' commands that you had run on
the old dataserver; obviously (?) change the physical
device names to match whatever you've setup on the new
machine
- alter the tempdb database(s) as desired
- bcp records out of the old master database, edit bcp
files to remove those records that already exist in the
new master database, then bcp what's leftover into the
new master database; tables to process would include
syslogins/sysloginroles/syssrvroles/sysusers/sysalternates
- on the new dataserver run 'create/alter database ... for
load' to match the commands used to create the
user-defined databases on the old dataserver
- dump user-defined databases from old dataserver, load
into new user-defined databases in new dataserver
- copy over *.cfg file from the old dataserver to the new
dataserver (assuming you have enough memory on the new
dataserver, else you may need to manually edit *.cfg to
fit within the memory limitations on the new dataserver);
alternatively, just issue the necessary
sp_configure/sp_cacheconfig/sp_poolconfig commands to get
your newdataserver configured as you want
- make whatever other customizations as are necessary, eg,
loading you own procs into sybsystemprocs,
installing/configuring auditing (and the sybsecurity
database), setting logiosize for various databases, adding
servers and remote/external logins, etc.
If the OS platforms are the same, and you'll be using the
same named/sized physical devices on the new OS platform
.. then dumping-n-loading the master database would
certainly make you life a lot easier ... so a call to
Sybase TechSupport may be the first thing on your list.
The solution I found from now is :
- create an empty database with srvbuild, then change it's
sort order with srvloc. The master and prod devices are
created with the same size and segment size as the old
server.
- Alter database so the base trunk is identical to the ol d
server.
- use dbschema to dump the ddl of the old database
- create the devices with diskinit in with the same vdevid
(ie : in the same order)
- use the ddl to re-create the databases, in the same order
as the old server
- load from old database dumps
- change db option
- create users (but dbschema does not give me the
passwords... is there a way to get them ?)
- go online and do some dbcc.
- stop the database
- get the old config file
- start the database

I'm just affraid I lose something doing it this way. You
talked about caches. I know there are some parameters in the
config file, but maybe i'm losing something from the old
master db....

I will open a case to the support.
Thanks.
unknown
2007-11-09 09:08:23 UTC
Permalink
I just forgot to give a great thank to you :)
done !
Mark A. Parsons
2007-11-09 12:21:53 UTC
Permalink
Post by unknown
- create the devices with diskinit in with the same vdevid
(ie : in the same order)
Disks don't need to be created in the same order; in fact, you don't need to create the same number of disks, they can
be different sizes, and they can have different names. Important part is to make sure you have enough disk space on
which to create your databases, and (obviously ?) make sure you keep data and log on different devices (to be used by
databases which have separate data and device segments).
Post by unknown
- create users (but dbschema does not give me the
passwords... is there a way to get them ?)
Users are maintained in the database dumps.

I think what you may be referring to are the logins. In your case you're using the same version of ASE on 2 machines
running with the same hardware and OS; so in this case you could bcp the info out of
master..syslogins/sysloginroles/syssrvroles, and bcp the delta's (ie, records that don't already exist in your new
master database) into the new master database tables.
Post by unknown
I'm just affraid I lose something doing it this way. You
talked about caches. I know there are some parameters in the
config file, but maybe i'm losing something from the old
master db....
Caches can be taken care of in 1 of 2 ways ... bring over the *.cfg file *OR* manually run the necessary
sp_configure/sp_cacheconfig/sp_poolconfig commands to recreate your caches.
Loading...