背景:在使用Oracle建立20G大小的表空间时,公司忽然断电。重启服务器,Oracle数据库后,执行了Alter System Checkpoint;查询了dba_tablespaces表,发现新建的表空间并没有记录,但操作系统已经建立了该表空间文件,占用了20G空间。 执行rm -f tablespace.dbf操作后Oracle无法使用,重启服务器,操作系统进行文件系统检测报错:inode错误,系统无法启动。 解决: 进入系统后提示: Press enter for maintenance
(or type Control-D to continue): /dev/sda3 contains a file system with errors, check forced. /dev/sda3: Inodes that were part of a corrupted orphan linked list found. /dev/sda3: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY. (i.e., without -a or -p options) 运行fsck.ext3 -p /dev/sda3 ;未能修复 运行fsck.ext3 -y /dev/sda3 ; repair ok ;注意在修复其它filesystem时要umount掉运行该命令。 文件系统--fsck 指令:fsck 使用权限 : 超级使用者 使用方式 : fsck --help fsck 1.35 (28-Feb-2004) fsck.ext3: invalid option -- h Usage: fsck.ext3 [-panyrcdfvstDFSV] [-b superblock] [-B blocksize] [-I inode_buffer_blocks] [-P process_inode_size] [-l|-L bad_blocks_file] [-C fd] [-j ext-journal] [-E extended-options] device Emergency help: -p Automatic repair (no questions) ;自动修复 -n Make no changes to the filesystem ;模拟修复 -y Assume "yes" to all questions ;所有的问题都回答yes -c Check for bad blocks and add them to the badblock list ;检查坏块,并记录下坏块列表 -f Force checking even if filesystem is marked clean ;对标记为“干净”的文件系统进行强制检查 v Be verbose ;详细信息 -b superblock Use alternative superblock -B blocksize Force blocksize when looking for superblock -j external-journal Set location of the external journal -l bad_blocks_file Add to badblocks list -L bad_blocks_file Set badblocks list 引用网上的一个例子 : 问题: SLES8 在mount盘阵的时候,出现 server1:/ # mount /dev/sde1 /foo mount: wrong fs type, bad option, bad superblock on /dev/sde1, or too many mounted file systems 的问题。请问这种问题怎么能解决呢? 回答: 这个错误信息标识 /dev/sde1 设备上的 ext3 文件系统的超级块损坏了,ext3 文件系统的元数据保存在超级块中。 ext3 文件系统还有一些备份的超级块,可以尝试用备份的超级块加载 ext3 文件系统和修复 ext3 文件系统。 备份的超级块信息可以通过以下命令获得,这个命令模拟 ext3 文件系统创建时的动作并打印出备份超级块的位置,给出的位置缺省是以4k为单位的,mount 在使用时需要为它提供以1k为单位的偏移,需要乘4: 注意!!!!!一定要使用'-n'作为参数模拟 ext3 文件系统的创建而不是真的创建 ext3 文件系统 # mkfs.ext3 -n /dev/hda7 mke2fs 1.38 (30-Jun-2005) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) 2198880 inodes, 4393738 blocks 219686 blocks (5.00%) reserved for the super user First data block=0 135 block groups 32768 blocks per group, 32768 fragments per group 16288 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000 使用备份的超级块来加载 ext3 文件系统的命令: 语法: mount.ext3 -o sb=n # mount.ext3 -o sb=131072 /dev/hda7 /media/hda7 使用备份的超级块来修复 ext3 文件系统的命令 语法:fsck.ext3 -b superblock # fsck.ext3 -b 32768 /dev/hda7 |
|
来自: AlPacido > 《01_Linux》