Upgrade Aggregate Storage Outline Version

These are the steps, for Linux and for Windows, to upgrade an aggregate storage outline to Essbase 21c.

Server-based upgrade steps - for Linux

  1. Note that these steps can be performed only after importing the outline.
    1. Download platform-specific Essbase 21c ESSCMDQ from Download ESSCMDQ to your target Essbase system.
    2. Unzip the files directly to the same directory where ESSCMD is present in your installation.
    3. Make a copy of the existing script:
      ./Oracle/domains/esscs/esstools/bin/startESSCMD.sh
      as ESSCMDQ:
      ./Oracle/domains/esscs/esstools/bin/startESSCMDQ.sh
      Within this newly created script, change the call from:
      <Essbase_Product_Home>/products/Essbase/EssbaseServer/bin/startESSCMD.sh
      to
      <Essbase_Product_Home>/products/Essbase/EssbaseServer/bin/startESSCMDQ.sh
    4. Make a copy of the script:
      <Essbase_Product_Home>/products/Essbase/EssbaseServer/bin/startESSCMD.sh
      as:
      <Essbase_Product_Home>/products/Essbase/EssbaseServer/bin/startESSCMDQ.sh
    5. Edit
      <Essbase_Product_Home>/products/Essbase/EssbaseServer/bin/startESSCMDQ.sh
      and change the last line from
      <EssbaseBasePath>/bin/ESSCMD
      to:
      <EssbaseBasePath>/bin/ESSCMDQ
    6. Just before this last line, add the following lines:
      export ESSCMDQ_UTF8MODE=1
      export ESSLANG=.UTF-8@Binary
    7. Create cube directory under the database directory.
      mkdir $ARBORPATH/client/{appname}/{cubename}/cube
  2. After launching this script:
    <Essbase_Product_Home>/products/Essbase/EssbaseServer/bin/startESSCMDQ.sh
    execute the following commands in ESSCMDQ:
    #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

  1. Note that these steps can be performed only after importing the outline.
    1. Download platform-specific Essbase 21c ESSCMDQ from Download ESSCMDQ to your target Essbase system.
    2. Unzip the files directly to the same directory where ESSCMD is present in your installation.
    3. Make a copy of the existing script:
      .\Oracle\domains\esscs\esstools\bin\startESSCMD.bat
      as ESSCMDQ:
      .\Oracle\domains\esscs\esstools\bin\startESSCMDQ.bat
      Within this newly created script, change the call from:
      <Essbase_Product_Home>\products\Essbase\EssbaseServer\bin\startESSCMD.bat
      to
      <Essbase_Product_Home>\products\Essbase\EssbaseServer\bin\startESSCMDQ.bat
    4. Make a copy of the script:
      <Essbase_Product_Home>\products\Essbase\EssbaseServer\bin\startESSCMD.bat
      as:
      <Essbase_Product_Home>\products\Essbase\EssbaseServer\bin\startESSCMDQ.bat
    5. Edit
      <Essbase_Product_Home>\products\Essbase\EssbaseServer\bin\startESSCMDQ.bat
      and change the last line from
      "%ESSBASEPATH%\bin\ESSCMD.exe" %*
      to:
      "%ESSBASEPATH%\bin\ESSCMDQ.exe" %*
    6. Just before this last line, add the following lines:
      set ESSCMDQ_UTF8MODE=1
      set ESSLANG=.UTF-8@Binary
    7. Create cube directory under the database directory.
      mkdir %ARBORPATH%\client\{appname}\{cubename}\cube
  2. After launching this script:
    <Essbase_Product_Home>\products\Essbase\EssbaseServer\bin\startESSCMDQ.bat
    execute the following commands in ESSCMDQ:
    #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:

  1. If you get the following error while running writeotl, it can be ignored.
    WriteOtl:
    Error: Invalid location => 0
    sts: 0
  2. 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