将非 Unicode 聚合存储应用程序转换为 Unicode 模式
在从 Essbase 11g On-Premise 导出聚合存储应用程序以准备迁移到 Essbase 26ai 之前,请将其转换为 Unicode 模式。
客户端配置 - 在 Windows 客户端上设置 ESSCMD/ESSCMDQ
-
从 Essbase 26ai Web 界面中,下载适用于 Windows 的 Essbase 客户端和 MaxL 客户端。
-
将 MaxL 客户机提取到
MaxLClient目录。 -
将 ESSCMD 客户机提取到
EssbaseClient目录。 -
将
startMAXL.bat脚本从MaxLClient目录复制到EssbaseClient目录。将脚本重命名为startEsscmd.bat。 -
编辑
startEsscmd.bat文件并添加新设置以调用 esscmd ,而不是 esscmd.sh :"%ESSBASEPATH%\bin\esscmd" %* -
保存文件。以管理员身份运行,并测试登录到 Essbase 26ai 市场或独立部署。
登录语法:
login https://<servername_or_IP>/essbase/agent <user> <password> -
确认其工作正常后,从 https://www.oracle.com/middleware/technologies/esscmdq-sampleapps-downloads.html 下载适用于 Windows 的 ESSCMDQ。
-
将
ESSCMDQ.exe提取到EssbaseClient/bin目录。 -
将
startEsscmd.bat脚本复制到startEsscmdQ.bat。 -
编辑
startEsscmdQ.bat文件以调用 esscmdq 而不是 esscmd :"%ESSBASEPATH%\bin\esscmdq" %* -
保存文件。以管理员身份运行,并测试登录到 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 服务器上设置
-
使用 MaxL Shell 将复制的聚合存储应用程序转换为 Unicode 模式,如下所述。
-
如下所述,将源大纲中的 ESSLANG 值从本机编码更改为 UTF-8。
-
使用 MaxL Shell 登录到源 Essbase 11g 内部部署实例。
-
执行 MaxL 语句
例如:alter application <copied_app> set type unicode_mode以将应用程序转换为 Unicode。
有关 MaxL 的更多详细信息,请参见 Alter Application (Aggregate Storage) 。MaxL> alter application SampleBck set type unicode_mode;
注意:
必须对复制的应用程序而不是源应用程序执行以下所有操作。-
下载 ESSCMDQ
- 将特定于平台的 "11.1.2.4.010+" 版本的 ESSCMDQ 从下载 ESSCMDQ 下载到源 EPM 11g 实例。
- 将文件直接解压缩到安装中存在 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。 -
创建现有脚本的副本
对于 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。 -
在最后一行之前(在调用 ESSCMDQ 之前),添加以下行:
对于 Linuxexport ESSCMDQ_UTF8MODE=1 export ESSLANG=.UTF-8@Binary在 Windows 中
set ESSCMDQ_UTF8MODE=1 set ESSLANG=.UTF-8@Binary
-
在转换大纲之前,请确保已停止复制的应用程序。
-
现在,在 ARBORPATH 下创建一个
client文件夹。 -
将应用程序文件夹从
ARBORPATH/app目录复制到客户机目录。对于 ASOBck 应用程序,例如:对于 Linux
$ARBORPATH/app/ASOBck as $ARBORPATH/client/ASOBck在 Windows 中
%ARBORPATH%\app\ASOBck as %ARBORPATH%\client\ASOBck -
启动以下命令后,在 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 0writeotlex 0 1 1 appName dbName outlineName 2Windows 示例
.\Middleware\user_projects\epmsystem1\EssbaseServer\essbaseserver1\bin\startEsscmdQ.bat openotlex2 1 1 appName dbName outlineName Y Y Locale N 0writeotlex 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 -
确保在执行上述命令时不显示任何错误。然后,对于每个多维数据集,仅将大纲文件从客户机目录复制回应用程序目录。
例如(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. -
使用以下命令再次启动 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