本次模拟 通过fdisk分区的磁盘头损坏,造成文件目录无法使用。 如果是asm磁盘,可通过asm相关命令进行修复

现有环境


  1. [root@pgtest testdata]# df -h
  2. Filesystem Size Used Avail Use% Mounted on
  3. /dev/mapper/vg_firsouler-lv_root
  4. 9.5G 7.1G 2.0G 79% /
  5. tmpfs 996M 72K 996M 1% /dev/shm
  6. /dev/sda1 477M 42M 410M 10% /boot
  7. /dev/mapper/pgvg-lvpg
  8. 19G 4.4G 14G 25% /pgdata
  9. /dev/sdc1 5.8G 12M 5.5G 1% /testdata
  10. [root@pgtest testdata]# ls
  11. analyze_new_cluster.sh gp2020.cfg lost+found ojdbc6.jar
  12. [root@pgtest testdata]#

破坏/dev/sdc1磁盘


  1. [root@pgtest testdata]# cd /
  2. [root@pgtest /]# dd if=/dev/zero of=/dev/sdc1 bs=1024 count=8
  3. 8+0 records in
  4. 8+0 records out
  5. 8192 bytes (8.2 kB) copied, 0.00100304 s, 8.2 MB/s
  6. #再次查看,testdata目录下找不到文件 ,df -h也无法查看
  7. [root@pgtest /]# cd /testdata/
  8. [root@pgtest testdata]# ls
  9. [root@pgtest testdata]# cd /
  10. [root@pgtest /]# df -h
  11. Filesystem Size Used Avail Use% Mounted on
  12. /dev/mapper/vg_firsouler-lv_root
  13. 9.5G 7.1G 2.0G 79% /
  14. tmpfs 996M 72K 996M 1% /dev/shm
  15. /dev/sda1 477M 42M 410M 10% /boot
  16. /dev/mapper/pgvg-lvpg
  17. 19G 4.4G 14G 25% /pgdata

尝试卸载后再次挂载


  1. [root@pgtest /]# umount /testdata/
  2. [root@pgtest /]# mount /testdata/
  3. mount: wrong fs type, bad option, bad superblock on /dev/sdc1,
  4. missing codepage or helper program, or other error
  5. In some cases useful info is found in syslog - try
  6. dmesg | tail or so

如上所示,提示有问题。

通过fsck命令修复磁盘(注意,fstab需要有相关配置信息)


  1. [root@pgtest /]# fsck /dev/sdc1
  2. fsck from util-linux-ng 2.17.2
  3. e2fsck 1.41.12 (17-May-2010)
  4. fsck.ext4: Superblock invalid, trying backup blocks...
  5. /dev/sdc1 was not cleanly unmounted, check forced.
  6. Pass 1: Checking inodes, blocks, and sizes
  7. Pass 2: Checking directory structure
  8. Pass 3: Checking directory connectivity
  9. Pass 4: Checking reference counts
  10. Pass 5: Checking group summary information
  11. Free inodes count wrong for group #0 (8181, counted=8178).
  12. Fix<y>? yes
  13. Free inodes count wrong (393205, counted=393202).
  14. Fix<y>? yes
  15. /dev/sdc1: ***** FILE SYSTEM WAS MODIFIED *****
  16. /dev/sdc1: 14/393216 files (0.0% non-contiguous), 60526/1572354 blocks
  17. [root@pgtest /]# mount /testdata/
  18. [root@pgtest /]# cd /testdata/
  19. [root@pgtest testdata]# ls
  20. analyze_new_cluster.sh gp2020.cfg lost+found ojdbc6.jar
  21. [root@pgtest testdata]# df -h
  22. Filesystem Size Used Avail Use% Mounted on
  23. /dev/mapper/vg_firsouler-lv_root
  24. 9.5G 7.1G 2.0G 79% /
  25. tmpfs 996M 72K 996M 1% /dev/shm
  26. /dev/sda1 477M 42M 410M 10% /boot
  27. /dev/mapper/pgvg-lvpg
  28. 19G 4.4G 14G 25% /pgdata
  29. /dev/sdc1 5.8G 12M 5.5G 1% /testdata
  30. [root@pgtest testdata]#

修复完成后,文件系统正常。

fsck 工具介绍

  • -a:自动修复文件系统,不询问任何问题;
  • -A:依照/etc/fstab配置文件的内容,检查文件内所列的全部文件系统;
  • -N:不执行指令,仅列出实际执行会进行的动作;
  • -P:当搭配"-A"参数使用时,则会同时检查所有的文件系统;
  • -r:采用互动模式,在执行修复时询问问题,让用户得以确认并决定处理方式;
  • -R:当搭配"-A"参数使用时,则会略过/目录的文件系统不予检查;
  • -s:依序执行检查作业,而非同时执行;
  • -t<文件系统类型>:指定要检查的文件系统类型;
  • -T:执行fsck指令时,不显示标题信息;

lvm方式元数据修复


  1. #备份文件位置
  2. ls -lrt /etc/lvm/backup/
  3. #查看vg创建信息
  4. vgcfgrestore --list vg_backup
  5. #查看损坏的pv信息
  6. pvscan
  7. #通过备份修复 pv元数据
  8. pvcreate --uuid "9a2Lzl-B1Z0-zaR7-jgLj-9g72-u7PD-aYcjgh" --restorefile /etc/lvm/backup/vg_backup /dev/sdd
  9. #修复vg信息
  10. vgcfgrestore -f /etc/lvm/backup/vg_backup vg_backup
  11. #激活vg vgscan
  12. vgchange -a y vg_test

【LINUX】Oracle数据库 linux磁盘头数据损坏修复相关推荐

  1. Linux oracle数据库自动备份自动压缩脚本代码

    Linux oracle数据库自动备份自动压缩脚本代码 Linux oracle数据库备份完成后可以自动压缩脚本代码. 复制代码代码如下: #!/bin/bash #backup.sh #edit: ...

  2. mysql 磁盘限额_Linux运维知识之为Linux MySQL数据库设置磁盘限额

    本文主要向大家介绍了Linux运维知识之为Linux MySQL数据库设置磁盘限额,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. 因为MySQL数据库本身没有磁盘限额的功能,我 ...

  3. linux mysql 磁盘_Linux运维知识之为Linux MySQL数据库设置磁盘限额

    本文主要向大家介绍了Linux运维知识之为Linux MySQL数据库设置磁盘限额,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. 因为MySQL数据库本身没有磁盘限额的功能,我 ...

  4. linux下imp导入oracle数据库,Oracle数据库Linux下的导入IMP

    和相关篇的EXP相对应的用了如下的导入方法. [oracle@localhost ~]$ imp Import: Release 11.2.0.1.0 - Production on Fri Sep ...

  5. linux冷备份oracle数据库,Linux余Windows系统Oracle数据库简单冷备同步

    我们有一个重视财务数据安全性的财务系统.同时,我们有两个系统,一个生产环境(Linux)和一个紧急备份环境(Windows).备份环境实现了到生产环境的实时备份同步.还有两种备份方法:热备用和冷备用. ...

  6. oracle数据库linux冷备,linux/windows系统oracle数据库简单冷备同步

    在线QQ客服:1922638 专业的SQL Server.MySQL数据库同步软件 Linux/windows系统oracle数据库简单冷备同步 我们有一个重视财务数据安全性的财务系统,并且我们有两个 ...

  7. SQL数据库无法附加 系统表损坏修复 数据库中病毒解密恢复

    SQL数据库无法附加 系统表损坏修复 数据库中病毒解密恢复 开发此工具是为了 让手工恢复数据库物理故障时 更加简单便捷直观, 本工具用于物理修复独立处理大部分问题以及与DBCC配合完成修复各种数据库错 ...

  8. oracle中aix至Linux导出,aix 迁移linux oracle数据库

    EBS R12的11g库从AIX迁移到Linux不能采用 Cross Platform Incremental Backup 的原因 详见红色字体部分,估计是EBS中一些特殊的object不适用这种方 ...

  9. linux创建表空间 没有权限,Linux oracle数据库创建表空间、用户并赋予权限

    管理员用户登录oracle数据库 1.创建临时表空间 select name from v$tempfile;查出当前数据库临时表空间,主要是使用里面的存放路径: 得到其中一条记录/opt/oracl ...

最新文章

  1. 【Junit】BeforeClass、Before、After、AfterClass
  2. junit源码解析--初始化阶段
  3. 过来人经验!聊聊前端工程师的职业规划
  4. .html好 还是.asp好,各位说说在ASP.net里 用静态函数的好 还是实例函数出处HTML好???...
  5. 新版rust怎么拆除建筑_宁夏乘客电梯拆除电话
  6. 数据结构笔记(九)-- 单链队列
  7. OpenLayers 官网例子的中文详解 1
  8. linux上sftp工具使用
  9. web前端顶岗实习总结报告_假期web前端实习报告
  10. 云终端服务器属于计算机设备吗,云终端不等于云电脑
  11. PRML读书会第九章 Mixture Models and EM(Kmeans,混合高斯模型,Expectation Maximization)...
  12. Auto CAD:将CAD三维实体转为三视工程图(俯视图、正视图、左视图)的图文教程之详细攻略(建议收藏!!)
  13. Linux学习笔记(六)——文件打包与解压缩
  14. 罗克韦尔AB PLC RSLogix5000中的比较指令使用方法介绍
  15. 31_ElasticSearch 修改IK分词器源码来基于mysql热更新词库
  16. 如何评估服务器基础性能 - CPU负载、使用率、内存磁盘使用率、网络带宽......
  17. php显示图片的广告,CBA各队第三阶段转会交易评级:辽宁北京拿A级,广东位列倒数...
  18. HDU3785寻找大富翁~~真真切切的水题
  19. uniapp学习教程
  20. 云计算技术 之 虚拟化技术

热门文章

  1. php时间2小时以前,PHP版实现友好的时间显示方式(例如:2小时前)
  2. spring-security问题记录---Could not decode JSON for additional information: BaseClientDetails
  3. [SourceInsight].SI自动添加函数注释
  4. SpringCloud个人笔记-01-Eureka初体验
  5. GIT 团队协作快速入门使用
  6. 4 weekend110的hdfs下载数据源码跟踪铺垫 + hdfs下载数据源码分析-getFileSystem(值得反复推敲和打断点源码)...
  7. qemu 对虚机的地址空间管理
  8. Linux下各种常见环境变量的配置
  9. jsp的flash小例子
  10. Linux环境 文件分割的方法