迁移 OpManager 数据库
从 PGSQL 迁移到 MSSQL 的步骤
- Windows:在 PGSQL 安装环境中,进入 OpManager 主目录 → bin,以管理员权限从此路径启动命令提示符并运行 DBConfiguration.bat。
Linux:在终端中,进入 <OpManager_Home>/bin 目录并执行 DBConfiguration.sh 文件。 注意:从 128330 版本开始,可以在 OpManager 的 Linux 安装中进行数据库迁移。
- 在弹出窗口中,选择 MSSQL,勾选“从现有数据库迁移数据”(Migrate data from the existing database)选项并单击 OK。
- 迁移完成后,启动产品并检查其是否正常运行。
从 MSSQL 迁移到 PGSQL(适用于预填充和非预填充安装)
- 在 MSSQL 安装环境中,在 <OpManagerHome>\conf 目录下的 db_migration.conf 文件中做如下修改。
将 dest.db.postgres.dir 的值修改为 <OpManagerHome>/pgsql 目录(例如:dest.db.postgres.dir = <OpManager Base Home>/pgsql)。
此步骤不适用于 OpManager 125324 及以上版本。
- Windows:进入 OpManager 主目录 → bin,以管理员权限从此路径启动命令提示符并运行 DBConfiguration.bat。
Linux:在终端中,进入 <OpManager_Home>/bin 目录并执行 DBConfiguration.sh 文件。 - 迁移完成后,启动产品并检查其是否正常运行。
从 MSSQL 迁移到 PGSQL(远程 PGSQL)
- 在 MSSQL 安装环境中,在 <OpManagerBase Home>\conf 目录下的 db_migration.conf 文件中做如下修改:
- create.dest.db=false
- start.dest.postgres.Server=false
- 如果存在,则重命名 <OpManagerHome>\conf\OpManager\POSTGRESQL 文件夹中的 database_params_dbconfig.conf.bkp 文件。
在远程 PostgreSQL Server中创建一个数据库。

创建只读权限的用户“rouser”。连接到 pgAdmin 并执行以下查询:
- CREATE USER rouser with password '<ROPASSWORD>';
- CREATE EXTENSION IF NOT EXISTS pgadmin SCHEMA pg_catalog;
- REVOKE ALL ON SCHEMA public FROM rouser, public;
- GRANT CONNECT ON DATABASE "<DatabaseName>" TO rouser, public;
- GRANT USAGE ON SCHEMA public TO rouser, public;
- GRANT SELECT ON ALL TABLES IN SCHEMA public TO rouser, public;
- ALTER DEFAULT PRIVILEGES FOR ROLE postgres IN SCHEMA public GRANT SELECT ON TABLES TO rouser, public;
- GRANT USAGE ON SCHEMA public TO rouser;
- GRANT SELECT ON ALL TABLES IN SCHEMA public TO rouser;
- ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO rouser;

在 <OpManagerHome>\conf\OpManager\POSTGRESQL\database_params.conf 中需要进行的更改
- 在 URL 字段中做如下修改:jdbc:postgresql://<remotePgSQLInstalledIPAddress>:<PortNumber>/<DBName>?dontTrackOpenResources=true&useUnicode=true&characterEncoding=utf8
- 将用户名改为 postgres。(username=postgres)
- 对 postgres 用户的密码进行加密,并在上述文件中将其替换。(password=<EncryptedPassword>)
- 在同一文件中添加属性 isBundledPgSQL=false。
- 将 ro_password 修改为步骤 4 中提供的密码 <ROPassword>。对其进行加密并写入同一文件(ro_password=<ROPassword>)。
- 可以使用 <OpManagerHome>\bin\encrypt.bat 对明文进行加密,需指定算法为 AES.256,并使用可在 <OpManagerHome>\conf\customer-config.xml 中找到的 CryptTag(用法:encrypt.bat -v <Password> -a AES.256 -k <CryptTag>)。

- Windows:进入 OpManager 主目录 → bin,以管理员权限从此路径启动命令提示符并运行 DBConfiguration.bat。
Linux:在终端中,进入 <OpManager_Home>/bin 目录并执行 DBConfiguration.sh 文件。 - 在弹出窗口中,选择 PostgreSQL,勾选“从现有数据库迁移数据”(Migrate data from the existing database)选项并单击 OK。
- 迁移完成后,启动产品并检查其是否正常运行。

将 SQL Server从一台机器迁移到另一台
注意:这些步骤适用于所有版本的 OpManager。
- 停止 OpManager 服务。
- 使用 SQL 管理工具对 SQL 数据库进行备份。
- 在新Server上使用 SQL 管理工具恢复从旧Server获取的 MSSQL 数据库备份。
- Windows:以管理员权限打开 cmd,进入 <OPMHome>/bin 并运行 DBConfiguration.bat。提供新的 SQL 详细信息并保存。
Linux:在终端中,进入 <OpManager_Home>/bin 目录并执行 DBConfiguration.sh 文件。 - 启动 OpManager 服务。
- 停止 OpManager 服务。
- 将旧Server上的整个 OpManager 文件夹复制到新Server上的目标位置。
- 在新Server上使用“以管理员身份运行”选项打开命令提示符。
- 将目录切换到 <OpManagerHome>/bin 并执行 “OpManagerservice.bat -i”
例如:C:\ManageEngine\OpManager\bin>OpManagerService.bat -i
(上述命令将安装 OpManager 服务) - 现在,在 Windows 服务中(运行 > 输入 Services.msc),可以看到 “ManageEngine OpManager” 服务,该服务将用于启动和停止 OpManager。
注意:如果你使用的是以 MSSQL 作为 OpManager 数据库的 OpManager,或在远程Server上部署的远程 PGSQL,并且新的 OpManager Server能够访问该远程Server数据库,则上述步骤适用。