Brug følgende retningslinjer til at vedligeholde eller foretage fejlfinding af Essbase-kuber med samlede partitioner.
Dette emne antager, at du har oprettet en samlet partition og gennemgået oplysningerne i ovenstående emner.
Når du designer en kube i en samlet partition, skal du følge disse retningslinjer for test, hvis det tager for længe at oprette den. Disse retningslinjer kan bruges, hvis du ønsker at opdele fejlfinding eller overvågning af ydeevnen i flere faser.
Start projektet med samlet partition i et testmiljø.
Start med kubemodeller, der har følgende karakteristika:
ikke mange niveauer
ikke mange delte medlemmer eller attributter
Når du opretter en samlet partition, skal du planlægge offlineoperationer, hvor forespørgsler mod instansen ikke er tilladt.
Afbryd gradvist forbindelsen til aktive Essbase-brugersessioner ved at bruge MaxL alter application disable commands
og/eller disable connects
(for at forhindre ny brugeraktivitet), efterfulgt af alter system logout session
og/eller kill request
(hvis du vil afslutte aktive sessioner, der ikke behøver at blive fuldført). Bemærk, at MaxL ikke kan afslutte nogen anmodninger, der eventuelt kører i Autonomous Data Warehouse. Hvis du deaktiverer kommandoer i applikationen, skal du huske at aktivere kommandoerne igen, når du har oprettet den samlede partition.
/etc/httpd/conf.d/00_base.conf:ProxyTimeout 1260
/etc/httpd/conf.d/00_base.conf:Timeout 1260
olap.server.netRetryCount
til 9000.Bemærk:
Hvis fejlmeddelelsen "Kunne ikke gemme outline" bliver vist, når du opretter den samlede partition, skal du vente, indtil sessionerne er fuldført, og derefter opfriske browseren. Hvis den samlede partition er oprettet, skal du validere den i SQL Developer. Hvis den samlede partition bliver valideret i SQL Developer, er den klar til brug. Hvis validering af den i SQL Developer fejler, skal modellen tilrettes, og der er behov for timeoutoptimering som beskrevet i trin 3 ovenfor.Hvis Essbase har en samlet partition, skal du være forsigtig, når du redigerer kube-outlinen. Hvis du tilføjer eller omdøber medlemmer, skal du sørge for, at metadataændringerne også repræsenteres i faktatabellen i Autonomous Data Warehouse.
Hvis Essbase-outlinen ikke er synkroniseret med faktatabellen i Autonomous Data Warehouse, bliver den samlede partition ugyldig eller fungerer ikke korrekt. Du retter fejlen ved at droppe den samlede partition, foretage ændringer af outlinen og faktatabellen og derefter genoprette den samlede partition.
Hvis en samlet partition bliver ugyldig, kan der opstå en fejl, der starter med Essbase-fejl (1040235): Ekstern advarsel fra samlet partition
.
Følgende typer ændringer af Essbase-outlinen forårsager, at den samlede partition bliver ugyldig:
Tilføjelse, omdøbning eller fjernelse af dimensioner
Tilføjelse, omdøbning eller fjernelse af lagrede medlemmer i pivotdimensionen
Ændring af et medlem fra lagret til dynamisk
I forbindelse med andre typer ændringer af Essbase-outlinen, som ikke er angivet ovenfor (for eksempel tilføjelse eller omdøbning af et medlem af en ikke-pivotdimension), skal du foretage den tilsvarende ændring af den påvirkede datarække i faktatabellen. I modsat fald fungerer den samlede partition muligvis ikke korrekt.
Hvis du på forhånd ved, at Essbase-outline-metadataene ændres, er det bedre at fjerne den samlede partition først, foretage outline-ændringerne, opdatere faktatabellen og derefter genoprette den samlede partition.
Hvis Essbase-metadataene er ændret, og det bevirkede, at den samlede partition blev ugyldig, skal du imidlertid gøre følgende:
Fjern den samlede partition og den forbindelse, der er knyttet til den (hvis den ellers ikke bruges), som beskrevet i Fjerne en samlet partition.
Slet alle Essbase-genererede tabeller og andre objekter, der ikke blev fjernet sammen med den samlede partition, fra den samlede partitions brugerskema i Autonomous Data Warehouse.
Sørg for, at outline-ændringerne er fuldført i Essbase-kuben.
Opret faktatabellen igen. Se Oprette faktatabellen.
Genopret forbindelsen til Autonomous Data Warehouse. Dette kan være en global forbindelse (under hovedikonet for kilder i Essbase-webinterfacet), eller det kan være i de kilder, der kun er defineret for applikationen. Følg instruktionerne i Oprette en forbindelse for samlede partitioner.
Genopret den samlede partition som beskrevet i Oprette en samlet partition.
Hvis detaljerne om den Autonomous Data Warehouse-forbindelse, som Essbase bruger til en samlet partition, er ændret, skal du droppe og genoprette den samlede partition og rydde de tilknyttede objekter og metadatatabeller fra databaseskemaet.
Du skal droppe og genoprette den samlede partition, hvis nogen af følgende begivenheder opstår, efter at den samlede partition blev oprettet:
Autonomous Data Warehouse-porten ændres
Navnet på Forbindelsen ændres
Forbindelsen bruger en wallet, og du skifter fra ét servicenavn til et andet (for at foretage ændringer af ydeevne eller samtidighed)
En outline-opdatering ændrer medlems-mappingen til faktatabellen, hvilket bevirker, at den samlede partition ikke er synkroniseret. Se Forholdsregler for metadata til samlede partitionskuber for at få detaljer.
Hvis du på forhånd ved, at forbindelsesdetaljerne vil blive ændret, er det bedre at fjerne den samlede partition, før ændringen finder sted, og oprette den igen bagefter. Hvis forbindelsen er ændret, og bevirkede, at den samlede partition blev ugyldig, skal du imidlertid udføre følgende trin.
Droppe den samlede partition
Fjern den samlede partition og den forbindelse, der er knyttet til den (hvis den ellers ikke bruges), som beskrevet i Fjerne en samlet partition.
Rydde objekter og metadatatabeller, der er relateret til samlet partition
Drop alle Essbase-genererede tabeller og andre objekter, der ikke blev fjernet sammen med den samlede partition, fra den samlede partitions brugerskema i Autonomous Data Warehouse.
ssh til Essbase Server-værten som brugeren opc.
ssh -i MPOCI_KEY.pem opc@100.xxx.xxx.xxx
Skift til brugeren oracle (og gå til dennes startkatalog).
sudo su - oracle
Naviger til applikationskataloget.
cd /u01/data/essbase/app
Brug Essbase-applikations- og kubenavnet til at identificere det entydige præfiks, der er knyttet til dine samlede partitionsobjekter og metadata.
Hent applikationsnavnet (AppName). Der skelnes mellem store/små bogstaver, så hent de nøjagtige store/små bogstaver. I dette eksempel er AppName = Sample.
ls
Sample
Tæl antallet af tegn (appx) i applikationsnavnet.
Eksempel: appx = 6.
Naviger til kubekataloget, og hent kubenavnet (DbName). Der skelnes mellem store/små bogstaver, så hent de nøjagtige store/små bogstaver. I dette eksempel er DbName = Basic.
cd /Sample
ls
Basic
Tæl antallet af tegn (dby) i kubenavnet.
Eksempel: dby = 5.
Opbyg Prefix som:
ESSAV_<appx><AppName>_<dby><DbName>_
Eksempel:
<Prefix> = ESSAV_6Sample_5Basic_
Brug SQL Developer eller et andet værktøj til at oprette forbindelse til Oracle Database som bruger af det skema, som den samlede partition er forbundet med.
Kør en SQL SELECT-sætning for at oprette en liste over objekter, der er knyttet til din samlede partitionsapplikation. Det er disse objekter, som du skal rydde i det næste trin.
SQL SELECT-sætningens format er:
SELECT * FROM user_OBJECTS WHERE OBJECT_NAME like '<Prefix>%';
Eksempel:
SELECT * FROM user_OBJECTS WHERE OBJECT_NAME like 'ESSAV_6Sample_5Basic_%';
Kør en lagret PL/SQL-procedure, som rydder alle de analytiske visninger, pakker, hierarkier, tabeller og andre objekter, der er knyttet til Prefix.
Eksempel
Erstat ESSAV_6Sample_5Basic_
med dit Prefix.
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; /
Drop og opdater tilknyttede metadatarelaterede tabeller. Først skal du hente værdier for ESSBASE_INSTANCE_UNIQUE_ID og OTL_ID.
ssh til Essbase Server-værten som brugeren opc.
ssh -i MPOCI_KEY.pem opc@100.xxx.xxx.xxx
Skift til brugeren oracle (og gå til dennes startkatalog).
sudo su - oracle
Søg efter Essbase Agent-processen.
ps -ef | grep ESSS | grep -v "grep"
Ovenstående kommando skal returnere en procesliste, der begynder med oracle
, efterfulgt af to proces-id'er, for eksempel:
oracle 10769 19563 ...
Anse den første proces-id for at være <PID>
, som du skal bruge i det næste trin.
Brug kommandoen strings til at hente værdien af ESSBASE_INSTANCE_UNIQUE_ID.
strings /proc/<PID>/environ | grep ESSBASE_INSTANCE_UNIQUE_ID
Eksempel:
strings /proc/10769/environ | grep ESSBASE_INSTANCE_UNIQUE_ID
Ovenstående kommando skal returnere værdien af ESSBASE_INSTANCE_UNIQUE_ID, for eksempel:
ESSBASE_INSTANCE_UNIQUE_ID=EWRnHFlQteCEzWUhF7P3TPKunf3bYs
Brug SQL Developer eller et andet værktøj til at oprette forbindelse til Oracle Database som bruger af det skema, som den samlede partition er forbundet med.
Kør en SQL SELECT-sætning for at hente værdien af OTL_ID.
SQL SELECT-sætningens format er:
SELECT OTL_ID FROM ESSAV_OTL_MTD_VERSION where APPNAME ='<AppName>' and "JAGENT_INSTANCE_ID"='<ESSBASE_INSTANCE_UNIQUE_ID>';
Eksempel
Erstat ESSAV_6Sample_5Basic
med dit AppName, og erstat 'EWRnHFlQteCEzWUhF7P3TPKunf3bYs'
med din ESSBASE_INSTANCE_UNIQUE_ID.
SELECT OTL_ID FROM ESSAV_OTL_MTD_VERSION where APPNAME ='ESSAV_6Sample_5Basic' and "JAGENT_INSTANCE_ID"='EWRnHFlQteCEzWUhF7P3TPKunf3bYs';
Ovenstående forespørgsel skal returnere værdien af OTL_ID, for eksempel:
62
Kør en lagret PL/SQL-procedure for at droppe metadatarelaterede tabeller, der er knyttet til OTL_ID.
Eksempel
Erstat 62
med din 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; /
Kør en UPDATE-sætning for at indstille ESSAV_OTL_MTD_VERSION-tabellen til inaktiv status.
Eksempel
Erstat ESSAV_6Sample_5Basic
med dit AppName, og erstat EWRnHFlQteCEzWUhF7P3TPKunf3bYs
med din ESSBASE_INSTANCE_UNIQUE_ID.
UPDATE "ESSAV_OTL_MTD_VERSION" SET "OTL_STATUS" = 'INACTIVE' where APPNAME ='ESSAV_6Sample_5Basic' and "JAGENT_INSTANCE_ID"='EWRnHFlQteCEzWUhF7P3TPKunf3bYs'; commit;
Genoprette forbindelsen og den samlede partition
Genopret forbindelsen til Autonomous Data Warehouse. Dette kan være en global forbindelse (under hovedikonet for kilder i Essbase-webinterfacet), eller det kan være i de kilder, der kun er defineret for applikationen. Følg instruktionerne i Forbindelsen. Sørg for at teste og gemme forbindelsen.
Genopret den samlede partition som beskrevet i Oprette en samlet partition.
Hvis du fortsætter med at se en forbindelsesfejl, såsom Essbase-fejl (1350012): Forsøg på at oprette forbindelse til OCI fejlede
, skal du se https://support.oracle.com/rs?type=doc&id=2925030.1.
Samlede partitioner migreres ikke sammen med Essbase-applikationer. Når du forbereder en flytning af din applikation og kube til en anden server eller en migrering til en anden Essbase-version, skal du slette den samlede partition og genoprette den i det nye miljø.
Sådan sikkerhedskopierer du din samlede partitionskube:
Sikkerhedskopier applikationen uden dataene, men med alt andet, som du kan få brug for (såsom konfigurationsegenskaber, filtre, variabler, beregningsscripts og andre artefakter). Det gør du ved hjælp af LCM-eksport (eller jobbet Eksporter LCM i Essbase-webinterfacet).
Sikkerhedskopier faktatabellen. Se Sikkerhedskopiering og gendannelse af Autonomous Database.
Slet definitionen af den samlede partition fra kuben ved at følge trinnene i Fjerne en samlet partition.
Sådan gendanner du din samlede partitionskube fra sikkerhedskopien:
Genopret applikationen ved hjælp af LcmImport: Gendanne kubefiler (eller jobbet Importer LCM i Essbase-webinterfacet).
Gendan om nødvendigt faktatabellen i Autonomous Data Warehouse.
Genopret forbindelsen til Autonomous Data Warehouse. Det anbefales at bruge et nyt forbindelsesnavn for at undgå, at der opstår fejl.
Genopret den samlede partition.