Összevont partíciókockák karbantartása és hibaelhárítása

A következő útmutatók segítségével végezheti el az összevont partíciókkal rendelkező Essbase-kockák karbantartását vagy hibaelhárítását.

Ez a témakör feltételezi, hogy Ön létrehozott egy összevont partíciót és áttekintette az előző témakörökben részletezett információkat.

Összevont partíciókockák modellezése és tesztelése

Összevont partíciókocka tervezésekor kövesse ezeket a tesztelési útmutatásokat, ha a létrehozás túl sok időbe telik. Ezek az útmutatások hasznos eszközt jelenthetnek, ha fázisokra bontott megközelítést szeretne alkalmazni a hibaelhárításnál vagy a teljesítmény nyomon követésénél.

  • Indítsa el az összevont partíció projektet tesztkörnyezetben.

  • Kezdje olyan kockamodellekkel, amelyek a következő jellemzőkkel rendelkeznek:

    • nincs sok szintje

    • nincs sok megosztott tagja vagy attribútuma

  1. Összevont partíció létrehozásakor ütemezzen be offline műveleteket, ha a lekérdezések nem engedélyezettek a példányban.

  2. Fokozatosan válassza le az aktív Essbase felhasználói munkameneteket, a MaxL módosítja az alkalmazást használatával tiltsa le a parancsokat és/vagy tiltsa le a kapcsolatokat (az új felhasználói tevékenység megakadályozásához) ezután módosítja a rendszert jelentkeztesse ki a munkameneteket és/vagy állítsa le a kérelmet (ha meg kell szakítania olyan aktív munkameneteket, amelyeknek nem kell befejeződniük). Vegye figyelembe, hogy aMaxL nem tudja megszakítani az Autonomous Data Warehouse adattárházban futó kérelmeket. Ha letiltja a parancsokat az alkalmazásban, ne feledje el ismét engedélyezni őket az összevont partíció létrehozása után.

  3. Időtúllépés-beállítás végrehajtása:
    • HTTPS-proxy az ügyfélhálózaton – állítsa be az ügyfélhálózati időtúllépéseket
    • Terheléskiegyenlítő – növelje a LoadBalance időtúllépését 1260 másodpercre (21 perc)
    • Növelje a HTTPD időtúllépéseit 21 percre
      /etc/httpd/conf.d/00_base.conf:ProxyTimeout 1260
      /etc/httpd/conf.d/00_base.conf:Timeout 1260
    • APS/JAPI időtúllépése:
      • Az Essbase webes felületének Konzol oldalán válassza a Konfiguráció lehetőséget, és jegyezze fel az olap.server.netSocketTimeOut értékét. A 200 ms-os érték azt jelenti, hogy ezeknél a tulajdonságoknál minden 5-ös szám 1 másodperces várakozási időt ad.
      • Az APS/JAPI időkorlát 30 percre való beállításához állítsa 9000 értékre a következőt: olap.server.netRetryCount.
  4. Hozza létre az összevont partíciót.
  5. Állítsa vissza az időtúllépési beállításokat a 3. lépésben.
  6. Engedélyezze a felhasználók visszatérését a rendszerbe a módosítja az alkalmazást parancsok engedélyezése és vagy kapcsolatok engedélyezése lehetőséggel, ha ezeket korábban letiltotta.
  7. Összevont partícióval rendelkező Essbase-kockával kapcsolatos kimutatások esetén a QRYGOVEXECTIME értékét úgy állítsa be, hogy hosszabb legyen, mint az összevont partíciókkal szembeni lekérdezések végrehajtásának várható ideje. Vegye figyelembe, hogy a QRYGOVEXECTIME nem tudja megszakítani az Autonomous Data Warehouse adattárházban futó kérelmeket.
  8. A fejlesztői környezetben végzett tesztelés és a beállítás befejezése után használja a fenti 1–7. lépéseket az összevont partíció éles környezetbe való hozzáadásához.

Megjegyzés:

Ha az összevont partíció létrehozásakor a „Sikertelen a szerkezet mentése” hibaüzenetet látja, várja meg, amíg a munkamenetek befejeződnek, majd frissítse a böngészőt. Ha az összevont partíció létrejött, akkor érvényesítse azt az SQL Developerben. Miután az SQL Developerben érvényesítette, az összevont partíció használatra kész. Ha nem érvényesül az SQL Developerben, akkor a modellt meg kell javítani, és az időtúllépést a fenti 3. lépésben leírtak szerint be kell állítani.

Metaadatokkal kapcsolatos óvintézkedések összevont partíciókockák esetén

Ha az Essbase rendelkezik összevont partícióval, legyen óvatos a kocka szerkezetének szerkesztésekor. Ha hozzáad vagy átnevez tagokat, győződjön meg arról, hogy a metaadatok módosításait az Autonomous Data Warehouse adattárház ténytáblája is tükrözi.

Ha az Essbase-szerkezet és az Autonomous Data Warehouse adattárház szinkronizálása megszakad, az összevont partíció érvénytelenné válik, vagy nem fog megfelelően működni. Ezt úgy javíthatja ki, hogy elveti az összevont partíciót, módosítja a szerkezetet és a ténytáblát, majd ismét létrehozza az összevont partíciót.

Ha az összevont partíció érvénytelenné válik, a következő hibaüzenettel találkozhat:Essbase Hiba(1040235): Távoli figyelmeztetés az összevont partíciótól.

A következő típusú Essbase-szerkezetmódosítások az összevont partíció érvénytelenné válásához vezetnek:

  • Dimenziók hozzáadása, átnevezése vagy eltávolítása

  • Tagok hozzáadása, átnevezése vagy eltávolítása (kimutatásdimenzió)

  • Tag módosítása tároltról dinamikusra

A fent nem jelzett, egyéb típusú Essbase-szerkezetmódosítások esetében (például olyan személy hozzáadása vagy átnevezése, aki nem tagja a kimutatásdimenziónak) el kell végezni a megfelelő módosításokat a ténytábla érintett adatsorában is. Egyéb esetben előfordulhat, hogy az összevont partíció nem fog megfelelően működni.

Ha előre tudja, hogy az Essbase-szerkezet metaadatai módosulni fognak, érdemesebb először eltávolítani az összevont partíciót, elvégezni a szerkezet módosításait, frissíteni a ténytáblát, majd ismét létrehozni az összevont partíciót.

Ha viszont az Essbase metaadatai módosultak, és ezért az összevont partíció érvénytelenné vált, tegye a következőt:

  1. Távolítsa el az összevont partíciót és a hozzá társított kapcsolatot (ha egyéb esetben nem használatos) a következő helyen leírtak szerint: Összevont partíció eltávolítása.

    Az Autonomous Data Warehouse összevont partíció felhasználói sémájában törölje manuálisan az Essbase által generált táblákat és a többi olyan objektumot, amely nem került eltávolításra az összevont partícióval.

  2. Győződjön meg róla, hogy a szerkezet módosításait az Essbase-kockában végzik el.

  3. Hozza létre újra a ténytáblát. Lásd: Ténytábla létrehozása.

  4. Hozza létre újra a kapcsolatot az Autonomous Data Warehouse adattárházzal. Ez lehet globális kapcsolat (az Essbase webes felületének fő Források ikonja alatt), vagy lehet a Források része, amelyet csak az alkalmazáshoz definiáltak. Kövesse a következőben leírt utasításokat: Kapcsolat létrehozása összevont partíciókhoz.

  5. Hozza létre újra az összevont partíciót a következőben leírtak szerint: Összevont partíció létrehozása.

Teendők az adatbázis-kapcsolat részleteinek módosulása esetén

Ha módosultak annak azAutonomous Data Warehouse-kapcsolatnak a részletei, amelyet az Essbase összevont partícióhoz használ, el kell vetni, és újra létre kell hozni az összevont partíciót, valamint törölni kell a társított objektumokat és a metaadattáblákat az adatbázissémából.

El kell vetni, és újra létre kell hozni az összevont partíciót, ha a következő események bármelyike bekövetkezik az összevont partíció létrehozását követően:

Ha előre tudja, hogy módosulni fognak a kapcsolat részletei, érdemesebb eltávolítani az összevont partíciót a módosítás megtörténte előtt, és a módosítást követően újra létrehozni. Azonban, ha a kapcsolat módosult, és ezért az összevont partíció érvénytelenné vált, kövesse a következő lépéseket.

Összevont partíció eldobása

Távolítsa el az összevont partíciót és a hozzá társított kapcsolatot (ha egyéb esetben nem használatos) a következő helyen leírtak szerint: Összevont partíció eltávolítása.

Az összevont partícióhoz kapcsolódó objektumok és metaadattáblák törlése

Az Autonomous Data Warehouse összevont partíció felhasználói sémájában dobja el az Essbase által generált táblákat és a többi olyan objektumot, amely nem került eltávolításra az összevont partícióval.

  1. ssh az Essbase-kiszolgáló gazdagépéhez az opc felhasználóként.

                      ssh -i MPOCI_KEY.pem opc@100.xxx.xxx.xxx
                   
  2. Módosítsa oracle felhasználóra (és lépjen a kezdőkönyvtárára).

                      sudo su - oracle
                   
  3. Navigáljon az alkalmazások könyvtárára.

                      cd /u01/data/essbase/app
                   
  4. Az Essbase alkalmazás és a kockanév használatával azonosítsa az összevont partíció objektumaival és metaadataival társított egyedi előtagot.

    1. Olvassa be az alkalmazás nevét (AppName). A név megkülönbözteti a kis- és nagybetűket, ezért pontosan rögzítse. Ebben a példában az AppName = Sample.

      ls
      Sample
    2. Számolja meg a karakterek számát (appx) az alkalmazás nevében.

      Például: appx = 6.

    3. Navigáljon a kocka könyvtárára, és olvassa be a kocka nevét (DbName). A név megkülönbözteti a kis- és nagybetűket, ezért pontosan rögzítse. Ebben a példában a DbName = Basic.

      cd /Sample
      ls
      Basic
    4. Számolja meg a karakterek számát (dby) a kocka nevében.

      Például: dby = 5.

    5. Hozza létre az Előtag elemet mint:

      ESSAV_<appx><AppName>_<dby><DbName>_

      Példa:

      <Prefix> = ESSAV_6Sample_5Basic_
  5. Az SQL Developer vagy egy másik eszköz használatával csatlakozzon az Oracle Database adatbázishoz annak a sémának a felhasználójaként, amelyhez az összevont partíció csatlakoztatva van.

  6. Futtasson egy SELECT utasítást, hogy létrehozza az összevont partícióalkalmazással társított objektumok listáját. Ezeket az objektumokat fogja törölni a következő lépésben.

    A SELECT utasítás formátuma a következő:

    SELECT * FROM user_OBJECTS WHERE OBJECT_NAME like '<Prefix>%';

    Példa:

    SELECT * FROM user_OBJECTS WHERE OBJECT_NAME like 'ESSAV_6Sample_5Basic_%';
  7. Futtasson egy tárolt PL/SQL-folyamatot, amely törli az összes elemzési nézetet, csomagot, hierarchiát, táblát és egyéb objektumot, amely az Előtag elemmel van társítva.

    Példa

    Cserélje ezt: ESSAV_6Sample_5Basic_ az Előtag elemre.

    SET SERVEROUTPUT ON;
    
    declare
      prefix_str varchar2(70) := 'ESSAV_6Sample_5Basic_';
    
    BEGIN
    
      FOR c IN ( SELECT ANALYTIC_VIEW_NAME FROM user_analytic_views WHERE ANALYTIC_VIEW_NAME like prefix_str || '%' )
      LOOP
        EXECUTE IMMEDIATE 'DROP ANALYTIC VIEW "' || c.ANALYTIC_VIEW_NAME || '" ';
        DBMS_OUTPUT.PUT_LINE('ANALYTIC VIEW ' || c.ANALYTIC_VIEW_NAME || ' dropped successfully.');
      END LOOP;
    
      FOR c IN ( SELECT distinct OBJECT_NAME FROM USER_PROCEDURES WHERE OBJECT_TYPE='PACKAGE' and OBJECT_NAME like prefix_str || '%' )
      LOOP
        EXECUTE IMMEDIATE 'DROP PACKAGE "' || c.OBJECT_NAME || '" ';
        DBMS_OUTPUT.PUT_LINE('PACKAGE ' || c.OBJECT_NAME || ' dropped successfully.');
      END LOOP;
    
      FOR c IN ( SELECT distinct HIER_NAME FROM USER_HIERARCHIES WHERE HIER_NAME like prefix_str || '%' )
      LOOP
        EXECUTE IMMEDIATE 'DROP HIERARCHY "' || c.HIER_NAME || '" ';
        DBMS_OUTPUT.PUT_LINE('HIERARCHY ' || c.HIER_NAME || ' dropped successfully.');
      END LOOP;
    
      FOR c IN ( SELECT distinct DIMENSION_NAME FROM USER_ATTRIBUTE_DIM_TABLES_AE WHERE DIMENSION_NAME like prefix_str || '%' )
      LOOP
        EXECUTE IMMEDIATE 'DROP ATTRIBUTE DIMENSION "' || c.DIMENSION_NAME || '" ';
        DBMS_OUTPUT.PUT_LINE('ATTRIBUTE DIMENSION ' || c.DIMENSION_NAME || ' dropped successfully.');
      END LOOP;
    
      FOR c IN ( SELECT distinct TABLE_NAME FROM USER_TABLES WHERE TABLE_NAME like prefix_str || '%' )
      LOOP
        EXECUTE IMMEDIATE 'DROP TABLE "' || c.TABLE_NAME || '" purge';
        DBMS_OUTPUT.PUT_LINE('TABLE ' || c.TABLE_NAME || ' dropped successfully.');
      END LOOP;
    
      FOR c IN ( SELECT distinct VIEW_NAME FROM USER_VIEWS WHERE VIEW_NAME like prefix_str || '%' )
      LOOP
        EXECUTE IMMEDIATE 'DROP VIEW "' || c.VIEW_NAME || '" ';
        DBMS_OUTPUT.PUT_LINE('VIEW ' || c.VIEW_NAME || ' dropped successfully.');
      END LOOP;
    
      FOR c IN ( SELECT distinct TYPE_NAME FROM USER_TYPES WHERE TYPE_NAME like prefix_str || '%' )
      LOOP
        EXECUTE IMMEDIATE 'DROP TYPE "' || c.TYPE_NAME || '" FORCE';
        DBMS_OUTPUT.PUT_LINE('TYPE ' || c.TYPE_NAME || ' dropped successfully.');
      END LOOP;
    
    END;
    /
    
  8. Dobja el és frissítse a társított metaadatokhoz kapcsolódó táblákat. Először a következők értékeit kell lekérni: ESSBASE_INSTANCE_UNIQUE_ID és OTL_ID.

    1. ssh az Essbase-kiszolgáló gazdagépéhez az opc felhasználóként.

                              ssh -i MPOCI_KEY.pem opc@100.xxx.xxx.xxx
                           
    2. Módosítsa oracle felhasználóra (és lépjen a kezdőkönyvtárára).

                              sudo su - oracle
                           
    3. Keressen rá az Essbase ügynök folyamatra.

                              ps -ef | grep ESSS | grep -v "grep"
                           

      A fenti parancsnak vissza kell adnia egy folyamatlistát, amely az oracle előtaggal kezdődik, amelyet két folyamatazonosító követ; például:

      oracle   10769  19563 ...

      Tekintse az első azonosítót <PID> értéknek. Ezt a következő lépésben fogja használni.

    4. Használja a strings parancsot az ESSBASE_INSTANCE_UNIQUE_ID értékének rögzítéséhez.

      strings /proc/<PID>/environ | grep ESSBASE_INSTANCE_UNIQUE_ID

      Példa:

                              strings /proc/10769/environ | grep ESSBASE_INSTANCE_UNIQUE_ID
                           

      A fenti parancsnak az ESSBASE_INSTANCE_UNIQUE_ID értékét kell visszaadnia; például:

      ESSBASE_INSTANCE_UNIQUE_ID=EWRnHFlQteCEzWUhF7P3TPKunf3bYs
    5. Az SQL Developer vagy egy másik eszköz használatával csatlakozzon az Oracle Database adatbázishoz annak a sémának a felhasználójaként, amelyhez az összevont partíció csatlakoztatva van.

    6. Futtasson egy SELECT utasítást az OTL_ID értékének lekéréséhez.

      A SELECT utasítás formátuma a következő:

      SELECT OTL_ID FROM ESSAV_OTL_MTD_VERSION where APPNAME ='<AppName>' and "JAGENT_INSTANCE_ID"='<ESSBASE_INSTANCE_UNIQUE_ID>';

      Példa

      Cserélje ezt: ESSAV_6Sample_5Basic erre: AppName, és cserélje ezt: 'EWRnHFlQteCEzWUhF7P3TPKunf3bYs' erre: ESSBASE_INSTANCE_UNIQUE_ID.

      SELECT OTL_ID FROM ESSAV_OTL_MTD_VERSION where APPNAME ='ESSAV_6Sample_5Basic' and "JAGENT_INSTANCE_ID"='EWRnHFlQteCEzWUhF7P3TPKunf3bYs';
    7. A fenti lekérdezésnek az OTL_ID értékét kell visszaadnia, például:

      62
    8. Futtasson egy tárolt PL/SQL-folyamatot, hogy eldobja az OTL_ID elemmel társított, metaadatokkal kapcsolatos fájlokat.

      Példa

      Cserélje a 62 értéket erre: OTL_ID.

      SET SERVEROUTPUT ON;
      BEGIN
        FOR c IN ( SELECT distinct TABLE_NAME FROM USER_TABLES WHERE TABLE_NAME like 'ESSAV_MTD_62_%' )
        LOOP
          EXECUTE IMMEDIATE 'DROP TABLE "' || c.TABLE_NAME || '" purge';
          DBMS_OUTPUT.PUT_LINE('TABLE ' || c.TABLE_NAME || ' dropped successfully.');
        END LOOP;
      END;
      /
      
    9. Egy UPDATE utasítás futtatásával állítsa az ESSAV_OTL_MTD_VERSION táblát inaktív státuszra.

      Példa

      Cserélje ezt: ESSAV_6Sample_5Basic erre: AppName, és cserélje ezt: EWRnHFlQteCEzWUhF7P3TPKunf3bYs erre: ESSBASE_INSTANCE_UNIQUE_ID.

      UPDATE "ESSAV_OTL_MTD_VERSION" SET  "OTL_STATUS" = 'INACTIVE'  where APPNAME ='ESSAV_6Sample_5Basic' and "JAGENT_INSTANCE_ID"='EWRnHFlQteCEzWUhF7P3TPKunf3bYs';
      commit;

A kapcsolat és az összevont partíció újbóli létrehozása

  1. Hozza létre újra a kapcsolatot az Autonomous Data Warehouse adattárházzal. Ez lehet globális kapcsolat (az Essbase webes felületének fő Források ikonja alatt), vagy lehet a Források része, amelyet csak az alkalmazáshoz definiáltak. Kövesse a következőben leírt utasításokat: kapcsolat. Tesztelje és mentse a kapcsolatot.

  2. Hozza létre újra az összevont partíciót a következőben leírtak szerint: Összevont partíció létrehozása.

  3. Ha továbbra is kapcsolódási hibát lát – például: Essbase Error(1350012): Az OCI felülethez való kapcsolódási kísérlet sikertelen, tekintse meg a következőt: https://support.oracle.com/rs?type=doc&id=2925030.1.

Összevont partícióhoz kapcsolódó alkalmazás biztonsági mentése és helyreállítása

Az összevont partíciók nem kerülnek áttelepítésre az Essbase-alkalmazásokkal. Amikor arra készül, hogy az alkalmazást egy másik kiszolgálóra vagy Essbase-verzióra telepíti át, törölnie kell az összevont partíciót, és újra létre kell hoznia az új környezetben.

Az összevont partíciókocka biztonsági mentése:

  1. Készítsen biztonsági másolatot az alkalmazásról az adatok nélkül, de foglaljon bele minden mást, amire szüksége lehet (úgy, mint a konfiguráció tulajdonságai, szűrők, változók, számítási parancsfájlok és egyéb modellelemek). Ehhez használja ezt: LCM exportálása (vagy az LCM exportálása feladatot az Essbase webes felületén).

  2. Ténytábla biztonsági mentése Lásd: Az Autonomous Database biztonsági mentése és helyreállítása.

  3. Törölje az összevont partíció definícióját a kockából. Ehhez kövesse a következő helyen található lépéseket: Összevont partíció eltávolítása.

Összevont partíciókocka visszaállítása biztonsági mentésből:

  1. Hozza létre újra az alkalmazást. Ehhez használja a következőt: LcmImport: Kockafájlok helyreállítása (vagy az LCM importálása feladatot az Essbase webes felületén).

  2. Ha szükséges, állítsa vissza az Autonomous Data Warehouse adattábláját.

  3. A kapcsolat újbóli létrehozása az Autonomous Data Warehouse-al. Javasolt új kapcsolatnév használata a hibák elkerülése érdekében

  4. Hozza létre újra az összevont partíciót.