Should the old agent be de-installed before the new one is installed? Seems to work without doing this:
$<AGENT_HOME>/perl/bin/perl <AGENT_HOME>/sysman/install/AgentDeinstall.pl -agentHome <AGENT_HOME>
declare
tname varchar2(128) := 'seg_task_1';
tname_desc varchar2(128) := 'Get shrink advice for segments in tablespace';
task_id number;
object_id number;
object_name varchar2(100);
object_type varchar2(100);
begin
dbms_advisor.create_task ( 'Segment Advisor'
, task_id
, tname
, tname_desc
, null
);
dbms_advisor.create_object ( tname
, 'TABLESPACE'
, 'USERS'
, ' '
, ' '
, null
, ' '
, object_id
);
dbms_advisor.set_task_parameter ( tname
, 'RECOMMEND_ALL'
, 'TRUE'
);
end;
/
declare
tname varchar2(128) := 'seg_task_1';
begin
dbms_advisor.execute_task (tname);
end;
/
select description
from dba_advisor_tasks
where task_name = 'seg_task_1'
/
==== Where are the logfiles in 13c? ====
* [[https://support.oracle.com/epmos/faces/DocumentDisplay?id=2112329.1|This note shows the directory structure and log file locations of an Enterprise Manager installation]]
==== agent is blocked and needs resynchronization ====
Performing
<code>
emctl status agent
shows
Oracle Enterprise Manager Cloud Control 13c Release 4 Copyright (c) 1996, 2020 Oracle Corporation. All rights reserved. --------------------------------------------------------------- Agent Version : 13.4.0.0.0 OMS Version : (unknown) Protocol Version : 12.1.0.1.0 Agent Home : /cln/exp/ora_bin1/app/oracle/agent/agent_inst Agent Log Directory : /cln/exp/ora_bin1/app/oracle/agent/agent_inst/sysman/log Agent Binaries : /cln/exp/ora_bin1/app/oracle/agent/agent_13.4.0.0.0 Core JAR Location : /cln/exp/ora_bin1/app/oracle/agent/agent_13.4.0.0.0/jlib Agent Process ID : 36176236 Parent Process ID : 46793064 Agent URL : https://hn1111.cln.be:3872/emd/main/ Local Agent URL in NAT : https://hn1111.cln.be:3872/emd/main/ Repository URL : https://hn1627.cln.be:4903/empbs/upload Started at : 2021-02-08 16:23:08 Started by user : oracle Operating System : AIX version 7.1 (ppc64) Number of Targets : 13 Last Reload : (none) Last successful upload : (none) Last attempted upload : 2021-02-08 16:23:22 Total Megabytes of XML files uploaded so far : 0 Number of XML files pending upload : 86 Size of XML files pending upload(MB) : 0.28 Available disk space on upload filesystem : 22.24% Collection Status : Collections enabled Heartbeat Status : Agent is blocked Blocked Reason : Plug-in mismatch found between agent and repository. Please perform an agent resync to unblock the agent. Mismatched plug-ins: [ The plug-in is oracle.sysman.si Last attempted heartbeat to OMS : 2021-02-08 18:29:26 Last successful heartbeat to OMS : (none) Next scheduled heartbeat to OMS : 2021-02-08 18:32:26
From the repository
select * from sysman.mgmt_blocked_agents;
From Enterprise Manager Cloud Control
Click OK and the resync job will run and unblock the agent once complete. It will take a few minutes to show up as cleared in Enterprise > Summary.
The same thing can be accomplished on the command-line from the oms
emcli login -username=sysman -password=<password> emcli sync emcli resyncAgent -agent="hn1111.cln.be:3872"
If resync still gives issues, see MOS Note 1951336.1
Check the ports needed with this
emctl status agent
Download the AgentPull.sh script
curl "https://hn1627.cln.be:4903/em/install/getAgentImage" --insecure -o /tmp/AgentPull.sh
Check what agents are available for download from the OMS
emcli login -username=sysman emcli sync emcli get_supported_platforms or /tmp/AgentPull.sh LOGIN_USER=sysman LOGIN_PASSWORD=password PLATFORM=AIX -showPlatforms or curl --insecure 'https://hn1627.cln.be:4903/em/install/getAgentImage?script=show'
Download the agent so it can be distributed to the db servers manually (in case curl is not available on the satellites)
/tmp/AgentPull.sh LOGIN_USER=sysman LOGIN_PASSWORD=password PLATFORM=AIX -download_only
or manually from the oms
mkdir /tmp/agentinstaller emcli get_agentimage -destination=/var/tmp/agentinstaller -platform="IBM AIX on POWER Systems (64-bit)" -version="13.4.0.0.0"
Hint though: From “Setup : Provisioning and Patching : Offline Patching”, right click and save on the zip link instead of left clicking it!
wget --user=<MOS_LOGIN_USER> --ask-password=on -nv https://updates.oracle.com/download/em_catalog.zip
Then from “Setup : Extensibility : Self Update”, choose “Check Updates” button and follow instructions.
When the file is downloaded and transferred onto the oms server…
wget --http-user=<MOS_user> --http-password=<MOS_password> -O /tmp/p9348486_112000_Generic.zip https://updates.oracle.com/Orion/Download/download_patch/p9348486_112000_Generic.zip emcli login -username=sysman emcli sync emcli import_update_catalog -file=/tmp/p9348486_112000_Generic.zip -omslocal emcli logout
This will now show the latest software available on the Self Update page. Now we need to download the 13.4 agent and upload it back into the software library so that it can be distributed.
From “Setup : Extensibility : Self Update : Agent Software”, choose the required agent and click the Download button. A box will open with offline instructions.
wget --http-user=<MOS_user> --http-password=<MOS_password> -O /tmp/p30812887_112000_Generic.zip https://updates.oracle.com/Orion/Services/download/p30812887_112000_Generic.zip?aru=23357833&patch_file=p30812887_112000_Generic.zip emcli login -username=sysman emcli sync emcli import_update -omslocal -file=/tmp/p30812887_112000_Generic.zip emcli logout
A rough script to upgrade the agent
printf "%s" "Enter sysman password: "
read LOGIN_PASSWORD
printf "%s" "Enter agent registration password: "
read AGENT_REGISTRATION_PASSWORD
cat<<EOCAT >/tmp/em_agent.rsp
LOGIN_USER=sysman
LOGIN_PASSWORD=${LOGIN_PASSWORD}
PLATFORM="AIX"
VERSION=13.4.0.0.0
AGENT_REGISTRATION_PASSWORD=${AGENT_REGISTRATION_PASSWORD}
AGENT_BASE_DIR=${ORACLE_BASE}/agent
AGENT_INSTANCE_HOME=${ORACLE_BASE}/agent/agent_inst
AGENT_PORT=3872
EM_UPLOAD_PORT=4903
OMS_HOST=hn1627.cln.be
ORACLE_HOSTNAME=$(hostname)
EOCAT
. /tmp/em_agent.rsp
curl -sk https://${OMS_HOST}:7803/em/install/getAgentImage > /tmp/AgentPull.sh
chmod 755 /tmp/AgentPull.sh
/tmp/AgentPull.sh -ignorePrereqs RSPFILE_LOC=/tmp/em_agent.rsp
$AGENT_HOME/root.sh
A Container database was getting discovered but failed to promote. The status stayed yellow (pending).
A duplicate entry exists in the repository for the parent of the PDB target (ie. the CDB one). <pre> SELECT prnt.target_guid, agt.emd_url, prnt.monitoring_mode, prnt.host_name, prnt.promote_status FROM em_targets prnt, mgmt_assoc_instances inst, mgmt_assoc_type_extends ext, mgmt_targets agt WHERE prnt.target_guid = inst.source_me_guid AND inst.dest_me_guid = (select entity_guid from EM_MANAGEABLE_ENTITIES where entity_name='<PDB target name which you try to promote>' and entity_type='oracle_pdb') AND inst.assoc_type = ext.assoc_type AND ext.extended_assoc_type = 'app_composite_contains' AND agt.emd_url = prnt.emd_url AND agt.target_type = 'oracle_emd' ; </pre>
- Open Monitoring configuration page for the CDB target.
- Remove the “Pluggable Databases” listed there.
- Run an “Sync Pluggable databases”
- Save the changes.
These tips and more at From doag.org - includes different ways of installing agents Login to the cli and sync the client
emcli login -username=sysman [-password=<pwd>] emcli sync
emcli get_targets -targets="oracle_emd"
Status Status Target Type Target Name
ID
1 Up oracle_emd hn492.cln.be:3872
1 Up oracle_emd hn1111.cln.be:3872
1 Up oracle_emd hn481.cln.be:3872
1 Up oracle_emd hn991.cln.be:3872
1 Up oracle_emd hn511.cln.be:3872
1 Up oracle_emd hn990.cln.be:3872
1 Up oracle_emd hn1627.cln.be:3872
1 Up oracle_emd hn482.cln.be:3872
4 Agent Unreachab oracle_emd hn5306.cln.be:3872
le
1 Up oracle_emd hn5405.cln.be:3872
1 Up oracle_emd hn491.cln.be:3872
1 Up oracle_emd hn5410.cln.be:3872
1 Up oracle_emd hn5308.cln.be:3872
1 Up oracle_emd hn5407.cln.be:3872
1 Up oracle_emd hn512.cln.be:3872
emcli get_targets -targets="oracle_database"
Status Status Target Type Target Name
ID
1 Up oracle_database bkstt
1 Up oracle_database credot
1 Up oracle_database rpae
1 Up oracle_database rpad
1 Up oracle_database appli
1 Up oracle_database credoa
1 Up oracle_database credoe
1 Up oracle_database reportt
1 Up oracle_database qfp
0 Down oracle_database dwhm
1 Up oracle_database itsm
1 Up oracle_database xbrla
1 Up oracle_database dwht
1 Up oracle_database qfa
1 Up oracle_database rpaa
1 Up oracle_database org
1 Up oracle_database dwha
1 Up oracle_database dwhd
4 Agent Unreachab oracle_database crelsast
le
1 Up oracle_database xbrl
1 Up oracle_database crelsasp
1 Up oracle_database atm
1 Up oracle_database ite
1 Up oracle_database amlt
emcli add_target -name="ORACLE_SID" -type="oracle_database" -host="$oemhost" -credentials="UserName:dbsnmp;password:dbsnmp_password;Role:Normal" -properties="SID:ORACLE_SID;Port:1521;OracleHome:;MachineName:\"
e.g.
emcli add_target -name="adsdd1" -type="oracle_database" -host="hn1627.cln.be" -credentials="UserName:dbsnmp;password:dbsnmp_password;Role:Normal" -properties="SID:adsdd1;Port:3528;OracleHome:/cln/dev/ora_bin/app/oracle/product/19.13/dbhome_1;MachineName:hn1627.cln.be"
./emcli list_plugins_on_server OMS name is dbadev64.dba.com.sa:4889_Management_Service Plug-in Name Plugin-id Version [revision] Oracle Audit Vault oracle.em.soav 12.1.0.4.0 Oracle GoldenGate oracle.fmw.gg 13.1.1.0.0 Oracle Cloud Framework oracle.sysman.cfw 13.2.1.0.0 Oracle Database oracle.sysman.db 13.2.1.0.0 Oracle Fusion Middleware oracle.sysman.emas 13.2.1.0.0
./emcli list_plugins_on_agent -agent_names="172.25.224.2:3872" The Agent URL is https://172.20.204.2:3872/emd/main/ - Plug-in Name Plugin-id Version [revision] Oracle Home oracle.sysman.oh 13.2.0.0.0 Oracle Database oracle.sysman.db 13.2.1.0.0
emcli create_blackout -name="DBACLASS_MULTDB_BLACKOUT" -reason="psu patchcing" -add_targets="DBATEST1:oracle_database;DBATEST2:oracle_database" -schedule="duration:30"
./emcli create_blackout -name="DBACLASS_HOST_BLACKOUT" -reason="OS PATCHING OUTAGE" -add_targets="localhost.dbaclass.com:host" -schedule="duration:60" -propagate_targets
./emcli get_blackout_details -name="db_blackout_phase1"
./emcli stop_blackout -name="db_blackout_phase1" ./emcli get_blackout_details -name="db_blackout_phase1"
./emcli delete_blackout -name="db_blackout_phase1" ./emcli get_blackout_details -name="db_blackout_phase1"
./emcli stop_agent -agent_name="dbahost-local:3872" -host_username=oracle ./emcli start_agent -agent_name="dbahost-local:3872" -host_username=oracle
emcli create_user -name="stuart" -password="password" -privilege="SUPER_USER"
emcli create_user -name="someonelse" -password="password"
-roles="public;EM_USER"
-privilege="OPERATOR_ANY_TARGET"
-privilege="CONNECT_ANY_VIEW_TARGET"
-privilege="CREATE_JOB"
emcli list -resource="Administrators" -columns="USER_NAME,USER_DESCRIPTION"
emcli list_active_sessions -details -table
emcli update_db_password -target_name=prod1 -user_name=stuart -old_password=<oldpwd> -new_password=<newpwd> -retype_new_password=<newpwd> -change_at_target=yes
emcli update_db_account_status -target_name=prod1 -user_name=DBSNMP -action=UNLOCK -connect_as="DBNamedCreds:NC_SYS"
or
emcli update_db_account_status -target_name=dwhm -user_name=DBSNMP -action=UNLOCK -connect_as="DBUserName:sys;DBPassword:sys;DBRole:sysdba"
emcli get_groups
Target Name Target Type ACC group All Instances group DEV_TST_BLD group EXP group KAP group
emcli get_group_members -name=KAP
Target Name Target Type EBSO oracle_database acc_perf oracle_database adso oracle_database amlk oracle_database bilk oracle_database clnk oracle_database crelsask oracle_database dwh_perf oracle_database loank oracle_database monprodk oracle_database orgperf oracle_database portalk oracle_database reportk oracle_database
For example, there is now a library job called “Change the Password for the Database Monitoring User” (changes the dbsnmp password on one or many databases!).
emcli describe_job -name="CHPASSDBSNMP">/tmp/CHPASSDBSNMP.txt
cat /tmp/CHPASSDBSNMP.txt name=CHPASSDBSNMP type=dbChangeDBPassword owner=SYSMAN target_list=upg:oracle_database variable.new_password=****** variable.retype_new_password=****** schedule.frequency=IMMEDIATE
vi /tmp/CHPASSDBSNMPALL.txt name=CHPASSDBSNMPALL.1 type=dbChangeDBPassword owner=SYSMAN target_list="All Instances":group schedule.frequency=IMMEDIATE
emcli create_job -input_file=property_file:/tmp/CHPASSDBSNMPALL.txt
emcli get_jobs -name="CHPASSDBSNM%"
or this one schedules a regular jobs to do the password change
# Current status of the job is ACTIVE. name=CHANGE DBSNMP PASSWORD EVERYWHERE.1 type=dbChangeDBPassword owner=SYSMAN target_list=All Instances:composite schedule.frequency=MONTHLY schedule.startTime=2022-01-11 11:11:11 schedule.days=11 schedule.timezone.region=Target/Local notification.match=EITHER properties.max_concurrent_executions=10
# download emcli to add targets
wget -P /tmp/emcli --quiet --no-check-certificate https://${OMS_HOST}:7803/em/public_lib_download/emcli/kit/emclikit.jar
[[ $? -ne 0 ]] && echo "ERROR: wget is not working, check the version works with ssl" && exit 1
export JAVA_HOME="${OMS_HOME}/oracle_common/jdk/jre/"
export PATH="${JAVA_HOME}:${PATH}"
java -jar /tmp/emcli/emclikit.jar -install_dir=/tmp/emcli
# configure emcli
/tmp/emcli/emcli setup -url=https://${OMS_HOST}:7803/em -username="${LOGIN_USER}" -password="${LOGIN_PASSWORD}" -dir="/tmp/emcli/conf" -trustall -noregister -autologin
# generate target addition statements
echo "add_target -name=\"linuxlab01.local_listener\" -type=\"oracle_listener\" -host=\"linuxlab01.local\" -properties=\"LsnrName:LISTENER;ListenerOraDir:/app/oracle/product/12.1.0/network/admin;Port:1521;OracleHome:/app/oracle/product/12.1.0;Machine:linuxlab01.local;\"" >> "/tmp/emcli/emclicommands.txt"
ORAENV_ASK=NO
RUNNING_SIDS="$(ps -efo args|grep '[p]mon'|awk -F'ora_pmon_' '! /\+ASM|^$/ {print $NF}'|sort -fu)"
for i in ${RUNNING_SIDS}; do
export ORACLE_SID="${i}"
. oraenv >/dev/null 2>&1
[[ $? -ne 0 ]] && echo "WARNING: CAnnot set environment for ${i}, skipping" && continue
echo "add_target -name=\"${i}\" -type=\"oracle_database\" -host=\"${ORACLE_HOSTNAME}\" -credentials=\"UserName:dbsnmp;password:dbsnmp;Role:Normal\" -properties=\"SID:${i};Port:${LISTENER_PORT};OracleHome:${ORACLE_HOME};MachineName:${ORACLE_HOSTNAME};\"" >> "/tmp/emcli/emclicommands.txt"
done
# load up the targets
/tmp/emcli/emcli login -username="${LOGIN_USER}" -password="${LOGIN_PASSWORD}"
/tmp/emcli/emcli sync
tmp/emcli/emcli argfile /tmp/emcli/emclicommands.txt
# remove the emcli
rm -rf /tmp/emcli
emctl config agent addinternaltargets
First, create a job properties file
./emcli describe_job_type -job_type=RunAutoDiscovery > inputs.prop </code Second, modify this file to specify the relevant host <code> # Description: (Optional) The user specified name of the job name=AUTO_DISC # Description: (Optional) The job type for this job type=RunAutoDiscovery # Description: (Optional) The user specified description of the job description= # Description: The job owner. The job owner is the user who creates the job. # Default: the logged in user # The job owner information displayed here is for documentation only and user is not expected to change it. owner= # Description: (Optional) The kind of job # Legal Values: active, library kind= # Fill in the target list before submitting. # For Example: # target_list=MyTarget:cluster target_list=172.20.294.137:host # Description: The type of targets to use for this job target ype=host # Description: (Optional) Notify the job owner when a selected state occurs # Allowed Values: SCHEDULED, RUNNING, ACTION_REQUIRED, SUSPENDED, SUCCEEDED, PROBLEMS notification= # Description: (Optional) The run time properties for the job properties=
Finally, create (run)a job
./emcli create_job -input_file=property_file:inputs.prop
Check the job status
./emcli get_jobs -name=AUTO_DISC
The Enterprise Manager Grid Control includes the following Components:
emcli list -resource="Administrators"
emcli list -resource="Administrators" -help
emcli list -resource="Administrators" -columns="USER_NAME,REPOS_ACCOUNT_STATUS"
emcli list -resource=Administrators -columns="USER_NAME,USER_TYPE:20,COST_CENTER,CONTACT,DEPARTMENT:30"
and same thing in a different way
emcli list -resource=Administrators -columns="USER_NAME,USER_TYPE,COST_CENTER,CONTACT,DEPARTMENT" -colsize="USER_TYPE:20,DEPARTMENT:30"
Some resources need a bind variable to be passed to get output. A bind variable is created in the resource and then referenced in the command. For example, this command will list all the default preferred credentials for target type oracle_database.
emcli list -resource="PreferredCredentialsDefault" -bind="TargetType='oracle_database'" -colsize="SetName:15,TargetType:15"
emcli get_targets -targets='%database%'
emcli list -resource="Targets" -columns="TARGET_TYPE,TARGET_NAME" -colsize="TARGET_TYPE:25,TARGET_NAME:60" -search="TARGET_TYPE='oracle_database'"
emcli list -resource="Targets" -columns="TARGET_TYPE,TARGET_NAME" -colsize="TARGET_TYPE:25,TARGET_NAME:60" -search="TARGET_TYPE='oracle_database'" -search="TYPE_QUALIFIER3='DB'"
emcli list -resource=NamedCredentials
emcli list -resource=NamedCredentials | awk '{ print $2 $3}'
emcli list -resource=NamedCredentials -columns="CredName,CredOwner"
emcli list -resource=NamedCredentials -format=name:csv > '/path/filename.csv'
Create Named Credentials with the scope of one target:
To be able to create a named credential, you need to know the target name (unless you create a global credential), target type and credential type associated with the target type. Let's say I want to create a named credential for my database named “TESTDB”. First I need to login to our EM12c server, and list targets named “TESTDB”:
./emcli create_named_credential -auth_target_type=oracle_database \ -cred_scope=Instance -target_type=oracle_database \ -target_name=TESTDB -cred_type=DBCreds -cred_name=NC_INST_SYS_TESTDB \ -attributes="DBUserName:SYS;DBPassword:Hell0W0rld;DBRole:sysdba" -test
Create GLOBAL credentials: (note -test becomes -test_target_name)
emcli create_named_credential -auth_target_type=oracle_database \ -cred_scope=GLOBAL -target_type=oracle_database \ -target_name=TESTDB -cred_type=DBCreds -cred_name=NC_GL_TESTDB_SYS \ -attributes="DBUserName:SYS;DBPassword:Hell0W0rld;DBRole:sysdba" -test_target_name=Global
Connect to th repository database as sysdba and run this query
set lines 1000 pages 100 col cred_owner for a10 col cred_name for a60 col cred_type_name for a20 col target_type for a20 col user_name for a10 select cred_owner , cred_name , cred_type_name , target_type , user_name , decode (cred_scope, 1, 'Global', 2, 'Target') "cred_scope" , to_char(trunc(cred_created_date),'DD-Mon-RRRR') "created_on" , to_char(trunc(cred_updated_date),'DD-Mon-RRRR') "updated_on" from sysman.em_nc_creds where cred_owner != '<SYSTEM>' order BY 1,2,3;
The Repository database (and listener!) have to be started before the Middleware components can be started.
The sysman password needs to be changed with emctl. Changing it from the database is not good enough.
Setup the OMS environment (default is $ORACLE_BASE/middleware). 'stop oms -all' is not done before changing the password as the Admin Server needs to be up to make the change.
cd $ORACLE_HOME/bin emctl stop oms emctl stop oms -bip_only emctl extended oms jvmd stop -all emctl config oms -change_repos_pwd -old_pwd oldsysmanpassword -new_pwd newsysmanpassword emctl stop oms -all emctl start oms
Finally,found a way of doing this without needing to know the old password!
emcli set_monitoring_credential -target_type=oracle_database -target_name="upg" -set_name="DBCredsMonitoring" -cred_type="DBCreds" -attributes="DBUserName:dbsnmp;DBPassword:password;DBRole:Normal"
Simple when you know how! But the documentation is quite poor in terms of examples and which verb to use for which situation.
Also in the same article… Adding a target database using EM CLI
When adding a new database, explicitly or through discovery, you can specify non-DBSNMP monitoring credentials for the database:
emcli add_target -name="database" -type="oracle_database" -host="myhost.example.com" -credentials="UserName:monuser;password:password1;Role:Normal" -properties="SID:semcli;Port:15091;OracleHome:/oracle; MachineName:smpamp.example.com"
emcli discover_db -input_file=db_discovery_file:db_discovery_file.txt
The example file, db_discover_file.txt, may have contents like below:
host_name=myhost.example.com db_creds=db1:monuser,password1,NORMAL target_type=oracle_database
1) Single Database Instance
How to Use update_db_password verb
emcli login -username=sysman -password=<sysman_password> ./emcli get_targets -target="oracle_database" emcli update_db_password -target_name="<target_name>" -target_type="oracle_database" -user_name="dbsnmp" -change_at_target=yes -old_password="<old_password>" -new_password="<new_password>" -retype_new_password="<new_password>"
⇒ Replace each value in <> in command line with the appropriate values.
Note that if the database has been independently updated for the DBSNMP password, use of this verb must accommodate this fact. In such a case, the “-change_at_target” option is no longer needed.
Documentation on update_db_password verb:
For EM 13c:
Enterprise Manager Command Line Interface
Release 13.2
Chapter 5 Verb Reference
5.4 EM CLI Verbs
5.4.714 update_db_password
emcli login -username=sysman [[-password=<sysmanpassword>]]
emcli logout
emcli sync
emcli get_targets
emcli delete_target -name="devtools" -type="oracle_database" Target "devtools:oracle_database" deleted successfully
emcli get_targets -format=name:csv | grep "oracle_emd"
emcli delete_target -name="hn5407.cln.be:3872" -type="oracle_emd" -delete_monitored_targets
Oracle Database plugin
emcli get_plugin_deployment_status -plugin_id=oracle.sysman.db
Oracle Fusion Middleware plugin
emcli get_plugin_deployment_status -plugin_id=oracle.sysman.emas
My Oracle Support plugin
emcli get_plugin_deployment_status -plugin_id=oracle.sysman.mos
emcli import_update -file="p14018177_112000_Generic.zip" -omslocal
emcli deploy_plugin_on_server -plugin=oracle.sysman.db -sys_password=XXXXX
emcli deploy_plugin_on_agent -plugin="oracle.sysman.db" -agent_names="xxxdb-prod1.mydomain.com:3872;xxxdb-prod2.mydomain.com:3872"
emcli get_supported_platforms
emcli get_agentimage -destination=/home/oracle -platform="Microsoft Windows x64 (64-bit)" -version="12.1.0.1.0"
emcli set_credential -target_type=oracle_database -target_name="prod1" -credential_set=DBCredsMonitoring -user=sysman -column="Role:SYSDBA;UserName:sys;password:XXXXX" -monitoring
If you are getting “agent home is already registered with the inventory”, it means there is an entry for this home in OraInventory.xml already and it will need removing before installing to the same directory.
Agent Homes are stored in /etc/oragchomelist (Linux, AIX) and /var/opt/oracle/oragchomelist (Solaris).
Removing the entry from oragchomelist makes no difference.
It's in the Oracle Inventory file – its location can be found in /etc/oraInst.loc (Linux, AIX) and /var/opt/oracle/oraInst.loc (Solaris).
ORACLE_HOME="/oracle/cloud/core/12.1.0.1.0" $ORACLE_HOME/oui/bin/runInstaller -silent -detachHome
This has the effect of removing everything related to the host in question!
On host where agent is running…
emctl stop agent
On Grid server…
sqlplus / as sysdba
exec mgmt_admin.cleanup_agent('<host>><port>');
exit
On host where agent is running…
emctl start agent
exec mgmt_admin.delete_target('target_name','target_type')
See mgmt_targets table in sysman schema for list of known targets.
cd $ORACLE_HOME/bin ./agentca -d
From SQL*Plus:
select username,program from v$session where LOWER (program) like 'emagent%';
If no rows selected, the agent is not running. or
From Unix: . oraenv agent11g (how to see [[which databases are running on the machine]]) emctl status agent ps -ef|grep [[a]]gent
There should be a handful. If only a few, kill them and restart the agent.
emctl start agent
Check the agent log in $ORACLE_HOME/sysman/log
This could be included in a shell script before patching, for example…
emctl start blackout server_maint -nodeLevel
This starts a blackout from now until now + 8 hours
emctl start blackout server_maint -nodeLevel -d 08:00
When patching is done?…
emctl stop blackout server_maint
emctl config agent listtargets
It looks at the file $AGENT_HOME/sysman/emd/targets.xml
Manually add targets by editing this file and running:
emctl config agent addtargets $AGENT_HOME/sysman/emd/targets.xml
Check state and upload directories under $AGENT_HOME/sysman/emd for .err files
$OMS_HOME/bin/emctl config oms -disable_bip Oracle Enterprise Manager Cloud Control 13c Release 1 Copyright (c) 1996, 2015 Oracle Corporation. All rights reserved. Enter Enterprise Manager Root (SYSMAN) Password : Stopping BI Publisher Server... BI Publisher Server Successfully Stopped BI Publisher Server is Down BI Publisher has been disabled on this host and will not be started with the 'emctl start oms' or 'emctl start oms -bip_only' commands. Overall result of operations: SUCCESS
To avoid the message “The page has expired. Click OK to continue”.
cd $OMS_HOME/bin ./emctl set property -name oracle.sysman.eml.maxInactiveTime -value -1 -sysman_pwd sysman_password ./emctl stop oms ./emctl start oms
Disable the feature altogether with '-1' value (it's null by default), or enter number of minutes.
If the Oracle listener port is changed, the OMS will need to be reconfigured to use the new port.
emctl stop oms -all
Start the administration server
emctl start oms -admin_only
Update the OMS with the changed listener port
emctl config oms –store_repos_details -repos_conndesc <connect descriptor> -repos_user sysman
Stop and restart te OMS
emctl stop oms -all emctl start oms
emctl secure createca -key_strength 2048 emctl stop oms emctl start oms emcli login -username=sysman emcli sync emcli get_ca_info -details
Then secure the agents so thay use the new CA https://support.oracle.com/epmos/faces/DocumentDisplay?id=1390222.1
Secure the OMS after securing all the Agents
emctl secure oms -console [-protocol TLSv1]
Restart everything
emctl stop oms -all emctl start oms
This works until 11.1. For a more complete guide see metalink note 270516.1 or note 259379.1
For the DB Control Release 11.2 and higher, you need to set the environment variable ORACLE_UNQNAME to the value of the DB_UNIQUE_NAME database parameter.
Changing this password is easy as long as it is done correctly. It is a three step process.
Step 1. Change the password in the traditional manner.
SQL> alter user sysman identified by &new_password account unlock;
Step 2. Change the password in the emoms.properties file.
vi ${AGENT_HOME}/sysman/config/emoms.properties
Change the following 2 lines by entering the clear text password where the encrypted password is, and set True to False
oracle.sysman.eml.mntr.emdRepPwd=<new password here>\\ oracle.sysman.eml.mntr.emdRepPwdEncrypted=False\\
Step 3. Restart the agent. Picks up the new password (and encrypts it)
emctl restart agent
Changing this password is easy as long as it is done correctly. It is a three step process.
SQL> alter user dbsnmp identified by &new_password account unlock;
vi ${AGENT_HOME}/sysman/emd/targets.xml
Change the following line by entering the clear text password where the encrypted password is, and set True to False
<Property NAME="password" VALUE="<new password>" ENCRYPTED="FALSE"/>
emctl restart agent
borrowed from oraxprt.com
Verify that the Agent on the target machine is up and running using:
cd <AGENT_HOME>/bin
emctl status agent
The command should return output such as:
emctl status agent
Oracle Enterprise Manager 10g Release 5 Grid Control 10.2.0.5.0.
Copyright (c) 1996, 2009 Oracle Corporation. All rights reserved.
—————————————————————
Agent Version : 10.2.0.5.0
OMS Version : 10.2.0.5.0
Protocol Version : 10.2.0.5.0
Agent Home : /home/oracle/OracleHomes/agent10g
Agent binaries : /home/oracle/OracleHomes/agent10g
Agent Process ID : 24465
Parent Process ID : 24449
Agent URL : https://agentmachine.domain:1830/emd/main/
Repository URL : https://omsmachine.domain:1159/em/upload
Started at : 2010-04-22 15:35:39
Started by user : oracle
….
—————————————————————
which indicates that the Agent has started up fine. Also review the <AGENT_HOME>/sysman/log/emagent.nohup to ensure that the Agent is not re-starting frequently, which can affect the OMS to Agent communication.
Refer to Note 548928.1: Enterprise Manager Grid Control Agent 10g, Process Control (Start, Stop & Status) Troubleshooting Guide
Verify that the Agent's URL, as seen in the Grid Console -> Setup -> Agent name page is the same as the value configured for the EMD_URL in the <AGENT_HOME>/sysman/config/emd.properties file.
Refer Note 358953.1: What ports are used in communication between the Grid Control OMS and a Management Agent?
1. OMS / Agent Component level issues
If the Agent machine is configured with DHCP and/or the IP address of the machine has recently changed, the OMS will not be able to communicate with the Agent.
Refer Note 605009.1: Problem: OMS Cannot Communicate with Agent if IP Address of the Grid Agent Machine is Changed
If there is a rogue emagent process on the target machine, then the OMS log/trace files could show communication errors. Refer Note 733879.1: Communication: OMS Log/Trace Files Show 'ERROR eml.OMSHandshake processFailure' for Agent Already Removed from Grid Console
If the Agent is not capable of accepting incoming connection requests from the OMS, then the communication will fail. Refer Note 550452.1: Communication: OMS to Agent Communication Fails with 'IOException in sending Request :: Broken pipe'
Verify if there are multiple Agents installed / discovered from this machine. Refer to Note 435728.1: Communication: OMS to Agent Communication Fails with "Connection refused" if Multiple Agent Targets are Discovered
2. Hostname/IP Address Resolution Issues
If the OMS and Agent Components are located in separate machines, then the hostname/IP address resolution should work correctly from the OMS to the Agent machine.
Refer Note 763844.1: How to Verify the Hostname/IP Address Resolution Between the 10g Enterprise Manager Grid Control Components?
If the OMS is unable to resolve the hostname / IP address of the Agent machine, the <OMS_HOME>/sysman/log/emoms.trc will show errors such as below, when trying to access the Agent Homepage in the Grid Console:
2010-04-26 12:01:51,405 [[EMUI_12_01_26_/console/admin/rep/emdConfig/emdTargetsMain$target=agentmachine.domain_3A3872$type=oracle*_emd]] ERROR emdConfig.EmdConfigTargetsData getEmdUploadData.1732 – IOException in sending Request :: No route to host
To verify the Hostname / IP Address resolution from OMS to Agent machine, follow below steps:
Collect the following details on the Agent machine:
Hostname and the corresponding IP Address on which the Agent is configured:
cd <AGENT_HOME>/bin
emctl status agent
Oracle Enterprise Manager 10g Release 5 Grid Control 10.2.0.5.0.
Copyright (c) 1996, 2009 Oracle Corporation. All rights reserved.
—————————————————————
Agent Version : 10.2.0.5.0
OMS Version : 10.2.0.5.0
Protocol Version : 10.2.0.5.0
Agent Home : /home/oracle/OracleHomes/agent10g
Agent binaries : /home/oracle/OracleHomes/agent10g
Agent Process ID : 24465
Parent Process ID : 24449
Agent URL : https://agentmachine.domain:1830/emd/main/
Repository URL : https://omsmachine.domain:1159/em/upload
Started at : 2010-04-22 15:35:39
Started by user : oracle
The hostname is the one seen in the 'Agent URL' field.
Obtain the IP address for this hostname using:
ping <agentmachine.domain>
Output of these commands:
ping <IP adddress of the Agent machine>
ping <hostname.domain of the Agent machine>
ping <hostname of the Agent machine>
nslookup <IP adddress of the Agent machine>
nslookup <hostname.domain of the Agent machine>
nslookup <hostname of the Agent machine>
Collect the following details from the OMS machine:
ping <IP adddress of the Agent machine>
ping <hostname.domain of the Agent machine>
ping <hostname of the Agent machine>
nslookup <IP adddress of the Agent machine>
nslookup <hostname.domain of the Agent machine>
nslookup <hostname of the Agent machine>
Compare the output of the above commands on OMS and Agent machines – the outputs should match. If there is a difference or an error, please enlist the help of your System / Network Administrator to correct the configuration in the hosts file or the DNS.
Note:
1. If all the above commands work fine but the OMS still fails to communicate with the Agent, then stop and restart the OMS once to reset the TCP caching
<OMS_HOME>/opmn/bin
opmnctl stopall
<OMS_HOME>/opmn/bin>
opmnctl startall
2. If the Agent machine has multiple NIC cards / IP addresses, the Agent can be bound to a particular hostname / IP address combination using steps in:
Note 390444.1: How to: Tell the agent to listen to only one specific NIC Network Interface Card?
If the hostname / resolution works fine from the OMS to Agent but the communication still fails, then check for the presence of Firewall or Proxy Server in the setup using the steps below.
3. Firewall Setup / Proxy Server Issues
For details about configuring the Firewall and using the Proxy Server for the EM components, refer
Note 1088393.1: How to Verify the Communication Between the 10g Enterprise Manager Grid Control Components via Firewall/Proxy?
If the Agent port is blocked, then the <OMS_HOME>/sysman/log/emoms.trc will show:
2008-12-01 11:21:25,535[[EMUI_11_17_40_/console/admin/rep/emdConfig/emdTargetsMain$target=agentmachine.domain_3A3872$type=oracle*_emd]] ERROR emdConfig.EmdConfigTargetsData getEmdTargetsList.1767 – CommException:
Unable to get list of targets from emd-getEmdTargetsList()
2008-12-01 11:21:25,541 [[EMUI_11_17_40_/console/admin/rep/emdConfig/emdTargetsMain$target=agentmachine.domain_3A3872$type=oracle*_emd]] ERROR emdConfig.EmdConfigTargetsData getEmdTargetsList.1769 - Connection timed out oracle.sysman.emSDK.emd.comm.CommException: Connection timed out
The following error is displayed when trying to look at the Targets -> Agent Host -> Performance page:
An error has occurred!
Unable to obtain data for target solaris.oracle.com. The target may be down. Switching to the last 24 hrs view
Incorrect Proxy server configuration at the OMS side, can cause problems described in
Note 395717.1: Communication: OMS to Agent Communication Fails With 'Cannot Establish Proxy Connection' Due to Proxy-Related Settings
To verify the communication between OMS to Agent machine, when Firewall / Proxy server is in use:
Identify the Agent port and URL using the steps in
Note 358953.1: What ports are used in communication between the Grid Control OMS and a Management Agent?
Test the connectivity to the Agent URL from the OMS machine, using one of the following methods:
Open a web-browser on the OMS machine and try to access these URL's:
http://agentmachine.domain:agentport/em/upload
OR
https://agentmachine.domain:agentport/em/upload
The URL must return an output similar to:
EMAgent10.1.0.2.0
Congratulations, EMAgent is working!
Use telnet
telnet agentmachine.domain <agent port>
Sample output:
telnet agentmachine.domain 3872
Trying 20.20.20.20…
Connected to agentmachine.domain.
Escape character is '^]]'.
If the access to the port is blocked due to a firewall, then the above command will fail with:
telnet agentmachine.domain 3872
Trying 20.20.20.20…
telnet: connect to address 20.20.20.20: Connection refused
Use wget
wget <agent http url>
OR
wget –no-check-certificate <agent https url>
If any of the above commands fail, please contact your Network Administrator to determine if there is a Firewall / Proxy Server in use and check the configuration.
/u01/app/Oracle/core/12.1.0.5.0/perl/bin/perl /u01/app/Oracle/core/12.1.0.5.0/sysman/install/AgentDeinstall.pl -agentHome /u01/app/Oracle/core/12.1.0.5.0/ -skipRemoval
If things were installed correctly originally, the deinstall should be as easy as
$AGENT_HOME/perl/bin/perl $AGENT_HOME/sysman/install/AgentDeinstall.pl -agentHome $AGENT_HOME
and will produce something like this
Agent Oracle Home: /cln/tst/ora_bin1/app/oracle/product/agent12c/core/12.1.0.3.0
NOTE: The agent base directory: /cln/tst/ora_bin1/app/oracle/product/agent12c will be removed after successful deinstallation of agent home.
DetachHome Command executed:/cln/tst/ora_bin1/app/oracle/product/agent12c/core/12.1.0.3.0/oui/bin/runInstaller -detachHome -force -depHomesOnly -silent ORACLE_HOME=/cln/tst/ora_bin1/app/oracle/product/agent12c/core/12.1.0.3.0 -waitForCompletion -invPtrLoc /cln/tst/ora_bin1/app/oracle/product/agent12c/core/12.1.0.3.0/oraInst.loc
Starting Oracle Universal Installer...
Checking swap space: must be greater than 500 MB. Actual 62464 MB Passed
The inventory pointer is located at /cln/tst/ora_bin1/app/oracle/product/agent12c/core/12.1.0.3.0/oraInst.loc
'DetachHome' was successful.
Starting Oracle Universal Installer...
Checking swap space: must be greater than 500 MB. Actual 62464 MB Passed
The inventory pointer is located at /cln/tst/ora_bin1/app/oracle/product/agent12c/core/12.1.0.3.0/oraInst.loc
The Oracle home '/cln/tst/ora_bin1/app/oracle/product/agent12c/sbin' could not be updated as it does not exist.
Deinstall Command executed:/cln/tst/ora_bin1/app/oracle/product/agent12c/core/12.1.0.3.0/oui/bin/runInstaller -deinstall -silent "REMOVE_HOMES={/cln/tst/ora_bin1/app/oracle/product/agent12c/core/12.1.0.3.0}" -waitForCompletion -removeAllFiles -invPtrLoc /cln/tst/ora_bin1/app/oracle/product/agent12c/core/12.1.0.3.0/oraInst.loc
Starting Oracle Universal Installer...
Checking swap space: must be greater than 500 MB. Actual 62464 MB Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2019-11-28_04-47-46PM. Please wait ...Oracle Universal Installer, Version 11.1.0.11.0 Production
Copyright (C) 1999, 2013, Oracle. All rights reserved.
Starting deinstall
Deinstall in progress (Thursday, November 28, 2019 4:47:54 PM CET)
Configuration assistant "Agent Deinstall Assistant" succeeded
............................................................... 100% Done.
Deinstall successful
End of install phases.(Thursday, November 28, 2019 4:49:20 PM CET)
End of deinstallations
Please check '/cln/tst/ora_bin1/app/oracle/oraInventory/logs/silentInstall2019-11-28_04-47-46PM.log' for more details.
Do you want us to delete the old oracle home [yes/no] :yes
NOTE: The targets monitored by this Management Agent will not be deleted in the Enterprise Manager Repository by this deinstall script. Make sure to delete the targets manually from the Cloud Control Console for a successful deinstallation.
NOTE:235290.1 – Understanding the Enterprise Manager Management Agent 10g 'emd.properties' File NOTE:358953.1 – What ports are used in communication between the Grid Control OMS and a Management Agent? NOTE:471842.1 – Understanding Proxy Settings in Enterprise Manager Grid Control