一、硬件要求
1、內存 & swap
Minimum: 1 GB of RAM
Recommended: 2 GB of RAM or more
檢查內存情況
# grep MemTotal /proc/meminfo
# grep SwapTotal /proc/meminfo
2、硬盤
由於CentOS安裝後差不多有4~5G,再加上Oracle等等的安裝,所以請准備至少10G的硬盤空間。
檢查磁盤情況
# df -h
二、軟件
系統平台:CentOS 6.3(x86_64)
CentOS-6.3-x86_64-bin-DVD1.iso
Oracle版本:Oracle 10g R2
10201_database_linux_x86_64.cpio
補丁:p6810189_10204
p6810189_10204_Linux-x86-64.zip
三、系統安裝注意
系統安裝時一定要安裝桌面模式,否則無法安裝oracle,另外請勿開啟SELinux,oracle官方不建議使用SELinux,CentOS的防火牆也請暫時關閉,減少安裝時的困擾。為防止Oracle安裝過程中出現亂碼,建議使用英文作為系統語言,進行Oracle的安裝工作。
本文中所描述的系統命令,未經特殊標示,均為“#”代表root權限,“$”代表oracle權限。
四、安裝Oracle前的系統准備工作
首先,請先以root賬號登入作一些前置設定作業。
1、關閉防火牆、禁用SELinux
# setup
# vi /etc/selinux/config
修改SELINUX=disabled,然後重啟。
如果不想重啟系統,使用命令setenforce 0
2、安裝依賴包
Oracle官方文檔要求的安裝包:
查看Oracle相關包是否已經安裝:
用yum方式安裝所需的包:
# yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686 glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel make sysstat
最後還需要安裝libXp這個Library,這個一定要安裝,否則安裝Oracle時會出現java Exception。
# yum install libXp
3、創建Oracle用戶與組
在這裡只討論單主機環境,不考慮RAC環境的配置。
執行以下指令以新增oracle安裝時所需要的使用者與群組。
(1) 建立群組oinstall
# groupadd oinstall
(2) 建立群組dba
# groupadd dba
(3) 新增使用者oracle並將其加入oinstall和dba群組
# useradd -m -g oinstall -G dba oracle
(4) 測試oracle賬號是否建立完成
# id oracle
(5) 建立oracle的新密碼
# passwd oracle
4、將oracle使用者加入到sudo群組中
# vi /etc/sudoers
找到
root ALL=(ALL) ALL
這行,並且在底下再加入
oracle ALL=(ALL) ALL
輸入wq!(由於這是一份只讀文檔所以需要再加上!)並且按下Enter
5、配置系統內核參數
# vi /etc/sysctl.conf
修改和添加以下內容:
kernel.shmall = 4294967296 //表示系統一次可以使用的共享內存總量(以頁為單位)。缺省值就是2097152,通常不需要修改
kernel.shmmax = 68719476736 //定義了共享內存段的最大尺寸(以字節為單位)。缺省為32M,對於oracle來說,該缺省值太低了,通常將其設置為2G
kernel.shmmni = 4096 //用於設置系統范圍內共享內存段的最大數量。該參數的默認值是 4096 。通常不需要更改
kernel.sem = 250 32000 100 128 //表示設置的信號量
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=4194304 //默認的接收窗口大小
net.core.rmem_max=4194304 //接收窗口的最大大小
net.core.wmem_default=262144 //默認的發送窗口大小
net.core.wmem_max=262144 //發送窗口的最大大小
會有一些與目前的參數重復的,就修改成文件上提供的。
編輯完之後,儲存,然後執行:
# sysctl –p
啟用剛剛所做的變更。
6、編輯/etc/security/limits.conf
# vi /etc/security/limits.conf
添加以下四行
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
7、編輯/etc/pam.d/login
# vi /etc/pam.d/login
添加以下兩行
session required /lib64/security/pam_limits.so
session required pam_limits.so
8、修改/etc/profile
# vi /etc/profile
將以下代碼新增到profile檔案中。
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
9、修改Linux發行版本信息
由於Oracle 10g發行的時候,CentOS 6沒有發行,所以Oracle 10g並沒有對CentOS 6確認支持,需要修改文件讓Oracle 10g支持CentOS 6。
我們需要手工修改Linux的發行注記,讓Oracle 10g支持CentOS 6。
編輯/etc/redhat-release文件
# vi /etc/redhat-release
將其中的內容CentOS release 6.3 (Final)修改為redhat 4
10、創建Oracle安裝文件夾以及數據存放文件夾
#mkdir /opt/oracle
#mkdir /opt/oracle/102
#chown -R oracle:dba /opt/oracle
11、配置Linux主機
檢查/etc/hosts文件中是否有localhost的記錄(指向127.0.0.1即可),若沒有的話,在後面配置Oracle監聽的時候會出現一些問題,導致無法啟動監聽,在此手工添加此記錄即可。
第一階段到此完畢,接下來,完成這些設定之後,請先注銷root賬號,並且以oracle賬號再次登入系統。
12、配置oracle用戶環境變量
$ cd /home/oracle
$ vi .bash_profile
修改並加入以下內容
ORACLE_BASE=/opt/oracle //上面創建的Oracle安裝文件夾
ORACLE_HOME=$ORACLE_BASE/102
ORACLE_SID=orcl
LD_LIBRARY_PATH=$ORACLE_HOME/lib
PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
export ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH PATH
保存後使用如下命令,使設置生效:
$ source /home/oracle/.bash_profile
五、安裝Oracle,並進行相關設置
1、解壓縮安裝文件
將下載的10201_database_linux_x86_64.cpio放至即將安裝oracle的文件夾/opt/oracle
回到終端模式並且進入到oracle文件夾:
$ cd /opt/oracle
解壓縮10201_database_linux_x86_64.cpio
$ cpio -idmv < 10201_database_linux_x86_64.cpio
接著會看到一連串的解壓縮動作。
解壓縮完成會在同一個文件夾中看到database的文件夾,請進入到database文件夾中:
$ cd database
准備執行數據庫安裝,如果你的centos是中文環境,安裝時會出現中文亂碼,請下以下指令
$ export LANG=en_US
接著執行
$ ./runInstaller
如果無法看到安裝界面,請使用root帳戶執行如下命令後再運行安裝程序:
# export DISPLAY=:0.0
# xhost +
$ ./runInstaller
遇到錯誤:Exception in ...... /lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory
解決:
# yum -y install libXp.i686
分析:看報錯信息"/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory",libXp需要安裝i386的包,而不能安裝X64的包。上面認為64位的linux需要安裝64位的libXp包,所以導致這個問題。
再次執行
$ ./runInstaller
遇到錯誤:Exception in ...... /lib/i386/libawt.so: libXt.so.6: cannot open shared object file: No such file or directory
解決:
# yum -y install libXt.i686
再次執行
$ ./runInstaller
遇到錯誤:Exception in ...... /lib/i386/libawt.so: libXtst.so.6: cannot open shared object file: No such file or directory
解決:
# yum -y install libXtst.i686
再次執行
$ ./runInstaller
開始執行安裝程序。
由於相關的前置作業已經在之前做好了,在這個步驟只需要將UNIX DBA Group選擇為dba以及輸入SYS, SYSTEM等賬號共享的database Password即可。然後選擇Next即可。
同樣的,將群組選擇為dba群組,按Next