Följ de här riktlinjerna för att hantera och felsöka Essbase-kuber med samordnade partitioner.
Det här ämnet antar att du har skapat en samordnad partition och granskat informationen i de föregående ämnena.
När du utformar en kub för samordnade partitioner följer du dessa riktlinjer för testning om skapandet tar för lång tid. De här anvisningarna kan vara användbara när felsökning och övervakning av prestanda utförs stegvis.
Påbörja projektet med samordnade partitioner i en testmiljö.
Börja med kubmodeller som har följande egenskaper:
inte många nivåer
inte många delade medlemmar eller attribut
När du skapar en samordnad partition schemalägger du offlineåtgärder när frågor inte tillåts mot instansen.
Koppla gradvis ned aktiva användarsessioner i Essbase med MaxL ändra applikation disable commands
eller disable connects
(för att förhindra ny användaraktivitet), följt av ändra system logout session
eller kill request
(om du behöver avsluta aktiva sessioner som inte behöver slutföras). Observera att MaxL inte kan avsluta begäranden som körs i ett autonomt datalager. Om du avaktiverar kommandon i applikationen ska du komma ihåg att återaktivera kommandona när du har skapat den samordnade partitionen.
/etc/httpd/conf.d/00_base.conf:ProxyTimeout 1260
/etc/httpd/conf.d/00_base.conf:Timeout 1260
olap.server.netRetryCount
på 9000.Obs!:
Om du ser felet "Kunde inte spara disposition" när du skapar den samordnade partitionen väntar du på att sessionerna ska slutföras och förnyar sedan webbläsaren. Om den samordnade partitionen har skapats validerar du den i SQL Developer. Om den valideras i SQL Developer är den samordnade partitionen redo att användas. Om den inte valideras i SQL Developer måste modellen åtgärdas och tidsgränsen justeras enligt beskrivningen i steg 3.När Essbase har en samordnad partition ska du tänka efter när du redigerar kubdispositionen. Om du lägger till eller ändrar namn på medlemmar ska du kontrollera att metadataändringarna även återspeglas i faktatabellen i det autonoma datalagret.
Om dispositionen i Essbase blir osynkad med faktatabellen i det autonoma datalagret blir den samordnade partitionen ogiltig eller slutar fungera som den ska. För att åtgärda det måste du radera den samordnade partitionen, göra ändringar i dispositionen och faktatabellen och sedan återskapa den samordnade partitionen.
Om en samordnad partition blir ogiltig kan du få ett fel som börjar med Essbase Error(1040235): Remote warning from federated partition
.
Följande typer av ändringar av Essbase-dispositionen gör att en samordnad partition blir ogiltig:
tillägg, namnändring eller borttagande av dimensioner
tillägg, namnändring eller borttagande av lagrade medlemmar i pivotdimensionen
ändring av en medlem från lagrad till dynamisk
För andra typer av ändringar av en disposition i Essbase som inte har angetts ovan (till exempel tillägg eller namnändring av en medlem i en icke-pivotdimension) gör du motsvarande ändring av den berörda dataraden i faktatabellen. Annars kanske den samordnade partitionen inte fungerar som den ska.
Om du vet i förväg att dispositionens metadata i Essbase kommer att ändras är det bättre att först ta bort den samordnade partitionen, göra dispositionsändringarna, uppdatera faktatabellen och sedan återskapa den samordnade partitionen.
Om metadata i Essbase emellertid har ändrats och gjort att den samordnade partitionen blivit ogiltig vidtar du följande åtgärd:
Ta bort den samordnade partitionen och den anslutning som är associerad med den (om den inte används i övrigt) enligt beskrivningen i Ta bort en samordnad partition.
Från användarschemat för den samordnade partitionen i det autonoma datalagret, tar du manuellt bort de Essbase-genererade tabeller och andra objekt som inte togs bort tillsammans med den samordnade partitionen.
Kontrollera att dispositionsändringarna har slutförts i kuben i Essbase.
Skapa faktatabellen igen. Se Skapa faktatabellen.
Återskapa anslutningen till det autonoma datalagret. Det kan vara en global anslutning (under ikonen för huvudsakliga källor i webbgränssnittet för Essbase) eller så kan den finnas i de källor som angetts just för applikationen. Följ anvisningarna i Skapa en anslutning för samordnade partitioner.
Återskapa den samordnade partitionen enligt beskrivningen i Skapa en samordnad partition.
Om anslutningsuppgifterna för det autonoma datalagret som Essbase använder för en samordnad partition har ändrats måste du radera och återskapa den samordnade partitionen och rensa alla associerade objekt och metadatatabeller från databasschemat.
Du måste radera och återskapa den samordnade partitionen om någon av följande händelser inträffar efter det att den samordnade partitionen har skapats:
Porten för det autonoma datalagret ändras
Namnet anslutning ändras
anslutning använder en plånbok och du växlar från ett tjänstenamn till ett annat (för att göra prestanda- eller samtidighetsändringar)
En dispositionsuppdatering ändrar mappningen av medlemmar till faktatabellen, vilket gör att den samordnade partitionenblir osynkad. Mer information finns i Metadataåtgärder för samordnade partitionskuber.
Om du vet i förväg att anslutningsuppgifterna ska ändras är det bättre att ta bort den samordnade partitionen innan ändringen äger rum och skapa den igen efteråt. Om anslutningen har ändrats och gjort att den samordnade partitionen blivit ogiltig utför du nedanstående steg.
Radera den samordnade partitionen
Ta bort den samordnade partitionen och den anslutning som är associerad med den (om den inte används i övrigt) enligt beskrivningen i Ta bort en samordnad partition.
Rensa objekt och metadatatabeller relaterade till samordnade partitioner
Från användarschemat för den samordnade partitionen i det autonoma datalagret, raderar du de Essbase-genererade tabeller och andra objekt som inte togs bort tillsammans med den samordnade partitionen.
Logga in via SSH till värden för Essbase-servern som användaren opc.
ssh -i MPOCI_KEY.pem opc@100.xxx.xxx.xxx
Ändra till användaren oracle (och gå till dess hemkatalog).
sudo su - oracle
Gå till applikationskatalogen.
cd /u01/data/essbase/app
Med Essbase-applikationen och kubnamnet identifierar du det unika prefix som är associerat med den samordnade partitionens objekt och metadata.
Hämta applikationsnamnet (AppName). Namnet är skiftlägeskänsligt så du måste registrera det exakta skiftläget. I det här exemplet AppName = Sample.
ls
Sample
Räkna antalet tecken (appx) i applikationsnamnet.
Exempel: appx = 6.
Gå till kubkatalogen och hämta kubnamnet (DbName). Namnet är skiftlägeskänsligt så du måste registrera det exakta skiftläget. I det här exemplet DbName = Basic.
cd /Sample
ls
Basic
Räkna antalet tecken (dby) i kubnamnet.
Exempel: dby = 5.
Skapa ett prefix som:
ESSAV_<appx><AppName>_<dby><DbName>_
Exempel:
<Prefix> = ESSAV_6Sample_5Basic_
Använd SQL Developer eller ett annat verktyg för att ansluta till Oracle Database som användaren av det schema som den samordnade partitionen är ansluten till.
Kör en SELECT-sats för att skapa en lista med objekt associerade med den samordnade partitionsapplikationen. Det är de objekt du ska rensa i nästa steg.
SELECT-satsens format är:
SELECT * FROM user_OBJECTS WHERE OBJECT_NAME like '<Prefix>%';
Exempel:
SELECT * FROM user_OBJECTS WHERE OBJECT_NAME like 'ESSAV_6Sample_5Basic_%';
Kör en lagrad PL/SQL-procedur som rensar alla analysvyer, paket, hierarkier, tabeller och andra objekt som är associerade med ditt prefix.
Exempel
Ersätt ESSAV_6Sample_5Basic_
med ditt 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; /
Radera och uppdatera associerade metadatarelaterade tabeller. Först måste du hämta värdena för ESSBASE_INSTANCE_UNIQUE_ID och OTL_ID.
Logga in via SSH till värden för Essbase-servern som användaren opc.
ssh -i MPOCI_KEY.pem opc@100.xxx.xxx.xxx
Ändra till användaren oracle (och gå till dess hemkatalog).
sudo su - oracle
Sök efter processen för Essbase-agenten.
ps -ef | grep ESSS | grep -v "grep"
Ovanstående kommando bör returnera en processlista som inleds med oracle
följt av två process-id:n, till exempel
oracle 10769 19563 ...
Det första process-id:t ska vara <PID>
, vilket du ska använda i nästa steg.
Använd kommandot strings för att registrera värdet för ESSBASE_INSTANCE_UNIQUE_ID.
strings /proc/<PID>/environ | grep ESSBASE_INSTANCE_UNIQUE_ID
Exempel:
strings /proc/10769/environ | grep ESSBASE_INSTANCE_UNIQUE_ID
Ovanstående kommando bör returnera värdet för ESSBASE_INSTANCE_UNIQUE_ID, till exempel
ESSBASE_INSTANCE_UNIQUE_ID=EWRnHFlQteCEzWUhF7P3TPKunf3bYs
Använd SQL Developer eller ett annat verktyg för att ansluta till Oracle Database som användaren av det schema som den samordnade partitionen är ansluten till.
Kör en SELECT-sats för att hämta värdet för OTL_ID.
SELECT-satsens format är:
SELECT OTL_ID FROM ESSAV_OTL_MTD_VERSION where APPNAME ='<AppName>' and "JAGENT_INSTANCE_ID"='<ESSBASE_INSTANCE_UNIQUE_ID>';
Exempel
Ersätt ESSAV_6Sample_5Basic
med ditt värde för AppName och ersätt 'EWRnHFlQteCEzWUhF7P3TPKunf3bYs'
med ditt värde för ESSBASE_INSTANCE_UNIQUE_ID.
SELECT OTL_ID FROM ESSAV_OTL_MTD_VERSION where APPNAME ='ESSAV_6Sample_5Basic' and "JAGENT_INSTANCE_ID"='EWRnHFlQteCEzWUhF7P3TPKunf3bYs';
Ovanstående fråga bör returnera värdet för OTL_ID, till exempel
62
Kör en lagrad PL/SQL-procedur för att släppa metadatarelaterade tabeller associerade med OTL_ID.
Exempel
Ersätt 62
med ditt 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-sats för att ange inaktiv status för tabellen ESSAV_OTL_MTD_VERSION.
Exempel
Ersätt ESSAV_6Sample_5Basic
med ditt värde för AppName och ersätt EWRnHFlQteCEzWUhF7P3TPKunf3bYs
med ditt värde för ESSBASE_INSTANCE_UNIQUE_ID.
UPDATE "ESSAV_OTL_MTD_VERSION" SET "OTL_STATUS" = 'INACTIVE' where APPNAME ='ESSAV_6Sample_5Basic' and "JAGENT_INSTANCE_ID"='EWRnHFlQteCEzWUhF7P3TPKunf3bYs'; commit;
Återskapa anslutningen och den samordnade partitionen
Återskapa anslutningen till det autonoma datalagret. Det kan vara en global anslutning (under ikonen för huvudsakliga källor i webbgränssnittet för Essbase) eller så kan den finnas i de källor som angetts just för applikationen. Följ anvisningarna i anslutning. Se till att testa och spara anslutningen.
Återskapa den samordnade partitionen enligt beskrivningen i Skapa en samordnad partition.
Om du fortfarande ser ett anslutningsfel som Essbase Error(1350012): Attempt to connect to OCI failed
kontrollerar du https://support.oracle.com/rs?type=doc&id=2925030.1.
Samordnade partitioner migreras inte med Essbase-applikationer. När du förbereder en flytt av applikationen och kuben till en annan server eller en migrering till en annan version av Essbase måste du ta bort den samordnade partitionen och återskapa den i den nya miljön.
Säkerhetskopiera kuben för samordnade partitioner
Säkerhetskopiera applikationen, utan data men med allt annat du kan behöva (som konfigurationsegenskaper, filter, variabler, beräkningsskript och andra artefakter). Du gör det genom att använda LCM-export (eller jobbet Exportera LCM i webbgränssnittet för Essbase).
Säkerhetskopiera faktatabellen. Se Säkerhetskopiera och återställa autonom databas.
Ta bort definitionen av samordnad partition från kuben enligt anvisningarna i Ta bort en samordnad partition.
Återställa kuben för samordnade partitioner från säkerhetskopian
Återskapa applikationen med LcmImport: Återställ kubfiler (eller jobbet Importera LCM i webbgränssnittet för Essbase).
Om det behövs återställer du faktatabellen i det autonoma datalagret.
Återskapa anslutningen till autonomt datalager. Du rekommenderas att använda ett nytt anslutningsnamn för att undvika att fel uppstår.
Återskapa den samordnade partitionen.