本文描述的是在RHEL 6.3上面安裝Oracle 11g的過程,關於RHEL的下載,其實可以去很多的鏡像站點下載,例如下載地址,Oracle 11g的下載地址,需要注意的是本文使用的是11.2.0.3的版本,現在該版本還沒有開放下載,只適用付費賬戶下載,付費賬戶不便公布,需要該版本的可以郵件聯系我dazuanfeng@qq.com,讀者可以下載已經公布的版本,下載1,下載2。
安裝RedHat的時候需要注意的時候要選擇所有的組件進行安裝,尤其是桌面的部分,不然重啟之后沒有圖形界面就比較坑了。。。
然后就是安裝vmware tools了,解壓縮之后,以root身份運行vmware-install.pl文件,一路回車即可完成安裝,安裝完成之后重啟虛擬機。
在安裝Oracle數據庫的時候需要對一些參數環境參數進行設置,而且要安裝一些相應的依賴包,為了安裝方便,我們使用centos的yum。
安裝centos的yum的步驟:
1.刪除RedHat原有的yum:
rpm -aq|grep yum|xargs rpm -e --nodeps
2.下載yum安裝組件:(隨本機安裝版本而定)
wget http://mirrors.163.com/centos/6.3/os/x86_64/Packages/yum-3.2.29-30.el6.centos.noarch.rpm wget http://mirrors.163.com/centos/6.3/os/x86_64/Packages/yum-metadata-parser-1.1.2-16.el6.x86_64.rpm wget http://mirrors.163.com/centos/6.3/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.30-14.el6.noarch.rpm wget http://mirrors.163.com/centos/6.3/os/x86_64/Packages/python-iniparse-0.3.1-2.1.el6.noarch.rpm
如果不能下載也可以使用自己另外下載的centos里面的安裝包
3.進行安裝yum
rpm -ivh python-iniparse-0.3.1-2.1.el6.noarch.rpm rpm -ivh yum-metadata-parser-1.1.2-16.el6.x86_64.rpm rpm -ivh yum-3.2.29-30.el6.centos.noarch.rpm yum-plugin-fastestmirror-1.1.30-14.el6.noarch.rpm
最后兩個包一塊安裝,會相互依賴
4.在/etc/yum.repos.d/文件夾下新建一個名為rhel-debuginfo.repo的文件,使用gedit輸入以下的內容:
[base] name=CentOS-$releasever - Base baseurl=http://mirrors.163.com/centos/6.3/os/$basearch/ gpgcheck=1 gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6 #released updates [updates] name=CentOS-$releasever - Updates baseurl=http://mirrors.163.com/centos/6.3/updates/$basearch/ gpgcheck=1 gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6 #packages used/produced in the build but not released #[addons] #name=CentOS-$releasever - Addons #baseurl=http://mirrors.163.com/centos/$releasever/addons/$basearch/ #gpgcheck=1 #gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6 #additional packages that may be useful [extras] name=CentOS-$releasever - Extras baseurl=http://mirrors.163.com/centos/6.3/extras/$basearch/ gpgcheck=1 gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6 #additional packages that extend functionality of existing packages [centosplus] name=CentOS-$releasever - Plus baseurl=http://mirrors.163.com/centos/6.3/centosplus/$basearch/ gpgcheck=1 enabled=0
5.yum clean all
6.這時候也可以測試一下yum命令是否可用,也可以使用yum update進行升級。
yum install vim
接下來就是配置Oracle 11g安裝所需要的環境變量設置:
1.首先就是檢查一下環境參數,主要是內存等信息
查看操作系統的架構(32位還是63位):uname -m
查看交換空間的大小:grep SwapTotal /proc/meminfo
查看使用情況:free
查看共享內存的使用量:df -h /dev/shm/
查看所有的:df -h
查看操作系統的信息:cat /proc/version
查看Linux 核心版本信息:uname -r
2.接下來就是檢查依賴包的信息了
需要的依賴包有:(對於Redhat Enterprise Linux 而言)
binutils-2.20.51.0.2-5.11.el6 (x86_64) compat-libcap1-1.10-1 (x86_64) compat-libstdc++-33-3.2.3-69.el6 (x86_64) compat-libstdc++-33-3.2.3-69.el6.i686 gcc-4.4.4-13.el6 (x86_64) gcc-c++-4.4.4-13.el6 (x86_64) glibc-2.12-1.7.el6 (i686) glibc-2.12-1.7.el6 (x86_64) glibc-devel-2.12-1.7.el6 (x86_64) glibc-devel-2.12-1.7.el6.i686 ksh libgcc-4.4.4-13.el6 (i686) libgcc-4.4.4-13.el6 (x86_64) libstdc++-4.4.4-13.el6 (x86_64) libstdc++-4.4.4-13.el6.i686 libstdc++-devel-4.4.4-13.el6 (x86_64) libstdc++-devel-4.4.4-13.el6.i686 libaio-0.3.107-10.el6 (x86_64) libaio-0.3.107-10.el6.i686 libaio-devel-0.3.107-10.el6 (x86_64) libaio-devel-0.3.107-10.el6.i686 make-3.81-19.el6 sysstat-9.0.4-11.el6 (x86_64)
可以使用命令來查看是否安裝了該包:rpm -q binutils
如果已經安裝的話就會打印出安裝的信息,沒有安裝的話就需要進行安裝。
例如安裝compat-libstdc++就可以使用yum install compat-libstdc++。
也可以獨立下載這些包進行安裝。
附:Redhat Enterprise Linux 6.3需要安裝的包:
compat-libstdc++-33-3.2.3-69.el6.i686
ksh
libaio-devel
可見,大部分的組件都已經安裝。
3.接下來就是修改內核參數gedit /etc/sysctl.conf
kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 fs.file-max = 6815744 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 4194304 net.core.wmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_max = 1048576 fs.aio-max-nr = 1048576
使內核參數實時生效sysctl -p
4.新建用戶和組(該步也可以在System->Administration->Users and Groups中進行)
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba -m oracle
passwd oracle
5.為oracle用戶設置Shell限制
修改/etc/security/limits.conf,加入
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
修改/etc/pam.d/login,加入
session required pam_limits.so
修改/etc/profile,加入
if [ \$USER = "oracle" ]; then if [ \$SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi umask 022 fi
6.創建安裝文件夾並賦權
新建目錄 mkdir -p /u01/app/oracle
設置目錄所有權 chown oracle:oinstall /home/oracle/u01
設置目錄權限 chmod -R 755 /home/oracle/u01
修改/etc/hosts文件加入 192.168.15.128 oracle.domain.com oracle
注意將主機名對應到真實ip地址,否則oracle有可能將監聽程序僅僅建立在127.0.0.1上
7.正式安裝
可以使用vmware的共享文件夾的方式,也可以將安裝文件拷貝到Linux里進行解壓縮之后安裝。
如果采用的是共享文件夾的方式,則進入/mnt/hgfs/database中運行./runInstaller文件
接下來就是圖形界面的安裝了,需要注意的是,如果之前安裝Linux選擇的是中文簡體的話,
需要將語言環境設置成英文環境,不然安裝界面會出現亂碼:
export LANG=en_US.utf8
然后再運行./runInstaller文件使用英文界面進行安裝。
像安裝Oracle的其他產品一樣,選擇安裝選項是Create and configure a database
安裝選擇Server Class版本,不要選擇Desktop Class。
Grid Installation Options選擇Single instance database installation
Install Type選擇Advanced install
然后在Product Languages中選擇Simplified Chinese增加即可
Database Edition選擇Enterprise Edition
Installation Location選擇/home/oracle/u01/app/oracle
Create Inventory保持/home/oracle/u01/app/oraInventory,Group保持oinstall
Configuration Type選擇General Purpose/Transaction Processing
接下來的一步保持默認,在Configuration Options設置編碼為AL32UTF8
繼續默認,在設置密碼的時候設置統一的密碼為Welcome1
在Operating System Groups中設置OSDBA為dba,OSOPER為oinstall
接下來就是檢查約束,會發現有一個包確實pdksh-5.2.14,忽略即可。
接下來就是安裝過程。安裝完成之后會彈出一個窗口說明需要使用root命令執行,點擊確認即可。
8.配置環境變量,進入/home/oracle,編輯.bash_profile,即gedit ./.bash_profile(使用Ctrl+H顯示隱藏文件)
export ORACLE_HOME=/home/oracle/u01/app/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
保存完成,運行souce ./.bash_profile使更改生效。
這個時候會發現運行lsnrctl start命令仍然無效,需要繼續操作。
9.設置oracle服務,以root身份執行下面的命令
修改$ORACLE_HOME/bin/dbstart和$ORACLE_HOME/bin/dbshut
gedit ./dbstart
gedit ./dbshut
改為ORACLE_HOME_LISTNER=$ORACLE_HOME(即將$1修改為$ORACLE_HOME)
然后新建文件touch /etc/rc.d/init.d/oracle
文件內容為:
#!/bin/bash # chkconfig: 2345 99 10 # description: Startup Script for oracle Databases # /etc/rc.d/init.d/oracle export ORACLE_BASE=/home/oracle/u01/app/oracle/ export ORACLE_HOME=/home/oracle/u01/app/oracle/product/11.2.0/dbhome_1 export ORACLE_SID=orcl export PATH=$PATH:$ORACLE_HOME/bin case "$1" in start) echo "-----startup oracle-----" >> /var/log/racle11log su oracle -c "$ORACLE_HOME/bin/dbstart" su oracle -c "$ORACLE_HOME/bin/emctl start dbconsole" touch /var/lock/subsys/oracle echo "-----startup oracle successful-----" >> /var/log/oraclelog echo "OK" ;; stop) echo "-----shutdwn oracle-----" >> /var/log/oraclelog su oracle -c "$ORACLE_HOME/bin/dbshut" su oracle -c "$ORACLE_HOME/bin/emctl stop dbconsole" rm -f /var/lock/subsys/oracle echo "-----shutdown oracle successful-----" >> /var/log/oraclelog echo "OK" ;; *) echo "Usage: 'basename $0' start|stop" exit 1 esac exit 0
然后給該腳本設置權限chmod 755 /etc/rc.d/init.d/oracle
建立服務
chkconfig --add oracle
chkconfig oracle on
接下來就可以使用lsnrctl start命令了。
附:啟動oracle數據庫步驟
啟動監聽器lsnrctl start
連接數據庫sqlplus /nolog
以sysdba登錄conn / as sysdba
啟動數據庫服務startup
接下來數據庫就可以正常使用了。