通常安装Oracle数据库是按照官方文档的建议来创建和管理的数据库,这样也便于进行进行数据库的管理。
今天早上,一朋友就出现这个问题,在客户那里,使用rm –rf ./home命令误删除了整个/home目录,当时他整个人都快要崩了,不知道该如何去恢复,没有任何思路。居然犯这么低级的错误:rm -rf这样的命令也敢用;哎,都是苦逼的DBA,这样的错误谁会没有犯过呢?所以,作为一名DBA,在执行任何的命令都要想清楚,尤其是在生产环境中,在使用rm命令的时候,最好不要使用-f参数,哎,还是慢慢的历练吧,遇到的坑越多,也许成长的越快吧!!!
该文主要是针对误删除/home/oracle目录的解决方法。这里不涉及Oracle的数据文件的恢复。
1、在安装oracle数据库的时候,我们都会创建相关的用户和组。
[root@seiang11g
~]#groupadd
oinstall
[root@seiang11g
~]#groupadd
dba
[root@seiang11g
~]#groupadd
oper
[root@seiang11g
~]#useradd
-g oinstall -G dba oracle
这里是用的命令来创建的。 和数据库创建一样,我们一般都是通过OUI来创建实例。所以我们在讲这个故障的处理之前,需要了解Linux手工创建用户和组的方法。
每个用户的创建,都会涉及到如下几个文件:
/etc/passwd (用户)
/etc/group (用户组)
/etc/shadow (密钥文件)
/home/username (家目录)
/etc/skel/.* (骨架文件)
/etc/skel
目录/etc/skel目录一般是存放用户启动文件的目录,这个目录是由root权限控制,当添加用户时,这个目录下的文件自动复制到新添加的用户的家目录下;/etc/skel目录下的文件都是隐藏文件,也就是类似.file格式的;我们可通过修改、添加、删除/etc/skel目录下的文件,来为用户提供一个统一、标准的、默认的用户环境。
/etc/skel
目录下的文件,一般是用useradd命令添加用户(user)时,系统自动复制到新添加用户(user)的家目录下;如果我们通过修改 /etc/passwd 来添加用户时,我们可以自己创建用户的家目录,然后把/etc/skel 下的文件复制到用户的家目录下,然后要用chown 来改变新用户家目录的属主。
/etc/default/useradd 文件
通过useradd 添加用户时的规则文件,内容如下:
# useradd defaults file
GROUP=100
HOME=/home --把用户的家目录建在/home中;INACTIVE=-1 --是否启用帐号过期停权,-1表示不启用;EXPIRE= --帐号终止日期,不设置表示不启用;SHELL=/bin/bash --所用SHELL的类型;SKEL=/etc/skel -