因此,我们设置了一台停产的 Oracle 服务器(Server 2008 x64 上的 11g),我们的计划是重命名服务器的主机名以将其移至生产环境。好吧,数据库本身可以运行,但每次我们尝试启动管理工具时,它都会生成无数个进程(不断增加),最终可能会导致服务器崩溃。
是否有人熟悉与服务器重命名和管理工具失败有关的 Oracle 问题?
答案1
您可以在 ORACLE_HOME 中以主机的 FQDN、下划线和 SID 命名的目录下找到特定于数据库的 DBCONSOLE 的配置文件。例如
myhost.mynetwork_mydatabase
您可以尝试使用以下命令停止 dbconsole
set ORACLE_SID=mydatabase
emctl stop dbconsole
然后摆弄配置文件和目录名称,然后重新启动控制台。
如果这不起作用,那么您可以使用命令行工具将 dbconsole 重新安装到数据库中。我会查找有关 EMCTL 的完整帮助。
更新:我最近必须重新创建一些 DBCONSOLE 存储库。
以下步骤效果良好。
手动删除和重新创建 DBCONSOLE
1. Remove the existing Windows Service
Remove HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OracleDBConsole[SID]
2. Remove the existing setup from the filesystem
Delete %ORACLE_HOME%\DomainName_SID
Delete %ORACLE_HOME%\oc4j\j2ee\OC4J_DBConsole_DomainName_SID
3. Remove the SYSMAN schema from the database as SYS or SYSTEM
drop user sysman cascade;
drop role MGMT_USER;
drop user MGMT_VIEW cascade;
drop public synonym MGMT_TARGET_BLACKOUTS;
drop public synonym SETEMVIEWUSERCONTEXT;
4. Run the Database Configuration Assistant
Select the database from the list
Ensure that the DBCONSOLE option and the Enterprise Manager Repository options are ticked
答案2
来自 Shirish,评论如下。
“只要主机名在 /etc/hosts 中正确映射,它就不会对数据库产生任何影响
对于工具(例如 OEM 或 grid.. 主机名有时会添加到存储库或配置文件中)..除非您想查找所有这些条目,否则最好的方法是重新安装(完全清除旧安装然后再次安装)该工具。 (通常这也是最快的方法)”
如果您需要任何有关如何操作的具体说明,请告知我们。
答案3
是的 - 正如 cephas 所说。我可以通过将 .../product/11.1.0/db_1/oc4j/j2ee/OC4J_DBConsole_oldhostname_orcl 重命名为 .../product/11.1.0/db1_oc4j/j2ee/OC4J_DBConsole_newhostname_orcl 来实现此目的。
之后我使用以下命令重建 em 存储库:emca -config dbcontrol db -repos recreate