Difference between revisions of "Fixing system tables in the master database after a change of Characterset / SortOrder"

From SybaseWiki
Jump to: navigation, search
m (Things about Adaptive Server Enterprise)
m
 
(16 intermediate revisions by 9 users not shown)
Line 1: Line 1:
==Administration==
 
 
===Fixing system tables in the master database after a change of Characterset/SortOrder===
 
 
When you have changed the characterset and/or sort order for a server it might be necesarry to fix a few system tables in the master database. When you have not done this, a stacktrace similiar to this one will be shown in the errorlog. Running "update index statistics" on tables in the master database seem to raise this stacktrace.
 
When you have changed the characterset and/or sort order for a server it might be necesarry to fix a few system tables in the master database. When you have not done this, a stacktrace similiar to this one will be shown in the errorlog. Running "update index statistics" on tables in the master database seem to raise this stacktrace.
  
{| border="1"
+
server  Error: 614, Severity: 21, State: 7
|-
+
server  Adaptive Server accessed a row that has an illegal length of 16640 while in data base 'master'. Page pointer = 0x1abe59800, pageno = 1098, status = 0x2, objectid = 224000798, indexid = 2, level = 0. The minimum row length is 13. The page size is 2048.
|
+
kernel  ************************************
{|
+
kernel  SQL causing error : spt_ijdbc_mda
|-
+
kernel  ************************************
|server  Error: 614, Severity: 21, State: 7
+
server  SQL Text: spt_ijdbc_mda
|-
+
kernel  curdb = 1 pstat = 0x10000 lasterror = 614
|server  Adaptive Server accessed a row that has an illegal length of 16640 while in data base 'master'. Page pointer = 0x1abe59800, pageno = 1098, status = 0x2, objectid = 224000798, indexid = 2, level = 0. The minimum row length is 13. The page size is 2048.
+
kernel  preverror = 0 transtate = 1
|-
+
kernel  curcmd = 326 program = isql
|kernel  ************************************
+
kernel  pc: 0x00000001208c5260 pcstkwalk+0x50()
|-
+
kernel  pc: 0x00000001208c4fa0 ucstkgentrace+0x250()
|kernel  SQL causing error : spt_ijdbc_mda
+
kernel  pc: 0x0000000120830664 ucbacktrace+0x104()
|-
+
kernel  pc: 0x00000001202cf084 terminate_process+0xbc4()
|kernel  ************************************
+
kernel  pc: 0x00000001203d6a58 hdl_default+0x68()
|-
+
kernel  pc: 0x00000001205370e0 ut_handle+0x130()
|server  SQL Text: spt_ijdbc_mda
+
kernel  pc: 0x0000000120324a34 ex_raise+0x364()
|-
+
kernel  pc: 0x00000001201851e0 rowsize+0x270()
|kernel  curdb = 1 pstat = 0x10000 lasterror = 614
+
kernel  pc: 0x00000001205622b8 ups_main+0x10b8()
|-
+
kernel  pc: 0x00000001202359a0 getnext+0x150()
|kernel  preverror = 0 transtate = 1
+
kernel  pc: 0x00000001201dc3b8 ups_deadlock_getnext+0x28()
|-
+
kernel  [Handler pc: 0x0000000120536fb0 ut_handle installed by the following function:-]
|kernel  curcmd = 326 program = isql
+
kernel  pc: 0x0000000120563630 ups_main+0x2430()
|-
+
kernel  [Handler pc: 0x0000000120536fb0 ut_handle installed by the following function:-]
|kernel  pc: 0x00000001208c5260 pcstkwalk+0x50()
+
kernel  pc: 0x00000001205617bc ups_main+0x5bc()
|-
+
kernel  pc: 0x00000001202817fc s_execute_cold_3+0x2bac()
|kernel  pc: 0x00000001208c4fa0 ucstkgentrace+0x250()
+
kernel  [Handler pc: 0x00000001205a0cc0 s_handle installed by the following function:-]
|-
+
kernel  pc: 0x0000000120245280 sequencer+0x440()
|kernel  pc: 0x0000000120830664 ucbacktrace+0x104()
+
kernel  [Handler pc: 0x0000000120521ad0 hsm_memobjsize+0x10 installed by the following function:-]
|-
+
kernel  pc: 0x000000012033f498 internal_sql+0x6a8()
|kernel  pc: 0x00000001202cf084 terminate_process+0xbc4()
+
kernel  pc: 0x0000000120280974 s_execute_cold_3+0x1d24()
|-
+
kernel  [Handler pc: 0x00000001205a0cc0 s_handle installed by the following function:-]
|kernel  pc: 0x00000001203d6a58 hdl_default+0x68()
+
kernel  pc: 0x0000000120245280 sequencer+0x440()
|-
+
kernel  pc: 0x00000001202456c0 execproc+0x3c0()
|kernel  pc: 0x00000001205370e0 ut_handle+0x130()
+
kernel  pc: 0x000000012027f4ec s_execute_cold_3+0x89c()
|-
+
kernel  [Handler pc: 0x00000001205a0cc0 s_handle installed by the following function:-]
|kernel  pc: 0x0000000120324a34 ex_raise+0x364()
+
kernel  pc: 0x0000000120245280 sequencer+0x440()
|-
+
kernel  pc: 0x00000001202456c0 execproc+0x3c0()
|kernel  pc: 0x00000001201851e0 rowsize+0x270()
+
kernel  pc: 0x000000012027f4ec s_execute_cold_3+0x89c()
|-
+
kernel  [Handler pc: 0x00000001205a0cc0 s_handle installed by the following function:-]
|kernel  pc: 0x00000001205622b8 ups_main+0x10b8()
+
kernel  pc: 0x0000000120245280 sequencer+0x440()
|-
+
kernel  pc: 0x0000000120172d28 tdsrecv_language+0x348()
|kernel  pc: 0x00000001202359a0 getnext+0x150()
+
kernel  [Handler pc: 0x00000001203d6520 hdl_backout installed by the following function:-]
|-
+
kernel  [Handler pc: 0x0000000120536fb0 ut_handle installed by the following function:-]
|kernel  pc: 0x00000001201dc3b8 ups_deadlock_getnext+0x28()
+
kernel  [Handler pc: 0x0000000120536fb0 ut_handle installed by the following function:-]
|-
+
kernel  pc: 0x000000012016f560 conn_hdlr_cold_347+0x830()
|kernel  [Handler pc: 0x0000000120536fb0 ut_handle installed by the following function:-]
+
kernel  end of stack trace, spid 76, kpid 261554288, suid 30
|-
+
|kernel  pc: 0x0000000120563630 ups_main+0x2430()
+
|-
+
|kernel  [Handler pc: 0x0000000120536fb0 ut_handle installed by the following function:-]
+
|-
+
|kernel  pc: 0x00000001205617bc ups_main+0x5bc()
+
|-
+
|kernel  pc: 0x00000001202817fc s_execute_cold_3+0x2bac()
+
|-
+
|kernel  [Handler pc: 0x00000001205a0cc0 s_handle installed by the following function:-]
+
|-
+
|kernel  pc: 0x0000000120245280 sequencer+0x440()
+
|-
+
|kernel  [Handler pc: 0x0000000120521ad0 hsm_memobjsize+0x10 installed by the following function:-]
+
|-
+
|kernel  pc: 0x000000012033f498 internal_sql+0x6a8()
+
|-
+
|kernel  pc: 0x0000000120280974 s_execute_cold_3+0x1d24()
+
|-
+
|kernel  [Handler pc: 0x00000001205a0cc0 s_handle installed by the following function:-]
+
|-
+
|kernel  pc: 0x0000000120245280 sequencer+0x440()
+
|-
+
|kernel  pc: 0x00000001202456c0 execproc+0x3c0()
+
|-
+
|kernel  pc: 0x000000012027f4ec s_execute_cold_3+0x89c()
+
|-
+
|kernel  [Handler pc: 0x00000001205a0cc0 s_handle installed by the following function:-]
+
|-
+
|kernel  pc: 0x0000000120245280 sequencer+0x440()
+
|-
+
|kernel  pc: 0x00000001202456c0 execproc+0x3c0()
+
|-
+
|kernel  pc: 0x000000012027f4ec s_execute_cold_3+0x89c()
+
|-
+
|kernel  [Handler pc: 0x00000001205a0cc0 s_handle installed by the following function:-]
+
|-
+
|kernel  pc: 0x0000000120245280 sequencer+0x440()
+
|-
+
|kernel  pc: 0x0000000120172d28 tdsrecv_language+0x348()
+
|-
+
|kernel  [Handler pc: 0x00000001203d6520 hdl_backout installed by the following function:-]
+
|-
+
|kernel  [Handler pc: 0x0000000120536fb0 ut_handle installed by the following function:-]
+
|-
+
|kernel  [Handler pc: 0x0000000120536fb0 ut_handle installed by the following function:-]
+
|-
+
|kernel  pc: 0x000000012016f560 conn_hdlr_cold_347+0x830()
+
|-
+
|kernel  end of stack trace, spid 76, kpid 261554288, suid 30
+
|}
+
|}
+
 
+
  
 
To resolve this issue you to run the following commands in the master database:
 
To resolve this issue you to run the following commands in the master database:
  
dbcc reindex(spt_ijdbc_mda)
+
dbcc reindex(spt_ijdbc_mda)
 
+
dbcc reindex(spt_mda)
dbcc reindex(spt_mda)
+
dbcc reindex(spt_jtext)
 
+
dbcc reindex(spt_jtext)
+
 
+
  
 
When you reindex spt_jext and the following error is raised:
 
When you reindex spt_jext and the following error is raised:
  
{| border="1"
+
Msg 7952, Level 16, State 1:
|-
+
Server 'xxx', Line 1:
|
+
A TEXT value with an invalid MAGIC NUMBER has been found on page 2370. TEXT values will no longer be checked for this table. Note because of this, the TEXT page count will be inaccurate. Use DBCC FIX_TEXT to fix the TEXT values.
{|
+
|-
+
|
+
Msg 7952, Level 16, State 1:
+
|-
+
|Server 'xxx', Line 1:
+
|-
+
|A TEXT value with an invalid MAGIC NUMBER has been found on page 2370. TEXT values will no longer be checked for this table. Note because of this, the TEXT page count will be inaccurate. Use DBCC FIX_TEXT to fix the TEXT values.
+
|}
+
|}
+
  
 
you need to run this: dbcc fix_text(spt_jtext)
 
you need to run this: dbcc fix_text(spt_jtext)
Line 133: Line 64:
 
All these dbcc commands can be run while users are active in the server.
 
All these dbcc commands can be run while users are active in the server.
 
Currently it is not known what ASE versions, character set or sort orders causes these problems.
 
Currently it is not known what ASE versions, character set or sort orders causes these problems.
 +
 +
[[Category:ASE]]

Latest revision as of 22:15, 20 January 2008

When you have changed the characterset and/or sort order for a server it might be necesarry to fix a few system tables in the master database. When you have not done this, a stacktrace similiar to this one will be shown in the errorlog. Running "update index statistics" on tables in the master database seem to raise this stacktrace.

server  Error: 614, Severity: 21, State: 7
server  Adaptive Server accessed a row that has an illegal length of 16640 while in data base 'master'. Page pointer = 0x1abe59800, pageno = 1098, status = 0x2, objectid = 224000798, indexid = 2, level = 0. The minimum row length is 13. The page size is 2048.
kernel  ************************************
kernel  SQL causing error : spt_ijdbc_mda
kernel  ************************************
server  SQL Text: spt_ijdbc_mda
kernel  curdb = 1 pstat = 0x10000 lasterror = 614
kernel  preverror = 0 transtate = 1
kernel  curcmd = 326 program = isql
kernel  pc: 0x00000001208c5260 pcstkwalk+0x50()
kernel  pc: 0x00000001208c4fa0 ucstkgentrace+0x250()
kernel  pc: 0x0000000120830664 ucbacktrace+0x104()
kernel  pc: 0x00000001202cf084 terminate_process+0xbc4()
kernel  pc: 0x00000001203d6a58 hdl_default+0x68()
kernel  pc: 0x00000001205370e0 ut_handle+0x130()
kernel  pc: 0x0000000120324a34 ex_raise+0x364()
kernel  pc: 0x00000001201851e0 rowsize+0x270()
kernel  pc: 0x00000001205622b8 ups_main+0x10b8()
kernel  pc: 0x00000001202359a0 getnext+0x150()
kernel  pc: 0x00000001201dc3b8 ups_deadlock_getnext+0x28()
kernel  [Handler pc: 0x0000000120536fb0 ut_handle installed by the following function:-]
kernel  pc: 0x0000000120563630 ups_main+0x2430()
kernel  [Handler pc: 0x0000000120536fb0 ut_handle installed by the following function:-]
kernel  pc: 0x00000001205617bc ups_main+0x5bc()
kernel  pc: 0x00000001202817fc s_execute_cold_3+0x2bac()
kernel  [Handler pc: 0x00000001205a0cc0 s_handle installed by the following function:-]
kernel  pc: 0x0000000120245280 sequencer+0x440()
kernel  [Handler pc: 0x0000000120521ad0 hsm_memobjsize+0x10 installed by the following function:-]
kernel  pc: 0x000000012033f498 internal_sql+0x6a8()
kernel  pc: 0x0000000120280974 s_execute_cold_3+0x1d24()
kernel  [Handler pc: 0x00000001205a0cc0 s_handle installed by the following function:-]
kernel  pc: 0x0000000120245280 sequencer+0x440()
kernel  pc: 0x00000001202456c0 execproc+0x3c0()
kernel  pc: 0x000000012027f4ec s_execute_cold_3+0x89c()
kernel  [Handler pc: 0x00000001205a0cc0 s_handle installed by the following function:-]
kernel  pc: 0x0000000120245280 sequencer+0x440()
kernel  pc: 0x00000001202456c0 execproc+0x3c0()
kernel  pc: 0x000000012027f4ec s_execute_cold_3+0x89c()
kernel  [Handler pc: 0x00000001205a0cc0 s_handle installed by the following function:-]
kernel  pc: 0x0000000120245280 sequencer+0x440()
kernel  pc: 0x0000000120172d28 tdsrecv_language+0x348()
kernel  [Handler pc: 0x00000001203d6520 hdl_backout installed by the following function:-]
kernel  [Handler pc: 0x0000000120536fb0 ut_handle installed by the following function:-]
kernel  [Handler pc: 0x0000000120536fb0 ut_handle installed by the following function:-]
kernel  pc: 0x000000012016f560 conn_hdlr_cold_347+0x830()
kernel  end of stack trace, spid 76, kpid 261554288, suid 30

To resolve this issue you to run the following commands in the master database:

dbcc reindex(spt_ijdbc_mda)
dbcc reindex(spt_mda)
dbcc reindex(spt_jtext)

When you reindex spt_jext and the following error is raised:

Msg 7952, Level 16, State 1:
Server 'xxx', Line 1:
A TEXT value with an invalid MAGIC NUMBER has been found on page 2370. TEXT values will no longer be checked for this table. Note because of this, the TEXT page count will be inaccurate. Use DBCC FIX_TEXT to fix the TEXT values.

you need to run this: dbcc fix_text(spt_jtext)

All these dbcc commands can be run while users are active in the server. Currently it is not known what ASE versions, character set or sort orders causes these problems.