【LINUX】Oracle数据库 linux磁盘头数据损坏修复
本次模拟 通过fdisk分区的磁盘头损坏,造成文件目录无法使用。 如果是asm磁盘,可通过asm相关命令进行修复
现有环境
[root@pgtest testdata]# df -hFilesystem Size Used Avail Use% Mounted on/dev/mapper/vg_firsouler-lv_root9.5G 7.1G 2.0G 79% /tmpfs 996M 72K 996M 1% /dev/shm/dev/sda1 477M 42M 410M 10% /boot/dev/mapper/pgvg-lvpg19G 4.4G 14G 25% /pgdata/dev/sdc1 5.8G 12M 5.5G 1% /testdata[root@pgtest testdata]# lsanalyze_new_cluster.sh gp2020.cfg lost+found ojdbc6.jar[root@pgtest testdata]#
破坏/dev/sdc1磁盘
[root@pgtest testdata]# cd /[root@pgtest /]# dd if=/dev/zero of=/dev/sdc1 bs=1024 count=88+0 records in8+0 records out8192 bytes (8.2 kB) copied, 0.00100304 s, 8.2 MB/s#再次查看,testdata目录下找不到文件 ,df -h也无法查看[root@pgtest /]# cd /testdata/[root@pgtest testdata]# ls[root@pgtest testdata]# cd /[root@pgtest /]# df -hFilesystem Size Used Avail Use% Mounted on/dev/mapper/vg_firsouler-lv_root9.5G 7.1G 2.0G 79% /tmpfs 996M 72K 996M 1% /dev/shm/dev/sda1 477M 42M 410M 10% /boot/dev/mapper/pgvg-lvpg19G 4.4G 14G 25% /pgdata
尝试卸载游戏后再次挂载
[root@pgtest /]# umount /testdata/[root@pgtest /]# mount /testdata/mount: wrong fs type, bad option, bad superblock on /dev/sdc1,missing codepage or helper program, or other errorIn some cases useful info is found in syslog - trydmesg | tail or so
如上所示,提示有问题。
通过fsck命令修复磁盘(注意,fstab需要有相关配置信息)
[root@pgtest /]# fsck /dev/sdc1fsck from util-linux-ng 2.17.2e2fsck 1.41.12 (17-May-2010)fsck.ext4: Superblock invalid, trying backup blocks.../dev/sdc1 was not cleanly unmounted, check forced.Pass 1: Checking inodes, blocks, and sizesPass 2: Checking directory structurePass 3: Checking directory connectivityPass 4: Checking reference countsPass 5: Checking group summary informationFree inodes count wrong for group #0 (8181, counted=8178).Fix<y>? yesFree inodes count wrong (393205, counted=393202).Fix<y>? yes/dev/sdc1: ***** FILE SYSTEM WAS MODIFIED *****/dev/sdc1: 14/393216 files (0.0% non-contiguous), 60526/1572354 blocks[root@pgtest /]# mount /testdata/[root@pgtest /]# cd /testdata/[root@pgtest testdata]# lsanalyze_new_cluster.sh gp2020.cfg lost+found ojdbc6.jar[root@pgtest testdata]# df -hFilesystem Size Used Avail Use% Mounted on/dev/mapper/vg_firsouler-lv_root9.5G 7.1G 2.0G 79% /tmpfs 996M 72K 996M 1% /dev/shm/dev/sda1 477M 42M 410M 10% /boot/dev/mapper/pgvg-lvpg19G 4.4G 14G 25% /pgdata/dev/sdc1 5.8G 12M 5.5G 1% /testdata[root@pgtest testdata]#
修复完成后,文件系统正常。
附
fsck 工具介绍
- -a:自动修复文件系统,不询问任何问题;
- -A:依照
/etc/fstab配置文件的内容,检查文件内所列的全部文件系统; - -N:不执行指令,仅列出实际执行会进行的动作;
- -P:当搭配
"-A"参数使用时,则会同时检查所有的文件系统; - -r:采用互动模式,在执行修复时询问问题,让用户得以确认并决定处理方式;
- -R:当搭配
"-A"参数使用时,则会略过/目录的文件系统不予检查; - -s:依序执行检查作业,而非同时执行;
- -t<文件系统类型>:指定要检查的文件系统类型;
- -T:执行
fsck指令时,不显示标题信息;
lvm方式元数据修复
#备份文件位置ls -lrt /etc/lvm/backup/#查看vg创建信息vgcfgrestore --list vg_backup#查看损坏的pv信息pvscan#通过备份修复 pv元数据pvcreate --uuid "9a2Lzl-B1Z0-zaR7-jgLj-9g72-u7PD-aYcjgh" --restorefile /etc/lvm/backup/vg_backup /dev/sdd#修复vg信息vgcfgrestore -f /etc/lvm/backup/vg_backup vg_backup#激活vg vgscanvgchange -a y vg_test

浙公网安备 33010602011771号