确定存储数据库文件/事务文件的硬盘

时间:2015-07-08 12:18:47

标签: unix sybase hard-drive sun

我有一台旧的Sybase服务器,其数据库正在运行。我尝试过重建文件系统和数据库文件。但问题又回来了。我想替换存储数据库文件和事务文件的硬盘驱动器。我想确定它到底是哪个硬盘因为我不熟悉Unix。此外,我还想看看这些文件是否存储在与操作系统相同的硬盘中;如果是,我将需要重新安装操作系统以及将数据库还原到新的硬盘驱动器。显然,如果数据库文件和事务文件与操作系统不在同一个硬盘驱动器中,这将更好。请帮我确定这两件事。

到目前为止,我已经找到了这些:

(1)我使用 sp_helpdb 命令,发现数据库文件和事务文件存储在这些逻辑设备中:

sybdbs
syblogs
master
sybdbs2

(2)我使用 sp_helpdevice 命令查看上面显示的4个逻辑设备,发现这些逻辑设备在这些物理设备中:

/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

(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命令时,我看到了:

/            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)当我使用格式命令时,我看到这两个硬盘:

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

(8)我没有看到任何外部设备连接到Sybase服务器。话虽如此,但有一个备份Sybase服务器,备份Sybase服务器连接了一个外部设备(通过SCSI电缆)。此时,我假设数据库文件和事务文件都存储在Sybase服务器中。

顺便说一句,Sybase服务器使用这个Unix操作系统:

SunOS <my-server-name> 5.4 Generic_101945-62 sun4m sparc

Sybase版本是:

SQL Server/11.0.3.2/P/Sun_svr4/OS 5.4/SWR 7578 Rollup/OPT/Mon Nov  3 22:19:21 PST 1997

顺便说一句,到目前为止,我尝试修复数据库的是:

•尝试 dbcc checkalloc(,修复)。不幸的是,这个命令无法修复,无法完成。

•尝试 drop-db / add-new-db / restore-db-from-backup 。不幸的是,恢复未能完成。

•尝试 fsck-to-fix-the-devices 。它无法完成并抱怨“MAGIC NUMBER WRONG”。

•尝试 Analyze-option-in-format-command-to-repair-Disk-0,然后添加-new-db和restore-db-from-backup 。这种方法似乎有效。但是经过一周左右的时间,我发现一张表有I / O错误。老实说,我甚至不知道数据库是否真的在Disk-0中。

请帮我确定哪些硬盘驱动器存储了这些数据库文件和事务文件,以及它们是否与Unix操作系统位于同一硬盘驱动器中。

提前致谢。

杰伊陈

0 个答案:

没有答案