Overview
The installation failed with the following error message:
The database details which you have provided doesn't contain valid Management Repository. Provide correct database details and retry.
References
- EM 12c Cloud Control Re-Installation Fails at Repository Configuration With Error " RCU-6016:The specified prefix already exists" (Doc ID 1365834.1)
- EM 12c: OUI hangs / freezes after providing repository database details while Upgrading to 12.1.0.2 (Doc ID 1525857.1)
- 12.1.0.3 Cloud Control Installation Fails With Error "The database details which you have provided doesn't contain valid Management Repository" (Doc ID 1568727.1)
- Oracle® Enterprise Manager Cloud Control Basic Installation Guide 12c Release 3 (12.1.0.3)
Diagnosis
Review MOS
MOS Doc ID 1568727.1 was found.
Review Logs
The log at /opt/app/oracle/oraInventory/logs/installActions2014-03-08_07-47-03PM.log shows the following enties:
INFO: calling query: executeSql arg: SYS arg: *Protected value, not to be logged* arg: select count(*) from SYSMAN.MGMT_UPGRADEUTIL_PROPS where PROPERTY_NAME='SEED_TEMPLATE' and PROPERTY_VALUE='TRUE' connecting to database with already created connect string return value: 0 INFO: POPUP ERROR:The database details which you have provided doesn't contain valid Management Repository. Provide correct database details and retry.
This matches the symptoms described in MOS Doc ID 1568727.1 .
Procedure
Recommended Solution
MOS Doc ID 1568727.1 recommends to download correct the template from Database Template (with EM 12.1.0.3 repository pre-configured) for Installing Oracle Enterprise Manager Cloud Control 12c Release 3 (12.1.0.3) .
Drop SYSMAN Schemae in REPOS
Instead, I decided to drop all of the OEM schemae from REPOS as follows:
DROP USER SYSMAN CASCADE; DROP USER SYSMAN_OPSS CASCADE; DROP USER SYSMAN_MDS CASCADE; DROP USER SYSMAN_APM CASCADE; DROP USER SYSMAN_RO CASCADE;
Attempt Step 8 Again
After I had removed the OEM schemae from REPOS , I clicked Next to go to the next screen, but I got the following error message instead:
Review the Logs
I found the following errors in /opt/app/oracle/oraInventory/logs/emdbprereqs/2014-03-09-06-38-51/repository.log :
Executing Prereq Action
-----------------------------
executing Action: select status from dba_autotask_client where client_name='auto optimizer stats collection'
output: ENABLED
Prerequisite failed
…
Executing Prereq Action
-----------------------------
executing Action: select count(1) from dba_synonyms where table_owner in ('SYSMAN','SYSMAN_MDS','MGMT_VIEW','SYSMAN_BIP','SYSMAN_APM','BIP','SYSMAN_OPSS','SYSMAN_RO')
output: 1747
Prerequisite failed
Executing Prereq Action
-----------------------------
executing Action: select count(1) from dba_tablespaces where TABLESPACE_NAME in ('MGMT_ECM_DEPOT_TS','MGMT_TABLESPACE','MGMT_AD4J_TS')
output: 3
Prerequisite failed
Executing Prereq Action
-----------------------------
executing Action: SELECT COUNT(1) FROM ALL_USERS WHERE USERNAME in ('SYSMAN_MDS', 'MGMT_VIEW', 'SYSMAN_BIP','SYSMAN_APM','BIP', 'SYSMAN_OPSS', 'SYSMAN_RO')
output: 1
Prerequisite failed
Executing Prereq Action
-----------------------------
executing Action: select count(1) from SCHEMA_VERSION_REGISTRY where (comp_name,owner) in (('Authorization Policy Manager','SYSMAN_APM'),('Metadata Services','SYSMAN_MDS'),('Oracle Platform Security Services','SYSMAN_OPSS'))
output: 3
Prerequisite failed
Clean Up
Based on the SQL statements listed in the failure messages above, I created several fix up scripts.
Remove Synonyms
In order to remove the old synonyms, I used the following SQL script in REPOS :
DECLARE CURSOR l_syn_csr IS SELECT 'DROP ' || CASE owner WHEN 'PUBLIC' THEN 'PUBLIC SYNONYM ' ELSE 'SYNONYM ' || owner || '.' END || synonym_name AS cmd FROM dba_synonyms WHERE table_owner IN ( 'SYSMAN', 'SYSMAN_MDS', 'MGMT_VIEW', 'SYSMAN_BIP', 'SYSMAN_APM', 'BIP', 'SYSMAN_OPSS', 'SYSMAN_RO' ); BEGIN FOR l_syn_rec IN l_syn_csr LOOP BEGIN EXECUTE IMMEDIATE l_syn_rec.cmd; EXCEPTION WHEN OTHERS THEN dbms_output.put_line( '===> ' || l_syn_rec.cmd ); dbms_output.put_line( sqlerrm ); END; END LOOP; END; /
Remove Remaining Objects and Data
To remove the remaining objects and data, I used the following SQL script in REPOS :
DROP USER mgmt_view CASCADE; DROP TABLESPACE mgmt_ecm_depot_ts INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS; DROP TABLESPACE mgmt_tablespace INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS; DROP TABLESPACE mgmt_ad4j_ts INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;
Clean up Registry
MOS Doc ID 1365834.1 seems to apply here because I did do the following:
The repository was cleaned-up using "drop user" command instead of "RepManager dropall" . Due to this, the resulting repository record for the sysman_mds, sysman_opss, sysman_apm schemas are not cleaned-up.
Following the solution provided, I ran the following command:
DELETE FROM schema_version_registry WHERE (comp_name,owner) IN ( ('Authorization Policy Manager','SYSMAN_APM'), ('Metadata Services','SYSMAN_MDS'), ('Oracle Platform Security Services','SYSMAN_OPSS') );
DBA Auto Jobs
Searching MOS, I found EM 12c: OUI hangs / freezes after providing repository database details while Upgrading to 12.1.0.2 (Doc ID 1525857.1) which indicates a potential problem only as far as performance goes.
Running the following query from SQL*Plus took 24.61 seconds:
SELECT status FROM dba_autotask_client WHERE client_name='auto optimizer stats collection';
I consider MOS Doc ID 1525857.1 not to apply in my case.
Step 8: Continue Installation
I clicked OK on the error message display.
Then I clicked Next at Step #8 again, and I got the following error message:
I forgot to a
COMMIT
. Did so, tried again, and got the following message:
Clicked Yes to automatically fix the problem.
Then I clicked Next at Step #8 again, and I got the following warning message:
Correct Database Parameters
Updated the following parameters in the REPOS database:
control_files = "/opt/oracle/app/oradata/repos/control01.ctl" control_files = "/opt/oracle/app/fast_recovery_area/repos/control02.ctl" db_block_size = 8192 compatible = "11.2.0.4.0" log_archive_format = "%t_%s_%r.dbf" db_recovery_file_dest = "/opt/oracle/app/fast_recovery_area" db_recovery_file_dest_size= 20G undo_tablespace = "UNDOTBS1" remote_login_passwordfile= "EXCLUSIVE" db_domain = "yaocm.id.au" dispatchers = "(PROTOCOL=TCP) (SERVICE=reposXDB)" job_queue_processes = 1000 audit_file_dest = "/opt/oracle/app/admin/repos/adump" audit_trail = "DB" db_name = "repos" open_cursors = 300 sec_return_server_release_banner= TRUE diagnostic_dest = "/opt/oracle/app" processes =300#EM12C Small Installation session_cached_cursors =300#EM12C Small Installation sga_max_size =2G#EM12C Small Installation sga_target =2G#EM12C Small Installation shared_pool_size =600M#EM12C Small Installation pga_aggregate_target =400M#EM12C Small Installation db_cache_size =800M#EM12C Small Installation
I also increase the size of the online redo log file to 1G each and removed the small ones as follows:
ALTER DATABASE ADD LOGFILE GROUP 4 '/opt/oracle/app/oradata/repos/redo04.log' SIZE 1G; ALTER DATABASE ADD LOGFILE GROUP 5 '/opt/oracle/app/oradata/repos/redo05.log' SIZE 1G; ALTER DATABASE ADD LOGFILE GROUP 6 '/opt/oracle/app/oradata/repos/redo06.log' SIZE 1G; ALTER SYSTEM SWITCH LOGFILE; ALTER DATABASE DROP LOGFILE GROUP 1; ALTER DATABASE DROP LOGFILE GROUP 2; ALTER DATABASE DROP LOGFILE GROUP 3;
Note: I left the OMS installation process running while I reconfigured the database through a restart.
I clicked OK on the error message display.
Step 9: Enterprise Manager Configuration Details
I filled in the details as follows:
I clicked Next to go to the next screen.
Step 10: Post Configuration Details
I left the details as follows:
I clicked Next to go to the next screen.
Step 11: Review
I reviewed the details as follows:
I clicked Install to go to the next screen.
Step 12: Install Progress
The following screen shot was captured during the installation:
Eventually, the following screen appeared:
Ran the scripts with the following results:
[root@cronulla ~]# /opt/app/oracle/oraInventory/orainstRoot.sh Changing permissions of /opt/app/oracle/oraInventory Adding read,write permissions for group,Removing read,write,execute permissions for world. Changing groupname of /opt/app/oracle/oraInventory to oinstall. The execution of the script is complete [root@cronulla ~]# /opt/app/oracle/em/middleware/oms/allroot.sh Starting to execute allroot.sh ......... Starting to execute /opt/app/oracle/em/middleware/oms/root.sh ...... Running Oracle 11g root.sh script... The following environment variables are set as: ORACLE_OWNER= oracle ORACLE_HOME= /opt/app/oracle/em/middleware/oms Enter the full pathname of the local bin directory: [/usr/local/bin]: Copying dbhome to /usr/local/bin ... Copying oraenv to /usr/local/bin ... Copying coraenv to /usr/local/bin ... Creating /etc/oratab file... Entries will be added to the /etc/oratab file as needed by Database Configuration Assistant when a database is created Finished running generic part of root.sh script. Now product-specific root actions will be performed. /etc exist Creating /etc/oragchomelist file... /opt/app/oracle/em/middleware/oms Finished execution of /opt/app/oracle/em/middleware/oms/root.sh ...... Starting to execute /opt/app/oracle/em/agent/core/12.1.0.3.0/root.sh ...... Finished product-specific root actions. /etc exist Finished execution of /opt/app/oracle/em/agent/core/12.1.0.3.0/root.sh ......
I clicked OK to go to the next screen.
Step 13: Finish
At completion, the following screen appeared:
I clicked Close to complete the installation.