tempdb设备文件被sybase自已删除了?
数据库报错tempdb日志空间满了:serverSpace available in the log segment has fallen critically low in database 'tempdb'. All 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设备文件删除了?
怎样能恢复这个设备文件? sybase本身不会去删,tempdb库被删除问题不是很大,有办法重新建 查看history 确实有rm 设备文件的记录,但没有记录时间点,根据前后的命令推断应该是一年前rm掉的了,支撑了一年才报日志满~~
已将另一台服务器上的tempdb设备文件拷过来,设备大小是一样的。
重启数据库正常,没有报错。
页:
[1]