急!!!sybase12.5.2 在aix5.2上的问题
<p>最近在aix5.2上安装了sybase12.5.2 ,安装完成后没问题,但是只要导完数据后用一段时间数据库就会报605和692错误,而且安装后我也打了sybase for aix 的补丁,补丁号为EBF12871.</p><p>不知是什么原因?,望高手解答!</p><p></p><p>00:00000:00025:2006/12/04 10:17:16.62 server Page Information from first read attempt: Page read from disk ppageno = 843942, pobjid = 780526783, pindid = 0 pnextpg = 843943, pprevpg = 843941 plevel = 0, pstat = 0x1 pts_hi = 0, pts_lo = 4694521<br/>00:00000:00025:2006/12/04 10:17:16.62 server Page Information from second read attempt: Page read from disk ppageno = 843942, pobjid = 780526783, pindid = 0 pnextpg = 843943, pprevpg = 843941 plevel = 0, pstat = 0x1 pts_hi = 0, pts_lo = 4694521<br/>00:00000:00025:2006/12/04 10:17:16.62 server SDES Information:<br/> dbid = 4, objid = 709574535, scur.pageid = 843942<br/> sstat = 0x100000, sstat2 = 0x800<br/> suid = 1, cacheid = 0<br/>00:00000:00025:2006/12/04 10:17:16.62 server PSS Information:<br/> pstat = 0x10000, pcurdb = 4, pspid = 25<br/> p2stat = 0x1000, p3stat = 0x800<br/> plasterror = 605, preverror = 0, pattention = 0<br/>00:00000:00025:2006/12/04 10:17:16.62 server End diagnostics for read failure:<br/>00:00000:00025:2006/12/04 10:17:16.62 server Run the DBCC command 'dbcc tablealloc' for both the objects 709574535, 780526783</p>SYBASE 605 错误的解决方案
<p>605,692查了一下,好象是SYBASE比较常见的问题,不过也不能不去解决。</p><p>605的问题参考一下:</p><p><a href="https://www.sybasebbs.com/sybase/dispbbs.asp?boardid=28&id=1027">https://www.sybasebbs.com/sybase/dispbbs.asp?boardid=28&id=1027</a></p><p>下面是转的:</p><p>解决 Error 605 错误的方案<br/>错误原始信息(例子): </p><p>An attempt was made to fetch logical page '%ld' in <br/>database '%.*s' from cache '%.*s'. Page belongs to <br/>object with id '%ld', not to object '%.*s'. </p><p>------------------------------------------------------------------------------------------------- <br/>使用dbcc tablealloc 去检查出现错误的表 </p><p>命令格式: <br/> dbcc tablealloc('错误信息中第二个表对象') </p><p>最好将错误结果使用 isql 的 -o 参数输出到文件中便于察看 </p><p><br/>注意: <br/> 这个dbcc 操作可能会锁住接受检查的表,这将影响到其他进程的访问和操作。 <br/>------------------------------------------------------------------------------------------------- </p><p>DBCC 结果(例子为正常结果): </p><p>The default report option of OPTIMIZED is used for this run. <br/>The default fix option of NOFIX is used for this run. <br/>*************************************************************** <br/>TABLE: Tablename OBJID = id_number <br/>INDID=1 FIRST=257 ROOT=264 SORT=0 <br/>Data level: 1. 1 Data pages allocated and 1 Extents allocated. <br/>Indid : 1. 1 Index pages allocated and 1 Extents allocated. <br/>INDID=2 FIRST=272 ROOT=272 SORT=0 <br/>Indid : 2. 1 Index pages allocated and 1 Extents allocated. <br/>TOTAL # of extents = 3 <br/>Alloc page 256 (# of extent=1 used pages=2 ref pages=2) <br/>Alloc page 256 (# of extent=1 used pages=3 ref pages=3) <br/>Alloc page 256 (# of extent=1 used pages=2 ref pages=2) <br/>Total (# of extent=3 used pages=7 ref pages=7) in this database <br/>DBCC execution completed. If DBCC printed error messages, contact a user with System Administrator (SA) role. </p><p>------------------------------------------------------------------------------------------------- <br/>一. <br/>如果有一些错误(例如2583或者其他)出现在 INDID为0之后,表示表本身数据损坏。 <br/>解决办法: <br/>1. 使用 "select into" 或者 "insert into ... select " 将坏表中能够正常访问的数据取出装入一个临时表中。同时可以使用 <br/>" where"加上一些可以缩小选择范围的条件尽量多的将正常的数据取出 <br/>2. 或者使用bcp去导出正常的数据 <br/>3. 对于实在无法取出的数据,只能通过应用系统中的冗余或者相关信息进行恢复 <br/>4. 删除或者重命名坏表,并重新创建新表 <br/>5. 将导出的正常数据重新导入新表中 </p><p>注意: 可能会有一些数据的丢失 <br/>------------------------------------------------------------------------------------------------- <br/>二. <br/>如果有一些错误(例如2583或者其他)出现在 INDID为1之后,说明表上的聚簇索引损坏,解决方法同一,也可能出现数据丢失。 <br/>如果有一些错误(例如2583或者其他)出现在 INDID为2,3,4.....之后,说明为表上的非聚簇索引损坏,解决方法比较简单,删除此索引然后重新创建即可。 </p><p>步骤如下: <br/>1. use databasename <br/> go </p><p>2. 获知索引名称 <br/> select name from sysindexes where id = table_object_id and indid = index_number <br/> go <br/> <br/>3. 创建一个跟坏索引不同名称但具有相同列的索引 <br/> create index <br/> 你可以使用 sp_help table_name 去察看索引上的列信息 <br/>4. 将已损坏索引删除 <br/> drop index </p><p>------------------------------------------------------------------------------------------------- <br/>当这些故障排除完毕后,有时间及业务系统允许的情况下,最好再做一次全库的dbcc检查 </p><p>DBCC checkdb(db_name) <br/>DBCC checkalloc(db_name) <br/>DBCC checkcatalog(db_name)</p><p></p>SYBASE 692错误的解决方案
<p>转:</p><p>692错误可能是硬件错误,也可以能软错误。你尝试checkpoint等看是否依然报错。建议你看详细的错误解决办法。从sybase网站搜索error 692.<br/>692很可能会引起数据丢失,建议尽快处理 </p><p><br/>dbcc checkdb(DBNAME)<br/>dbcc checkalloc(DBNAME)</p><p><br/>dbcc checktable(table_name)<br/>dbcc tablealloc(table_name)</p><p>一般也就是查出错误出现位置,如果你能够导出数据,干脆删掉坏表重新创建即可。<br/>如果频繁出现,检查硬件是否有问题。 <br/></p>SYBASE 692错误的解决方案
<p>转:</p><p>692错误可能是硬件错误,也可以能软错误。你尝试checkpoint等看是否依然报错。建议你看详细的错误解决办法。从sybase网站搜索error 692.<br/>692很可能会引起数据丢失,建议尽快处理 </p><p><br/>dbcc checkdb(DBNAME)<br/>dbcc checkalloc(DBNAME)</p><p><br/>dbcc checktable(table_name)<br/>dbcc tablealloc(table_name)</p><p>一般也就是查出错误出现位置,如果你能够导出数据,干脆删掉坏表重新创建即可。<br/>如果频繁出现,检查硬件是否有问题。 <br/></p> <p>如果还有其它的相关错误,可以下载:</p><p><a href="https://www.sybasebbs.com/sybase/dispbbs.asp?boardID=15&ID=22&page=1">https://www.sybasebbs.com/sybase/dispbbs.asp?boardID=15&ID=22&page=1</a></p><p>进行自行解决试试。</p> <p>DBCC checkdb(db_name) <br/>DBCC checkalloc(db_name) <br/>DBCC checkcatalog(db_name)</p><p>DBCC tablealloc(table_name,full,fix)</p><p>这些操作我都做过,表都修复了,但是修复完之后再进行操作依然会报692,605错误,现在不知道是aix5.3需要打补丁,还是sybase要打补丁,我打算将sybase12.5.2升级到12.5.3的最后一版,补丁号为EBF13327,看来sybase在aix的兼容性问题挺大.</p> 升级试试吧~~或许能解决呢。不过看上面的解决方案还有一种可能就是硬件问题。 BCP out数据,检查一下硬件,
页:
[1]