Sybase

確定儲存數據庫文件/事務文件的硬碟驅動器

  • July 9, 2015

我在另一個論壇上發布了以下問題。有人告訴我這個問題與 Sybase 有關(與我們可能使用原始分區有關)。這就是為什麼我在這裡重新發布這個問題。抱歉發了多個文章。

我有一個舊的 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%   /

似乎 Unix 對前 3 個物理設備一無所知。似乎它們是只有 Sybase 知道的東西(有人向我建議它們是“原始分區”)。第 4 個設備是 Unix 知道的,它位於“/dev/dsk/c0t3d0s0”中。不過,我無法告訴我這些設備在哪個驅動器上。

(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) 當我使用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

(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(, fix)。不幸的是,此命令無法修復且無法完成。

• 嘗試了drop-db/add-new-db/restore-db-from-backup。不幸的是,還原未能完成。

• 嘗試了fsck-to-fix-the-devices。它無法完成並抱怨“MAGIC NUMBER WRONG”。

• 嘗試了Analyze-option-in-format-command-to-repair-all-disks,然後是add-new-db 和restore-db-from-backup。這種方法似乎奏效了。但是過了一周左右,我發現一個表有 I/O 錯誤。

請幫我確定這些數據庫文件和事務文件儲存在哪個硬碟上,以及它們是否與 Unix 作業系統在同一個硬碟上。

提前致謝。

陳杰

您有 2 個物理磁碟:c0t0d0 和 c0t3d0

設備:historydump、isproddump、istestdump、masterdump、modeldump、prodtestdump、sybsecuritydump、sybsystemprocsdump、uniface724dump、uniface7dump => /export => 磁碟 c0t3d0

設備主設備 => /master => 磁碟 c0t0d0

設備 sybdbs => 磁碟 c0t0d0

設備 sybdbs2 => / dev/rdsk/sybdbs2 => 不確定:執行“ls -l /dev/rdsk/sybdbs2”以查看它是否是符號連結

設備 syblogs => 磁碟 c0t3d0

設備 sybscurty => 磁碟 c0t3d0

設備 sysprocsdev => 磁碟 c0t0d0

我建議您查看 Solaris 命令“prtdiag -v”和“iostat -En”(以“root”身份執行)以確定是否存在任何磁碟損壞。

希望這有幫助。文森特

引用自:https://dba.stackexchange.com/questions/106453