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.
Visit http://www.oracle.com/support/policies.html for details.
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恢復種子數據庫和控制文件來實現的.

設置sys/sysman用戶密碼要求: 4-30個字符, 必須包含字母,數字和標點符號, 必須以字母開頭.
$ $ORACLE_HOME/bin/dbca -silent -responseFile /tmp/db_create.rsp
Enter SYS user password:
iamENCY3_
Enter SYSTEM user password:
iamENCY3_
Copying database files
...
37% complete
Creating and starting Oracle instance
...
62% complete
Completing Database Creation
...
100% complete
Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/EMREP/EMREP.log" for further details.

各參數含義如下:
-silent 表示以靜默方式安裝
-responseFile 表示使用哪個響應文件,必需使用絕對路徑

安裝期間查看日誌信息瞭解進度:
$ cd $ORACLE_BASE/cfgtoollogs/dbca/$ORACLE_SID
$ ll

1.9 設置初始化參數和其它附加要求

作爲Management Repository, 要求數據庫初始化參數滿足如下要求, 大部分默認值即符合要求:
compatible=10.2.0.1.0 or higher
remote_login_passwordfile=SHARED or EXCLUSIVE
statistics_level=TYPICAL
timed_statistics=TRUE
undo_management=AUTO
workarea_size_policy=AUTO
db_block_size >= 8192
open_cursors >= 300
session_cached_cursors >= 200
log_buffer >= 10485760
processes >= 500
SQL> show parameter session_cached_cursors
NAME                                 TYPE            VALUE
------------------------------------ --------------- ------------------------------
session_cached_cursors               integer         50
SQL> ALTER system SET session_cached_cursors=200 scope=spfile;
SQL> show parameter log_buffer
SQL> ALTER system SET log_buffer=10485760 scope=spfile;
SQL> show parameter processes
SQL> ALTER system SET processes=500 scope=spfile;
SQL> select value from v$option where parameter = 'Fine-grained access control';   (輸出結果應爲TRUE)
VALUE
----------------------------------------------------------------
TRUE
SQL> SELECT SUM(DECODE(autoextensible,'YES',200*1024*1024+1,bytes)) total FROM dba_data_files f, dba_tablespaces s WHERE s.contents = 'UNDO' AND s.tablespace_name = f.tablespace_name;  (輸出結果至少應爲200M)
     TOTAL
----------
209715201
SQL> ALTER DATABASE DATAFILE '/u01/app/oracle/oradata/EMREP/undotbs01.dbf' RESIZE 250M;

1.10 改爲歸檔模式並重啓

$
sqlplus /
as sysdba
SQL> shutdown immediate;
SQL> startup mount;
SQL> alter database archivelog;
SQL> alter database open;
SQL> execute utl_recomp.recomp_serial();        (重新編譯所有可能失效對象)
SQL> alter system archive log current;          (手工歸檔測試)

1.11 刪除SYSMAN和SYSMAN_MDS用戶

SQL> SELECT USERNAME FROM ALL_USERS WHERE USERNAME IN ('SYSMAN','SYSMAN_MDS');
USERNAME
-------------------------
SYSMAN
SQL> SELECT FILE_NAME FROM DBA_DATA_FILES WHERE UPPER (TABLESPACE_NAME) LIKE 'MGMT%';
no rows selected

如果只有SYSMAN用戶, 則使用如下方法刪除:
$ $ORACLE_HOME/bin/emca -deconfig dbcontrol db -repos drop -SYS_PWD 'iamENCY3' -SYSMAN_PWD 'iamENCY3'
...
Enter the following information:
Database SID: EMREP
Listener port number: 1521
Do you wish to continue? [yes(Y)/no(N)]: y
...

如果還含有SYSMAN_MDS用戶, 則使用如下方法刪除(要求安裝了OMS後操作):
$ export LD_LIBRARY_PATH=$OMS_HOME/lib
$ $OMS_HOME/sysman/admin/emdrep/bin/RepManager <repository_database_host> <repository_database_port> <repository_database_sid> -action dropall -dbUser <repository_database_user> -dbPassword <repository_database_password> -dbRole <repository_database_user_role> -mwHome <middleware_home> -mwOraHome <oms_oracle_home> -oracleHome <oms_oracle_home>
最後手工刪除數據文件:
$ rm -rf FILE_NAME

1 安裝Weblogic

要安裝OMS, 需先安裝Oracle WebLogic Server 10.3.2 (Oracle Fusion Middleware 11g Release 1 Patch Set 1), root用戶登陸, 使用typical模式安裝, 安裝過程爲GUI, 安裝時不要建立任何域, 因爲後續OMS安裝時會建立名爲GCdomain的域.

1.1 32bit平臺安裝
# cd /u01/software/gc11g
# chmod +x wls1032_linux32.bin
# ./wls1032_linux32.bin
Extracting 0%....................................................................................................100%
Jun 9, 2010 1:38:38 PM java.util.prefs.FileSystemPreferences$2 run
INFO: Created user preferences directory.

1.2 64bit平臺安裝

要求裝有1.6.0版本以上的JDK, 操作系統和Oracle自帶的不符合要求, 先使用root用戶安裝JDK.

# cd /u01/software/gc11g
# chmod +x jdk-6u20-linux-x64-rpm.bin
# ./jdk-6u20-linux-x64-rpm.bin
...
Do you agree to the above license terms? [yes or no]
yes  
...
安裝完JDK6後, 再以oracle用戶安裝WLS:
# su - oracle
$ cd /u01/software/gc11g
$ export JAVA_HOME=/usr/java/default
$ $JAVA_HOME/bin/java -jar wls1032_generic.jar        (如果執行有誤, 則java後帶-d64參數執行)

1.3 主要安裝提示

Middleware Home Directory: /u01/app/oracle/Middleware
Register for Security Updates: 置所有選項爲空, 彈出提示中選上"Yes";
其它如有提示, 默認點擊Next進入下一步;
最後一頁不選上"Run Quickstart", 點擊Done完成安裝.

1 安裝OMS

注意
: 會自動在本機安裝OMS和Agent.

1.1 壓安裝文件

$ cd /u01/software/gc11g
$ for i in GridControl_11.1.0.1.0_Linux_*of3.zip; do unzip $i; done

1.2 安裝步驟(GUI)

$
./runInstaller &
此時可以到$ORACLE_BASE/oraInventory/logs下查看最新安裝日誌文件installActionsxxx.log, 瞭解安裝進度.
Ø Specify My Oracle Support Details
置所有選項爲空, 彈出提示中點擊"Yes".
Ø Check for updates
選擇"Skip Software Updates".
Ø Select Installation Type
選擇"Install a new Enterprise Manager system". 點擊"Product Languages", 選上簡體中文.
Ø Check for Prerequisites
安裝前檢查過程, 檢查後如有一些警告確實可以忽略, 那麼選上"Ignore All".
Ø Specify Installation Locations(默認即可)
Middleware Home Location -> /u01/app/oracle/Middleware, 則OMS_HOME爲/u01/app/oracle/Middleware/oms11g, AGENT_HOME爲/u01/app/oracle/Middleware/agent11g.
OMS Instance Base Location -> /u01/app/oracle/gc_inst
Ø Create WebLogic Server Domain
設置Weblogic管理密碼要求: 至少8個字符, 只能包含字母和數字, 必須以字母開頭, 至少含一個數字.
Weblogic User Name -> weblogic
Weblogic Password -> iamENCY3
Node Manager Password  -> iamENCY3
Ø Connect to Oracle Database
Database Host Name -> omsserver
Port -> 1521
Service/SID -> EMREP
SYS Password -> iamENCY3_
Ø Configure Oracle Management Repository
設置密碼要求: 至少8個字符, 只能包含字母和數字, 必須以字母開頭, 至少含一個數字.
SYSMAN Password -> iamENCY3
Management Tablespace -> /u01/oradata/EMREP/mgmt.dbf
Configuration Data Tablespace -> /u01/oradata/EMREP/mgmt_ecm_depot1.dbf
JVM Diagnostics Data Tablespace ->
/u01/oradata/EMREP/mgmt_ad4j.dbf
Ø Secure Oracle Management Service
Registration Password -> iamENCY3
其它兩個選項默認都選上.
Ø Customize Ports
不做修改.
Ø Review
點擊Install開始安裝(大概3-4分鐘)
Ø Execute Configuration Scripts
先以root登陸執行提示的腳本, 然後返回該界面點擊ok.
# /u01/app/oracle/oraInventory/orainstRoot.sh
(如果該服務器第一次安裝Oracle產品則會提示執行)
# /u01/app/oracle/Middleware/oms11g/allroot.sh
執行完後/etc/oratab文件應該含以下兩行:
# more /etc/oratab
*:/u01/app/oracle/Middleware/oms11g:N
*:/u01/app/oracle/Middleware/agent11g:N
Ø Configuration Assistants
進行多項配置, 需較長時間(大概10分鐘,主要慢在Repository Configuration). 配置完後點擊"Close"退出. 安裝完後各項服務已經自動啓動.

1.3 安裝後檢查

$
more $OMS_HOME/install/setupinfo.txt           (查看安裝結束後的提示信息)
------------------------------------------------------------------
...
Use the following URL to access:
        1. Enterprise Manager GridControl URL: https://omsserver:7799/em
        2. Admin Server URL: https://omsserver:7101/console
...
------------------------------------------------------------------

$
$OMS_HOME/bin/emctl status oms                (查看OMS狀態信息)
------------------------------------------------------------------
...
WebTier is Up
Oracle Management Server is Up
------------------------------------------------------------------

$ $AGENT_HOME/bin/emctl status agent             (查看Agent狀態信息)
Oracle Enterprise Manager 11g Release 1 GridControl 11.1.0.1.0
Copyright (c) 1996, 2010 Oracle Corporation.  All rights reserved.
---------------------------------------------------------------
Agent Version     : 11.1.0.1.0
OMS Version       : 11.1.0.1.0
Protocol Version  : 11.1.0.1.0
Agent Home        : /u01/app/oracle/Middleware/agent11g
Agent binaries    : /u01/app/oracle/Middleware/agent11g
Agent Process ID  : 11707
Parent Process ID : 11677
Agent URL         : https://omsserver:3872/emd/main/
Repository URL    : https://omsserver:1159/em/upload
Started at        : 2010-05-27 17:07:20
Started by user   : oracle
Last Reload       : 2010-05-27 17:08:04
Last successful upload                       : 2010-05-27 17:09:48
Total Megabytes of XML files uploaded so far :    26.58
Number of XML files pending upload           :        0
Size of XML files pending upload(MB)         :     0.00
Available disk space on upload filesystem    :    80.08%
Last successful heartbeat to OMS             : 2010-05-27 17:10:24
---------------------------------------------------------------
Agent is Running and Ready

$ $AGENT_HOME/bin/emctl upload                 (確認EMD上傳成功)
...
EMD upload completed successfully

$ $OMS_HOME/emctl secure unlock -console         (現在默認能https訪問, 如果需要http訪問則執行本步驟)

1.4 登陸GC控制檯

根據$OMS_HOME/install/setupinfo.txt中的提示登錄. 如果在Windows裏登陸, 首先得在C:\WINDOWS\system32\drivers\etc\hosts文件裏增加服務器ip和主機名的對應關係. 進入GC控制檯後, web界面的顯示會根據瀏覽器的首選語言進行展示.
OEM GridControl 中央控制檯SSL URL: https://omsserver:7799/em (用戶名密碼sysman/iamENCY3)
OEM GridControl 中央控制檯without SSL URL: http://omsserver:7202/em (用戶名密碼sysman/iamENCY3)
Weblogic Server 管理控制檯SSL URL: https://omsserver:7101/console (用戶名密碼weblogic/iamENCY3)

1.5 OMS默認端口信息

Enterprise Manager Upload Http Port: 4889
Enterprise Manager Upload Http SSL Port: 4900
Enterprise Manager Central Console Http SSL Port: 7799
Enterprise Manager Central Console Http Port: 7202
Enterprise Manager Central Console Http Port: 7788
Node Manager Http SSL Port: 7403
Managed Server Http SSL Port: 7301
Oracle Management Agent Port: 3872
Admin Server Http SSL Port: 7101

1 安裝和配置Agent

如果要監控某臺服務器上的數據庫或應用, 需要在該服務器上安裝Agent軟件.


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 先刪除Agent

如果安裝過Agent, 則先刪除.


1) 查看agent
$ $AGENT_HOME/bin/emctl status agent

2) 停止agent
$ $AGENT_HOME/bin/emctl stop agent

3) 刪除軟件(靜默方式)
$ echo $AGENT_HOME
/u01/app/oracle/OracleHomes/agent10g
$ $AGENT_HOME/oui/bin/runInstaller -silent -deinstall -removeallfiles -removeAllPatches REMOVE_HOMES="{$AGENT_HOME}"
如果之前Oracle產品中只安裝過Agent, 則可能要加-invPtrLoc參數指定oraInst.loc的位置:
$ $AGENT_HOME/oui/bin/runInstaller -silent -deinstall -removeallfiles -removeAllPatches REMOVE_HOMES="{$AGENT_HOME}"
-invPtrLoc /u01/app/oraInventory/oraInst.loc

4) 刪除oraInventory信息
$ more /etc/oraInst.loc
inventory_loc=/u01/app/oracle/oraInventory
inst_group=oinstall
$ vi /u01/app/oracle/oraInventory/ContentsXML/inventory.xml
把<HOME_LIST>中NAME是agent10g的條目刪除, 如下:
<HOME NAME="agent10g" LOC="/u01/app/oracle/OracleHomes/agent10g" TYPE="O" IDX="2" REMOVED="T"/>

$ more /u01/app/oraInventory/oraInst.loc             (如果之前Oracle產品中只安裝過Agent, 則可能是這個文件)
inventory_loc=/u01/app/oraInventory
inst_group=oinstall
$ vi /u01/app/oraInventory/ContentsXML/inventory.xml

5) 刪除目錄OracleHomes
$ rm -rf $AGENT_HOME

1.3 安裝前工作

1) /etc/hosts文件確認
注意要有OMS Server的ip和hostname的對應關係.
# 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文件裏.

2) /etc/oratab文件確認
如果被監控端已經安裝過Oracle數據庫, 需確認在oratab文件中是否有對應ORACLE_HOME信息, 有的話安裝Agent時就會自動增加數據庫監控信息.
$ vi /etc/oratab
---------------------------------------------------------------------
...
XIYOUJI:/u01/app/oracle/product/10.2.0/db_1:Y
---------------------------------------------------------------------

3) 組和用戶(可選)

如果先前安裝過Oracle產品則無需做本步驟.

# 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                   (設置密碼)

4) 建軟件目錄(可選)

如果先前安裝過Oracle產品則無需做本步驟.

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

5) 配置oracle用戶環境
如果服務器有多網卡, 需設置ORACLE_HOSTNAME爲某網卡IP對應的主機名, 參照/etc/hosts文件.
# su - oracle
$ vi ~/.bash_profile
-----------------------------------------------------------------------------
#wangnc added
umask 022
stty erase ^?
export EDITOR=vi
export ORACLE_BASE=/u01/app/oracle
export AGENT_HOME=$ORACLE_BASE/OracleHomes/agent11g
export ORACLE_HOME=$AGENT_HOME
export PATH=.:$ORACLE_HOME/bin:$PATH
export LC_ALL="en_US"
export LANG="en_US"
-----------------------------------------------------------------------------
$ . ~/.bash_profile

1.4 安裝方法一(agentDownload靜默安裝, 推薦)

該方法適用於被監控目標和OMS Server同一操作系統平臺, 每次只能安裝一個節點
, 下面以Linux平臺爲例.

1) OMS端操作(做一次即可)
如果被監控端系統架構和OMS端一致(如都爲32bit)則無需做本步驟. 進入軟件存放目錄, 把Agent安裝文件先解壓到 $OMS_HOME/sysman/agent_download/11.1.0.1.0 目錄下.

$ ls $OMS_HOME/sysman/agent_download/11.1.0.1.0         (目前只有一個Agent版本)
agentdeployroot.sh  agent_download.rsp  linux
$ cd /u01/software/gc11g
$ unzip Linux_x86_64_Grid_Control_agent_download_11_1_0_1_0.zip -d $OMS_HOME/sysman/agent_download/11.1.0.1.0
...
replace /u01/app/oracle/Middleware/oms11g/sysman/agent_download/11.1.0.1.0/agentdeployroot.sh? [y]es, [n]o, [A]ll, [N]one, [r]ename: A
...
$ ls $OMS_HOME/sysman/agent_download/11.1.0.1.0        (現在有兩個版本)
agentdeployroot.sh  agent_download.rsp  agent_download.rsp.bak  instructions.txt  linux  linux_x64 stage

2) Agent端下載agentDownload腳本

下載方式:

wget http://<oms_host>:<oms_port>/agent_download/<version>/<platform>/agentDownload.<platform>
wget https://<oms_host>:<oms_port>/agent_download/<version>/<platform>/agentDownload.<platform> --no-check-certificate
(wget 1.10 and higher versions support the option --no-check-certificate)
(對於http方式, OMS端口號是4889; 而對於https方式, OMS端口號是4900)

舉例
:
$ mkdir -p /u01/software/gc11g && cd /u01/software/gc11g
確定操作系統平臺, i688表示爲32bit平臺, x86_64表示爲64bit平臺:
$ arch
i686
Linux 32bit 平臺:
$ wget https://omsserver:4900/agent_download/11.1.0.1.0/linux/agentDownload.linux --no-check-certificate
Linux 64bit 平臺:
$ wget https://omsserver:4900/agent_download/11.1.0.1.0/linux_x64/agentDownload.linux_x64 --no-check-certificate

3) Agent端安裝
安裝方式:
./agentDownload.<platform> -b <absolute_path_to_installation_base_directory> -m <OMS_Host> -r <OMS_port> -y
(-b是Agent安裝的BASE目錄,-m指OMS Server主機名, -r指OMS通信端口, -y表示不接受metalink安全更新)
舉例:
Linux 32bit 平臺:
$ chmod u+x agentDownload.linux
$ ./agentDownload.linux -b /u01/app/oracle/OracleHomes
-m omsserver
-r 4900 -y
Linux 64bit 平臺:
$ chmod u+x agentDownload.linux_x64
$ ./agentDownload.linux_x64 -b /u01/app/oracle/OracleHomes
-m omsserver
-r 4900 -y
...
Enter Agent Registration Password: iamENCY3
...
安裝過程大概3-4分鐘, 安裝最後會提示以root用戶執行該腳本:
# /u01/app/oracle/OracleHomes/agent11g/root.sh

安裝完Agent默認啓動後, 在GC控制檯的"目標"標籤裏就可以看到被監控的服務器了. 然後在控制檯的"目標"標籤裏就可以看到被監控的服務器了. 如果/etc/oratab裏有實例信息, 也可以看到被監控的數據庫信息, 只是要先配置一下dbsnmp用戶密碼即可(參見"配置監控數據庫"章節).

4) 如果Agent未啓動可以手工設置並啓動

$ $AGENT_HOME/bin/emctl status agent         (檢查agent狀態)
...
Last successful heartbeat to OMS             : unknown
---------------------------------------------------------------
Agent is Running and Ready
$ $AGENT_HOME/bin/emctl secure agent         (執行安全認證, 會自動停止agent)
Enter Agent Registration password : iamENCY3
$ $AGENT_HOME/bin/emctl start agent          (啓動agent)
$ $AGENT_HOME/bin/emctl status agent         (再次檢查agent狀態)
$ $AGENT_HOME/bin/emctl upload              (嘗試手工上傳xml)

1.5 安裝方法二(本地靜默安裝, 可選)

該方法適用於被監控目標和OMS Server非同一操作系統平臺, 每次只能安裝一個節點, 下面以Linux平臺爲例.


1) Agent安裝文件
$ mkdir -p /u01/software/gc11g
$ cd /u01/software/gc11g
$ unzip Linux_*Grid_Control_agent_download_11_1_0_1_0.zip

2) 安裝Agent
$ export DISTRIB=`pwd`
$ export ORACLE_BASE=/u01/app/oracle
$ cd linux*/agent
$ ./runInstaller
-silent -responseFile $DISTRIB/linux*/response/additional_agent.rsp SECURITY_UPDATES_VIA_MYORACLESUPPORT=false DECLINE_SECURITY_UPDATES=true ORACLE_AGENT_HOME_LOCATION=$ORACLE_BASE/OracleHomes
OMS_HOST=omsserver OMS_PORT=4900 AGENT_REGISTRATION_PASSWORD=iamENCY3
-invPtrLoc /etc/oraInst.loc
...
Configuration assistant "Agent Add-on Plug-in" Succeeded
安裝過程大概3-4分鐘.

如果首次在被監控端安裝Oracle產品, 那麼還需要指定oraInst.loc的存放位置, 如:
-invPtrLoc /etc/oraInst.loc

各參數含義如下:
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false 表示不需要使用MY
ORACLE
SUPPORT進行安全更新, 因爲不聯網
DECLINE_SECURITY_UPDATES=true 表示不需要安全更新, 因爲不聯網
ORACLE_AGENT_HOME_LOCATION=$ORACLE_BASE/OracleHomes/agent11g 指定Agent軟件安裝位置
OMS_HOST=omsserver 指定OMS Server的主機名
OMS_PORT=4889 指定OMS Server Upload的端口號
AGENT_REGISTRATION_PASSWORD=iamENCY3 指定連接OMS Server的安全密碼

安裝完後Agent服務應自動啓動, 如果沒有起來就手工啓動即可, 然後在GC控制檯的"目標"標籤裏就可以看到被監控的服務器了.
如果/etc/oratab裏有實例信息, 也可以看到被監控的數據庫信息, 只是要先配置一下dbsnmp用戶密碼即可(參見"配置監控數據庫"章節).

3) 安裝後工作

查看Agent能否ping通OMS:
$ $AGENT_HOME/bin/emctl pingOMS
查看Agent狀態信息:
$ $AGENT_HOME/bin/emctl status agent
確認EMD上傳成功:
$ $AGENT_HOME/bin/emctl upload
使用root用戶執行root.sh:
# export AGENT_HOME=/u01/app/oracle/OracleHomes/agent11g
# $AGENT_HOME/root.sh

1.6 安裝方法三(Agent部署嚮導批量安裝, 可選)

該方法適合批量部署安裝多個同平臺的服務器, 且要求各服務器的安裝用戶名和密碼都一樣.


1) OMS端操作(做一次即可)
進入軟件存放目錄, 把Agent安裝文件先解壓到$OMS_HOME/sysman/agent_download/11.1.0.1.0目錄下.
$ cd /u01/software/gc11g
$ unzip Linux*_Grid_Control_agent_download_11_1_0_1_0.zip -d $OMS_HOME/sysman/agent_download/11.1.0.1.0

2) GC控制檯操作
然後進入GC控制檯, 選擇"部署", 單擊代理安裝欄裏的"安裝代理", 然後選擇"新安裝"或"克隆代理", 在後續的頁面裏, 根據提示, 選擇合適的平臺, 輸入目標服務器的主機名列表,登陸的用戶名和密碼,安裝基目錄(如/u01/app/oracle/OracleHomes),OMS註冊口令等信息後, 開始安裝.

還未有成功安裝過.

1.7 配置監控數據庫

前提是已經安裝好了Agent, 並確保其運行正常.

1) 首先對目標庫DBSNMP用戶解鎖, 如果需要可以修改密碼;
SQL> select password,account_status from dba_users where username = 'DBSNMP';
SQL> alter user DBSNMP identified by "iamENCY3" account unlock;

2) 確保目標庫$ORACLE_HOME/dbs目錄下hc_$ORACLE_SID.dat文件存在且只有一個, 注意區分大小寫.
$ ls $ORACLE_HOME/dbs/hc*
/u01/app/oracle/product/11.2.0/db_1/dbs/hc_EMREP.dat

3) 然後進入GC控制檯, 選擇"目標", 選擇"數據庫", 單擊"添加", 選擇某個服務器, 如果自動尋找不到數據庫, 則點擊"手工添加", 輸入實例名/Oracle Home/dbsnmp用戶口令/端口1521/sid等信息後點擊"測試連接", 如果提示"連接測試成功"則點擊"下一步"並點擊兩次"確定", 這樣就加入了新的被監控數據庫. 現在就可以看到監聽信息和目標庫信息了. 點擊"測試連接"的時候可能會提示 "Got minus one from a read call ..." 錯誤, 請確認被監控端的sqlnet.ora是否做了IP限制, 如果有則修改配置並重載監聽(lsnrctl reload)即可.

4) 如果在控制檯頁面一直無法手工加數據庫目標, 或者默認自動增加的數據庫信息需要修改, 則手工編輯targets.xml文件, 增加或修改監聽oracle_listener和數據庫實例oracle_database兩種類型(NAME參數內容需根據實際情況更改).
$ vi $AGENT_HOME/sysman/emd/targets.xml
----------------------------------------------------------------------------------------------
<Targets AGENT_TOKEN="587499fc9742f759cf3ca15fc5103b40ce0e35d6">
        <Target TYPE="oracle_emd" NAME="db:3872"/>
        <Target TYPE="host" NAME="db"/>
        <Target TYPE="oracle_listener" NAME="LISTENER_db_175">
                <Property NAME="ListenerOraDir" VALUE="/u01/app/oracle/product/10.2.0/db_1/network/admin"/>
                <Property NAME="LsnrName" VALUE="LISTENER"/>
                <Property NAME="Machine" VALUE="db"/>
                <Property NAME="OracleHome" VALUE="/u01/app/oracle/product/10.2.0/db_1"/>
                <Property NAME="Port" VALUE="1521"/>
        </Target>
        <Target TYPE="oracle_database" NAME="YITIAN_db_175">
                <Property NAME="OracleHome" VALUE="/u01/app/oracle/product/10.2.0/db_1"/>
                <Property NAME="UserName" VALUE="dbsnmp"/>
                <Property NAME="MachineName" VALUE="db"/>
                <Property NAME="Port" VALUE="1521"/>
                <Property NAME="SID" VALUE="YITIAN"/>
                <Property NAME="ServiceName" VALUE="YITIAN.LK"/>
                <Property NAME="password" VALUE="1211644f40050711" ENCRYPTED="TRUE"/>
                <Property NAME="Role" VALUE="NORMAL"/>
        </Target>
</Targets>
----------------------------------------------------------------------------------------------
然後重載配置文件:
$ $AGENT_HOME/bin/emctl reload agent
此時到GC控制檯則可以看到剛剛配置的數據庫目標信息,只是dbsnmp密碼會根據實際要求重新配置一遍. 如果是修改信息, 那麼還需要在控制檯頁面裏把舊的配置刪除.

1.8 安裝 YAST

要通過Enterprise Manager管理服務器, 必須以root用戶安裝yast腳本.


1) 下載地址
yast安裝文件:http://oss.oracle.com/projects/yast/
其它可能缺失的依賴包:
ftp://ftp.pbone.net/mirror/atrpms.net/el4-i386/atrpms/stable/
ftp://ftp.pbone.net/mirror/ftp.pramberger.at/systems/linux/contrib/rhel4/i386/

2) 安裝yast
# cat /etc/issue | head -1 && arch        (確認操作系統平臺和架構)
Red Hat Enterprise Linux AS release 4 (Nahant Update 5)
i686
# mkdir -p /u01/software/linux && cd /u01/software/linux
# tar xvf yast_el*_x86_*.tar && cd yast_el*_x86_*
# ./install.sh
...
The following requirements aren't found.
alsa-lib alsa-utils perl-Digest-SHA1
...
如果提示缺失包, 如上面提示缺失palsa-utils和erl-Digest-SHA1, 那麼需先安它們, 具體安裝包和平臺有關, 從網上下載即可, 安裝過程如下:
# cd /u01/software/linux
# rpm -ivh alsa-lib-1.0.6-5.RHEL4.i386.rpm
# rpm -ivh alsa-utils-1.0.13-22.el4.at.i386.rpm
# rpm -ivh perl-Digest-SHA1-*.rpm

3) 測試和刪除(可選)
# /sbin/yast       (字符界面)
# /sbin/yast2      (圖形界面, 如下圖示)
# ./uninstall.sh   (刪除)

4) GC控制檯現可監控服務器了
進入GC控制檯, 選擇"目標" - 選擇具體的"主機" - "管理", 就可以看到系統服務/網絡/設置等服務器管理信息了.

1 日常維護

1.1 GC進程管理

1) 啓動OEM GC服務
$ $OMS_HOME/bin/emctl start oms -all
$ ps -ef | grep "opmn -d" | grep -v grep

2) 停止OEM GC服務
$ $OMS_HOME/bin/emctl stop oms -all

1.2 Agent進程管理

--Stop the Management Agent
$ $AGENT_HOME/bin/emctl stop agent

--Start the Management Agent
$ $AGENT_HOME/bin/emctl start agent

--查看Agent能否ping通OMS
$ $AGENT_HOME/bin/emctl pingOMS

--View status
$ $AGENT_HOME/bin/emctl status agent

1.3 Agent自動發現新監控目標

Agent安裝時會自動發現被監控目標, 但如果Agent安裝後又新裝了Oracle產品, 那麼使用如下命令自動發現監控目標:
$ $AGENT_HOME/bin/agentca -d [ -t -i <absolute_path_to_oraInst.loc_file>]

1.4 Agent重新配置

如果之前裝過, 但OMS Server換了(比如換機器了或者重裝了等等)那麼參照以下步驟Agent重新配置即可:

1) 停止Agent
$ $AGENT_HOME/bin/emctl stop agent

2) 在GC控制檯裏把其代理信息刪除
即刪除hostname:3872條目.

3) 更改emd.properties
$ vi $AGENT_HOME/sysman/config/emd.properties
...
REPOSITORY_URL=https://omsserver:4900/em/upload
...
agentTZRegion=PRC
...
其中REPOSITORY_URL如果忘記了就是參考OMS所在機器上的AGENT(默 認的OMS Server也安裝了AGENT: $AGENT_HOME/bin/emctl status agent), 然後找到Repository URL這一項就是; 另外agentTZRegion要求存在於$AGENT_HOME/sysman/admin/nsuppertedtzs.lst中.

4) 清除之前信息
$ rm -rf $AGENT_HOME/sysman/emd/state/*
rm -rf $AGENT_HOME/sysman/emd/collection/*
rm -rf $AGENT_HOME/sysman/emd/upload/*
rm -rf $AGENT_HOME/sysman/log/*
$ rm -f $AGENT_HOME/sysman/emd/lastupld.xml
rm -f $AGENT_HOME/sysman/emd/agntstmp.txt
rm -f $AGENT_HOME/sysman/emd/blackouts.xml
rm -f $AGENT_HOME/sysman/emd/protocol.ini
$ $AGENT_HOME/bin/emctl clearstate agent

5) 安全配置並啓動
$ $AGENT_HOME/bin/emctl secure agent
...
Enter Agent Registration Password: iamENCY3
...
$ $AGENT_HOME/bin/emctl start agent

6) 上傳到OMS
$ $AGENT_HOME/bin/emctl upload
$ $AGENT_HOME/bin/emctl status agent

1.5 如何監控Dataguard

如果想把現有備庫納入管理, 那麼需如下操作.


1) 確保備機/etc/oratab文件中含有指定的備庫信息
$ vi /etc/oratab
ESSTD:/u01/app/oracle/product/10.2.0/db_1:Y

2) 備機Agent自動發現新監控目標
$ $AGENT_HOME/bin/agentca -d

3) 備機確保新監控目標已經被加入, 如果還需修改內容, 別忘了重載Agent
$ vi $AGENT_HOME/sysman/emd/targets.xml
$ $AGENT_HOME/bin/emctl reload agent

4) 備庫修改local_listener參數(可選)
如果備庫使用非默認的監聽端口1521, 則需設置local_listener參數.
$ lsnrctl status LISTENER2
...
Listening Endpoints Summary...

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=dataguard2)(PORT=1522)))
Services Summary...
Service "WDSTD2.LK" has 1 instance(s).
  Instance "WDSTD2", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
$ sqlplus / as sysdba
SQL> alter system set local_listener='(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dataguard2)(PORT=1522)))' scope=both;
SQL> exit;
$ lsnrctl status LISTENER2
...
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=dataguard2)(PORT=1522)))
Services Summary...
Service "WDSTD2.LK" has 2 instance(s).
  Instance "WDSTD2", status UNKNOWN, has 1 handler(s) for this service...
  Instance "WDSTD2", status READY, has 1 handler(s) for this service...
Service "WDSTD2_XPT.LK" has 1 instance(s).
  Instance "WDSTD2", status READY, has 1 handler(s) for this service...
The command completed successfully

5) 登陸GC控制檯操作
進入" 目標" - 選擇一臺主"數據庫" - "可用性" - "添加備用數據庫" - 以sysdba權限用戶登陸主庫 - 使用DataGuard中介管理現有備用數據庫 - 選擇一臺現有備用數據庫 - 以sysdba權限用戶登陸備庫 - 確定備庫歸檔位置 - 點擊"完成"開始設置. 設置後會自動更新主備庫相關參數設置, 如dg_broker_*/log_archive_*/standby_*等等.

1 FAQ

1.1
Agent查找目標流程

Agent安裝配置時通過執行$AGENT_HOME/sysman/admin/discover/discover.lst裏列出的perl腳本去查找被監控目標, 然後置入$AGENT_HOME/sysman/emd/targets.xml裏, 這樣在Grid控制檯裏就可以看到被監控目標了.

1) 主機
即Agent運行所在服務器. Targets.xml裏配置如下:
<Target TYPE="host" NAME="name" TYPE_DISPLAY_NAME="Host" VERSION="version" GUID="guid"/>

2) 監聽
查找$TNS_ADMIN和$ORACLE_HOME/network/admin裏的listener.ora文件, 獲得監聽名. Targets.xml裏配置如下:
<Target>
<Target TYPE="oracle_listener” NAME=”name_hostName”>
<Property NAME="ListenerOraDir" VALUE="$oraDir" />
<Property NAME="LsnrName" VALUE="$name"/>
<Property NAME="Machine" VALUE="$hostName" />
<Property NAME="OracleHome" VALUE="$oHome" />
<Property NAME="Port" VALUE="$port" />
</Target>

3) 數據庫實例
從/etc/oratab裏獲得各SID和$ORACLE_HOME, 然後從$TNS_ADMIN和$ORACLE_HOME/network/admin裏的listener.ora文件獲得監聽列表和端口號, 然後從$ORACLE_HOME/dbs/init<sid>.ora 裏獲得實例名(注意如果實例用的是spfile則必須先生成該pfile, 這個會自動生成). 被查找到的目標會設置成db_name.db_domain或sp_name.db_domain(Dataguard情況)格式的名字, 如果名字不唯一則會加入版本號. 如果無法讀取spfile, 目標會設置成<sid>_<hostname>格式的名字, service_name參數會置空且默認分配1521端口號. Targets.xml裏配置如下:
<Target>
<Target TYPE="oracle_database" NAME="name" TYPE_DISPLAY_NAME="Database" VERSION="version" GUID="guid">
<Property NAME="MachineName" VALUE="node database runs on" />
<Property NAME="Port" VALUE="listener port for this database" />
<Property NAME="SID" VALUE="identifier of this database" />
<Property NAME="OracleHome" VALUE="location Oracle software" />
<Property NAME="UserName" VALUE="database user for monitoring" ENCRYPTED="TRUE" />
<Property NAME="password" VALUE="password of the db user doing the monitoring" ENCRYPTED="TRUE" />
</Target>

1.2 資料庫部分表說明

以sysman用戶登陸資料庫.
MGMT_TARGETS: 目前在GC中能看到的target都在此表中, 刪除了的對象不在此
MGMT_TARGETS_DELETE: 記錄執行過刪除操作的target, 如果delete_complete_time爲空, 則有可能刪除操作正在進行中
MGMT_TARGET_DELETE_EXCEPTIONS: 記錄了刪除失敗所有可能涉及到的表名

1.3 OMS version not checked yet..

當 $AGENT_HOME/bin/emctl upload agent 時出現錯誤提示"
EMD upload error: uploadXMLFiles skipped :: OMS version not checked yet..". 參考Metalink Doc: 330932.1
解決辦法: 參照<Agent重新配置>小節.

1.4 ERROR: NMO not setuid-root (Unix-only)

在GC Console裏登陸服務器時提示 "以用戶oracle 的身份連接服務器db失敗. ERROR: NMO not setuid-root (Unix-only)", 是由於$AGENT_HOME/root.sh未執行造成.


未執行前:
# cd /u01/app/oracle/OracleHomes/agent11g/bin/
# ll nmo nmb nmhs
-rwxrwxr-x  1 root oinstall 25205 Mar 30 13:22 nmb
-rwxrwxr-x  1 root oinstall 25205 Mar 30 13:22 nmhs
-rwxrwxr-x  1 root oinstall 25205 Mar 30 13:22 nmo

執行root.sh:
# /u01/app/oracle/OracleHomes/agent11g/root.sh

執行後:
# cd /u01/app/oracle/OracleHomes/agent11g/bin/
# ll nmo nmb nmhs
-rwsr-s---  1 root oinstall 18732 Mar 30 13:22 nmb
-rwsr-x---  1 root oinstall 45995 Mar 30 13:22 nmhs
-rwsr-s---  1 root oinstall 25205 Mar 30 13:22 nmo

現在應該可以登陸了.

參考至:http://www.itpub.net/forum.php?mod=viewthread&action=printable&tid=1313758

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章