从 OpManager 12.4 和 12.5 版本进行远程 PostgreSQL PPM 迁移

注意:以下步骤仅适用于将 OpManager 从 12.4 升级到 12.5,以及从 12.5 升级到更高版本(PgSQL 10.21 至 10.x)。

应用 PPM:

在升级到更高版本(通过 PPM)时,OpManager 服务器会检测当前安装的 PgSQL 版本。12.5 以上的 OpManager 版本仅支持 PostgreSQL 10.21 到 10.x。如果当前 PgSQL 版本不在支持范围内,PPM 安装将会被终止。如果你希望跳过该检查并稍后再执行 PgSQL 迁移,

  • 新建一个名为 remote_pgsql_migration.properties 的文件。
  • 在该文件中添加如下内容。

allow.remote.pgsql.migration = true

  • 保存该文件,然后重试应用 PPM。

远程 PostgreSQL 迁移(从 9.2.4 到 10.x)

OpManager 升级完成后,必须将远程 PgSQL 迁移到其最新版本。请按以下步骤将远程 PostgreSQL 从 9.2.4 迁移到 10.x。

  1. 在新的 PgSQL 服务器上创建一个新数据库。
  2. Create database <databasename>

  3. 创建一个名为 'rouser' 的新用户,并赋予只读权限。
  4. CREATE USER rouser with password '<ROPASSWORD>';

  5. 执行以下查询:
     
    • REVOKE ALL ON SCHEMA public FROM rouser, public;
    • GRANT CONNECT ON DATABASE "OpManagerDB" 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;

从 OpManager 12.4 和 12.5 版本进行远程 PostgreSQL PPM 迁移:执行查询

将旧 PgSQL 数据库中的数据转储到新数据库

迁移完成后,通过执行以下命令,将旧 PgSQL 数据库中的数据转储到新的数据库:

"<OldPgSQLHome>\bin\pg_dump.exe" -U postgres -p <OldPgSQLPort> -h <OldPgSQLHost> -x -W OpManagerDB | "<NewPgSQLHome>\bin\psql.exe" -U postgres -p <NewPgSQLPort> -h <NewPgSQLHost> -W OpManagerDB

示例:"C:\Program Files\PostgreSQL\9.2.4\bin\pg_dump.exe" -U postgres -p 5431 -h <ip_address_1> -x -W OpManagerDB | "C:\Program Files\PostgreSQL\10.21\bin\psql.exe" -U postgres -p 5432 -h <ip_address_1> -W OpManagerDB

在 OpManager 目录中需要进行的修改

  1. <OpManagerHome>\conf. 目录中打开 database_params.conf 文件。
  2. 使用新的 PgSQL 信息,将现有 URL 修改为以下格式。
     

    url jdbc:postgresql://<NewPgSQLHost>:<NewPgSQLPort>/<NewlyMigratedDBName>?dontTrackOpenResources=true&useUnicode=true&characterEncoding=utf8

    示例:url jdbc:postgresql://remote-pgsql-host:5432/OpManagerDB?dontTrackOpenResources=true&useUnicode=true&characterEncoding=utf8

  3. 'rouser' 的密码进行加密并替换为加密值。可在 <OpManagerHome>\bin 目录下运行脚本 'encrypt.bat/sh' 对明文进行加密。将加密算法指定为 'AES.256',并使用 <OpManagerHome>\conf\customer-config.xml 文件中的 CryptTag

    执行以下命令:encrypt.bat -v <ROPASSWORD> -a AES.256 -k <CryptTag>

    从 OpManager 12.4 和 12.5 版本进行远程 PostgreSQL PPM 迁移:执行命令
     
  4. 使用第 3 步 中得到的密码,添加 ro_password。(ro_password=<ROPASSWORD>)

    从 OpManager 12.4 和 12.5 版本进行远程 PostgreSQL PPM 迁移:添加密码
     
  5. 保存该文件并启动 OpManager 服务。

服务启动后,为了进行基本验证,可在“提交查询”页面中执行一条查询,并尝试在产品中添加设备或执行其他基础功能。[示例查询 - Select * from BuildDetails;]

 

感谢您的反馈!

此内容对您有帮助吗?

很抱歉给您带来不便。请帮助我们改进此页面。

我们该如何改进此页面?
您是否需要有关此主题的协助?
点击“提交”,即表示您同意根据隐私政策处理个人数据。