tan302 发表于 2013-05-03 11:39

tempdb设备文件被sybase自已删除了?

数据库报错tempdb日志空间满了:serverSpace available in the log segment has fallen critically low in database 'tempdb'. Al
l future modifications to this database will be suspended until the log is successfully dumped and space becomes available.
检查发现tempdb设备文件被删除了~~~
数据库设备情况:
1> sp_helpdb tempdb
2> go
name                     db_size       owner
------------------------ ------------- --------------------
tempdb                     5128.0 MB sa

(1 row affected)
name                           attribute_class
------------------------------ ----------------------------
tempdb                         buffer manager
device_fragments               size          usage
------------------------------ ------------- --------------
master                              8.0 MB data and log
tempdb_dev                         5120.0 MB data and log
1> select * from sysdevices where name='tempdb_dev'
2> go
low         high      status cntrltype name                           phyname
----------- ----------- ------ --------- ------------------------------ -----------------------
    50331648    5295308716386         0 tempdb_dev                     /sybdev/tempdb_dev.dat


检测设备文件不存在了
# ls -lh /sybdev/tempdb_dev.dat
ls: /sybdev/tempdb_dev.dat: No such file or directory

# lsof|grep deleted
dataserve6309    sybase   19uW   REG            104,25368709120      98305 /sybdev/tempdb_dev.dat (deleted)
dataserve6320    sybase   12u      REG            104,25368709120      98305 /sybdev/tempdb_dev.dat (deleted)
dataserve6326    sybase   14u      REG            104,25368709120      98305 /sybdev/tempdb_dev.dat (deleted)
dataserve6332    sybase   10u      REG            104,25368709120      98305 /sybdev/tempdb_dev.dat (deleted)

# ps -ef |grep 6309
sybase    6320630942012 ?      16-11:52:57 /opt/sybase/ASE-12_5/bin/dataserver -ONLINE:1,0,0xfffffffff406027d, 0x2b45fd1fd000, 0x380000000, 0x1159
sybase    6326630922012 ?      11-10:36:23 /opt/sybase/ASE-12_5/bin/dataserver -ONLINE:2,0,0xfffffffff406027d, 0x2b45fd1fd000, 0x380000000, 0x1159
sybase    6332630932012 ?      13-10:58:23 /opt/sybase/ASE-12_5/bin/dataserver -ONLINE:3,0,0xfffffffff406027d, 0x2b45fd1fd000, 0x380000000, 0x1159
sybase    6338630922012 ?      10-19:56:16 /opt/sybase/ASE-12_5/bin/dataserver -ONLINE:4,0,0xfffffffff406027d, 0x2b45fd1fd000, 0x380000000, 0x1159
sybase    6344630922012 ?      10-08:00:03 /opt/sybase/ASE-12_5/bin/dataserver -ONLINE:5,0,0xfffffffff406027d, 0x2b45fd1fd000, 0x380000000, 0x1159
sybase    6350630922012 ?      10-04:57:40 /opt/sybase/ASE-12_5/bin/dataserver -ONLINE:6,0,0xfffffffff406027d, 0x2b45fd1fd000, 0x380000000, 0x1159
sybase    6356630922012 ?      8-10:42:39 /opt/sybase/ASE-12_5/bin/dataserver -ONLINE:7,0,0xfffffffff406027d, 0x2b45fd1fd000, 0x380000000, 0x1159
sybase    6362630912012 ?      7-20:56:12 /opt/sybase/ASE-12_5/bin/dataserver -ONLINE:8,0,0xfffffffff406027d, 0x2b45fd1fd000, 0x380000000, 0x1159
sybase    6368630912012 ?      7-12:28:34 /opt/sybase/ASE-12_5/bin/dataserver -ONLINE:9,0,0xfffffffff406027d, 0x2b45fd1fd000, 0x380000000, 0x1159
sybase    6374630922012 ?      9-12:45:33 /opt/sybase/ASE-12_5/bin/dataserver -ONLINE:10,0,0xfffffffff406027d, 0x2b45fd1fd000, 0x380000000, 0x1159
sybase    6380630922012 ?      11-12:25:03 /opt/sybase/ASE-12_5/bin/dataserver -ONLINE:11,0,0xfffffffff406027d, 0x2b45fd1fd000, 0x380000000, 0x1159


sybase进程自己把tempdb设备文件删除了?
怎样能恢复这个设备文件?

hobbylu 发表于 2013-05-03 14:47

sybase本身不会去删,tempdb库被删除问题不是很大,有办法重新建

tan302 发表于 2013-05-03 15:07

查看history 确实有rm 设备文件的记录,但没有记录时间点,根据前后的命令推断应该是一年前rm掉的了,支撑了一年才报日志满~~
已将另一台服务器上的tempdb设备文件拷过来,设备大小是一样的。
重启数据库正常,没有报错。
页: [1]
查看完整版本: tempdb设备文件被sybase自已删除了?