2014-03-14 Complete OMS 12.1.0.3.1 Installation
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.