1. 程式人生 > >Oracle GridControl 11gR1 for Linux 安裝和配置指南

Oracle GridControl 11gR1 for Linux 安裝和配置指南

1 概述

本文件是Oracle Enterprise Manager GridControl 11.1.0.1.0 for
Redhat Enterprise Linux 的安裝和配置指南.
注意: 在各伺服器的訪問上採用的是ssh方式, 所以在GridControl體系中, 伺服器啟用ssh是必須的.
提示: #後跟命令表示以root使用者操作, $後跟命令表示以oracle使用者操作.

1.1 11gR1新特性

ü 資料庫管理方面的增強. 全面支援目前所有版本的資料庫, 包括最新的11gR2及Exadata V2產品.
ü 中介軟體管理方面的增強. 能夠管理Oracle Fusion Middleware 11g等產品

.
ü 與My Oracle Support的緊密整合.
ü 面向應用程式的管理理念.
ü 產品架構方面也有較大的升級, 在10g版本中的OC4J中介軟體被Weblogic取代.
ü 安裝時需要指定兩個目錄, 一個是Middleware home, 另一個是OMS home.
ü 安裝介面與11.2的資料庫一樣, 看上去安裝步驟是越來越簡單了.
詳細的new features介紹參考官方文件:
http://download.oracle.com/docs/cd/E11857_01/em.111/e11982/whats_new.htm

1.2 GC系統架構


包括
Oracle Management Service(OMS), Oracle Management Agent, Oracle Management Repository, GridControl Console四個組成部分. 系統架構如下:



1.3 GC的原理和工作方式

Agent端的資料收集全部通過perl指令碼來完成
, 副檔名為*.pl,
這些指令碼可以在$AGENT_HOME/sysman/admin/scripts/下找到. Agent程式首先會把採集到的資訊寫到本地的xml檔案當中, 生成的檔案可以在$AGENT_HOME/sysman/admin/upload下找到. 然後再將該檔案upload到

OMS端去, OMS再將xml檔案寫入到自己的repository庫裡.

1.4 Agent端工作方式

當Agent部署到一個節點上時, 首先搜尋$ORACLE_BASE/oraInventory下安裝的所有
Oracle產品. 以便確定需要收集那些產品的資訊, 比如只發現了一個數據庫產品, 那麼就會只執行收集資料庫和伺服器資訊的指令碼. 對於一個節點來說, Agent 確定需要收集那些內容的資訊寫在如下檔案$AGENT_HOME/sysman/emd/targets.xml中, 該檔案可以手工修改. 另外一個比較重要的檔案是$AGENT_HOME/sysman/config/emd.properties, 是每一個Agent的配置檔案, Agent所有的屬性都在裡面, 比如OMS的url/TZ等, 該檔案也可以手工修改, 修改完之後, 通過執行./emctl reload agent來使之生效.

1.5 軟硬體要求

1) 實體記憶體和磁碟空間
OMS: 3G記憶體
Agent: 512M記憶體
Repository: 2G記憶體, 50G磁碟空間

2) 作業系統
OMS: RHEL4.7, RHEL5.2
Agent: RHEL4.7, RHEL5.2
/tmp空間: 至少400MB

3) 作業系統安裝包

ü RHEL4.X for OMS:
glibc-2.3.4-2.19
kernel-utils-2.4
make-3.80
binutils-2.15.92.0.2-13
gcc-3.4.5
libaio-0.3.105
glibc-common-2.3.4-2.9
compat-libstdc++-296-2.96-132.7.2
libstdc++-3.4.3-22.1
libstdc++-devel-3.4.3-22.1
pdksh-5.2.14-30
setarch-1.6-1
sysstat-5.0.5-1
compat-db-4.1.25-9

ü RHEL5.X for OMS:
glibc-2.5-12
rng-utils-2
make-3.81
binutils-2.17.50.0.6
gcc-4.1.1
libaio-0.3.106
glibc-common-2.3.4-2.9
compat-libstdc++-296-2.96-132.7.2
libstdc++-4.1.1
libstdc++-devel-4.11
setarch-1.6-1
sysstat-5.0.5-1
compat-db-4.1.25-9

ü RHEL4.X for Agent:
make-3.80
binutils-2.15.92.0.2
gcc-3.4.5
libstdc++-3.4.5

ü RHEL5.X for Agent:
make-3.81
binutils-2.17.50.0.6
gcc-4.1.1
libstdc++-4.1.1

4) 資料庫
對於Management Repository, 支援以下版本的資料庫(RAC & StandAlone, Enterprise Edition):
10.2.0.4, 11.1.0.7, 11.2.0.1

5) 被監控目標
資料庫: 9.2.0.8, 10.1.0.5, 10.2.0.4, 10.2.0.5, 11.1.0.7, 11.2.0.1

1.6 軟體下載

1) GC11gR1 for x86
下載地址: http://www.oracle.com/technology/software/products/oem/htdocs/linuxsoft.html
安裝檔案3個:
GridControl_11.1.0.1.0_Linux_1of3.zip
GridControl_11.1.0.1.0_Linux_2of3.zip
GridControl_11.1.0.1.0_Linux_3of3.zip

2) GC11gR1 for x86_64
下載地址: http://www.oracle.com/technology/software/products/oem/htdocs/linuxx8664soft.html
安裝檔案3個:
GridControl_11.1.0.1.0_Linux_x86-64_1of3.zip
GridControl_11.1.0.1.0_Linux_x86-64_2of3.zip
GridControl_11.1.0.1.0_Linux_x86-64_3of3.zip

3) WebLogic Server (下載10.3.2版本)
Linux x86平臺: http://download.oracle.com/otn/linux/middleware/11g/wls/wls1032_linux32.bin
Linux x86_64平臺: http://download.oracle.com/otn/nt/middleware/11g/wls/wls1032_generic.jar
JDK6下載地址(安裝64bit的WebLogic要求有JDK6): http://java.sun.com/javase/downloads/index.jsp

4) Agent Software
對於同一個平臺的Agent軟體已經包含在GC安裝包裡了, 對於其它平臺需要單獨下載.
下載地址: http://www.oracle.com/technology/software/products/oem/htdocs/agentsoft.html
Linux x86平臺: Linux_Grid_Control_agent_download_11_1_0_1_0.zip
Linux x86_64平臺: Linux_x86_64_Grid_Control_agent_download_11_1_0_1_0.zip
Windows x86平臺: Win32_Grid_Control_agent_download_11_1_0_1_0.zip
Windows x86_64平臺: Windows_X64_Grid_Control_agent_download_11_1_0_1_0.zip

5) Yast
要通過 Enterprise Manager 來管理作業系統, 必須以root使用者安裝yast軟體.
下載地址: http://oss.oracle.com/projects/yast/files/
其它可能缺失的依賴包下載地址:
ftp://ftp.pbone.net/mirror/ftp.pramberger.at/systems/linux/contrib/
ftp://ftp.pbone.net/mirror/atrpms.net/

1.7 參考文件

1) 官方文件
Oracle Enterprise Manager GridControl Basic Installation Guide 11g Release 1 (11.1.0.1.0)

2) Installing Oracle EM GridControl 11g on Linux
http://www.emarcel.com/emarcel/myblog/44-oraclearticles/136-installingoem11gr1

3) Silent installation of Enteprise Manager Grid Control 11g
http://www.pythian.com/news/12547/silent-installation-of-enteprise-manager-grid-control-11g/

1 安裝前工作

1.1 Package安裝檢查ü RHEL4.X for OMS:
# rpm -q \
glibc \
kernel-utils \
make \
binutils \
gcc \
libaio \
glibc-common \
compat-libstdc++-296 \
libstdc++ \
libstdc++-devel \
pdksh \
setarch \
sysstat \
compat-db | grep "not installed"
package libaio is not installed
package compat-db is not installed

如果有包未安裝則需手工安裝:
# mkdir -p /u01/software/linux && cd /u01/software/linux
# rpm -ivh libaio-0.3.105-2.i386.rpm
# rpm -ivh compat-db-4.1.25-9.i386.rpm

ü RHEL5.X for OMS:
# rpm -q \
glibc \
rng-utils \
make \
binutils \
gcc \
libaio \
glibc-common \
compat-libstdc++-296 \
libstdc++ \
libstdc++-devel \
setarch \
sysstat \
compat-db | grep "not installed"
package compat-db is not installed

如果有包未安裝則需手工安裝:
# mkdir -p /u01/software/linux && cd /u01/software/linux
# rpm -ivh compat-db-4.1.25-9.i386.rpm

1.2 /etc/hosts檔案確認

# vi /etc/hosts
---------------------------------------------------------------------
#<IP-address>         <fully-qualified-machine-name>     <machine-name>
127.0.0.1         localhost.localdomain        localhost
172.16.1.185       omsserver.localdomain       omsserver
---------------------------------------------------------------------
/etc/hosts的檔案格式很重要, 一定要有域名字尾".xxxdomain",
且hostname和hostname.xxxdomain不能調換位置, 另必須要有127.0.0.1定義在/etc/hosts檔案裡.

1.3 配置核心引數

# vi /etc/sysctl.conf          (在RHEL5.4裡,shmall和shmmax無需設定)
------------------------------------------
#wangnc added
kernel.shmall = 2097152
#kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.aio-max-nr = 1048576
fs.file-max = 6815744
net.ipv4.ip_local_port_range = 9000 65000
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
------------------------------------------
# /sbin/sysctl -p              (修改以後讓引數生效)

# vi /etc/selinux/config        (把SELINUX置為disabled)
SELINUX=disabled

# vi /etc/security/limits.conf   (增加或修改以下引數)
------------------------------------------
#wangnc added
oracle              soft    nproc   2047
oracle              hard    nproc   16384
oracle              soft    nofile  4096
oracle              hard    nofile  65536
------------------------------------------

# vi /etc/pam.d/login           (在檔案最後增加或修改以下引數)
------------------------------------------
#wangnc added
session    required     pam_limits.so
------------------------------------------

# vi /etc/profile             (在檔案最後增加或修改以下指令碼)
------------------------------------------
#wangnc added
if [ $USER = "oracle" ]; then
        if [ $SHELL = "/bin/ksh" ]; then
              ulimit -p 16384
              ulimit -n 65536
        else
              ulimit -u 16384 -n 65536
        fi
fi
------------------------------------------

# cat /proc/sys/kernel/random/entropy_avail    (確保輸出大於400)

1.4 建組和使用者

# more /etc/oraInst.loc             (檢視產品清單組oinstall是否存在)
------------------------------------------
inventory_loc=/u01/app/oracle/oraInventory
inst_group=oinstall
------------------------------------------
# more /etc/oratab                 (如果曾經安裝過oracle相關軟體則會存在該檔案)
# id oracle                       (確認oracle使用者是否存在)
uid=500(oracle) gid=500(oinstall) groups=500(oinstall),501(dba)
# groupadd oinstall                (如果oinstall組不存在則新建)
# groupadd dba                    (如果dba組不存在則新建, 該組擁有SYSDBA許可權)
# useradd -g oinstall -G dba oracle  (如果使用者不存在則新建)
# passwd oracle                   (設定密碼)

1.5 建軟體目錄

如果Oracle Base目錄不存在則建立:
# mkdir -p /u01/app/oracle
# chown -R oracle:oinstall /u01/app/oracle
# chmod -R 775 /u01/app/oracle

1.6 配置oracle使用者環境

如果伺服器有多網絡卡, 需設定ORACLE_HOSTNAME為某網絡卡IP對應的主機名, 參照/etc/hosts檔案;

注意要把NLS_LANG設定成中文環境, 否則以後登陸Grid控制檯中文按鈕會有亂碼; 為便於辨認, 自定義並使用多個XXX_HOME環境變數.
# su - oracle
$ vi ~/.bash_profile
-----------------------------------------------------------------------------
umask 022
export ORACLE_HOSTNAME=omsserver
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export AGENT_HOME=$ORACLE_BASE/Middleware/agent11g
export OMS_HOME=$ORACLE_BASE/Middleware/oms11g
export WLS_HOME=$ORACLE_BASE/Middleware/wlserver_10.3
export WT_HOME=$ORACLE_BASE/Middleware/Oracle_WT
export JAVA_HOME=/usr/java/default
export ORACLE_SID=EMREP
export ORACLE_UNQNAME=EMREP
export ORACLE_OWNER=oracle
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
export LD_LIBRARY_PATH=.:$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export PATH=.:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$ORACLE_HOME/jdk/bin:$PATH
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$CLASSPATH
export LC_ALL="en_US"
export LANG="en_US"
export DISPLAY=127.0.0.1:10.0
-----------------------------------------------------------------------------
$ . ~/.bash_profile
1 安裝Database(可選)

對於Management Repository, 支援以下版本的資料庫(RAC & StandAlone, Enterprise Edition): 10.2.0.4, 11.1.0.7, 11.2.0.1, 也可以使用一個已存在的DB, 但不能含有Database Control的SYSMAN和SYSMAN_MDS使用者(刪除方法參考本章最後一節).
本例安裝Oracle11gR2.

1.1 Oracle安裝檔案

$ cd /u01/software/11g
$ unzip linux*_11gR2_database_1of2.zip
$ unzip linux*_11gR2_database_2of2.zip
$ cd database
$ export DISTRIB=`pwd`

1.2 生成響應檔案模板

在解壓後Oracle安裝檔案的response目錄裡有各種響應檔案的模版.
$ vi /tmp/db_swonly.rsp
#--------------------------------------------------------------------
#以下引數不要更改
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_SWONLY
DECLINE_SECURITY_UPDATES=true
#以下引數根據實際情況更改,一般也無需更改
#ORACLE_HOSTNAME=omsserver
INVENTORY_LOCATION=/u01/app/oracle/oraInventory
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
SELECTED_LANGUAGES=en,zh_CN,zh_TW
UNIX_GROUP_NAME=oinstall
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oinstall
oracle.install.db.InstallEdition=EE
oracle.install.db.isCustomInstall=true
oracle.install.db.customComponents=oracle.rdbms.partitioning:11.2.0.1.0,oracle.oraolap:11.2.0.1.0,oracle.rdbms.lbac:11.2.0.1.0,oracle.rdbms.dm:11.2.0.1.0,oracle.rdbms.dv:11.2.0.1.0,oracle.rdbms.rat:11.2.0.1.0
#--------------------------------------------------------------------

各引數含義如下:
oracle.install.responseFileVersion 響應檔案模板的版本,該引數不要更改
oracle.install.option 安裝選項,本例只安裝oracle軟體,該引數不要更改
DECLINE_SECURITY_UPDATES 是否需要線上安全更新,設定為false,該引數不要更改
ORACLE_HOSTNAME 安裝主機名
INVENTORY_LOCATION oracle產品清單目錄
ORACLE_BASE oracle基礎目錄
ORACLE_HOME Oracle安裝目錄
SELECTED_LANGUAGES oracle執行語言環境,一般包括英文和簡繁體中文
UNIX_GROUP_NAME oracle使用者用於安裝軟體的組名
oracle.install.db.DBA_GROUP oracle使用者用於授予OSDBA許可權的組名
oracle.install.db.OPER_GROUP oracle使用者用於授予OSOPER許可權的組名
oracle.install.db.InstallEdition 安裝版本型別,一般是企業版
oracle.install.db.isCustomInstall 是否定製安裝,預設Partitioning,OLAP,RAT都選上了
oracle.install.db.customComponents 定製安裝元件列表:除了以上預設的,可加上Label Security和Database Vault

1.3 開始安裝Oracle軟體

通過response檔案靜默安裝, 大概6-8分鐘:

$ cd $DISTRIB
$ ./runInstaller -silent -force -noconfig -responseFile /tmp/db_swonly.rsp
如果出現 "X connection to localhost:10.0 broken (explicit kill or server shutdown)" 錯誤提示, 那麼在Windows下啟動Xming軟體即可. 還會有如下提示, 不用管它:
[WARNING] [INS-32055] The Central Inventory is located in the Oracle base.
   CAUSE: The Central Inventory is located in the Oracle base.
   ACTION: Oracle recommends placing this Central Inventory in a location outside the Oracle base directory.

控制檯直到出現以下提示則表示安裝結束(注意安裝過程中沒有進度條):
#-------------------------------------------------------------------
...
/u01/app/oracle/oraInventory/orainstRoot.sh
/u01/app/oracle/product/11.2.0/db_1/root.sh
To execute the configuration scripts:
         1. Open a terminal window
         2. Log in as "root"
         3. Run the scripts
         4. Return to this window and hit "Enter" key to continue

Successfully Setup Software.
#-------------------------------------------------------------------

各引數含義如下:
-silent 表示以靜默方式安裝
-force 允許安裝到一個非空目錄
-noconfig 表示不執行配置助手netca
-responseFile 表示使用哪個響應檔案,必需使用絕對路徑

安裝期間檢視安裝日誌資訊瞭解安裝進度:
$ cd $ORACLE_BASE/oraInventory/logs
$ tail -100f installActions*.log

安裝的軟體資訊會寫入inventory.xml檔案, 如果需重執行則把該檔案的對應安裝條目資訊刪除即可:

$ vi $ORACLE_BASE/oraInventory/ContentsXML/inventory.xml

1.4 執行orainstRoot.sh和root.sh

若本機第一次安裝oracle軟體, 則執行orainstRoot.sh來建立oraInst.loc檔案和修改許可權:

$ su -
# /u01/app/oracle/oraInventory/orainstRoot.sh
# more /etc/oraInst.loc

然後執行$ORACLE_HOME下的root.sh來建立oratab,dbhome,oraenv,coraenv檔案, 如果有提示則一直回車:
# /u01/app/oracle/product/11.2.0/db_1/root.sh
# more /etc/oratab
至此, 資料庫軟體安裝完畢!

1.5 升級為11.2.0.1.1(可選)

即在11.2.0.1.0版本的基礎上安裝PSU 11.2.0.1.1, 本PSU(Patch Set Update)是基於11.2.0.1.0版本的第1個累計補丁集11.2.0.1.1(Bug 9352237), 共修正了94個bug, 且已經包含了截至到201004月份的CPU(Critical Patches Update).

1) 安裝新版OPatch
Oracle Database 11.2.0.1.0預設自帶的OPatch版本是11.1.0.6.6, 而安裝PSU 11.2.0.1.1必須使用OPatch 11.2.0.1.0或以上版本才行. 否則會有錯誤.
最新版本OPatch下載地址(選擇版本為11.2.0.0.0):
http://updates.oracle.com/ARULink/PatchDetails/process_form?patch_num=6880880
安裝過程大概1-2分鐘.
$ $ORACLE_HOME/OPatch/opatch version           (檢查當前OPatch版本)
Invoking OPatch 11.1.0.6.6
OPatch Version: 11.1.0.6.6
OPatch succeeded.
$ cd $ORACLE_HOME
$ tar zcvf OPatch_`date +%Y%m%d`.tar.gz OPatch
(備份原有OPatch)
$ cd /u01/software/11g/
如果是x86平臺:
$ unzip p6880880_112000_LINUX.zip -d $ORACLE_HOME
如果是x86_64平臺:
$ unzip p6880880_112000_Linux-x86-64.zip -d $ORACLE_HOME
Archive:  p6880880_112000_Linux-x86-64.zip
replace /u01/app/oracle/product/11.2.0/db_1/OPatch/docs/FAQ? [y]es, [n]o, [A]ll, [N]one, [r]ename: A
...
$ $ORACLE_HOME/OPatch/opatch version         (檢查現有OPatch版本)
Invoking OPatch 11.2.0.1.2
OPatch Version: 11.2.0.1.2
OPatch succeeded.

2) 安裝PSU
11.2.0.1.1
安裝過程大概3-5分鐘.
$ cd /u01/software/11g/
如果是x86平臺:
$ unzip p9352237_112010_LINUX.zip
如果是x86_64平臺:
$ unzip p9352237_112010_Linux-x86-64.zip
$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir ./9352237
$ cd 9352237
$ $ORACLE_HOME/OPatch/opatch apply
...
Running prerequisite checks...
Provide your email address to be informed of security issues, install and
initiate Oracle Configuration Manager. Easier for you if you use your My
Oracle Support Email address/User Name.

Email address/User Name: {Enter}
You have not provided an email address for notification of security issues.
Do you wish to remain uninformed of security issues ([Y]es, [N]o) [N]:  y
...
Is the local system ready for patching? [y|n]
y
...

1.6 靜默配置監聽

通過response檔案執行netca, 生成sqlnet.oralistener.ora檔案, 位於$ORACLE_HOME/network/admin目錄下:
$ $ORACLE_HOME/bin/netca /silent /responsefile $DISTRIB/response/netca.rsp
$ ll $ORACLE_HOME/network/admin/*.ora
$ lsnrctl status
執行完後, 監聽就已經啟動了, 預設埠是1521, 如果原先有資料庫監聽則監聽埠號自動遞增, 預設是動態監聽, 只要例項啟動了就會監聽到.

1.7 生成建庫響應檔案模板

$
vi /tmp/db_create.rsp
#--------------------------------------------------------------------
#以下引數不要更改
[GENERAL]
RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
#以下引數必須設定
[CREATEDATABASE]
GDBNAME = "EMREP.LK"
TEMPLATENAME = "General_Purpose.dbc"
#以下引數不設定則使用預設值,建議設定
CHARACTERSET = "ZHS16GBK"
TOTALMEMORY = "1024"
#--------------------------------------------------------------------

各引數含義如下:
RESPONSEFILE_VERSION 響應檔案模板的版本,該引數不要更改
OPERATION_TYPE 安裝型別,該引數不要更改
GDBNAME 全域性資料庫名,點號前面預設是db_name,點號後面預設就是db_domain
TEMPLATENAME 建庫模板名,參考各模板定義:$ORACLE_HOME/assistants/dbca/templates/*.dbc
CHARACTERSET 字符集,預設是WE8MSWIN1252
TOTALMEMORY 例項記憶體,單位為MB,預設是伺服器實體記憶體的40%

1.8 dbca靜默建庫

大概3-4分鐘, 種子資料庫和控制檔案位於$ORACLE_HOME/assistants/dbca/templates/下, 即Seed_Database.dfb和Seed_Database.ctl檔案, 實際上建庫就是基於通過rman恢復種子資料庫和控制檔案來實現的.