Unix 确定存储数据库文件/事务文件的硬盘驱动器
我有一个旧的Sybase服务器,它的数据库正在运行。我已尝试重建文件系统和数据库文件。但问题又回来了。我想更换存储数据库文件和事务文件的硬盘。我想确定它到底是哪个硬盘,因为我不熟悉Unix。此外,我还想看看这些文件是否与操作系统存储在同一硬盘上;如果是,我需要重新安装操作系统,并将数据库恢复到新硬盘。显然,如果数据库文件和事务文件与操作系统不在同一硬盘驱动器中,这会更好。请帮我确定这两件事 到目前为止,我发现了以下几点: (1) 我使用sp_helpdb命令,发现数据库文件和事务文件存储在这些逻辑设备中:Unix 确定存储数据库文件/事务文件的硬盘驱动器,unix,sybase,hard-drive,sun,Unix,Sybase,Hard Drive,Sun,我有一个旧的Sybase服务器,它的数据库正在运行。我已尝试重建文件系统和数据库文件。但问题又回来了。我想更换存储数据库文件和事务文件的硬盘。我想确定它到底是哪个硬盘,因为我不熟悉Unix。此外,我还想看看这些文件是否与操作系统存储在同一硬盘上;如果是,我需要重新安装操作系统,并将数据库恢复到新硬盘。显然,如果数据库文件和事务文件与操作系统不在同一硬盘驱动器中,这会更好。请帮我确定这两件事 到目前为止,我发现了以下几点: (1) 我使用sp_helpdb命令,发现数据库文件和事务文件存储在这些逻
sybdbs
syblogs
master
sybdbs2
/dev/rdsk/c0t0d0s1
/dev/rdsk/c0t3d0s4
d_master
/dev/rdsk/sybdbs2
(2) 我使用sp_helpdevice命令查看上述4个逻辑设备,发现这些逻辑设备位于这些物理设备中:
sybdbs
syblogs
master
sybdbs2
/dev/rdsk/c0t0d0s1
/dev/rdsk/c0t3d0s4
d_master
/dev/rdsk/sybdbs2
(3) 当我使用sp_helpdevice显示所有物理设备时,我看到:
device_name physical_name description status cntrltype device_number low high
------------------ ------------------------------------------- ------------------------------------------------ ------ --------- ------------- -------- --------
historydump /export/home/syb11.dump/history.dump disk, dump device 16 2 0 0 0
isproddump /export/home/syb11.dump/isprod.dump disk, dump device 16 2 0 0 0
istestdump /export/home/syb11.dump/istest.dump disk, dump device 16 2 0 0 0
master d_master special, physical disk, 100.00 MB 2 0 0 0 51199
masterdump /export/home/syb11.dump/master.dump disk, dump device 16 2 0 0 0
modeldump /export/home/syb11.dump/model.dump disk, dump device 16 2 0 0 0
prodtestdump /export/home/syb11.dump/prodtest.dump disk, dump device 16 2 0 0 0
sybdbs /dev/rdsk/c0t0d0s1 special, default disk, physical disk, 2000.00 MB 3 0 3 50331648 51355647
sybdbs2 /dev/rdsk/sybdbs2 special, physical disk, 1.00 MB 2 0 5 83886080 83886591
syblogs /dev/rdsk/c0t3d0s4 special, physical disk, 850.00 MB 2 0 4 67108864 67544063
sybscurty /dev/rdsk/c0t3d0s5 special, physical disk, 100.00 MB 2 0 2 33554432 33605631
sybsecuritydump /export/home/syb11.dump/sybsecurity.dump disk, dump device 16 2 0 0 0
sybsystemprocsdump /export/home/syb11.dump/sybsystemprocs.dump disk, dump device 16 2 0 0 0
sysprocsdev /dev/rdsk/c0t0d0s4 special, physical disk, 100.00 MB 2 0 1 16777216 16828415
tapedump1 /dev/rmt4 tape, 625 MB, dump device 16 3 0 0 20000
tapedump2 /dev/rst0 disk, dump device 16 2 0 0 20000
uniface724dump /export/home/syb11.dump/uniface724.dump disk, dump device 16 2 0 0 0
uniface7dump /export/home/syb11.dump/uniface7.dump disk, dump device 16 2 0 0 0
/ on /dev/dsk/c0t3d0s0 read/write/setuid on Mon Jul 6 11:10:46 2015
/usr on /dev/dsk/c0t3d0s6 read/write/setuid on Mon Jul 6 11:10:46 2015
/proc on /proc read/write/setuid on Mon Jul 6 11:10:46 2015
/dev/fd on fd read/write/setuid on Mon Jul 6 11:10:46 2015
/tmp on swap read/write on Mon Jul 6 11:10:49 2015
/export on /dev/dsk/c0t3d0s7 setuid/read/write on Mon Jul 6 11:10:49 2015
/freespace on /dev/dsk/c0t0d0s5 setuid/read/write on Mon Jul 6 11:10:49 2015
/sybase on /dev/dsk/c0t0d0s0 setuid/read/write on Mon Jul 6 11:10:49 2015
/usr/openwin on /dev/dsk/c0t3d0s3 setuid/read/write on Mon Jul 6 11:10:49 2015
(4) 我想更多地了解这些物理设备。我使用df命令检查它们:
df -k /dev/rdsk/c0t0d0s1
df -k /dev/rdsk/c0t3d0s4
df -k d_master
df -k /dev/rdsk/sybdbs2
df命令抱怨前三个设备“不是块设备、目录或装入的资源”
另一方面,df命令显示最后一个设备的以下信息:
Filesystem kbytes used avail capacity Mounted on
/dev/dsk/c0t3d0s0 576558 371019 147889 71% /
无论如何,这不会告诉我这些设备在哪个驱动器上
(5) 当我使用mount命令时,我看到:
device_name physical_name description status cntrltype device_number low high
------------------ ------------------------------------------- ------------------------------------------------ ------ --------- ------------- -------- --------
historydump /export/home/syb11.dump/history.dump disk, dump device 16 2 0 0 0
isproddump /export/home/syb11.dump/isprod.dump disk, dump device 16 2 0 0 0
istestdump /export/home/syb11.dump/istest.dump disk, dump device 16 2 0 0 0
master d_master special, physical disk, 100.00 MB 2 0 0 0 51199
masterdump /export/home/syb11.dump/master.dump disk, dump device 16 2 0 0 0
modeldump /export/home/syb11.dump/model.dump disk, dump device 16 2 0 0 0
prodtestdump /export/home/syb11.dump/prodtest.dump disk, dump device 16 2 0 0 0
sybdbs /dev/rdsk/c0t0d0s1 special, default disk, physical disk, 2000.00 MB 3 0 3 50331648 51355647
sybdbs2 /dev/rdsk/sybdbs2 special, physical disk, 1.00 MB 2 0 5 83886080 83886591
syblogs /dev/rdsk/c0t3d0s4 special, physical disk, 850.00 MB 2 0 4 67108864 67544063
sybscurty /dev/rdsk/c0t3d0s5 special, physical disk, 100.00 MB 2 0 2 33554432 33605631
sybsecuritydump /export/home/syb11.dump/sybsecurity.dump disk, dump device 16 2 0 0 0
sybsystemprocsdump /export/home/syb11.dump/sybsystemprocs.dump disk, dump device 16 2 0 0 0
sysprocsdev /dev/rdsk/c0t0d0s4 special, physical disk, 100.00 MB 2 0 1 16777216 16828415
tapedump1 /dev/rmt4 tape, 625 MB, dump device 16 3 0 0 20000
tapedump2 /dev/rst0 disk, dump device 16 2 0 0 20000
uniface724dump /export/home/syb11.dump/uniface724.dump disk, dump device 16 2 0 0 0
uniface7dump /export/home/syb11.dump/uniface7.dump disk, dump device 16 2 0 0 0
/ on /dev/dsk/c0t3d0s0 read/write/setuid on Mon Jul 6 11:10:46 2015
/usr on /dev/dsk/c0t3d0s6 read/write/setuid on Mon Jul 6 11:10:46 2015
/proc on /proc read/write/setuid on Mon Jul 6 11:10:46 2015
/dev/fd on fd read/write/setuid on Mon Jul 6 11:10:46 2015
/tmp on swap read/write on Mon Jul 6 11:10:49 2015
/export on /dev/dsk/c0t3d0s7 setuid/read/write on Mon Jul 6 11:10:49 2015
/freespace on /dev/dsk/c0t0d0s5 setuid/read/write on Mon Jul 6 11:10:49 2015
/sybase on /dev/dsk/c0t0d0s0 setuid/read/write on Mon Jul 6 11:10:49 2015
/usr/openwin on /dev/dsk/c0t3d0s3 setuid/read/write on Mon Jul 6 11:10:49 2015
我无法找出上面装载的设备与数据库文件和事务文件的物理设备之间的连接。我也无法将上面安装的设备链接到下一节中显示的硬盘驱动器
(6) 当我使用cat/etc/vfstab命令时,我会看到:
#device device mount FS fsck mount mount
#to mount to fsck point type pass at boot options
#
#/dev/dsk/c1d0s2 /dev/rdsk/c1d0s2 /usr ufs 1 yes -
/proc - /proc proc - no -
fd - /dev/fd fd - no -
swap - /tmp tmpfs - yes -
/dev/dsk/c0t3d0s0 /dev/rdsk/c0t3d0s0 / ufs 1 no -
/dev/dsk/c0t3d0s6 /dev/rdsk/c0t3d0s6 /usr ufs 1 no -
/dev/dsk/c0t3d0s7 /dev/rdsk/c0t3d0s7 /export ufs 2 yes -
/dev/dsk/c0t0d0s5 /dev/rdsk/c0t0d0s5 /freespace ufs 2 yes -
/dev/dsk/c0t0d0s0 /dev/rdsk/c0t0d0s0 /sybase ufs 2 yes -
/dev/dsk/c0t3d0s3 /dev/rdsk/c0t3d0s3 /usr/openwin ufs 2 yes -
/dev/dsk/c0t3d0s1 - - swap - no -
# The following lines have been commented-out to allow Sybase to access these
# partitions and Raw Partitions. Nov-24-1999
# /dev/dsk/c0t0d0s3 /dev/rdsk/c0t0d0s3 /master ufs 2 yes -
# /dev/dsk/c0t0d0s1 /dev/rdsk/c0t0d0s1 /sybdbs ufs 2 yes -
# /dev/dsk/c0t3d0s4 /dev/rdsk/c0t3d0s4 /syblogs ufs 2 yes -
# /dev/dsk/c0t3d0s5 /dev/rdsk/c0t3d0s5 /sybscurty ufs 2 yes -
# /dev/dsk/c0t0d0s4 /dev/rdsk/c0t0d0s4 /sybtemproc ufs 2 yes -
(7) 当我使用format命令时,我看到以下两个硬盘驱动器:
AVAILABLE DISK SELECTIONS:
0. c0t0d0 <IBM-DNES-309170-SA30 cyl 11195 alt 2 hd 5 sec 320>
/iommu@f,e0000000/sbus@f,e0001000/espdma@f,400000/esp@f,800000/sd@0,0
1. c0t3d0 <SEAGATE-ST34520N-1206 cyl 9004 alt 2 hd 4 sec 246>
/iommu@f,e0000000/sbus@f,e0001000/espdma@f,400000/esp@f,800000/sd@3,0
顺便说一下,到目前为止,我尝试修复数据库的内容有:
•尝试了dbcc checkalloc(,修复)。不幸的是,此命令无法修复并且无法完成
•尝试删除数据库/添加新数据库/从备份恢复数据库。很遗憾,恢复未能完成
•尝试了fsck来修复设备。它无法完成,并抱怨“幻数错误”
•尝试了分析-option-in-format-command-to-repair-Disk-0,然后添加新数据库并从备份还原数据库。这种方法似乎有效。但大约一周后,我发现一个表有I/O错误。老实说,我甚至不知道数据库是否真的在Disk-0中
请帮助我确定存储这些数据库文件和事务文件的硬盘驱动器,以及它们是否与Unix操作系统位于同一硬盘驱动器中
提前谢谢
Jay Chan如何通过
mount
检查挂载表?能否告诉我们Sybase的实际版本(选择@@version),以及sp_helpdevice和sp_helpdevice[devicename]的实际输出。您列出的设备实际上是逻辑设备名称,而不是物理设备名称(即使它们看起来像物理名称)。sp_helpdevice[devicename]应该为您提供逻辑和物理设备名称。我已将mount和sp_helpdevice中的信息添加到上面的帖子中。希望这将是有用的。谢谢。我已经添加了vfstab文件中的信息,该文件显示了操作系统在启动过程中预期装载的文件系统列表。它显示了一些与/dev/rdsk相关的设备,这些设备可能与存储数据库文件和事务文件的文件系统关闭。不幸的是,靠得太近还不够好,因为它们都不匹配。我仍然不知道这些文件存储在哪里。[Disclamer:我不知道Sybase]可能是Sybase正在使用原始分区,围绕文件系统层进行通风吗?通过mount
检查挂载表怎么样?能否告诉我们Sybase的实际版本(选择@版本),以及sp\u helpdevice的实际输出,和sp_帮助设备[devicename]。您列出的设备实际上是逻辑设备名称,而不是物理设备名称(即使它们看起来像物理名称)。sp_helpdevice[devicename]应该为您提供逻辑和物理设备名称。我已将mount和sp_helpdevice中的信息添加到上面的帖子中。希望这将是有用的。谢谢。我已经添加了vfstab文件中的信息,该文件显示了操作系统在启动过程中预期装载的文件系统列表。它显示了一些与/dev/rdsk相关的设备,这些设备可能与存储数据库文件和事务文件的文件系统关闭。不幸的是,靠得太近还不够好,因为它们都不匹配。我仍然不知道这些文件存储在哪里。[Disclamer:我不知道Sybase]是不是Sybase在使用原始分区,在文件系统层循环通风?