AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 106453
Accepted
Jay C
Jay C
Asked: 2015-07-10 05:22:56 +0800 CST2015-07-10 05:22:56 +0800 CST 2015-07-10 05:22:56 +0800 CST

确定存储数据库文件/交易文件的硬盘驱动器

  • 772

我在另一个论坛上发布了以下问题。有人告诉我这个问题与 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) 当我使用格式化命令时,我看到这两个硬盘:

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操作系统在同一个硬盘上。

提前致谢。

陈杰

sybase unix
  • 1 1 个回答
  • 1322 Views

1 个回答

  • Voted
  1. Best Answer
    Vince
    2015-07-10T09:33:07+08:002015-07-10T09:33:07+08:00

    您有 2 个物理磁盘:c0t0d0 和 c0t3d0

    设备:historydump、isproddump、istestdump、masterdump、modeldump、prodtestdump、sybsecuritydump、sybsystemprocsdump、uniface724dump、uniface7dump => /export => disk c0t3d0
    device master => /master => disk c0t0d0
    device sybdbs => disk c0t0d0
    device sybdbs2 => / dev/rdsk/sybdbs2 => 不确定:运行“ls -l /dev/rdsk/sybdbs2”以查看它是否是符号链接
    设备 syblogs => 磁盘 c0t3d0
    设备 sybscurty => 磁盘 c0t3d0
    设备 sysprocsdev => 磁盘 c0t0d0

    我建议您查看 Solaris 命令“prtdiag -v”和“iostat -En”(以“root”身份运行)以确定是否存在任何磁盘损坏。

    希望这有帮助。文森特

    • 0

相关问题

  • 固定值字段的外键约束

  • 为什么同时使用 TRUNCATE 和 DROP?

  • 已经连接时是否有与 isql 等效的 -w ?

  • 如何从 isql 将参数传递给“SQL 脚本”

  • 如何识别具有指向 Sybase 中特定表的外键的表?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve