2009年12月7日 星期一

在CentOS5.4安裝Oracle 11gR2 (轉載)

小弟目前的工作環境中,非常需要oracle的環境

以下這篇是由我同事安裝完成後,所寫的教學文

但內容部份還不是很理想,之後我會再找時間將教學文修改一下


本篇主要是參照以下兩篇文章與其他網路文章加以修改而成:

Oracle 11g R1 Enterprise安裝研究(CentOS 5.2)

Oracle 11g R1 官網教學

1. 先裝好CentOS5.4

注意:

A.記得裝好後要先關閉SELinux

B. oracle 需要有1G以上的實體記憶體(VM中建議1100MB)

C. 建議2GB(或2倍以上的實體記憶體)的SWAP空間

D.安裝必須套件 (這全部是同一行)

#yum -y install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel pdksh-5.2.14

E.由於考量日後還要繼續新增ORACLE的database大小

所以建議主硬碟為10G + 獨立磁區掛載在/u01(20G) + 2G的SWAP +1G實體記憶體(建議是1100MB)

F.建立oracle帳戶, 使用第二步驟建立, 此帳戶將用來開啟與管理ORACLE所有設定(不一定要給予ROOT權限)

G.下載下來的oracle安裝檔,必須解壓縮在同一目錄, 如:

#unzip linux_11gR2_database_1of2.zip
#unzip linux_11gR2_database_2of2.zip

2.用root執行

#groupadd oinstall (建立oinstall 群組,安裝程序那邊會用到)
#groupadd dba (建立dba群組,安裝程序那邊會用到)

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

#mkdir -p /u01/app/oracle/product/

#chmod -R 775 /u01

把/u01給oracle使用

#chown -R oracle:oinstall /u01

(這段要執行, 不然之後安裝程序要回來改權限)

3. 改用oracle登入, 這邊是希望之後以oracle就執行與管理這項服務, 不要被其他帳戶混淆.(盡可能由單一用戶執行單一服務, 也盡量不要用root開啟服務)

並改寫oracle 的 .bash_profile 部分如下

$vi ~/.bash_profile

export JAVA_HOME=/usr/java/jdk1.6.0_18 <== java環境配置請看 Java與Tomcat安裝教學 的 JDK 安裝教學
export ORACLE_BASE=/u01/app/oracle
export ORACLE_SID=orcl
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_TERM=xterm
export TNS_ADMIN=$ORACLE_HOME/network/admin
#NLS_LANG=”TRADITIONAL CHINESE_TAIWAN”.ZHT16BIG5;export NLS_LANG
export NLS_LANG
#LC_CTYPE=zh_TW.Big5; export LC_CTYPE
export LC_CTYPE
#LC_ALL=zh_TW.UTF8; export LC_ALL
export LC_ALL
#LANG=zh_TW.Big5; export LANG
export LANG
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export PATH=$JAVA_HOME/bin:$ORACLE_HOME/bin:$PATH:$HOME/bin

4.用root修改下面參數:

修改核心參數:

請編輯 /etc/sysctl.conf 並在最後面加入下面設定,並將原本系統設定用 "#" 字元做取消

#vi /etc/sysctl.conf

如不清楚本身OS是32位元或64位元可使用以下指令查詢

#uname -a

如顯示訊息內有含 "x86_64" 的字元,則為64bit

如顯示訊息內有含 "i686"或 "i386" 的字元,則為32bit

32位元的設定

rnel.shmall=2097152
kernel.shmmax=552599552 <==half the size of physical memory(一半的記憶體, 以1gRAM來說, 會是552599552 ) kernel.shmmni=4096
kernel.sem=250 32000 100 128
net.core.rmem_default = 262144
net.core.wmem_default = 262144
fs.file-max = 6815744
net.core.rmem_max = 4194304
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500

64位元的

kernel.shmall=2097152
kernel.shmmax=552599552
kernel.shmmni=4096
kernel.sem=250 32000 100 128
net.core.rmem_default = 262144
net.core.wmem_default = 262144
fs.file-max = 6815744
net.core.rmem_max = 4194304
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500

請將原本設定檔內 "kernel.shmmax" 和 "kernel.shmall" 再最前面加上 # 取消功能

讓設定生效, 改完核心參數之後, 一定要執行, 使設定生效!!!!

[root@oracle ~]# /sbin/sysctl –p

為oracle用戶設置Shell限制,

請編輯 /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

修改/etc/pam.d/login

請編輯 /etc/pam.d/login 並在最後面加入下面設定

#vi /etc/pam.d/login

session required pam_limits.so

如果使用bash Shell,修改/etc/profile

編輯 /etc/profile 並在最後加入

#vi /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

5. 進入解壓縮後產生的database資料夾, 執行:

[oracle@oracle database]$ ./runInstaller

6.依照以下步驟開始安裝:

Step1:

Step2:

Step3:

Step4a: 這邊會改設定!!!請看下一張圖

Step4b:

注意為了日後編碼問題, 使用ALU32UTF8字元集

同時要注意,OSDBA群組為dba.

Step5:

在步驟五中, 要注意oraInventory群組名稱為: oinstall

Step8a:

Step8b:

Step8c:

Step9:


原文網址:http://neatly0607.wordpress.com/2009/12/02/%E5%9C%A8centos5-4%E5%AE%89%E8%A3%9Doracle-11g/

沒有留言: