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、 填入郵箱點選下一步。也可不填但會彈出一個警告視窗無視之。
4、 選中第2項在安裝完成時建立並簡單配置資料庫點選next。先安裝軟體最後在安裝資料庫例項
5、 以單例模式安裝(若安裝RAC選擇下一項)點選next
6、 加入中文語言點下一步
7、 選擇企業版點下一步。
8、 由於我們已設定好環境變數ORACLE_BASE和ORACLE_HOME此處無需再選擇
9、 以oinstall群組身份進行安裝點選next。
10、 點下一步
11、 資料庫預安裝檢測缺乏軟體包錯誤可忽略是因軟體版本引起的只要確認安裝了rhel6dvd裡的軟體版本即可
12等待安裝完成
14、 安裝完成後根據提示用root身份執行兩個sh腳
安裝資料庫例項。按以下命令啟動DBCA。
選第二個
填寫orcl,點選確定後會跳出請設立監聽的提示,
另開一個命令視窗
選第一個
預設或者填寫orcl
填寫oracle(主機名)
這裡大概差了幾個畫面,都是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就自動起來了測試如圖