How to Find Information in the OMR, (Enterprise Manager Repository)
I get a lot of questions starting with, “Where do I find…” and end with “in the Oracle Management Repository, (OMR)?”
The answer to this is one that most DBAs are going to use, as it’s no different than locating objects in most databases, just a few tricks to remember when working with the OMR.
- SYSMAN is the main schema owner you’ll be querying in an OMR, (although there are others, like SYSMAN_RO and others.)
- Most views you will be engaging with when querying the OMR start with MGMT or MGMT$.
- DBA_TAB_COLUMNS is your friend.
- Know the power of _GUID and _ID columns in joins.
Using this information, you can answer a lot of questions when trying to figure out a command you’re seen but don’t have your specific syntax and need to know where to get it from.
Getting Info
As a working example, someone asked me today how they would locate what platform # is used for their version of Linux? The documentation referred to a command that listed one, but they couldn’t be sure if it was the same one that they were deploying.
So how would we find this?
./emcli <insert command here> -platform=?
select table_name from dba_tab_columns where owner='SYSMAN' and table_name like 'MGMT%' and column_name='PLATFORM_NAME';
This is going to return 5 rows and trust me, pretty much all of them are going to have the PLATFORM_ID along with that PLATFORM_NAME one way or another in it. There are a few that stand out that with a little logic, make sense:
TABLE_NAME -------------------------------------------------------------------------------- MGMT_ARU_PLATFORMS_E MGMT$ARU_PLATFORMS MGMT$EM_LMS_ACT_DATA_GUARD_VDB MGMT_ARU_PLATFORMS MGMT_CCR_HOST_INFO
SQL> select distinct(platform_name), platform_id from sysman.mgmt$aru_platforms 2 order by platform_id;
PLATFORM_NAME PLATFORM_ID ---------------------------------------- ----------- HP OpenVMS Alpha 89 Oracle Solaris on x86 (32-bit) 173 HP-UX Itanium 197 Microsoft Windows Itanium (64-bit) 208 IBM: Linux on System z 209 IBM S/390 Based Linux (31-bit) 211 IBM AIX on POWER Systems (64-bit) 212 Linux Itanium 214 Linux x86-64 226 IBM: Linux on POWER Systems 227 FreeBSD - x86 228
The person who posted the question was looking for the Platform_ID for Linux x86-64, which happens to be 226.
Summary
I’d always recommend checking views, as they may be in reserve for plugins or management packs that haven’t been deployed or used before counting on data, but there’s a lot that you can find out even if it isn’t in the GUI.
We’re DBAs, we love data and there’s plenty of that in the OMR for EM13c.
You mention looking for data with the view starting with MGMT or MGMT$. What about some of the other that start GC, GC$, CM$, EM, and EM$? Also the tables? Or should the tables be avioded.