1. 程式人生 > >Redhat 6.5 安裝Oracle11g

Redhat 6.5 安裝Oracle11g

Oracle 安裝文件
安裝準備
1首先配置本地yum源,參見redhat本地雲源配置.doc
2安裝依賴包
Oracle11gR2安裝的時候,會檢查下面的Package是否符合要求
在安裝Oracle 11g前,需要先安裝以下版本(或更高版本)的軟體包。
compat-libstdc++-33-3.2.3-61 //compat-libstdc軟體包
elfutils-libelf-0.125-3.el5 //與elfutils-libelf相關的軟體包
elfutils-libelf-devel-0.125-3.el5
glibc-2.5-12 //與glibc相關的軟體包
glibc-devel-2.5-12
glibc-common-2.5-12
gcc-4.1.1-52.el5 //與gcc相關的軟體包
gcc-c++-4.1.1-52.el5
libgcc-4.1.1-52.el5
libaio-0.3.106-3.2 //與libaio相關的軟體包
libaio-devel-0.3.106-3.2
libstdc++-4.1.1-52.el5
libstdc++-devel-4.1.1-52.el5
unixODBC-2.2.11-7.1 //與unixODBC相關的軟體包
unixODBC-devel-2.2.11-7.1
sysstat-7.0.0-3.el5 //sysstat軟體包
binutils-2.17.50.0.6-2.el5 //binutils軟體包
make-3.81-1.1 //make軟體包
如果沒有安裝或者比版本低的需要額外安裝或升級
下面用yum方式安裝所需的包

#yum 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-headers-2.* libaio-0.* libaio-devel-0.* libgcc-4.* libstdc++-4.* libstdc++-devel-4.*  make-3.* sysstat-7.* unixODBC-2.* unixODBC-devel-2.
*

最後還要安裝LibXp這個Library,這個一定要安裝,否則安裝Oracle時會出現Java Exception
yum install libXp
pdksh在RedHat的安裝光盤裡沒有必須自己從網上下載後編譯、安裝,見oracle資料夾

#rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm

3、 建立Oracle使用者與組,設定oracle使用者密碼

# groupadd oinstall 
# groupadd dba 
# useradd -m -g oinstall -G dba oracle
#passwd oracle

4、 配置系統核心引數

# vim /etc/sysctl.conf
 kernel.shmmax = 536870912  
kernel.shmmni = 4096 
kernel.sem = 250 32000 100 128 
net.ipv4.ip_local_port_range = 9000 65500 
net.core.rmem_default = 4194304 
net.core.rmem_max = 4194304 
net.core.wmem_default = 262144 
net.core.wmem_max = 1048576 
fs.aio-max-nr = 1048576 
fs.file-max = 6815744

啟用剛剛所做的變更。
輸入命令

# /sbin/sysctl -p

5、 修改系統資源限制 編輯系統資源限制配置檔案

 vim /etc/security/limits.conf

在該檔案下新增如下行

 # vim /etc/security/limits.conf 
oracle   soft    nproc   2047 
oracle   hard   nproc   16384 
oracle   soft   nofile    1024 
oracle   hard   nofile   65536
oracle   soft    stack   10240

6、 關閉SELinux 編輯SELinux配置檔案
vim /etc/selinux/config
將SELINUX的值設為 disabled
如下 SELINUX=disabled;
修改該檔案可使重啟系統後不啟動SELinux。
關閉當前已開啟的SELinux使用如下命令
Setenforce
7、 修改主機HOSTS檔案
檢查/etc/hosts檔案中是否有localhost的記錄
指向127.0.0.1即可若沒有的話
在後面配置Oracle監聽的時候會出現一些問題
導致無法啟動監聽。

 #vim /etc/hosts

注意將主機名對應到真實ip地址否則oracle有可能將監聽程式僅僅建立在127.0.0.1上
8、 建立Oracle安裝資料夾以及資料存放資料夾
把oracle安裝在 /u01/app/oracle 目錄下所以需建立該目錄

#mkdir -p /u01/app/oracle 
#chown -R oracle:oinstall /u01/app/oracle 
#chmod 755 /u01/app/oracle 

安裝時資料放在/u01/app/oracle/oradata目錄下所以需建立該目錄

#mkdir -p /u01/app/oracle/oradata 
#chown -R oracle:oinstall /u01/app/oracle/oradata 
#chmod -R 755 /u01/app/oracle/oradata

安裝時還需要設定 Inventory 目錄所以需建立該目錄

#mkdir -p /u01/app/oraInventory
#chown -R oracle:oinstall /u01/app/oraInventory
#chmod -R 755 /u01/app/oraInventory

設定ORACLE_HOME目錄

#mkdir -p /u01/app/oracle/product/11.2.0/dbhome_1 
#chown -R oracle:oinstall /u01/app/oracle/product/11.2.0/dbhome_1 
#chmod -R 755 /u01/app/oracle/product/11.2.0/dbhome_1 

說明想一次修改某個目錄下所有檔案的許可權包括子目錄中的檔案許可權也要修改要使用引數
R
表示啟動遞迴處理
9、 解壓縮安裝檔案
Oracle 11g R2的安裝包被壓縮成兩個檔案linux_11gR2_database_1of2.zip、linux_11gR2_database_2of2.zip將它們上傳到安裝機器上並使進行解壓縮將得到一個名稱為 database 的目錄

$su oracle 
$cd /u01/app/oracle $unzip linux_11gR2_database_1of2.zip -d /u01/app/oracle/database 
$unzip linux_11gR2_database_2of2.zip -d /u01/app/oracle/database

注意此處的/u01/app/oracle為oracle安裝檔案的實際存放路徑
10、 設定oracle帳號登入時環境(以下以oracle身份登入)
編輯檔案 vim /home/oracle/.bash_profile新增如下行

ORACLE_BASE=/u01/app/oracle 
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1  
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

四、 開始安裝
1、 執行該程式開始安裝,需要執行export LANG=en_US以防止中文亂碼

# chmod -R 755 /u01/app/oracle/ 
#su oracle $cd /u01/app/oracle/database 
$export LANG=en_US 
$./runInstaller

以下將進入圖形安裝介面

2、 填入郵箱點選下一步。也可不填但會彈出一個警告視窗無視之。
2
4、 選中第2項在安裝完成時建立並簡單配置資料庫點選next。先安裝軟體最後在安裝資料庫例項
3
5、 以單例模式安裝(若安裝RAC選擇下一項)點選next
4
6、 加入中文語言點下一步
5

7、 選擇企業版點下一步。
6
8、 由於我們已設定好環境變數ORACLE_BASE和ORACLE_HOME此處無需再選擇
7
9、 以oinstall群組身份進行安裝點選next。
8
10、 點下一步
9

11、 資料庫預安裝檢測缺乏軟體包錯誤可忽略是因軟體版本引起的只要確認安裝了rhel6dvd裡的軟體版本即可
10

12等待安裝完成

11
14、 安裝完成後根據提示用root身份執行兩個sh腳
12

安裝資料庫例項。按以下命令啟動DBCA。

13
選第二個

14
填寫orcl,點選確定後會跳出請設立監聽的提示,
另開一個命令視窗
選第一個

這裡寫圖片描述

預設或者填寫orcl

這裡寫圖片描述
填寫oracle(主機名)

這裡寫圖片描述

19
這裡寫圖片描述
這裡寫圖片描述

這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述
這裡大概差了幾個畫面,都是Next之類的就不往上貼了
Finish

繼續回來選在第三個
這裡寫圖片描述

選擇下方使用共同密碼
這裡寫圖片描述

選擇utf-8

這裡寫圖片描述

五、 啟動、關閉、開機自啟
1、 啟動監聽
端機模式輸入

$ lsnrctl status 

檢檢視看監聽器是否有啟動
如果沒有啟動可以輸入

$ lsnrctl start 

啟動監聽器
2、 啟動資料庫
在監聽已啟動的前提下輸入

$ sqlplus /nolog 
$ conn /as sysdba 
$ startup

3、 關閉資料庫

$ shutdown immediate 
$ quit 
$ lsnrctl stop

4、 開機自啟
兩種方式
修改Oracle系統配置檔案/etc/oratab只有這樣Oracle 自帶的dbstart和
dbshut才能夠發揮作用。

# vim /etc/oratab

修改最後一行為:

orcl:/u01/app/oracle/product/11.2.0/dbhome_1:Y

第一種直接將oracl指令碼拷進/etc/init.d/中 指令碼檔案連結
第二種自己編寫指令碼
以下是自啟指令碼的建立注意前3行一定不能錯否則服務老新增不上。
在 /etc/init.d/ 下建立檔案oracle內容如下

#!/bin/sh 
# chkconfig: 35 80 10 
# 
# Set ORA_HOME to be equivalent to the $ORACLE_HOME 
# from which you wish to execute dbstart and dbshut; 
# 
# Set ORA_OWNER to the user id of the owner of the 
# Oracle database in ORA_HOME. 
ORA_HOME=/u01/app/oracle/product/11.2.0/dbhome_1 
ORA_OWNER=oracle 
if [ ! -f $ORA_HOME/bin/dbstart ] 
then 
    echo "Oracle startup: cannot start" 
    exit 
fi 
case "$1" in 
'start') 
# Start the Oracle databases: 
echo "Starting Oracle Databases ... " 
echo "-------------------------------------------------" >> /var/log/oracle 
date +" %T %a %D : Starting Oracle Databases as part of system up." >> 
/var/log/oracle 
echo "-------------------------------------------------" >> /var/log/oracle 
su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart" >>/var/log/oracle 
# Start the Listener: 
echo "Starting Oracle Listeners ... " 
echo "-------------------------------------------------" >> /var/log/oracle 
date +" %T %a %D : Starting Oracle Listeners as part of system up." >> 
/var/log/oracle 
echo "-------------------------------------------------" >> /var/log/oracle 
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start" >>/var/log/oracle 
echo "Done." 
echo "-------------------------------------------------" >> /var/log/oracle 
date +" %T %a %D : Finished." >> /var/log/oracle 
echo "-------------------------------------------------" >> /var/log/oracle 
touch /var/lock/subsys/oracle 
'stop') 
# Stop the Oracle Listener:
echo "Stoping Oracle Listeners ... " 
echo "-------------------------------------------------" >> /var/log/oracle 
date +" %T %a %D : Stoping Oracle Listener as part of system down." >> 
/var/log/oracle 
echo "-------------------------------------------------" >> /var/log/oracle 
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop" >>/var/log/oracle 
echo "Done." 
# Stop the Oracle Database: 
echo "Stoping Oracle Databases ... " 
echo "-------------------------------------------------" >> /var/log/oracle 
date +" %T %a %D : Stoping Oracle Databases as part of system down." >> 
/var/log/oracle 
echo "-------------------------------------------------" >> /var/log/oracle 
su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut" >>/var/log/oracle 
echo "Done." 
echo "" 
echo "-------------------------------------------------" >> /var/log/oracle 
date +" %T %a %D : Finished." >> /var/log/oracle 
echo "-------------------------------------------------" >> /var/log/oracle 
'restart') 
$0 stop 
$0 start 
;; 
esac

命令

# vim  /etc/init.d/oracle 

改變檔案許可權

# chmod 755 /etc/init.d/oracle 

新增服務

chkconfig --level 35 oracle on 

需要在關機或重啟機器之前停止資料庫做一下操作

# ln -s /etc/init.d/oracle /etc/rc0.d/K01oracle   
//
關機

# ln -s /etc/init.d/oracle /etc/rc6.d/K01oracle   
//
重啟

使用方法

# service oracle start       

//
啟動
oracle

# service oracle stop         

//
關閉
oracle

# service oracle restart     

//
重啟
系統啟動後oracle就自動起來了測試如圖