前言

昨天安装一套 EMCC13.5,安装过程中 VNC 卡死导致安装失败,清理目录后重新执行安装,结果安装过程中报错了:

1
报错信息:The referenced database doesn't contain a valid management Repository

应该是 OMS 数据库在前一次安装过程中已经创建了用户以及一些对象,导致 OMS 数据库不干净了,一般建议重建 OMS 数据库,但是时间比较久,今天介绍一下另一种解决这个问题的方法。

解决方案

删掉 OMS 数据库中已创建的 EMCC 相关用户:

1
2
3
4
SQL> DROP USER SYSMAN CASCADE;
DROP USER SYSMAN_MDS CASCADE;
DROP USER SYSMAN_RO CASCADE;
DROP USER SYSMAN_STB CASCADE;

删掉 sysman 用户相关的同义词:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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;
/

删除用户 MGMT_VIEW:

1
DROP USER mgmt_view CASCADE;

删除 OMS 相关的表空间:

1
2
3
SQL> 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;

清理注册信息:

1
2
3
4
5
6
7
8
9
10
11
SQL> 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')
);

commit;

检查是否还有以下用户存在:

1
2
3
4
5
6
7
8
9
SQL> select USERNAME, ACCOUNT_STATUS
from dba_users
where username in ('CLOUD_ENGINE_USER',
'CLOUD_SWLIB_USER',
'MGMT_VIEW',
'SYSMAN_TYPES',
'SYSMAN_OPSS',
'SYSMAN_STB',
'SYSMAN_RO');

如果存在以上用户,则删除:

1
2
3
4
SQL> drop user CLOUD_ENGINE_USER cascade;
drop user CLOUD_SWLIB_USER cascade;
drop user SYSMAN_TYPES cascade;
drop user SYSMAN122140_OPSS cascade;

重新点击下一步进行 OMS 安装,不再报错:

无需重建 OMS 数据库也可以继续安装,问题解决。