Oracle 安裝用戶 oracle 的家目錄 /home/oracle 存放環境變量腳本 (.bash_profile)、SSH 金鑰、SQL 腳本、跟蹤文件等。若誤刪且**無備份**,雖不直接導致數據庫掛掉 (進程仍在運行),但會造成:
su - oracle 切換環境 (報 No such file or directory)sqlplus、lsnrctl 等命令找不到 (PATH 丟失)創建用戶涉及 5 個核心組件:
| 文件/目錄 | 作用 |
|---|---|
| /etc/passwd | 用戶基本信息 (UID, GID, 家目錄, Shell) |
| /etc/group | 用戶組信息 |
| /etc/shadow | 加密密碼、過期策略 |
| /home/username | 家目錄 (需 r+x 權限進入) |
| /etc/skel/.* | 骨架文件 (新用戶家目錄默認模板) |
刪除家目錄**不影響**前三個系統配置文件,只需重建目錄並復制骨架文件即可恢復登錄環境。
# 1. 確認用戶信息仍存在
grep oracle /etc/passwd
# oracle:x:502:507::/home/oracle:/bin/bash
grep oracle /etc/group
# oinstall:x:507:
# dba:x:502:oracle
# 2. 重建家目錄並授權
mkdir /home/oracle
chown oracle:oinstall /home/oracle
chmod 750 /home/oracle
# 3. 復制骨架文件 (隱藏文件需 cp -a 或 rsync)
cp -a /etc/skel/. /home/oracle/
# 或
rsync -a /etc/skel/ /home/oracle/
# 4. 修正所有權 (cp 可能保留 root 屬主)
chown -R oracle:oinstall /home/oracle
# 5. 核心:恢復 .bash_profile 環境變量
cat > /home/oracle/.bash_profile <<'EOF'
# .bash_profile
if [ -f ~/.bashrc ]; then . ~/.bashrc; fi
PATH=$PATH:$HOME/bin
export PATH
# Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_HOSTNAME=your_host; export ORACLE_HOSTNAME
ORACLE_UNQNAME=your_db; export ORACLE_UNQNAME
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export ORACLE_HOME
ORACLE_SID=your_sid; export ORACLE_SID
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
EOF
chown oracle:oinstall /home/oracle/.bash_profile
chmod 640 /home/oracle/.bash_profile
su - oracle
# 應正常進入 /home/oracle,提示符變為 [oracle@host ~]$
sqlplus / as sysdba
# 應正常連接
lsnrctl status
# 應正常顯示
/proc/PID/fd/ 恢復)。extundelete / debugfs 嘗試恢復 inode。/u01/app/oracle/oradata/SID/ 獨立掛載點。chattr +i /home/oracle 防止誤刪 (需 root 解鎖)/home/oracle 納入每日備份 (rsync/tar)ls -ld /home/oracle 確認目標誤刪 /home/oracle 屬於**運維級故障**,不涉及數據庫核心數據,**恢復核心在於:重建目錄 → 復制骨架 → 還原環境變量**。若數據文件同處其下,則上升為**數據級災難**,必須依賴備份或文件系統級恢復。再次強調:**OFA 合規部署是避免此類災難擴大的根本保障**。