`

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

如有错误,欢迎指正

邮箱:czmcj@163.com

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics