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.