Bruk retningslinjene nedenfor til å vedlikeholde eller feilsøke Essbase-kuber med sammensluttede partisjoner.
Dette emnet antar at du har opprettet en sammensluttet partisjon og vurdert opplysningene fra de foregående emnene.
Når du utformer en kube med sammensluttet partisjon, følger du disse retningslinjene for testing hvis opprettelsen tar for lang tid. Disse retningslinjene kan være nyttige for en faseinndelt tilnærming til feilsøking eller overvåking av ytelse.
Start prosjektet for en sammensluttet partisjon i et testmiljø.
Begynn med kubemodeller med følgende kjennetegn:
ikke mange nivåer
ikke mange delte medlemmer eller attributter
Når du skal opprette en sammensluttet partisjon, må du planlegge frakoblede operasjoner når det ikke er tillatt med spørringer mot forekomsten.
Foreta en gradvis frakobling av aktive Essbase-brukerøkter, ved hjelp av MaxL for deaktivering av kommandoer
og/eller deaktivering av tilkoblinger
med endring av applikasjon (for å forhindre ny brukeraktivitet), etterfulgt av avlogging av økt
og/eller avslutning av forespørsel
med endring av system (hvis du må avslutte aktive økter som ikke trenger å fullføres). Vær oppmerksom på at MaxL ikke kan avslutte forespørsler som kanskje kjøres i Autonomous Data Warehouse. Hvis du deaktiverer kommandoer i applikasjonen, må du huske å aktivere dem på nytt når den sammensluttede partisjonen er opprettet.
/etc/httpd/conf.d/00_base.conf:ProxyTimeout 1260
/etc/httpd/conf.d/00_base.conf:Timeout 1260
olap.server.netRetryCount
til 9000.Merknad:
Hvis du ser feilmeldingen "Kan ikke lagre disposisjonen" ved opprettelse av den sammensluttede partisjonen, må du vente til øktene er fullført, og deretter oppfriske nettleseren. Hvis den sammensluttede partisjonen er opprettet, validerer du den i SQL Developer. Hvis valideringen i SQL Developer er vellykket, er den sammensluttede partisjonen klar til bruk. Hvis valideringen i SQL Developer ikke er vellykket, må modellen rettes opp, og tidsavbruddsjustering må utføres som beskrevet i trinn 3 ovenfor.Når Essbase har en sammensluttet partisjon, må du være forsiktig når du redigerer kubedisposisjonen. Hvis du legger til eller gir nytt navn til medlemmer, må du forsikre deg om at metadataendringene gjenspeiles i faktatabellen i Autonomous Data Warehouse.
Hvis Essbase-disposisjonen blir usynkronisert med faktatabellen i Autonomous Data Warehouse, blir den sammensluttede partisjonen ugyldig, eller den vil ikke fungere som den skal. For å løse dette problemet må du fjerne den sammensluttede partisjonen, gjøre endringer i disposisjonen og faktatabellen og deretter gjenopprette den sammensluttede partisjonen.
Hvis en sammensluttet partisjon blir ugyldig, kan det oppstå en feil som begynner med Essbase-feil (1040235): Ekstern advarsel fra sammensluttet partisjon
.
Følgende typer disposisjonsendringer i Essbase vil føre til at en sammensluttet partisjon blir ugyldig:
Legge til, gi nytt navn til eller fjerne dimensjoner
Legge til, gi nytt navn til eller fjerne lagrede medlemmer i pivoteringsdimensjonen
Endre et medlem fra lagret til dynamisk
For andre typer Essbase-disposisjonsendringer som ikke er angitt ovenfor (for eksempel tilføyelse av eller endring av navn på et ikke-pivoteringsdimensjonsmedlem), må du gjøre den aktuelle endringen i den berørte dataraden i faktatabellen. Ellers kan det hende at den sammensluttede partisjonen ikke fungerer som den skal.
Hvis du på forhånd vet at metadataene for en Essbase-disposisjon kommer til å bli endret, er det bedre å fjerne den sammensluttede partisjonen først, gjøre disposisjonsendringene, oppdatere faktatabellen og deretter gjenopprette den sammensluttede partisjonen.
Hvis Essbase-metadataene er endret og det har ført til at den sammensluttede partisjonen har blitt ugyldig, må du imidlertid gjøre følgende:
Fjern den sammensluttede partisjonen og den tilknyttede tilkoblingen (hvis den ellers ikke brukes), som beskrevet i Fjerne en sammensluttet partisjon.
Fra brukerskjemaet med sammensluttet partisjon i Autonomous Data Warehouse sletter du alle Essbase-genererte tabeller og andre objekter som ikke ble fjernet i den sammensluttede partisjonen, manuelt.
Kontroller at disposisjonsendringene er fullført i Essbase-kuben.
Opprett faktatabellen på nytt. Se Opprette faktatabellen.
Gjenopprett tilkoblingen til Autonomous Data Warehouse. Dette kan være en global tilkobling (under hovedikonet for kilder i Web-grensesnittet for Essbase), eller det kan være en tilkobling i kildene som er definert bare for applikasjonen. Følg instruksjonene i Opprette en tilkobling for sammensluttede partisjoner.
Opprett den sammensluttede partisjonen på nytt, som beskrevet i Opprette en sammensluttet partisjon.
Hvis tilkoblingsdetaljene for Autonomous Data Warehouse som Essbase bruker for en sammensluttet partisjon, er endret, må du fjerne den sammensluttede partisjonen, opprette den på nytt og rydde tilknyttede objekter og metadatatabeller fra databaseskjemaet.
Du må fjerne og gjenopprette den sammensluttede partisjonen hvis noe av følgende skjer etter at den sammensluttede partisjonen er opprettet:
Autonomous Data Warehouse-porten endres
Navnet på tilkoblingen endres
Det brukes en lommebok for tilkoblingen, og du bytter fra ett tjenestenavn til et annet (for å gjøre ytelses- eller samtidighetsendringer)
En disposisjonsoppdatering endrer medlemstilordningen til faktatabellen, slik at den sammensluttede partisjonen blir usynkronisert. Se Forholdsregler knyttet til metadata for kuber med sammensluttet partisjon hvis du vil ha flere opplysninger.
Hvis du på forhånd vet at tilkoblingsdetaljene kommer til å bli endret, er det bedre å fjerne den sammensluttede partisjonen før endringen skjer, og deretter opprette den på nytt etterpå. Hvis tilkoblingen er endret og det har ført til at den sammensluttede partisjonen har blitt ugyldig, må du følge fremgangsmåten nedenfor.
Fjerne den sammensluttede partisjonen
Fjern den sammensluttede partisjonen og den tilknyttede tilkoblingen (hvis den ellers ikke brukes), som beskrevet i Fjerne en sammensluttet partisjon.
Rydde relaterte objekter og metadatatabeller med sammensluttet partisjon
Fra brukerskjemaet med sammensluttet partisjon i Autonomous Data Warehouse fjerner du alle Essbase-genererte tabeller og andre objekter som ikke ble fjernet i den sammensluttede partisjonen.
ssh til verten Essbase-tjener som brukeren opc.
ssh -i MPOCI_KEY.pem opc@100.xxx.xxx.xxx
Bytt til brukeren oracle (og gå til den tilhørende hjemmekatalogen).
sudo su - oracle
Gå til applikasjonskatalogen.
cd /u01/data/essbase/app
Ved hjelp av Essbase-applikasjonen og kubenavnet identifiserer du det unike prefikset som er knyttet til objektene og metadataene for den sammensluttede partisjonen.
Hent applikasjonsnavnet (AppName). Navnet skiller mellom store og små bokstaver, så pass på å skrive inn riktig bokstavtype. I dette eksemplet: AppName = Sample.
ls
Sample
Tell antallet tegn (appx) i applikasjonsnavnet.
Eksempel: appx = 6.
Gå til kubekatalogen, og hent kubenavnet (DbName). Navnet skiller mellom store og små bokstaver, så pass på å skrive inn riktig bokstavtype. I dette eksemplet: DbName = Basic.
cd /Sample
ls
Basic
Tell antallet tegn (dby) i kubenavnet.
Eksempel: dby = 5.
Bygg prefikset som:
ESSAV_<appx><AppName>_<dby><DbName>_
Eksempel:
<Prefix> = ESSAV_6Sample_5Basic_
Bruk SQL Developer eller et annet verktøy til å koble til Oracle-databasen som brukeren av skjemaet som den sammensluttede partisjonen er koblet til.
Kjør en SELECT-setning for å opprette en liste over objekter som er knyttet til applikasjonen for sammensluttet partisjon. Dette er objektene du skal rydde i det neste trinnet.
Formatet for SELECT-setningen er:
SELECT * FROM user_OBJECTS WHERE OBJECT_NAME like '<Prefix>%';
Eksempel:
SELECT * FROM user_OBJECTS WHERE OBJECT_NAME like 'ESSAV_6Sample_5Basic_%';
Kjør en lagret PL/SQL-prosedyre som rydder alle de analytiske visningene, pakkene, hierarkiene, tabellene og de andre objektene som er knyttet til prefikset.
Eksempel
Erstatt ESSAV_6Sample_5Basic_
med prefikset ditt.
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; /
Fjern og oppdater tilknyttede metadatarelaterte tabeller. Først må du hente verdier for ESSBASE_INSTANCE_UNIQUE_ID og OTL_ID.
ssh til verten Essbase-tjener som brukeren opc.
ssh -i MPOCI_KEY.pem opc@100.xxx.xxx.xxx
Bytt til brukeren oracle (og gå til den tilhørende hjemmekatalogen).
sudo su - oracle
Søk etter prosessen for Essbase-agenten.
ps -ef | grep ESSS | grep -v "grep"
Kommandoen ovenfor skal returnere en prosessoversikt som starter med oracle
, etterfulgt av to prosess-ID-er. Eksempel:
oracle 10769 19563 ...
Vurder den første prosess-ID-en til <PID>
, som du skal bruke i det neste trinnet.
Bruk kommandoen strings til å registrere verdien for ESSBASE_INSTANCE_UNIQUE_ID.
strings /proc/<PID>/environ | grep ESSBASE_INSTANCE_UNIQUE_ID
Eksempel:
strings /proc/10769/environ | grep ESSBASE_INSTANCE_UNIQUE_ID
Kommandoen ovenfor skal returnere verdien ESSBASE_INSTANCE_UNIQUE_ID. Eksempel:
ESSBASE_INSTANCE_UNIQUE_ID=EWRnHFlQteCEzWUhF7P3TPKunf3bYs
Bruk SQL Developer eller et annet verktøy til å koble til Oracle-databasen som brukeren av skjemaet som den sammensluttede partisjonen er koblet til.
Kjør en SELECT-setning for å hente verdien for OTL_ID.
Formatet for SELECT-setningen er:
SELECT OTL_ID FROM ESSAV_OTL_MTD_VERSION where APPNAME ='<AppName>' and "JAGENT_INSTANCE_ID"='<ESSBASE_INSTANCE_UNIQUE_ID>';
Eksempel
Erstatt ESSAV_6Sample_5Basic
med AppName, og erstatt EWRnHFlQteCEzWUhF7P3TPKunf3bYs
med ESSBASE_INSTANCE_UNIQUE_ID.
SELECT OTL_ID FROM ESSAV_OTL_MTD_VERSION where APPNAME ='ESSAV_6Sample_5Basic' and "JAGENT_INSTANCE_ID"='EWRnHFlQteCEzWUhF7P3TPKunf3bYs';
Spørringen ovenfor skal returnere verdien OTL_ID. Eksempel:
62
Kjør en lagret PL/SQL-prosedyre som fjerner metadatarelaterte tabeller som er knyttet til OTL_ID.
Eksempel
Erstatt 62
med 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; /
Kjør en UPDATE-setning for å sette tabellen ESSAV_OTL_MTD_VERSION til inaktiv status.
Eksempel
Erstatt ESSAV_6Sample_5Basic
med AppName, og erstatt EWRnHFlQteCEzWUhF7P3TPKunf3bYs
med ESSBASE_INSTANCE_UNIQUE_ID.
UPDATE "ESSAV_OTL_MTD_VERSION" SET "OTL_STATUS" = 'INACTIVE' where APPNAME ='ESSAV_6Sample_5Basic' and "JAGENT_INSTANCE_ID"='EWRnHFlQteCEzWUhF7P3TPKunf3bYs'; commit;
Opprette tilkoblingen og den sammensluttede partisjonen på nytt
Gjenopprett tilkoblingen til Autonomous Data Warehouse. Dette kan være en global tilkobling (under hovedikonet for kilder i Web-grensesnittet for Essbase), eller det kan være en tilkobling i kildene som er definert bare for applikasjonen. Følg instruksjonene i tilkoblingen. Sørg for å teste og lagre tilkoblingen.
Gjenopprett den sammensluttede partisjonen, som beskrevet i Opprette en sammensluttet partisjon.
Hvis du fortsatt ser en tilkoblingsfeil som Essbase-feil (1350012): Forsøk på å koble til OCI mislyktes
, kan du se https://support.oracle.com/rs?type=doc&id=2925030.1.
Sammensluttede partisjoner migreres ikke med Essbase-applikasjoner. Når du forbereder flytting av applikasjonen og kuben til en annen tjener eller migrering til en annen Essbase-versjon, må du derfor slette den sammensluttede partisjonen og opprette den på nytt i det nye miljøet.
Slik tar du en sikkerhetskopi av kuben med sammensluttet partisjon:
Sikkerhetskopier applikasjonen, uten dataene, men med alt annet du måtte ha behov for (for eksempel konfigurasjonsegenskaper, filtre, variabler, beregningsskript og andre artefakter). Bruk LCM-eksport (eller jobben Eksporter LCM i Web-grensesnittet for Essbase).
Sikkerhetskopier faktatabellen. Se Sikkerhetskopiere og gjenopprette Autonomous Database.
Slett definisjonen for den sammensluttede partisjonen fra kuben, i samsvar med fremgangsmåten i Fjerne en sammensluttet partisjon.
Slik gjenoppretter du kuben med sammensluttet partisjon fra sikkerhetskopien:
Gjenopprett applikasjonen, ved hjelp av LcmImport: Gjenopprette kubefiler (eller jobben Importer LCM i Web-grensesnittet for Essbase).
Hvis nødvendig gjenoppretter du faktatabellen i Autonomous Data Warehouse.
Gjenopprett tilkoblingen til Autonomous Data Warehouse på nytt. Det anbefales å bruke et nytt tilkoblingsnavn, for å unngå feil.
Gjenopprett den sammensluttede partisjonen.