oracle在Linux環境下的自動部署
思維導圖如下:
一、安裝說明
本文檔將完成 Linux 下面的 Oracle 數據庫的安裝。通過本次安裝將發現 Linux 系統發生如下變化:
- 安裝了可以使用的 Oracle 數據庫;
- 配置了可以使用的組和用戶;
- 配置了相關權限的環境變量;
二、安裝前的準備
示例是基於虛擬機下的 Linux 系統的安裝工作,使用的本地操作系統是[Windows 10],使用的虛擬機是[VMware-workstation-12.exe]使用的 Linux 企業版是紅帽和Ubantu,使用的 Oracle 版本是[Oracle 10g]。安裝前請確認如下事宜:
- 當前 Linxu 安裝了[開發工具]工具包;
- 當前 Linux 系統已經配置好了網絡設置;
- 已經準備好了 Oracle 安裝文件;
- 有足夠的硬盤空間用於安裝; 有足夠的物理
- 和分配內存便於安裝;
下面提供的是一組需要的資源參考:
- 至少 1024 MB 物理內存
- 1024-2048 需 1.5 倍的交互空間
- 2048-8192 需 1 倍的交互空間
- 8192- 需 0.75 倍的交互空間
- 至少 400 MB /tmp 臨時目錄空間
- oracle 軟件需要 1.5 GB 到3.5 GB 磁盤空間
- 默認數據庫需要 1.2 GB
三、進行安裝前的配置
1、確定當前登錄的是超級管理員 root 用戶,如下內容都是在 root 下面進行的操作。
依 次執行命令:
[groupadd dba]----------------------------------------新建管理組
[groupadd oinstall]------------------------------------新建安裝組
[useradd -m tester -g oinstall -G dba]----------新建用戶,用戶錄屬於 dba 和 oinstall [passwd tester]------------------------------------------修改用戶密碼
具體操作如下圖所示:
2、繼續利用 root 用戶建立安裝目錄並分配權限。分別執行如下命令
[mkdir -p /oracle/product/10.2.0/db_1]-----------------------------------新建 oracle 安裝目錄 [chown -R tester.oinstall /oracle]---------修改 oracle 安裝目錄屬主和屬組
[chmod 755 -R /oracle]--------------------修改 oracle 安裝目錄操作權限
如下圖所示:
3、註銷當前 root 用戶(建議註銷,不用 su 命令置換),再用剛纔新建的 tester 用戶登錄系統。進入當前用戶的根目錄執行命令[vi ./.bash_profile],打開用戶環境變量列表,插入如下內容:
ORACLE_BASE=/oracle
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
ORACLE_SID=orcl
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export ORACLE_BASE
export ORACLE_HOME
export ORACLE_SID
export PATH
export LD_LIBRARY_PATH
4、進入文件後,單擊[i],開始修改,修改完成後保存退出(ESC—冒號—wq),執行命 令[source ./.bash_profile],使修改生效,此時你可以利用命令[echo $ORACLE_BASE]或 [echo $PATH]命令查看剛纔的設置內容,如下圖所示:
5、shell自動化部署腳本代碼:
#!/bin/bash
#創建環境變量配置函數
editenv(){
#進入tester的根目錄下
cd /home/tester
#向文件中插入內容
sed -i "10aORACLE_BASE=/oracle" .profile
sed -i `11aORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1` .profile
sed -i "12aORACLE_SID=orcl" .profile
sed -i `13aPATH=$PATH:$HOME/bin:$ORACLE_HOME/bin` .profile
sed -i `14aLD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib` .profile
sed -i "15aexport ORACLE_BASE" .profile
sed -i "16aexport ORACLE_HOME" .profile
sed -i "17aexport ORACLE_SID" .profile
sed -i "18aexport PATH" .profile
sed -i "19aexport LD_LIBRARY_PATH" .profile
#更新文件內容
source ./.profile
#判斷
if [ "$ORACLE_BASE" == "/oracle" ]
then
echo "環境變量配置成功"
else
echo "環境變量配置失敗"
fi
}
#創建目錄的函數
createdir(){
#創建目錄
mydir="/oracle/product/10.2.0/db_1"
mkdir -p $mydir
#判斷
if [ -d "$mydir" ]
then
echo "目錄創建成功"
#修改屬主和屬組
chown -R tester.oinstall /oracle
#修改操作權限
chmod 755 -R /oracle
#調用環境變量配置函數editenv
editenv
else
echo "目錄創建失敗"
fi
}
#創建用戶的函數
createuser(){
#創建用戶
useradd -m tester -g oinstall -G dba
#用戶創建成功後添加到/etc/passwd文件中
finduser=`grep "tester" /etc/passwd|cut -d ":" -f 1`
if [ "$finduser" == "tester" ]
then
echo "用戶創建成功"
#修改密碼
passwd tester
echo "密碼修改成功"
#調用創建目錄函數
createdir
else
echo "用戶創建失敗"
fi
}
#創建管理組的函數
creategrp(){
#創建管理組
groupadd dba
#在group文件中查找含義dba字符串,並截取其中的dba字符
finddba=`grep "dba" /etc/group|cut -d ":" -f 1`
#判斷
if [ "$finddba" == "dba" ]
then
echo "管理組創建成功"
#創建安裝組
groupadd oinstall
#查找組並定義變量
findoin=`grep "oinstall" /etc/group|cut -d ":" -f 1`
#判斷
if [ "$findoin" == "oinstall" ]
then
echo "安裝組創建成功"
#調用createuser函數
createuser
else
echo "創建失敗"
fi
else
echo "創建失敗"
fi
}
#判斷當前用戶是否爲root --->$USER
if [ "$USER" == "root" ]
then
echo "當前用戶是root"
#調用創建組函數
creategrp
else
echo "當前用戶不是root"
fi
四、安裝 Oracle
1、 註銷系統,用 tester 用戶登錄系統(注意如果上一步沒有註銷,這一步一定要註銷, 要是你當前桌面顯示[tester 的主目錄]),找到 Oracle 安裝文件,比如我的是放在/tmp 下的 rar文件,所以首先解壓縮。
2、 解壓縮完成,會生成一個 database 的文件夾,進入 database 目錄下會看到一個可執 行文件 setup.exe,執行命令[./setup.exe],安裝開始。
3、 shell自動化部署腳本如下:
#!/bin/bash
#定義函數
install(){
#進入tmp目錄下
cd /tmp
my_file="oracle10g.rar"
if [ -f "$my_file" ]
then
echo "文件存在"
else
echo "文件不存在"
echo "文件正在拷貝中...."
cp /mnt/hgfs/唧唧下載視頻/$my_file /tmp
echo "文件拷貝成功"
fi
#解壓
echo "文件正在解壓中"
#unrar x $my_file
echo "文件解壓成功"
#判斷解壓文件是否存在
if [ -d "database" ]
then
echo "文件夾已經存在"
#進入文件夾
cd database
#執行安裝文件
./setup.exe
else
echo "文件夾不存在"
fi
}
if [ "$USER" == "tester" ]
then
echo "當前用戶是tester"
#調用install函數
install
else
echo "當前用戶不是tester"
fi
4、 安裝正式開始以後會彈出如下提示界面,有[基本安裝]和[高級安裝]兩項,[高級安 裝]中可以選擇[企業版]、[標準版]和[自定義]。默認的是[基本安裝],也就是[企業版],設置 都是上面用 root 賬戶創建的內容,可以默認不動,但是下面的數據庫口令一定要設定好並 且記牢,它是關鍵所在,這裏我們不是用[高級安裝],[下一步]繼續
5、 設定完密碼,單擊[下一步]繼續,這個地方的內容也是默認的,不用修改,[下一步] 繼續
6、 當[檢查]欄出現藍色突出顯示的提示時,選中當前的複選框即可,[下一步]繼續
7、 檢查通過以後進入正式安裝界面,單擊[安裝]
8、 安裝過程中如果出現如下圖提示,單擊[忽略]繼續:
9、 然後會出現如下圖繼續安裝界面:
10、 數據庫文件安裝好以後,進行配置組件時會出現下圖提示界面,作用是進行口令的 修改和管理
11、 單擊 [口令管理],出現下圖界面,可以根據需要作適當修改,這裏我們默認安裝
12、 單擊[確定]後繼續安裝,然後會彈出下圖所示界面,按提示進行操作
13、 下面是我切換到 root 後執行腳本的界面,其中出現一個選擇路徑的地方默認即可
14、 執行完腳本後,單擊[確定]出現如下提示,安裝完成,[退出]
15、 首先查看一下歡迎界面,輸入如下圖地址,如果正確顯示則表示安裝成功
16、 這個是進入數據庫操作界面
17、 這個是數據庫管理界面
18、 下面這幾個是 10g 企業管理界面
19、 如果你的機器都能正常顯示如上幾個界面的話。恭喜你 Oracle 安裝成功,但是使用前注意要啓動服務
五、設置服務啓動
雖然你現在可以啓用所有服務,但是當你重起系統以後,你會發現,所有的服務都不能 正常使用了,原因是你沒有設定系統啓動項,甚至沒有開啓服務,下面我們就來完成這些工 作。
1、 用 root 用戶修改文件[/etc/oratab],如下圖所示修改其中的 N 爲 Y,保存退出
2、 用 tester 用戶修改[$ORACLE_HOME/bin]下面的 dbstart 文件,如下圖所示
3、 修改好上面兩個文件後,我們利用命令[dbstart]啓動 oracle 服務,下圖是在不同位置 下的三種啓動方式,注意如果直接執行命令[dbstart]啓動一定要進入 oracle 家目錄的 bin 下
4 、 利用命令[emctl start dbconsole] 啓動oracle 的 em 服務,對應於 http://localhost:1158/em,利用命令[isqlplusctl start dbconsole]啓動isqlplus服務,對應於 http://localhost:5560/isqlplus和http://localhost:5560/isqlplus/dba
5、 如果你能再次看見下圖這個熟悉的管理登錄界面,恭喜你服務啓動成功: