Yesterday I had some fun adding a cman to Oracle Enterprise Manager.
Using the web frontend is fine for a single target, but it doesn't scale well. But OEM also has a very fine command line utility: emcli.
emcli has a high amount of parameters, in my case I'm interested in emcli add_target. This verb has basically 4 parameters: -name, -type -host and -properties. name and host are kind of obvious, type I already identified as oracle_cman, but the properties are of some mystery. I did not find the list of properties somewhere in the documentation, and also google didn't help.
So I mixed find and grep together in som random methods until I found the file
./middleware/plugins/oracle.sysman.db.oms.plugin_13.5.1.0.0/metadata/targetType/oracle_cman.xml
Beside some other information (e.g. the name of the perlscripts which test the target) there is also a list of all properties:
<InstanceProperties>
<InstanceProperty NAME="Machine" CREDENTIAL="FALSE" OPTIONAL="FALSE">
<Display>
<Label NLSID="oracle_cman_Machine_iprop">Machine Name</Label>
</Display>
</InstanceProperty>
<InstanceProperty NAME="Port" CREDENTIAL="FALSE" OPTIONAL="FALSE">
<Display>
<Label NLSID="oracle_cman_Port_iprop">Port Number</Label>
</Display>
</InstanceProperty>
<InstanceProperty NAME="Protocol" CREDENTIAL="FALSE" OPTIONAL="FALSE">
<Display>
<Label NLSID="oracle_cman_Protocol_iprop">Connection Protocol</Label>
</Display>
</InstanceProperty>
<InstanceProperty NAME="CManOraDir" CREDENTIAL="FALSE" OPTIONAL="FALSE">
<Display>
<Label NLSID="oracle_cman_CmanOraDir_iprop">cman.ora Directory</Label>
</Display>
</InstanceProperty>
<InstanceProperty NAME="CManName" CREDENTIAL="FALSE" OPTIONAL="FALSE">
<Display>
<Label NLSID="oracle_cman_CmanName_iprop">Connection Manager Name</Label>
</Display>
</InstanceProperty>
<InstanceProperty NAME="OracleHome" CREDENTIAL="FALSE" OPTIONAL="FALSE">
<Display>
<Label NLSID="oracle_cman_OracleHome_iprop">Oracle Home</Label>
</Display>
</InstanceProperty>
<InstanceProperty NAME="Password" CREDENTIAL="TRUE" OPTIONAL="TRUE">
<Display>
<Label NLSID="oracle_cman_OracleHome_iprop">Connection Manager Password</Label>
</Display>
</InstanceProperty>
But all this effort would not have been necessary đ
At my tests, I hit some issues, and so identified
emcli add_target -name=cman_xxx -type=oracle_cman -host="xxx.yyy.zzz"
threw a proper error:
Error: Required properties are missing: Machine, Port, Protocol, CManOraDir, CManName, OracleHome
This syntax worked for me:
emcli add_target -name=cman_xxx -type=oracle_cman \
-host="xxx.yyy.zzz" \
-properties="Machine:xxx.yyy.zzz;Port:1521;Protocol:TCP;CManOraDir:<tns_admin>;CManName:cman_xxx;OracleHome:<oracle_home>;Password:đ»đ»đ»"
My next goal is to test if these values are stored correct.
For this I stumbled about the Note
Emcli Command To Get Target Properties Information Like ORACLE HOME (Doc ID 2329892.1)
emcli list -resource="TargetProperties" -search="TARGET_NAME ='cman_xxx'" -column="PROPERTY_NAME,PROPERTY_VALUE" -script
PROPERTY_NAME | PROPERTY_VALUE |
CManName | cman_xxx |
CManOraDir | <TNS_ADMIN> |
Machine | xxx.yyy.zzz |
OracleHome | <ORACLE_HOME> |
Port | 1521 |
Protocol | TCP |
orcl_gtp_os | Linux |
orcl_gtp_platform | x86_64 |
Keine Kommentare:
Kommentar veröffentlichen