Linux平臺誤刪home/oracle根目錄的解決方法
1 背景說明
正常情況下,我們在安裝Oracle資料庫的時候,都會建立一個oracle的使用者。 其根目錄就是/home/oracle.
並且根據Oracle 的OFA的架構,也是建議使用/u01 這樣的目錄來單獨安裝oracle的軟體,包括存放資料檔案。
但實際上,總會存在那麼一些不按照官網的建議來建立和管理的資料庫,這些年見過太多。Dave 是一直建議嚴格按照Oracle 的標準來,因為這個是通用的標準,如果每家公司都有自己的標準,那每次換人管理,都會是很麻煩的,也是容易出問題的。
俗話說:鐵打的營盤,流水的兵,DBA的崗位總會有波動,規則不一樣,就會埋下坑,至於最後是誰踩上,就是人品了。
昨晚一朋友就出現這個問題,單例項的資料庫,非歸檔,無備份。刪除了整個/home/oracle 目錄,如果是按照OFA來的,這個倒也不是很嚴重的事情,關鍵是/home/oracle 下還有幾個資料檔案,折騰了很久,把資料還原出來了。
馬上就過年了,防火,防盜,防宕庫,居然還犯下這麼低階的錯誤,這是不想要年終獎的節奏啊,這個就不多說,DBA 就是一個心細的活,需要慢慢歷練。
2 linux使用者建立說明
在安裝oracle 資料庫的時候,我們都會建立使用者和組。
Oracle 安裝參考:
64位 linux 平臺下Oracle 安裝文件
?1 2 3 4 5 6 7 |
groupadd
oinstall
groupadd
dba
groupadd
oper
useradd
-g oinstall -G dba oracle
|
這裡是用linux的命令來建立的。 和資料庫建立一樣,我們一般都是通過OUI來建立例項,其實也是可以通過靜默的方式來建立。
所以我們在講這個故障的處理之前,需要了解linux 手工建立使用者和組的方法。
?1 2 3 4 5 6 7 8 9 10 11 |
每個使用者的建立,都會涉及到如下幾個檔案:
/etc/passwd
(使用者)
/etc/group
(使用者組)
/etc/shadow
(金鑰檔案)
/home/username
(家目錄)
/etc/skel/.*
(骨架檔案)
|
在建立使用者的時候,會在/etc/passwd,/etc/group,/etc/shadow三個檔案中新增使用者的資訊,建立一個/home 下的使用者根目錄,然後把所有的骨架檔案複製到使用者的根目錄下。
?1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
[oracle @dg1
~]$ cat /etc/passwd|grep oracle
oracle:x: 502
|