Install And Configure Oracle Em Agent Cn

Jason found a document about Oracle EM. It's really excellent document. I have no time to try it, so add it to my collection first. :)

Oracle Grid Control 10.2.0.5 for Linux 安装和配置指南
http://space.itpub.net/9466564/viewspace-609644

OEM Grid Control 10.2.0.5 已经发布一个多月, 安装并运行一个月后, 无论是安装还是配置感觉要比 10.2.0.4 稳定的多, 不会出那么多问题, 强烈建议安装.
另外10.2.0.5是补丁包, 一般安装好10.2.0.1后进行升级.

目 录

1 概述 1
2 安装前工作 2
2.1 软件下载 2
2.2 /etc/hosts文件确认 2
2.3 配置内核参数 2
2.4 建组和用户 3
2.5 建软件目录 3
2.6 配置oracle用户环境 3
3 安装10.2.0.1 3
3.1 解压安装文件 3
3.2 开始安装 4
4 升级10.2.0.5 5
4.1 升级前工作 5
4.2 解压补丁包 5
4.3 升级OMS和资料库 5
4.4 升级Agent 6
5 GC使用 7
5.1 GC各组件端口 7
5.2 登陆GC控制台 7
6 安装Agent 8
6.1 先删除Agent 8
6.2 安装方法一(本地安装) 9
6.3 安装方法二(远程安装) 10
6.4 安装方法三(页面部署) 11
6.5 配置监控数据库 11
7 日常维护 13
7.1 起停GC全部进程 13
7.2 OMS进程管理 13
7.3 Agent进程管理 13
7.4 删除GC 14
8 FAQ 15
8.1 Agent查找目标流程 15

概述
Grid Control的组件包括Management Agent, Management Service (OMS), Management Repository. 系统架构如下:

Grid Control的原理和工作方式:
agent端的数据收集全部通过perl脚本来完成. 扩展名为*.pl,这些脚本可以在 $AGENT_HOME/sysman/admin/scripts/ 下找到. agent程序首先会把采集到的信息写到本地的xml文件当中, 生成的文件可以在 $AGENT_HOME/sysman/admin/upload 下找到. 然后再将该文件upload到oms端去, oms service再将xml文件写入到oms自己的repository库里.

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来使之生效.

在各目标主机的访问上采用的是ssh方式访问, 所以在Grid Control体系中, 主机启用ssh是必须的.
提示: #后跟命令表示以root用户操作, $后跟命令表示以oracle用户操作.

安装前工作
软件下载
GC下载地址: [url]http://www.oracle.com/technology/software/products/oem/htdocs/linuxsoft.html[/url]
安装文件3个: Oracle Enterprise Manager 10g Grid Control Release 2 (10.2.0.1) for Linux x86
Linux_Grid_Control_full_102010_disk1.zip
Linux_Grid_Control_full_102010_disk2.zip
Linux_Grid_Control_full_102010_disk3.zip
PatchSet包1个: Oracle Enterprise Manager 10g Grid Control Release 5 (10.2.0.5) for Linux x86
gc_10205_part2of2.zip

Agent下载地址: [url]http://www.oracle.com/technology/software/products/oem/htdocs/agentsoft.html[/url]
下载各平台下的Agent软件, 如Linux X86下的代理软件是Linux_Grid_Control_agent_download_10_2_0_5_0.zip. 对于同一个平台的agent软件已经包含在GC安装包里了, 对于其它平台则 需要下载安装适合该平台的agent软件.

/etc/hosts文件确认
$ more /etc/hosts
#<IP-address> <fully-qualified-machine-name> <machine-name>
127.0.0.1 localhost.localdomain localhost
xxx.xxx.xxx.170 dbaone

配置内核参数

  1. vi /etc/sysctl.conf

kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
rmem_default = 262144
rmem_max = 262144
wmem_default = 262144
wmem_max = 262144

  1. /sbin/sysctl -p (修改以后让参数生效)
  2. vi /etc/selinux/config (把SELINUX置为disabled)

SELINUX=disabled

建组和用户

  1. more /etc/oraInst.loc (查看产品清单组oinstall是否存在)
  2. more /etc/oratab (如果曾经安装过oracle相关软件则会存在该文件)
  3. /usr/sbin/groupadd oinstall (如果oinstall组不存在则新建)
  4. /usr/sbin/groupadd dba (如果dba组不存在则新建, 该组拥有SYSDBA权限)
  5. useradd -g oinstall -G dba oracle -d /orahome (如果用户不存在则新建)
  6. passwd oracle (设置密码)

建软件目录
如果Oracle Base目录不存在则建立:

  1. mkdir -p /u01/app/oracle
  2. chown -R oracle:oinstall /u01/app/oracle
  3. chmod -R 775 /u01/app/oracle

配置oracle用户环境
注意要把NLS_LANG设置成中文环境, 否则以后登陆Grid控制台中文会有部分乱码.

  1. su - oracle

$ vi ~/.bash_profile
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/OracleHomes/db10g
export OMS_HOME=$ORACLE_BASE/OracleHomes/oms10g
export AGENT_HOME=$ORACLE_BASE/OracleHomes/agent10g
export ORACLE_SID=emrep
export ORACLE_HOSTNAME=dbaone
export ORACLE_OWNER=oracle
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/X11R6/lib:$LD_LIBRARY_PATH
export PATH=.:/usr/sbin:$ORACLE_HOME/bin:$ORACLE_HOME/jdk/bin:$PATH
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$CLASSPATH
export LC=en_US

安装10.2.0.1
解压安装文件
$ cd /orahome/wangnc
$ unzip Linux_Grid_Control_full_102010_disk1.zip
$ unzip Linux_Grid_Control_full_102010_disk2.zip
$ unzip Linux_Grid_Control_full_102010_disk3.zip

开始安装
$ ./runInstaller
此时可以到 $ORACLE_BASE/oraInventory/logs 下查看最新安装日志文件installActionsxxx.log, 了解安装进度. 安装步骤如下:

Specify Installation Type: Enterprise Manager 10g Grid Control Using a New Database

Installation Location: $ORACLE_BASE/OracleHomes

Language Selection: 把Simplified Chinese也选上,否则默认只是英语,这里指GC的语言不是软件本身.

Specify Inventory Directory and Credentials: oraInventory directory -> $ORACLE_BASE/oraInventory, Operating System group name -> oinstall

Product-Specific Prerequisite Checks: 安装前检查过程, 进入下一步

Specify Configuration: Database Name -> emrep; Database File Location -> $ORACLE_BASE/oradata, OSDBA and OSOPER group -> dba

Specify Optional Configuration: disabled by default

8) Specify Security Options: Secure Management Server Password -> iamENCY000; Repository Database Passwords -> iamENCY000
设置密码要求: 5-30个字符长, 不能同于用户名, 必需包含大小写字母和数字, 必须以字母开头, 不能含有oracle保留字, oracle这里本身的密码提示不完全正确.

Summary: 点击install开始安装(大概2-3分钟)

10) Execute Configuration Scripts: 先以root登陆执行提示的脚本, 然后返回该界面点击ok.

  1. /u01/app/oracle/oraInventory/orainstRoot.sh
  2. /u01/app/oracle/OracleHomes/db10g/allroot.sh (一直敲回车即可)

执行完后/etc/oratab文件应该含以下两行:
*:/u01/app/oracle/OracleHomes/db10g:N
*:/u01/app/oracle/OracleHomes/oms10g:N

Configuration Assistants: 进行多项配置, 需较长时间(大概10分钟,主要慢在OMS Configuration和Agent Configuration这两步).
此时可以到 $OMS_HOME/sysman/log 或 $AGENT_HOME/sysman/log 下了解各个组件安装细节及其错误信息. 安装完后各项服务已经自动启动.

升级10.2.0.5
升级前工作
—先停止所有GC进程
$ $OMS_HOME/bin/emctl stop oms
$ $OMS_HOME/opmn/bin/opmnctl stopall
$ ps -ef | grep "opmn -d" | grep -v grep (确定进程没了,可能得几分钟)
$ $AGENT_HOME/bin/emctl stop agent

—备份资料库
$ sqlplus / as sysdba
SQL> shutdown immediate;
SQL> exit;
$ cd $ORACLE_BASE/oradata/
$ tar -zcvf emrep.tar.gz ./emrep
$ sqlplus / as sysdba
SQL> startup;

—检验资料库
$ cd $OMS_HOME/sysman/admin/emdrep/sql/core/latest/admin/
$ sqlplus / as sysdba
SQL> select object_name, object_type from all_objects where wner='SYSMAN' and status <> 'VALID';
SQL> @admin_recompile_invalid.sql SYSMAN (如果有无效对象则执行)
SQL> show parameter job_queue_processes;
SQL> ALTER SYSTEM SET job_queue_processes=0; (如果该参数不为0则修改为0)
SQL> exit;

解压补丁包
$ cd /orahome/wangnc
$ unzip gc_10205_part2of2.zip
解压后有以下文件:
p3731593_10205_LINUX.zip 是Grid Control 10.2.0.5补丁包, 包括资料库/OMS/Agent的补丁文件

升级OMS和资料库
$ cd /orahome/wangnc
$ unzip p3731593_10205_LINUX.zip
$ cd 3731593/Disk1
$ export ORACLE_HOME=$ORACLE_BASE/OracleHomes/oms10g
$ ./runInstaller

刚进去默认是新的OracleHome, 在名称里选择原先的oms10g进行升级, 此时资料库和监听是开启的. 升级步骤如下:

提示输入Metalink用户和密码: 忽略不写

Product-Specific Prerequisite Checks: 安装前检查过程

prompts for the SYS password of the repository database: iamENCY000

prompts for the ias_admin password of AS: 同sysman密码iamENCY000

提示会中断AS, 按OK继续

Summary: 按Install开始安装OMS各组件

7) 以root用户执行如下脚本

  1. /u01/app/oracle/OracleHomes/oms10g/root.sh

Configuration Assistants: 开始升级资料库和配置OMS各组件(大概12分钟).

此时可以到 $ORACLE_BASE/oraInventory/logs 下查看最新安装日志文件 installActionsxxx.log 了解安装进度. 到 $OMS_HOME/sysman/log 下了解安装细节及其错误信息. 升级完后OMS各服务已经自动启动.

升级Agent
$ export ORACLE_HOME=$ORACLE_BASE/OracleHomes/agent10g
$ ./runInstaller

刚进去默认是新的 OracleHome, 在名称里选择原先的agent10g进行升级. 升级步骤如下:

提示输入Metalink用户和密码: 忽略不写

Product-Specific Prerequisite Checks: 安装前检查过程

Summary: 按Install开始安装Agent组件

4) 以root用户执行如下脚本

  1. /u01/app/oracle/OracleHomes/agent10g/root.sh

此时可以到 $ORACLE_BASE/oraInventory/logs 下查看最新安装日志文件 installActionsxxx.log 了解安装进度. 到 $AGENT_HOME/sysman/log 下了解安装细节及其错误信息. 升级完后Agent服务已经自动启动.

GC使用
GC各组件端口
端口信息可参考安装后的如下文件:
$OMS_HOME/install/setupinfo.txt 含有安装结束后的提示信息.
$OMS_HOME/install/portlist.ini 含有各种端口信息.
$AGENT_HOME/sysman/setupinfo.txt 含有GC登陆信息.

默认端口信息如下($OMS_HOME/install/portlist.ini):
Oracle HTTP Server port = 7777
Oracle HTTP Server Listen port = 7778
Oracle HTTP Server SSL port = 8250
Oracle HTTP Server Listen (SSL) port = 4444
Oracle Notification Server Request port = 6003
Oracle Notification Server Local port = 6102
Oracle Notification Server Remote port = 6201
ASG port = 7890
Oracle HTTP Server Diagnostic port = 7200
Application Server Control RMI port = 1850
Log Loader port = 44000
Java Object Cache port = 7000
DCM Discovery port = 7100
Oracle Management Agent Port = 1157
Application Server Control port = 1156
Web Cache HTTP Listen port = 7777
Web Cache HTTP Listen (SSL) port = 8250
Web Cache Administration port = 9400
Web Cache Invalidation port = 9401
Web Cache Statistics port = 9402
Enterprise Manager Central Console Port = 4889
Enterprise Manager Central Console Secure Port = 1159

登陆GC控制台
GC Console URL:
http://<oms_hostname>.<domain>:<port>/emhttps://<oms_hostname>.<domain>:<port>/em

比如本例登陆URL就是: http://dbaone:4889/em
用户名密码sysman/iamENCY000, 进入GC后, web界面的显示会根据浏览器的首选语言展示.
如果在Windows里登陆, 记得在 C:\WINDOWS\system32\drivers\etc\hosts 文件里增加服务器ip和主机名的对应关系.

登陆后首页如下(默认有个未知的目标叫generic_mom_managed_host, 是Microsoft Operations Management的配置, 如果不需要可以删除):

安装Agent
如果要监控某台服务器上的数据库或应用, 需要在该服务器上安装Agent软件.

先删除Agent
查看agent:
$ $AGENT_HOME/bin/emctl status agent

停止agent:
$ $AGENT_HOME/bin/emctl stop agent

删除软件(静默方式):
$ $AGENT_HOME/oui/bin/runInstaller -silent -deinstall -removeallfiles -removeAllPatches REMOVE_HOMES="{/u01/app/oracle/OracleHomes/agent10g}"

删除oraInventory信息:
$ more /etc/oraInst.loc
inventory_loc=/u01/app/oraInventory
inst_group=oinstall
$ cd /u01/app/oraInventory/ContentsXML
$ vi inventory.Xml (把<HOME_LIST>中NAME是agent10g的条目删除)
<HOME NAME="agent10g" LOC="/u01/app/oracle/OracleHomes/agent10g" TYPE="O" IDX="2" REMOVED="T"/>

删除目录OracleHomes:
$ rm -rf $ORACLE_BASE/OracleHomes

安装方法一(本地安装)
该方法适用于被监控目标和OMS主机非同一操作系统平台, 下面还是以Linux平台为例.

$ more /etc/oratab (应该要有被监控数据库实例信息)
WENDING:/u01/app/oracle/product/10.2.0/db_1:N

$ more /etc/hosts (应该要有OMS主机和ip的对应关系)
127.0.0.1 localhost.localdomain localhost
xxx.xxx.xxx.170 dbaone
xxx.xxx.xxx.171 dbatwo
$ echo $PATH (确保$ORACLE_HOME/jdk/bin放入PATH中, 因为要用到jar命令)
$ cd /orahome/wangnc
$ unzip Linux_Grid_Control_agent_download_10_2_0_5_0.zip
$ cd /orahome/wangnc/linux/agent
$ export ORACLE_HOME=$ORACLE_BASE/OracleHomes/agent10g
$ ./runInstaller

安装步骤如下:
Installation Location: $ORACLE_BASE/OracleHomes

Language Selection: 把Simplified Chinese也选上,否则默认只是英语,这里指GC的语言不是软件本身.

提示输入Metalink用户和密码: 忽略不写

Product-Specific Prerequisite Checks: 下一步

Specify Oracle Management Service Location: host name -> dbaone, port -> 4889

Specify Agent Registration Password: iamENCY000

Summary: 开始安装

8) 以root用户执行如下脚本

  1. /u01/app/oracle/OracleHomes/agent10g/root.sh (一直敲回车即可)

Configuration Assistants: 自动配置后完成安装.

此时可以到 $AGENT_HOME/sysman/log 下了解安装细节及其错误信息, 安装完后agent服务应自动启动, 如果没有起来就手工启动即可, 然后在GC控制台的"目标"标签里就可以看到被监控的主机了.如果/etc/oratab里有实例信息, 也可以看到被监控的数据库信息, 只是要先配置一下dbsnmp用户密码即可(参见"配置监控数据库"章节).

查看Agent状态信息:
$ $AGENT_HOME/bin/emctl status agent

安装方法二(远程安装)
该方法适用于被监控目标和OMS主机同一操作系统平台, 下面还是以Linux平台为例.

OMS主机(做一次即可):
进入软件存放目录, 把10.2.0.5版本文件先解压到 $OMS_HOME/sysman/agent_download/10.2.0.5.0 目录下.
$ cd /orahome/wangnc
$ unzip Linux_Grid_Control_agent_download_10_2_0_5_0.zip -d $OMS_HOME/sysman/agent_download/10.2.0.5.0

Agent主机:
$ more /etc/oratab (应该要有被监控数据库实例信息)
WENDING:/u01/app/oracle/product/10.2.0/db_1:N
$ more /etc/hosts (应该要有OMS主机和ip的对应关系)
127.0.0.1 localhost.localdomain localhost
xxx.xxx.xxx.170 dbaone
xxx.xxx.xxx.171 dbatwo
$ echo $PATH (确保$ORACLE_HOME/jdk/bin放入PATH中, 因为要用到jar命令)
$ cd /orahome/wangnc
$ wget http://dbaone:4889/agent_download/10.2.0.5.0/linux/agentDownload.linux
$ chmod u+x agentDownload.linux
$ export ORACLE_HOME=$ORACLE_BASE/OracleHomes/agent10g
$ ./agentDownload.linux -b /u01/app/oracle/OracleHomes -m dbaone -r 4889
(-b是agent安装的BASE目录,-m指OMS主机名, -r指OMS通信端口)

Enter Agent Registration Password: <输入OMS安全密码iamENCY000>

此时可到 $AGENT_HOME/sysman/log 下查看安装日志.

安装期间会提示以root用户执行该脚本, 一直回车即可:

  1. /u01/app/oracle/OracleHomes/agent10g/root.sh

安装完Agent默认启动后, 在GC控制台的"目标"标签里就可以看到被监控的主机了. 然后在Grid Control控制台的"目标"标签里就可以看到被监控的主机了. 如果/etc/oratab里有实例信息, 也可以看到被监控的数据库信息, 只是要先配置一下dbsnmp用户密码即可(参见"配置监控数据库"章节).

如果未启动可以手工设置并启动:
$ $AGENT_HOME/bin/emctl secure agent (执行安全认证)
Enter Agent Registration password : <输入OMS安全密码iamENCY000>
$ $AGENT_HOME/bin/emctl start agent (启动agent)
$ $AGENT_HOME/bin/emctl status agent (检查agent状态)
$ $AGENT_HOME/bin/emctl upload (尝试手工上传xml)

安装方法三(页面部署)
该方法适合批量部署安装多个主机, 但要求各主机的安装用户名和密码都一样.

OMS主机(做一次即可):
进入软件存放目录, 把10.2.0.5版本文件先解压到 $OMS_HOME/sysman/agent_download/10.2.0.5.0 目录下.
$ cd /orahome/wangnc
$ unzip Linux_Grid_Control_agent_download_10_2_0_5_0.zip -d $OMS_HOME/sysman/agent_download/10.2.0.5.0

然后进入GC控制台, 选择"部署", 单击代理安装栏里的"安装代理", 然后选择"新安装"或"克隆代理", 在后续的页面里, 根据提示, 输入目标主机登陆的用户名密码等信息后, 开始安装.

配置监控数据库
1) 首先对目标库DBSNMP用户解锁, 如果需要可以修改密码;
SQL> select password,account_status from dba_users where username = 'DBSNMP';
SQL> alter user DBSNMP identified by "iamENCY000" account unlock;

确保目标库 $ORACLE_HOME/dbs目录下 hc_$ORACLE_SID.dat 文件存在且只有一个, 注意区分大小写.

3) 然后进入GC控制台, 选择"目标", 选择"数据库", 单击"添加", 选择某个主机, 如果自动寻找不到数据库, 则点击"手工添加", 输入实例名/Oracle Home/dbsnmp用户口令/端口1521/sid等信息后点击"测试连接", 如果提示"连接测试成功"则点击"下一步"并点击两次"确定", 这样就加入了新的被监控数据库. 现在应该就可以看到目标库的完整显示信息了.

4) 如果在控制台页面一直无法手工加数据库目标, 或者默认自动增加的数据库信息需要修改, 则手工编辑targets.xml文件, 增加或修改监听oracle_listener和数据库实例oracle_database两种类型(NAME参数内容需根据实际情况更改).
$ vi $AGENT_HOME/sysman/emd/targets.xml
<Targets AGENT_TOKEN="23ac7375a26b142e008c18121ef19afebe5096e6">
<Target TYPE="oracle_emd" NAME="game:3872"/>
<Target TYPE="host" NAME="game"/>
<Target TYPE="oracle_listener" NAME="lsnr_171_listener">
<Property NAME="ListenerOraDir" VALUE="/u01/app/oracle/product/10.2.0/db_1/network/admin"/>
<Property NAME="LsnrName" VALUE="LISTENER"/>
<Property NAME="Machine" VALUE="game"/>
<Property NAME="OracleHome" VALUE="/u01/app/oracle/product/10.2.0/db_1"/>
<Property NAME="Port" VALUE="1521"/>
</Target>
<Target TYPE="oracle_database" NAME="db_171_WENDING">
<Property NAME="OracleHome" VALUE="/u01/app/oracle/product/10.2.0/db_1"/>
<Property NAME="UserName" VALUE="dbsnmp"/>
<Property NAME="MachineName" VALUE="game"/>
<Property NAME="Port" VALUE="1521"/>
<Property NAME="SID" VALUE="WENDING"/>
<Property NAME="ServiceName" VALUE="WENDING.LK"/>
<Property NAME="password" VALUE="6bea6440ffec0f38cea99c413c363a975423987053f4f0b3ae0a7e0807380071" ENCRYPTED="TRUE"/>
<Property NAME="Role" VALUE="NORMAL"/>
</Target>
</Targets>

5) 最后重载配置文件:
$ $AGENT_HOME/bin/emctl reload agent
此时到Grid Control控制台则可以看到刚刚配置的数据库目标信息,只是dbsnmp密码会根据实际要求重新配置一遍. 如果是修改信息, 那么还可能需要在控制台页面里把旧的配置删除.

日常维护
起停GC全部进程
—Stop everything, including AS/OMS/WebCache
$ $OMS_HOME/opmn/bin/opmnctl stopall
$ ps -ef | grep "opmn -d" | grep -v grep

—Start everything, including AS/OMS/WebCache
$ $OMS_HOME/opmn/bin/opmnctl startall

—View status
$ $OMS_HOME/opmn/bin/opmnctl status

—view log
$ cd $OMS_HOME/opmn/logs/
$ ll

OMS进程管理
—Stop the Management Service
$ $OMS_HOME/bin/emctl stop oms

—Start the Management Service
$ $OMS_HOME/bin/emctl start oms

—View status
$ $OMS_HOME/bin/emctl status oms

—view log
$ cd $OMS_HOME/sysman/log/
$ tail -500f emoms.trc

Agent进程管理
—Stop the Management Agent
$ $AGENT_HOME/bin/emctl stop agent

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

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

—view log

1) Central Agent日志和跟踪文件说明($ORACLE_HOME/agent/sysman/log 下)
emagent.nohup : Agent watchdog log file
emagent.log : Main Agent log file
emagent.trc : Main Agent trace file
emagentfetchlet.log: Log file for Java Fetchlets
emagentfetchlet.trc: Trace file for Java Fetchlets
NOTE: Startup errors are recorded in the emagent.nohup file.
$ cd $ORACLE_HOME/agent/sysman/log
$ tail -500f emagent.trc

2) AS Control Agent日志和跟踪文件说明($ORACLE_HOME/sysman/log下)
$ cd $ORACLE_HOME/sysman/log
$ tail -500f emdctl.trc

3) DB Control Agent日志和跟踪文件说明($ORACLE_HOME/<hostname_sid>/sysman/log 下)
$ cd $ORACLE_HOME/`hostname`_$ORACLE_SID/sysman/log
$ tail -500f emdctl.trc

删除GC
停止资料库/OMS/Agent(root用户):

  1. /etc/init.d/gcstartup stop

删除软件(静默方式):
$ $OMS_HOME/oui/bin/runInstaller -silent -deinstall -removeallfiles -removeAllPatches REMOVE_HOMES="{/u01/app/oracle/OracleHomes/db10g,/u01/app/oracle/OracleHomes/oms10g,/u01/app/oracle/OracleHomes/agent10g}"

删除数据库文件(默认位置):
$ rm -rf $ORACLE_BASE/oradata/$ORACLE_SID

删除目录OracleHomes:
$ rm -rf $ORACLE_BASE/OracleHomes

删除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是db10g/oms10g/agent10g的条目删除)
<HOME NAME="db10g" LOC="/u01/app/oracle/OracleHomes/db10g" TYPE="O" IDX="1" REMOVED="T"/>
<HOME NAME="oms10g" LOC="/u01/app/oracle/OracleHomes/oms10g" TYPE="O" IDX="2" REMOVED="T"/>
<HOME NAME="agent10g" LOC="/u01/app/oracle/OracleHomes/agent10g" TYPE="O" IDX="3" REMOVED="T"/>

删除oratab里相关条目信息:
$ vi /etc/oratab
*:/u01/app/oracle/OracleHomes/db10g:N
*:/u01/app/oracle/OracleHomes/oms10g:N
emrep:/u01/app/oracle/OracleHomes/db10g:N

FAQ
Agent查找目标流程
Agent安装配置时通过执行 $ORACLE_HOME/sysman/admin/discover/discovery.lst 里列出的perl脚本去查找被监控目标, 然后置入 $ORACLE_HOME/sysman/emd/targets.xml 里, 这样在Grid控制台里就可以看到被监控目标了.

主机
即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" /> «««By default this is DBSNMP and cannot be changed in this release
<Property NAME="password" VALUE="password of the database user doing the monitoring" ENCRYPTED="TRUE" />
</Target>

Reference:
http://space.itpub.net/9466564/viewspace-609644