首页 > Oracle > Linux 平台误删 home oracle 根目录的解决方法
2015
05-18

Linux 平台误删 home oracle 根目录的解决方法

背景说明

正常情况下,我们在安装Oracle数据库的时候,都会创建一个oracle的用户。 其根目录就是/home/oracle.

并且根据Oracle 的OFA的架构,也是建议使用/u01 这样的目录来单独安装oracle的软件,包括存放数据文件。

但实际上,总会存在那么一些不按照官网的建议来创建和管理的数据库,这些年见过太多。建议是一直建议严格按照Oracle 的标准来,因为这个是通用的标准,如果每家公司都有自己的标准,那每次换人管理,都会是很麻烦的,也是容易出问题的。

    俗话说:铁打的营盘,流水的兵,DBA的岗位总会有波动,规则不一样,就会埋下坑,至于最后是谁踩上,就是人品了。

    昨晚一朋友就出现这个问题,单实例的数据库,非归档,无备份。删除了整个/home/oracle 目录,如果是按照OFA来的,这个倒也不是很严重的事情,关键是/home/oracle 下还有几个数据文件,折腾了很久,把数据还原出来了。

    防火,防盗,防宕库,居然还犯下这么低级的错误,这是不想要年终奖的节奏啊,这个就不多说,DBA 就是一个心细的活,需要慢慢历练。

    这篇Blog 主要看下误删除/home/oracle 目录的解决方法。这里不涉及数据文件恢复问题。

linux用户创建说明

在安装oracle 数据库的时候,我们都会创建用户和组。

这里是用linux的命令来创建的。 和数据库创建一样,我们一般都是通过OUI来创建实例,其实也是可以通过静默的方式来创建。所以我们在讲这个故障的处理之前,需要了解linux 手工创建用户和组的方法。

在创建用户的时候,会在/etc/passwd,/etc/group,/etc/shadow三个文件中添加用户的信息,创建一个/home 下的用户根目录,然后把所有的骨架文件复制到用户的根目录下。

当我们删除/home/oracle这个用户的根目录之后,用户的配置信息还存在系统的配置文件中,所以只需要还原骨架文件,在修改一下环境变量的信息,就可以了。

示例

直接把/home/oracle 目录删掉,我这里直接move。

开始恢复:

恢复正常。 但如果有数据文件,那么恢复就比这里更复杂。下篇文章演示误删oracle数据文件的恢复方法。

最后编辑:
作者:Jerry
一个积极向上的小青年,热衷于分享--Focus on DB,BI,ETL