Upgrade Aggregate Storage Outline Version
These are the steps, for Linux and for Windows, to upgrade an aggregate storage outline to Essbase 21c.
Note:
Other references for ESSCMDQ workaround information are: How to Use ESSCMDQ to Compact Outlines (Doc ID 1534496.1) and Essbase 21c Compress Dimension Option Not Visible in JET UI (Doc ID 2853804.1).Server-based upgrade steps - for Linux
- Note that these steps can be performed only after importing the outline.
- Download platform-specific Essbase 21c ESSCMDQ from Download ESSCMDQ to your target Essbase system.
- Unzip the files directly to the same directory where ESSCMD is present in your installation.
- Make a copy of the existing script:
as ESSCMDQ:./Oracle/domains/esscs/esstools/bin/startESSCMD.sh
./Oracle/domains/esscs/esstools/bin/startESSCMDQ.sh
Within this newly created script, change the call from:
to<Essbase_Product_Home>/products/Essbase/EssbaseServer/bin/startESSCMD.sh
<Essbase_Product_Home>/products/Essbase/EssbaseServer/bin/startESSCMDQ.sh
- Make a copy of the script:
as:<Essbase_Product_Home>/products/Essbase/EssbaseServer/bin/startESSCMD.sh
<Essbase_Product_Home>/products/Essbase/EssbaseServer/bin/startESSCMDQ.sh
- Edit
and change the last line from<Essbase_Product_Home>/products/Essbase/EssbaseServer/bin/startESSCMDQ.sh
to:<EssbaseBasePath>/bin/ESSCMD
<EssbaseBasePath>/bin/ESSCMDQ
- Just before this last line, add the following lines:
export ESSCMDQ_UTF8MODE=1 export ESSLANG=.UTF-8@Binary
- Create cube directory under the database directory.
mkdir $ARBORPATH/client/{appname}/{cubename}/cube
- After launching this script:
execute the following commands in ESSCMDQ:<Essbase_Product_Home>/products/Essbase/EssbaseServer/bin/startESSCMDQ.sh
#Login to Essbase 21c instance login hostname username password; #Download outline to client directory location. qgetobject3 2 1 "appname" "cubename" "outlinename" $ARBORPATH/client/{appname}/{cubename}/cube/{outlinename}.otl; #Specify aggregate storage appname and cubename below select "appname" "cubename"; #Update outline version openotl 1 1 "appname" "cubename" "outlinename" "y" "y" 0; setopgversion 0 "111241"; writeotl 0 "appname" "cubename" "outlinename" lockobj 1 "appname" "cubename" "outlinename"; qPutObject3 2 1 "appname" "cubename" "outlinename" $ARBORPATH/client/{appname}/{cubename}/cube/{outlinename}.otl N; restructotl 1; closeotl 0; unlockobj 1 "appname" "cubename" "outlinename";
Server-based upgrade steps - for Windows
- Note that these steps can be performed only after importing the outline.
- Download platform-specific Essbase 21c ESSCMDQ from Download ESSCMDQ to your target Essbase system.
- Unzip the files directly to the same directory where ESSCMD is present in your installation.
- Make a copy of the existing script:
as ESSCMDQ:.\Oracle\domains\esscs\esstools\bin\startESSCMD.bat
.\Oracle\domains\esscs\esstools\bin\startESSCMDQ.bat
Within this newly created script, change the call from:
to<Essbase_Product_Home>\products\Essbase\EssbaseServer\bin\startESSCMD.bat
<Essbase_Product_Home>\products\Essbase\EssbaseServer\bin\startESSCMDQ.bat
- Make a copy of the script:
as:<Essbase_Product_Home>\products\Essbase\EssbaseServer\bin\startESSCMD.bat
<Essbase_Product_Home>\products\Essbase\EssbaseServer\bin\startESSCMDQ.bat
- Edit
and change the last line from<Essbase_Product_Home>\products\Essbase\EssbaseServer\bin\startESSCMDQ.bat
to:"%ESSBASEPATH%\bin\ESSCMD.exe" %*
"%ESSBASEPATH%\bin\ESSCMDQ.exe" %*
- Just before this last line, add the following lines:
set ESSCMDQ_UTF8MODE=1 set ESSLANG=.UTF-8@Binary
- Create cube directory under the database directory.
mkdir %ARBORPATH%\client\{appname}\{cubename}\cube
- After launching this script:
execute the following commands in ESSCMDQ:<Essbase_Product_Home>\products\Essbase\EssbaseServer\bin\startESSCMDQ.bat
#Login to Essbase 21c instance login hostname username password; #Download outline to client directory location.q qgetobject3 2 1 "appname" "cubename" "outlinename" %ARBORPATH%/client/{appname}/{cubename}/cube/{outlinename}.otl; #Specify aggregate storage appname and cubename below select "appname" "cubename"; #Update outline version openotl 1 1 "appname" "cubename" "outlinename" "y" "y" 0; setopgversion 0 "111241"; writeotl 0 "appname" "cubename" "outlinename" lockobj 1 "appname" "cubename" "outlinename"; qPutObject3 2 1 "appname" "cubename" "outlinename" $ARBORPATH/client/{appname}/{cubename}/cube/{outlinename}.otl N; restructotl 1; closeotl 0; unlockobj 1 "appname" "cubename" "outlinename";
Note:
- If you get the following error while running writeotl, it can be ignored.
WriteOtl: Error: Invalid location => 0 sts: 0
- While executing “qgetobject3” command, you must provide the full path, which can be downloaded from server (Linux syntax).
qgetobject3 2 1 asos Sample Sample /scratch/12cesscs/data/client/asos/Sample/Sample.otl