OpManager
OpManager 125230 版本 :
PGSQL 到 MSSQL 迁移 :
- 在PGSQL设置中,进入OpManager主页 → bin,以管理员权限从该路径启动命令提示符,并运行DBConfiguration.bat;
- 在弹出窗口中,选择“MSSQL”,勾选“从现有数据库迁移数据”选项,单击“确定”;
- 迁移完成后,启动程序,检查程序是否正常运行。
MSSQL 到 PGSQL 迁移(用于预置入和非预置入设置):
- 在MSSQL设置中,在 <OpManagerHome>\conf 目录下的 db_migration.conf 中进行以下更改;
- 改变 dest.db.postgres.dir 为<OpManagerHome>/pgsql 目录 (例如: dest.db.postgres.dir = <OpManager Base Home>/pgsql).
这些步骤不适用于OpManager 125324 及以上版本。
注意: 必须使用"/"作为目录分隔符。
- 进入 OpManager 主页 → bin,以管理员权限从该路径启动命令提示符,并运行DBConfiguration.bat;
- 在弹出页面中,选择PostgreSQL,勾选“从现有数据库迁移数据”选项,点击“确认”;
- 迁移完成后,启动程序并检查运行是否正确。
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服务器中创建数据库。

- 创建“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;
- Change the 将ro_password 更改为第四点 <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> )。

- 进入 OpManager 主页 → bin,以管理员权限从该路径启动命令提示符,并运行DBConfiguration.bat;
- 在弹出窗口中,选择 PostgreSQL,勾选“从现有数据库迁移数据”选项,点击“确认”;
- 迁移完成后,启动程序并检查运行是否正确。

将 SQL 服务器从一台机器迁移到另一台机器
注意: 这些步骤适用于OpManager所有型号。
- 停止OpManager服务;
- 使用SQL 管理工具进行SQL DB备份;
- 使用SQL 管理工具在新服务器中恢复MSSQL DB备份(从旧服务器获取);
- 以管理员权限打开cmd,进入<OPMHome>/bin 目录,运行DBConfiguration.bat.提供新的SQL详细信息并保存;
- 启动 OpManager 服务器。
OpManager12.5 版本
注意: 以下步骤仅适用于Windows安装,支持的PgSQL版本为10.12及以上。
PgSQL 到 MSSQL 迁移
- 下载并安装 OpManager 最新版本(安装时选择 MSSQL DB);
- 安装结束时不要点击“完成” ;
- 在旧的 PGSQL 设置中,进入 <OpManagerHome>\bin>,从该路径启动命令提示符,并运行带有所需参数的'MigrateDB.bat' 文件;
MigrateDB.bat mssql <opm_home_from_new_MSSQL_setup>/conf/databaseParams.conf
- 迁移后,在旧的 PGSQL 设置中导航到 <OpManagerHome>\conf\OpManager,复制 data-dictionary.xml 文件并将其替换到新的MSSQL 设置文件中;
- 启动 OpManager 服务器并检查其运行是否正确。
MSSQL 到 PgSQL 迁移 (预置入设置)
- 下载并安装 OpManager 最新版本 (安装时选择PGSQL DB);
- 安装结束时不要点击“完成”;
- 在新的 PGSQL 设置中为 database_params.conf 设置一个新的DBNAME;
- 在旧版 MSSQL 设置中,在 <OpManager Base Home>\conf: 下的db_migration.conf 文件中执行以下命令:
create.dest.db=true
start.dest.postgres.server=true
- 在 <OpManager Base Home>\conf 下的 db_migration.conf 文件中(旧版 MSSQL 设置中),更改 dest.db.postgres.dir的值;
dest.db.postgres.dir = <OpManager New PgSQL Home>/pgsql
注意: 必须使用"/"作为目录分隔符。
- 在旧版 MSSQL设置中,进入 <OpManagerHome>\bin,以管理员权限从相同路径启动命令提示符,并使用所需参数运行 'MigrateDB.bat' 文件;
MigrateDB.bat postgres <OpManager New PgSQL Home>\conf\database_params.conf
- 迁移后,在旧的 MSSQL 设置中导航到 <OpManagerHome>\conf\OpManager,复制 data-dictionary.xml 文件并将其替换到新的 PgSQL 设置的相同目录下;
- 启动并检查新的 PGSQL 设置中的 OpManager 服务器。
MSSQL 到 PgSQL 迁移 (非预置入设置 - 所有32位和EE设置)
- 下载并安装最新(相同)版本的OpManager (安装时选择 PGSQL DB);
- 安装结束时,不要点击“完成”;
- 对<OpManager Base Home>\conf:下的 db_migration.conf 文件进行以下更改(在旧版 MSSQL 设置中):
create.dest.db=true
start.dest.postgres.server=true
- 在 <OpManager Base Home>\conf 下的 db_migration.conf 文件中更改dest.db.postgres.dir的值(在旧版MSSQL设置中);
dest.db.postgres.dir = <OpManager New PgSQL Home>/pgsql
注意: 必须使用"/"作为目录分隔符。
- 在旧版 MSSQL 设置中,进入 <OpManagerHome>\bin,以管理者权限从相同路径启动命令提示符,并使用所需参数运行 'MigrateDB.bat' 文件;
MigrateDB.bat postgres <OpManagOpManagerer New PgSQL Home>\conf\database_params.conf
- 迁移后,在旧版 MSSQL 设置中导航到 <OpManagerHome>\conf\OpManager,复制 data-dictionary.xml 文件并将其替换到新的 PgSQL 设置的相同目录下;
- 启动并检查新的 PGSQL 设置中的 OpManager 服务器。
MSSQL 到 Remote PgSQL迁移
- 下载并安装最新版 OpManager (安装时选择 PGSQL DB);
- 安装结束时不要点击“完成”;
- 在 Remote PgSQL 服务器中创建新的数据库。在新的 PGSQL 设置的 database_params.conf 文件中提供新的DBNAME及其远程服务器详细信息;
- 将 database_params.conf 文件中的 “isBundledPgSQL” 的值更改为 false;
- 在<OpManager Base Home>\conf下的 db_migration.conf 文件(旧版 MSSQL 设置)中,更改dest.db.postgres.dir的值;
dest.db.postgres.dir = <OpManager New PgSQL Home>/pgsql
注意: 必须使用"/"作为目录分隔符。
- 在旧版 MSSQL 设置中,进入 <OpManagerHome>\bin,以管理员权限从相同路径启动命令提示符,并使用所需参数运行 'MigrateDB.bat' 文件;
MigrateDB.bat postgres <OpManager New PgSQL Home>\conf\database_params.conf
- 迁移后,在旧版 MSSQL 设置中导航到 <OpManagerHome>\conf\OpManager,复制 data-dictionary.xml 文件并将其替换到新的 PGSQL 设置的相同目录下;
- 从新的 PGSQL 设置中启动 OpManager 服务器。
OpManager 12.4 版本
PGSQL 到 MSSQL 迁移
- 下载并安装 OpManager 最新版本(.exe/.bin);
- 安装结束时 不要点击“完成”;
- 在旧版 PGSQL 设置中,进入OpManager home → bin,以管理员权限从相同路径启动命令提示符,并使用所需参数运行 'MigrateDB.bat' 文件;
MigrateDB.bat mssql <opm_home_from_new_MSSQL_setup>/conf/databaseParams.conf
(从旧的 PGSQL 数据库指向新创建的 MSSQL 数据库)
- 迁移完成后, 将 data-dictionary.xml 文件从旧安装的“PGSQL”文件夹复制到新安装的“MSSQL”文件夹中;
- 启动程序检查运行是否正确。
MSSQL 到 PGSQL 迁移
- 下载并安装 OpManager 最新版本(.exe/.bin)
- 安装结束时不要点击 “完成”;
- 在旧版 MSSSQL 设置中,进入 OpManagerhome directory → pgsql → bin,以管理员权限从此路径启动命令提示符,并执行以下命令:
psql.exe -U postgres -p <postgre_port_number> -h 127.0.0.1
此命令建立OpManager与PGSQL服务器之间的连接。
- 接下来,使用选择的DB名称调用 新建数据库 命令;
create database <New_database_name>;
- 现在,复制新创建的数据库的名称,并将其替换为 “conf” 目录下的 databaseParams.conf 文件;
- 进入旧版 PGSQL 设置的 OpManager 主目录,并运行带有所需参数的 'MigrateDB.bat' 文件;
MigrateDB.bat postgres <opm_home_from_new_PGSQL_setup>/conf/databaseParams.conf
(从旧的MSSQL数据库指向新创建的PGSQL数据库)
- 迁移完成后,将 data-dictionary.xml 文件从旧安装的 “MSSQL” 文件夹复制到新安装的 “PGSQL” 文件夹中;
- 启动程序检查运行是否正确。
对于早于11600的版本,按照以下步骤从MySQL迁移到PGSQL/MSSQL。
MySQL 到 PGSQL 迁移