将非 Unicode 聚合存储应用程序转换为 Unicode 模式

在从 Essbase 11g On-Premise 导出聚合存储应用程序以准备迁移到 Essbase 26ai 之前,请将其转换为 Unicode 模式。

客户端配置 - 在 Windows 客户端上设置 ESSCMD/ESSCMDQ

  1. Essbase 26ai Web 界面中,下载适用于 Windows 的 Essbase 客户端和 MaxL 客户端。

  2. MaxL 客户机提取到 MaxLClient 目录。

  3. 将 ESSCMD 客户机提取到 EssbaseClient 目录。

  4. startMAXL.bat 脚本从 MaxLClient 目录复制到 EssbaseClient 目录。将脚本重命名为 startEsscmd.bat

  5. 编辑 startEsscmd.bat 文件并添加新设置以调用 esscmd ,而不是 esscmd.sh

    "%ESSBASEPATH%\bin\esscmd" %*
  6. 保存文件。以管理员身份运行,并测试登录到 Essbase 26ai 市场或独立部署。

    登录语法:

    login https://<servername_or_IP>/essbase/agent <user> <password>
  7. 确认其工作正常后,从 https://www.oracle.com/middleware/technologies/esscmdq-sampleapps-downloads.html 下载适用于 Windows 的 ESSCMDQ。

  8. ESSCMDQ.exe 提取到 EssbaseClient/bin 目录。

  9. startEsscmd.bat 脚本复制到 startEsscmdQ.bat

  10. 编辑 startEsscmdQ.bat 文件以调用 esscmdq 而不是 esscmd

    "%ESSBASEPATH%\bin\esscmdq" %*
  11. 保存文件。以管理员身份运行,并测试登录到 Essbase 26ai 市场或独立部署。

    登录语法:

    login https://<servername_or_IP>/essbase/agent <user> <password>

注意:

  • 请勿使用 IDCS/MSAD 用户 ID 进行连接。使用 'native' 用户登录。
  • 如果使用代理服务器,您可能需要将以下设置添加到 startEssmcd/q.bat 脚本:
    • 设置 HTTP_PROXY=<proxyserver>:<port>
    • 设置 HTTPS_PROXY=<proxyserver>:<port>

服务器端配置 - 直接在 Essbase 服务器上设置

  1. 使用 MaxL Shell 将复制的聚合存储应用程序转换为 Unicode 模式,如下所述。

  2. 如下所述,将源大纲中的 ESSLANG 值从本机编码更改为 UTF-8。

使用 MaxL Shell 将复制的聚合存储应用程序转换为 Unicode 模式:
  1. 使用 MaxL Shell 登录到源 Essbase 11g 内部部署实例。

  2. 执行 MaxL 语句 alter application <copied_app> set type unicode_mode 以将应用程序转换为 Unicode。

    例如:
    MaxL> alter application SampleBck set type unicode_mode;
    有关 MaxL 的更多详细信息,请参见 Alter Application (Aggregate Storage)

注意:

必须对复制的应用程序而不是源应用程序执行以下所有操作。
将源大纲中的 ESSLANG 值从本机编码更改为 UTF-8。
  1. 下载 ESSCMDQ

    1. 将特定于平台的 "11.1.2.4.010+" 版本的 ESSCMDQ 从下载 ESSCMDQ 下载到源 EPM 11g 实例。
    2. 将文件直接解压缩到安装中存在 ESSCMD 的同一目录中,

      对于 Linux

      $ESSBASEPATH/bin
      例如:
      ./Middleware/EPMSystem11R1/products/Essbase/EssbaseServer/bin/ESSCMDQ

      在 Windows 中

      %ESSBASEPATH%\bin
      例如:
      .\Middleware\EPMSystem11R1\products\Essbase\EssbaseServer\bin\ESSCMDQ.exe

      要了解源 EPM 11g 安装中环境变量的值,请检查环境文件。

      对于 Linux
      ./Middleware/user_projects/<epm_instance>/EssbaseServer/essbaseserver1/bin/setEssbaseEnv.sh
      在 Windows 中:
      ./Middleware/user_projects/<epm_instance>/EssbaseServer/essbaseserver1/bin/setEssbaseEnv.bat

      缺省情况下,<epm_instance>epmsystem1

    3. 创建现有脚本的副本

      对于 Linux

      ./Middleware/user_projects/epmsystem1/EssbaseServer/essbaseserver1/bin/startEsscmd.sh

      身份

      ./Middleware/user_projects/epmsystem1/EssbaseServer/essbaseserver1/bin/startEsscmdQ.sh

      在 Windows 中

      .\Middleware\user_projects\epmsystem1\EssbaseServer\essbaseserver1\bin\startEsscmd.bat

      身份

      .\Middleware\user_projects\epmsystem1\EssbaseServer\essbaseserver1\bin\startEsscmdQ.bat

      在此新创建的脚本中,将调用从 ESSCMD 更改为 ESSCMDQ

    4. 在最后一行之前(在调用 ESSCMDQ 之前),添加以下行:

      对于 Linux
      export ESSCMDQ_UTF8MODE=1
      export ESSLANG=.UTF-8@Binary

      在 Windows 中

      set ESSCMDQ_UTF8MODE=1
      set ESSLANG=.UTF-8@Binary
  2. 在转换大纲之前,请确保已停止复制的应用程序。

  3. 现在,在 ARBORPATH 下创建一个 client 文件夹。

  4. 将应用程序文件夹从 ARBORPATH/app 目录复制到客户机目录。对于 ASOBck 应用程序,例如:

    对于 Linux

    $ARBORPATH/app/ASOBck as $ARBORPATH/client/ASOBck

    在 Windows 中

    %ARBORPATH%\app\ASOBck as %ARBORPATH%\client\ASOBck
  5. 启动以下命令后,在 ESSCMDQ 中执行以下命令。

    注意:

    ESSCMDQ 是交互式的,因此可以在交互模式下找到每个命令的参数。要查看参数的含义,请输入命令(例如 OpenOtl),然后按 Enter 键查看解释该参数的菜单。或者输入 ESSCMDQ 命令并按 Enter 键(不带任何参数),此时将显示参数菜单。

    Linux 示例

    ./Middleware/user_projects/epmsystem1/EssbaseServer/essbaseserver1/bin/startEsscmdQ.sh
    openotlex2 1 1 appName dbName outlineName Y Y Locale N 0
    
    writeotlex 0 1 1 appName dbName outlineName 2
    

    Windows 示例

    .\Middleware\user_projects\epmsystem1\EssbaseServer\essbaseserver1\bin\startEsscmdQ.bat
    openotlex2 1 1 appName dbName outlineName Y Y Locale N 0
    writeotlex 0 1 1 appName dbName outlineName 2
    

    请注意,Locale 应是源 Essbase 11g 内部部署环境中使用的本机 ESSLANG 值。

    例如(Linux 语法)

    
    mkdir $ARBORPATH/client
    cp -r $ARBORPATH/app/ASOBck $ARBORPATH/client
    
    ./Middleware/user_projects/epmsystem1/EssbaseServer/essbaseserver1/bin/startEsscmdQ.sh
    openotlex2 1 1 ASOBck Basic Basic Y Y "Japanese_Japan.MS932@Binary" N 0
    writeotlex 0 1 1 ASOBck Basic Basic 2
    exit
  6. 确保在执行上述命令时不显示任何错误。然后,对于每个多维数据集,仅将大纲文件从客户机目录复制回应用程序目录。

    例如(Linux 语法):
    #Now copy back the converted outline only for each cube. For ASOBck app -
    cp $ARBORPATH/client/ASOBck/Basic/Basic.otl $ARBORPATH/app/ASOBck/Basic/Basic.otl
    
    #Note: The artifact files (.txt or .csc), which were created in native locale, may need to be converted to UTF-8 manually using third party tools which help in converting text encoding.
    
  7. 使用以下命令再次启动 ESSCMDQ:

    对于 Linux

    ./Middleware/user_projects/epmsystem1/EssbaseServer/essbaseserver1/bin/startEsscmdQ.sh

    在 Windows 中

    .\Middleware\user_projects\epmsystem1\EssbaseServer\essbaseserver1\bin\startEsscmdQ.bat

    并重构每个立方体。

    #Please replace hostname, username, password, appname and cubename with appropriate values
    login 'hostname' 'username' 'password'
    select appname cubename
    openotl 2 1 appname cubename outlinename y y 0
    writeotl 0 2 1 appname cubename outlinename
    restructotl 1
    closeotl 0
    unlockobj 1 appname cubename outlinename
    logout
    exit

    例如:

    
    login localhost:1423 user password
    select ASOBck Basic
    openotl 2 1 ASOBck Basic Basic y y 0
    writeotl 0 2 1 ASOBck Basic Basic
    restructotl 1
    closeotl 0
    unlockobj 1 ASOBck Basic Basic
    logout
    exit