安裝Oracle數據庫
在計算機安全領域中,數據庫系統無疑有着舉足輕重的地位。例如微軟公司的SQL Server、IBM公司的DB2以及甲骨文公司的Oracle、MySQL等等,都是比較知名的數據庫管理軟件,其中Oracle數據庫更是在電信、銀行、證券、交通等大型應用場合擁有者絕對領先的優勢。在這裏以Oracle11g爲例,來學習一下在RHEL6系統中的安裝和基本管理,在這裏先介紹一下安裝前的配置條件、安裝中的過程。
實驗環境:
公司新上線的Web應用平臺需要使用Oracle數據庫,要求管理員在一臺RHEL6服務器上進行部署,並結合計劃任務做好邏輯備份。
實驗要求:
1. 服務器的主機名爲oracle,IP地址爲192.168.1.1
2. 部署Oracle 11g企業版,安裝時建立名爲orcl的數據庫
一、 安裝前置條件的準備
1. 系統以及配置要求
系統要求:
Oracle 11g 明確支持的Linux系統包括Asianux 2.0 /3.0, Oracle EnterpriseLinux4.0 /5.0,SUSE Enterprise Server10.0/11.0。
硬件要求:
物理內存不少於1GB,對於VMware 虛擬機建議不少於1200MB,對於系統中的交換分區位置,應參考一下規定:
物理內存爲1GB~2GB時,交換分區爲物理內存的1.5~2倍
物理內存爲2GB~16GB時,交換分區與物理內存大小相同
特殊情況:
對於32位的Oracle數據庫,若程序文件和數據文件安裝在同一分區時,則該分區的硬盤空間要求爲:企業版5.65GB、標準版5.38GB;除此之外,還應確保目錄所在分區的空間不少於1GB。總的來說,建議Oracle 11g準備至少8GB的空間。
配置要求:
更改IP地址爲192.168.0.1
更改主機名爲oracle
2. 軟件要求:
Oracle 11g 的安裝過程通常在圖形化界面進行,因此建議使用已安裝GNAME中文桌面環境的RHEL6服務器。軟件開發工具自然必不可少,建議用yum安裝必要的軟件環境
[root@oracle~]# yum -y install binutils-2.* compat-libstdc+ + -33* elfutils-libelf-0.* elfutils-libelf-devel-* gcc-4.* gcc-c + + - 4.* glibc-2.* glibc-common-2.* glibc-devel-2.* glibc-header-2.* ksh-2.* libai-0.* libai-devel-0.* libgcc-4.* libstdc++-4.* libstdc++devel-4.* make-3.* sysstat-9.* unixODBC-2.* unixODBC-devel-2.* numactl-devel-*
在實際安裝測試之後,在RHEL x 32系統中安裝Oracle 11g時,對ksh軟件包的識別會存在兼容性衝突,只要卸載RHEL x 32中的ksh軟件包,改用RHEL5.5光盤中的pdksh軟件包,則可以避免這個問題
[root@oracle~]# rpm -e ksh
掛載RHEL5.5的光盤後下載軟件包
[root@oracle~]# mount /dev/cdrom /media
[root@oracle~]# rpm -ivh /media/Server/pdksh-5……
3. 用戶環境要求
Oracle 11g需要固定的運行用戶oracle、安裝組oinstall、管理組dba以及用來存放oracle程序及數據庫文件的基本目錄全部提前創建好。
[root@oracle~]# groupadd oinstall //創建安裝組
[root@oracle ~]# groupadd dba //創建管理組
[root@oracle ~]# useradd -g oinstall -G dba oracle //創建運行用戶
[root@oracle ~]# passwd oracle //設置好密碼
[root@oracle ~]# mkdir /opt/oracle //創建基本目錄
[root@oracle ~]# chown -R oracle:oinstall /opt/oracle
//設置/opt/oracle的屬組oinstall,屬主是oracle
[root@oracle ~]# chmod -R 775 /opt/oracle //設置/opt/oracle的訪問權限
注意:
Oracle 11g 的安裝任務應以運行用戶oracle的身份執行,需適當調整oracle用戶的環境配置以便於能夠滿足要求。Oracle 11 g安裝界面的語言類型取決於環境變量LANG,若希望採用中文界面,則應確保LANG變量的職位“zh_CN-UTF-8”.中文安裝界面有時會因缺少字體、字體配置不當等原因導致界面亂碼,也可改用“en_US.UTF-8”英文環境迴避這種問題。
[root@oracle ~]# vi ~oracle/.bash_profile
添加內容:
umask 022 //文件權限掩碼
export ORACLE_BASE=/opt/oracle //定義基本目錄
export ORACLE_SID=oracle //定義數據庫實例名稱
export DISPLAY=:0.0 //告知默認的顯示終端號
export //確定語言環境
溫馨小提示:
Oracle 11g安裝過程中中文界面出現亂碼,解決方法
在Linux命令提示符下執行以下命令,把字體庫安裝到相應位置即可。
[root@oracle ~]#mkdir -p /usr/share/fonts/zh_CN/TrueType
[root@oracle ~]#cp zysong.ttf /usr/share/fonts/zh_CN/TrueType/
[root@oracle~]# chmod o+r/usr/share/fonts/zh_CN/TrueType/zysong.ttf
zysong.ttf百度即可下載
4. 內核要求
內核參數調整的文件位於/etc/sysctl.conf文件中。主要包括對內存調度、端口範圍、打開文件數、I/O請求等相關的一些設置,相關數值不可低於安裝要求。
注:修改完畢後通過執行sysctl -p 命令使新配置立即生效。
[root@oracle ~]# vim /etc/sysctl.conf
在文件的尾部添加新的內容:
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
執行sysctl -p 使命令修改生效。
[root@oracle~]# sysctl -p
注:各參數詳解:
fs.aio-max-nr:
此參數限制併發未完成的請求,應該設置避免I/O子系統故障。
fs.file-max:
該參數決定了系統中所允許的文件句柄最大數目,文件句柄設置代表linux系統中可以打開的文件的數量。
kernel.shmall:
該參數控制可以使用的共享內存的總頁數。Linux共享內存頁大小爲4KB,共享內存段的大小都是共享內存頁大小的整數倍。一個共享內存段的最大大小是16G,那麼需要共享內存頁數是16GB/4KB=16777216KB/4KB=4194304(頁),也就是64Bit系統下16GB物理內存,設置kernel.shmall = 4194304才符合要求.
kernel.shmmax:
是核心參數中最重要的參數之一,用於定義單個共享內存段的最大值。設置應該足夠大,設置的過低可能會導致需要創建多個共享內存段,這樣可能導致系統性能的下降。至於導致系統下降的主要原因爲在實例啓動以及ServerProcess創建的時候,多個小的共享內存段可能會導致當時輕微的系統性能的降低(在啓動的時候需要去創建多個虛擬地址段,在進程創建的時候要讓進程對多個段進行“識別”,會有一些影響),但是其他時候都不會有影響。
官方建議值:
(1)、32位linux系統:可取最大值爲4GB(4294967296bytes)-1byte,即4294967295建議值爲多於內存的一半,所以如果是32爲系統,一般可取值爲4294967295。
(2)、 64位linux系統:可取的最大值爲物理內存值-1byte,建議值爲多於物理內存的一半,例如,如果爲12GB物理內存,可取12*1024*1024*1024-1=12884901887。
kernel.shmmni:
該參數是共享內存段的最大數量。shmmni缺省值4096,一般肯定是夠用了。
kernel.sem:
以kernel.sem = 250 32000 100128爲例:
250是參數semmsl的值,表示一個信號量集合中能夠包含的信號量最大數目。
32000是參數semmns的值,表示系統內可允許的信號量最大數目。
100是參數semopm的值,表示單個semopm()調用在一個信號量集合上可以執行的操作數量。
128是參數semmni的值,表示系統信號量集合總數。
net.ipv4.ip_local_port_range:
表示應用程序可使用的IPv4端口範圍。
net.core.rmem_default:
表示套接字接收緩衝區大小的缺省值。
net.core.rmem_max:
表示套接字接收緩衝區大小的最大值。
net.core.wmem_default:
表示套接字發送緩衝區大小的缺省值。
net.core.wmem_max:
表示套接字發送緩衝區大小的最大值。
5. 會話要求
進程會話限制可以採用pam_limits認證模塊來實現,通過修改登錄程序login的PAM設置以啓用該認證,然後修改/etc/security/limits.conf文件,將用戶oracle能夠打開的進程數、進程使用的文件數加大。
[root@oracle~]# vim /etc/pam.d/login
添加內容
session required pam_limits.so
[root@oracle~]#vim /etc/security/limits.conf
添加內容:
oracle soft nproc 8192 //進程數軟限制
oracle hard nproc 16384 //進程數硬限制
oracle soft nofile 32768 //文件數軟限制
oracle hard nofile 65536 //文件數硬限制
Oracle 11g安裝過程
解壓oracle的相關壓縮包
[root@oracle ~]# unzip linux_11gR2_databse_lof2.zip
[root@oracle ~]# unzip linux_11gR2_database_2of2.zip
2. 修改/etc/hosts文件,指定正確的主機名和IP地址。否則oracle有可能將監聽程序僅僅建立在127.0.0.1上。
3. 以oracle用戶身份登錄RHEL6的圖形化界面環境,啓動database/目錄下的runI(小寫字母爲“i”)nstall腳本文件。
[oracle@oracle ~]# ./runInstall -jreLoc /usr/lib/jvm/jre-1.6.0
4. 典型安裝過程
<1>、配置安全更新
如果已購買oracle 11g數據庫的授權,並且服務器能連接到Internet,金阿姨正確填寫電子郵件地址和oracle support口令,以便於能夠及時接收官方的安全更新通知。實驗過程中建議將電子郵件留空,並取消對“我希望……”複選框的選擇。
<2>、安裝選項
全新安裝建議選擇“創建和配置數據庫”或者“僅安裝數據庫軟件”;
“升級現有數據庫“只有在對舊版本的oracle數據庫進行升級時纔可使用,同時還不會創建並配置數據庫實例。
所以在這裏選擇“創建和配置數據庫”;
<3>、系統類
選擇“服務器類”進行安裝,適用於企業環境的數據庫系統。
“桌面類”一般只建議個人用戶使用,其包含的配置和功能比較少。
所以在這裏我們選擇“服務器”類;
<4>、網格選項
選擇“單實例數據庫安裝”,大多數應用場合中oracle數據庫的用途比較單一,每臺oracle服務器只需要一個實例就可以了。
<5>、安裝類型
選擇“典型安裝”,採用oracle11g的基本配置進行完全安裝。
若要爲各種管理賬戶分別設置口令,或者選擇語言版本、設置自動備份、存儲管理等,則應該選擇“高級安裝”。
<6>、典型安裝配置
在“典型安裝”步驟中,可以指定oracle11g的基本目錄、軟件安裝目錄、數據庫存放目錄,並選擇要安裝的數據庫版本、指定全局數據庫名稱、設置管理口令,如下圖所示:
溫馨小提示:
(1)、必須設置管理口令,其他參數可採用默認值。Oracle11g數據庫自動建有三個用戶:超級管理員sys、system和數據庫所有者sysman,當選擇“高級安裝”時可以爲三個用戶分別設置口令,否則將使用同一個管理口令
(2)、當點擊“下一步”出現此提示框時,選擇“是”即可。
<7>、創建產品清單
將清單目錄修改爲:/opt/oracle/oraInventory,以便oracle用戶有權限寫入oracle數據庫的清單信息。
<8>、先決條件檢查及概要
針對各種前置條件進行檢查,發現有未滿足的條件後會給出提示,應根據檢查結果進行修復或者安裝必需的軟件包。預安裝檢查,錯誤可忽略(軟件版本問題,但必須確認軟件包已安裝)。
若出現“失敗”,點擊下方的“詳細信息”進行排查錯誤
若成功則會看到本次安裝的概要信息,確定無誤後單擊“完成”按鈕。
<9>、安裝產品
在安裝的過程中複製數據庫文件…….
在複製的過程中會出現下列提示框,選擇“忽略”即可。
相關日誌文件,單擊“確定”完成數據庫文件的複製。
<10>、完成安裝:文件複製及相關部署結束後,會彈出“執行配置腳本”對話框,如圖所示,根據提示切換爲root用戶並依次執行/opt/oracle/oraInventory/orainstRoot.sh、/opt/oracle/product/11.2.0/dbhome_1/root.sh腳本。
<11>、驗證安裝結果
使用瀏覽器訪問OEM管理平臺,以用戶名sys、連接身份“SYSDBA”進行登錄,密碼爲安裝時指定的管理口令。登錄成功後可以看到OEM管理控制檯,如圖所示,若顯示數據庫狀態正常、無明顯錯誤,則表示oracle11g安裝成功。