Moving the database
A Grid Control repository database, like any other database of an enterprise class piece of software, can over time 'out-grow' its original setup. And when that happens, there are only 2 choices: Only upgrade the hardware to make the box 'bigger', or move the database can potentially to another server.
As far as Grid Control is concerned, the repository database can be on any server (Just make sure the network latency between the OMS and the repository is kept to the absolute minimum!). Any method that moves a complete database from one machine to another can be used to migrate the repository, including a full exp/imp, an rman recovery, or even a full cold backup and restore on a different machine: As long as the complete database is migrated, any of the methods can be used.
When the new machines are running the same operating system on similar hardware, there are quite a few options available to move the database.
If the new machines are on a different platform (different Operating System), some limitations exists, and more planning will be needed for the move. The set of possibilities on what is possible and how is listed in this note on My Oracle Support:
388090.1: Cross Platform EM Grid Control Repository/OMS Migration
(Contact Oracle Support for a copy of this note)
After the move
Even though the OMS does not keep track, or does not keep information about the state and location of the repository, it does need to know where the database is so it can make connections on startup.
The connection details are stored in the emoms.properties file, located in the $ORACLE_HOME/sysman/config directory. When the location of the repository changes, the connect descriptor in that file will need to get updated.
Edit this parameter on every OMS of the infrastructure:
oracle.sysman.eml.mntr.emdRepConnectDescriptor=(DESCRIPTION\=(ADDRESS_LIST\=...rest of TNS descriptor...))
As soon as the change is made, start the Management Servers again to have them point to the new repository database:
$ emctl start oms
But there are two more things that need to happened when the database moves: