RedHat 4 as 下安裝Oracle11gR2,Cluster(ASM)和Database

china_yebin發表於2009-10-15

RedHat 4 as 下安裝Oracle11gR2,Cluster(ASM)和Database

Oracle11gR2釋出不久,上兩週又聽了Oracle的Extdata的推銷,昨天又看了Oracle向IBM叫囂,確實很佩服Oracle公司的成功,也堅定了DBA走下去的方向。

目前11gR2只有Linux版本,公司的機器都Sun和HP的機器,那隻能在自己的機器上裝了虛擬雞來玩一把了。

以下是硬體和軟體的需要,
如果只是Database的話
硬體:奔騰雙核,1G記憶體,20G硬碟

如果是ASM+Database,或者是RAC:
硬體:奔騰雙核,2G記憶體,20G+10G硬碟
軟體:vmware server 2.0,RedHat as 4 update 7, Oracle Grid, Oracle Database

由於主機不是太強,沒辦法建RAC環境,所以本次安裝的是ASM+Database。

注意事項:
Grid使用者和Oracle使用者的選擇:
如果需要使用RAC和ASM,需要建立額外的使用者管理叢集軟體,建議使用grid
和建立資料庫軟體使用者,建議使用oracle

ORACLE_BASE和ORACLE_HOME
如果需要使用RAC和ASM,需要分開兩個使用者的環境變數防止檔案衝突。

閒話少說,開始安裝

一、安裝RedHat as 4作業系統
這步就不再詳述了,不是入門的都會了。

二、安裝軟體包
binutils-2.15.92.0.2
compat-libstdc++-33.2.3
elfutils-libelf-0.97
elfutils-libelf-devel-0.97
gcc-3.4.6
gcc-c++-3.4.6
glibc-2.3.4-2.41
glibc-common-2.3.4
glibc-devel-2.3.4
glibc-headers-2.3.4
libaio-devel-0.3.105
libaio-0.3.105
libgcc-3.4.6
libstdc++-3.4.6
libstdc++-devel-3.4.6
make-3.80
pdksh-5.2.14
sysstat-5.0.5
unixODBC-2.2.11
unixODBC-devel-2.2.11

使用
$rpm -qa | grep binutils
檢查各個包是否被安裝

使用
$rpm -ivf xxx.rpm
安裝確實的包

觀察一下軟體包,發現多了unixODBC,以前我也用過,好東西,現在Oracle是不是想加強這方面。

三、建立使用者組和使用者
#groupadd asmadmin
#groupadd asmdba
#groupadd asmoper
#groupadd oinstall
#groupadd dba
#groupadd oper
#useradd -g oinstall -G asmadmin,asmdba,asmoper grid
#useradd -g oinstall -G dba,oper,asmdba oracle

四、調整引數和新增指令碼
使用者shell的限制
$vi /etc/security/limits.conf
grid                 soft    nproc   2047
grid                 hard    nproc   16384
grid                 soft    nofile  1024
grid                 hard    nofile  65536
oracle               soft    nproc   2047
oracle               hard    nproc   16384
oracle               soft    nofile  1024
oracle               hard    nofile  65536

$vi /etc/pam.d/login
session    required     pam_limits.so

$vi /etc/profile
if [ $USER = "oracle" ] || [ $USER = "grid" ]; then
        if [ $SHELL = "/bin/ksh" ]; then
              ulimit -p 16384
              ulimit -n 65536
        else
              ulimit -u 16384 -n 65536
        fi
        umask 022
fi

$vi  /etc/csh.login
if ( $USER == "oracle" || $USER == "grid" ) then
        limit maxproc 16384
        limit descriptors 65536
endif


五、新增資料盤
最簡單的方法,將裝置設為grid使用者和oinstall使用者組給ASM使用。
我覺得這方法比較實在直接,沒有必要去裝asmlib。
#chown grid:oinstall /dev/sdb

六、建立資料夾(這步是成敗的關鍵)
grid:
ORACLE_BASE=/opt/oracle/grid
ORACLE_HOME=/opt/oracle/app/grid
ORACLE_SID=+ASM
oracle:
ORACLE_BASE=/opt/oracle/oracle
ORACLE_HOME=/opt/oracle/app/database
ORACLE_SID=asmdb

#mkdir -p /opt/oracle/grid
#mkdir -p /opt/oracle/oracle
#mkdir -p /opt/oracle/app/grid
#mkdir -p /opt/oracle/app/database

#cd /opt
#chown -R grid:oinstall /opt/oracle/grid
#chown -R grid:oinstall /opt/oracle/app/grid
#chown -R oracle:oinstall /opt/oracle/oracle
#chown -R oracle:oinstall /opt/oracle/app/database

七、安裝叢集軟體(圖片省略)
1. 登陸grid使用者,執行./runInstaller, 選擇單例項安裝

2. 更改ASM的檢視裝置的路徑/dev/sdb,  並新增

3. 安裝路徑按照第六步中建立的目錄
ORACLE_BASE=/opt/oracle/grid
ORACLE_HOME=/opt/oracle/app/grid

4. 使用者組選擇,按照第三步建立的使用者組,一般預設選好了。
asmadmin,asmdba,asmoper

5. 用root使用者執行指令碼,安裝結束後,檢查一下ASM後臺程式
[oracle@ORA11GR2 ~]$ ps -ef | grep asm_
grid      6625     1  0 15:14 ?        00:00:00 asm_pmon_+ASM
grid      6627     1  0 15:14 ?        00:00:00 asm_vktm_+ASM
grid      6631     1  0 15:14 ?        00:00:00 asm_gen0_+ASM
grid      6633     1  0 15:14 ?        00:00:00 asm_diag_+ASM
grid      6635     1  0 15:14 ?        00:00:00 asm_psp0_+ASM
grid      6637     1  0 15:14 ?        00:00:01 asm_dia0_+ASM
grid      6639     1  0 15:14 ?        00:00:00 asm_mman_+ASM
grid      6641     1  0 15:14 ?        00:00:00 asm_dbw0_+ASM
grid      6643     1  0 15:14 ?        00:00:00 asm_lgwr_+ASM
grid      6645     1  0 15:14 ?        00:00:00 asm_ckpt_+ASM
grid      6647     1  0 15:14 ?        00:00:00 asm_smon_+ASM
grid      6649     1  0 15:14 ?        00:00:00 asm_rbal_+ASM
grid      6651     1  0 15:14 ?        00:00:00 asm_gmon_+ASM
grid      6653     1  0 15:14 ?        00:00:00 asm_mmon_+ASM
grid      6655     1  0 15:14 ?        00:00:00 asm_mmnl_+ASM
grid      7392     1  0 15:46 ?        00:00:00 asm_asmb_+ASM
grid      7396     1  0 15:46 ?        00:00:00 asm_o000_+ASM
oracle    7498  7347  0 15:51 pts/1    00:00:00 grep asm_

多了很多程式,要花時間看看有什麼變化。

八、安裝資料庫軟體(圖片省略)
1. 登陸oracle使用者,執行./runInstaller, 選擇只安裝資料庫軟體

2. 安裝路徑按照第六步中建立的目錄
ORACLE_BASE=/opt/oracle/oracle
ORACLE_HOME=/opt/oracle/app/database

3. 使用者組選擇,按照第三步建立的使用者組,一般預設選好了。
dba, oper, asmdba

4. 用root使用者執行指令碼,安裝結束。

九、DBCA建立資料庫
1. 選擇不傳送郵件

2. 選擇資料庫名稱asmdb

3. 選擇不使用EM

4. 選擇不是用歸檔和flashback

5. 選擇使用ASM,選擇+DATA

6. 一路預設選擇,(在最後提示許可權不足,但仍然繼續安裝)。

7. 退出後檢視系統程式是否存在
$ps -ef | grep ora_
不存在

8. 使用sqlplus啟動資料庫(本來想看看有沒有什麼報錯)
SQL>startup
居然平安起來了,驚訝啊。

9. 再次檢視系統程式是否存在
[oracle@ORA11GR2 ~]$ ps -ef | grep ora_
oracle    7403     1  0 15:46 ?        00:00:00 ora_pmon_asmdb
oracle    7405     1  0 15:46 ?        00:00:00 ora_vktm_asmdb
oracle    7409     1  0 15:46 ?        00:00:00 ora_gen0_asmdb
oracle    7411     1  0 15:46 ?        00:00:00 ora_diag_asmdb
oracle    7413     1  0 15:46 ?        00:00:00 ora_dbrm_asmdb
oracle    7415     1  0 15:46 ?        00:00:00 ora_psp0_asmdb
oracle    7417     1  0 15:46 ?        00:00:00 ora_dia0_asmdb
oracle    7419     1  0 15:46 ?        00:00:00 ora_mman_asmdb
oracle    7421     1  0 15:46 ?        00:00:00 ora_dbw0_asmdb
oracle    7423     1  0 15:46 ?        00:00:00 ora_lgwr_asmdb
oracle    7425     1  0 15:46 ?        00:00:00 ora_ckpt_asmdb
oracle    7427     1  0 15:46 ?        00:00:00 ora_smon_asmdb
oracle    7429     1  0 15:47 ?        00:00:00 ora_reco_asmdb
oracle    7431     1  0 15:47 ?        00:00:00 ora_rbal_asmdb
oracle    7433     1  0 15:47 ?        00:00:00 ora_asmb_asmdb
oracle    7435     1  2 15:47 ?        00:00:03 ora_mmon_asmdb
oracle    7437     1  0 15:47 ?        00:00:00 ora_mmnl_asmdb
oracle    7439     1  0 15:47 ?        00:00:00 ora_d000_asmdb
oracle    7441     1  0 15:47 ?        00:00:00 ora_s000_asmdb
oracle    7446     1  0 15:47 ?        00:00:00 ora_mark_asmdb
oracle    7454     1  0 15:47 ?        00:00:00 ora_o000_asmdb
oracle    7462     1  0 15:47 ?        00:00:00 ora_qmnc_asmdb
oracle    7476     1  1 15:47 ?        00:00:01 ora_cjq0_asmdb
oracle    7478     1  0 15:47 ?        00:00:00 ora_q000_asmdb
oracle    7480     1  0 15:47 ?        00:00:00 ora_q001_asmdb
oracle    7491  7347  0 15:48 pts/1    00:00:00 grep ora_

有部分程式以前好像沒有看過,以後要研究一番了。
ora_vktm_asmdb
ora_gen0_asmdb
ora_diag_asmdb
ora_psp0_asmdb
ora_dia0_asmdb
...

10.解鎖scott使用者檢視自帶的表,成功。
SQL>alter user scott account unlock;
SQL>conn scott/tiger;
SQL>select * from emp;

總結:
11gR1我沒有裝過,所以我拿10gR2做一個對比。
11gR2一共裝了4次,頭三次失敗了,
總結原因有二,一是硬體配置較低512M記憶體,二是檔案目錄沒有規劃好。
單純安裝資料庫不會有什麼問題,基本和10gR2相同,
但是如果需要安裝ASM或RAC有點麻煩了,Oracle建議建立兩個使用者grid和oracle,分別管理叢集和資料庫軟體,而且官文裡面描述得不是太清晰,還有點誤導嫌疑。所以一定要看透官文加上自己分析理解。
最簡單的理解就是完全分開兩個使用者的ORACLE_BASE和ORACLE_HOME。
grid:
ORACLE_BASE=/opt/oracle/grid
ORACLE_HOME=/opt/oracle/app/grid
ORACLE_SID=+ASM
oracle:
ORACLE_BASE=/opt/oracle/oracle
ORACLE_HOME=/opt/oracle/app/database
ORACLE_SID=asmdb

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/13605188/viewspace-616657/,如需轉載,請註明出處,否則將追究法律責任。

相關文章