Inleiding
Dit document beschrijft een proces voor probleemoplossing van dubbele schema's voor de rapportage van Cisco Customer Voice Portal (CVP).
Bijgedragen door Mohamed Mohasseb, Aleksey Yankovskyy en Alexander Levichev, Cisco TAC-engineers.
Voorwaarden
Vereisten
Cisco raadt kennis van de volgende onderwerpen aan:
- Microsoft Windows Server
- Cisco CVP
- Informix DB-toegangsgereedschap
Gebruikte componenten
De informatie in dit document is gebaseerd op CVP server versie 11.0, maar is ook van toepassing op de vorige versies.
De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u de potentiële impact van elke opdracht begrijpen.
Duplicaatprogramma's voor probleemoplossing in CVP-rapportage
In de ciscoadmin database agg_frame wordt bepaald hoe vaak elke aggregatie wordt uitgevoerd. In sommige gevallen na een upgrade wordt de tabel opnieuw geladen met een nieuw schema, maar de oude blijft bestaan. Dit resulteert in twee keer uitgevoerde aggregatie. Dit zal een negatief effect hebben op de nauwkeurigheid van de samenvattende tabellen, omdat elke twee keer het aantal rijen heeft en daarom telt, die in het wordt ingevoegd.
Diagnose
Controleer of er duplicaten in de tabel agg_ste hebben.
Aanmelden bij CVP Rapportageserver met cvp_dbadmin gebruiker.
Start Windows CMD-gereedschap. Typ opdracht dbaccess. Selecteer het tabblad Connection > Connect. Selecteer de cvp-database server en druk op om in te gaan. U wordt gevraagd de aanmeldingsgegevens in te voeren. Gebruik cvp_dbadmin account.
Selecteer ciscoadmin@cvp database. Selecteer Query-Taal > New. Start deze opdracht.
UNLOAD TO schedule.txt SELECT * FROM agg_schedule
Open date.txt bestand. Afhankelijk van de CVP versie kan deze zich in C:\Users\Administrator of C:\db\Informix\etc\sysadmin mappen bevinden.
Het moet beschikken over unieke gegevens van het CVP. Bijvoorbeeld call_15 of application summary_daily zoals weergegeven in deze afbeelding.
Zorg ervoor dat er geen dubbele typen zijn. Als er duplicaten worden gevonden, moet u het werkkader implementeren.
Werken
Dubbele planning verwijderen
Schakel de summiere taak (CVPSummary) uit in Windows Automation Scheduler.
Open date.txt-bestand en verwijder alle dubbele regels. De eerste 10 inzendingen mogen er niet meer zijn.
Connect met ciscoadmin database zoals beschreven vóór en voer deze query uit. Deze opdracht verwijdert alle items uit de tabel agg_schema.
Laad de nieuwe waarden uit Schedule.txt bestand dat geen duplicaten bevat aan de agg_schema-tabel.
Zorg ervoor dat er geen duplicaten aanwezig zijn in agg_ste tabel. De uitvoer van het bestand Schedule1.txt moet slechts 10 items bevatten.
Dubbele invoeringen uit tabellen verwijderen
Aangezien een tabel van 15 minuten de basis is waarvan alle andere tabellen zijn ingevuld, moet deze eerst worden vastgesteld.
Connect met cvp_data database.
Start deze opdrachten voor call_15 tabel.
SELECT distinct * FROM call_15 into temp t1 with no log;
TRUNCATE table call_15;
INSERT into call_15 select * from t1;
DROP table t1;
Herhaal dezelfde stappen voor de applicatie summary_15 tabel.
SELECT distinct * from applicationsummary_15 into temp t1 with no log;
TRUNCATE table applicationsummary_15;
INSERT into applicationsummary_15 select * from t1;
DROP table t1;
Opmerking: Als het probleem meer dan 60 dagen geleden is begonnen, herhaal dan de hierboven beschreven stappen voor dagelijkse, wekelijkse en maandelijkse tabellen.
Recente executies opnieuw instellen
Stel het veld laatste keer opnieuw in voor tabellen van 15 minuten.
Ontdek het tijdstip waarop tabellen van 15 minuten werden bijgewerkt. Start deze opdrachten tegen cvp_data database.
SELECT max(dbdatetime) FROM applicationsummary_15;
SELECT max(dbdatetime) FROM call_15;
Schrijf het aantal dagen sinds de laatste update op.
Start deze query om de laatste uitvoering te resetten voor 15-minuten tabellen op ciscoadmin DB. In dit voorbeeld werden 15-minuten tabellen bijgewerkt 17 dagen geleden vorige keer.
UPDATE ciscoadmin:agg_schedule SET lastrun = (current year to day - 17 units day) WHERE dst_tabname LIKE 'call_15';
UPDATE ciscoadmin:agg_schedule SET lastrun = (current year to day - 17 units day) WHERE dst_tabname LIKE 'applicationsummary_15';
Opmerking: Vervang "17" uit de opdracht met het aantal dagen dat u uit de stap hebt gehaald voor elk van deze twee tabellen.
Na die stap worden de tabellen van 15 minuten aangepast.
Omdat tabellen van 15 minuten gegevens gedurende de afgelopen 60 dagen bewaren, wordt de laatste waarde voor dagelijkse, wekelijkse en maandelijkse tabellen hersteld en worden alle gegevens voor deze tabellen 60 dagen terug verwijderd. Zo wordt ervoor gezorgd dat de volgende keer dat de aggregatie wordt gestart, de gegevens worden ingevuld in dagelijkse, wekelijkse, maandelijkse tabellen met de juiste waarden.
Reset de last run voor dagelijkse, wekelijkse en maandelijkse tabellen met deze opdrachten uitgevoerd tegen ciscoadmin-database.
UPDATE ciscoadmin:agg_schedule SET lastrun = (current year to day - 60 units day) WHERE dst_tabname LIKE 'call_daily';
UPDATE ciscoadmin:agg_schedule SET lastrun = (current year to day - 60 units day) WHERE dst_tabname LIKE 'call_weekly';
UPDATE ciscoadmin:agg_schedule SET lastrun = (current year to day - 60 units day) WHERE dst_tabname LIKE 'call_monthly;
UPDATE ciscoadmin:agg_schedule SET lastrun = (current year to day - 60 units day) WHERE dst_tabname LIKE 'applicationsummary_daily;
UPDATE ciscoadmin:agg_schedule SET lastrun = (current year to day - 60 units day) WHERE dst_tabname LIKE 'applicationsummary_weekly;
UPDATE ciscoadmin:agg_schedule SET lastrun = (current year to day - 60 units day) WHERE dst_tabname LIKE 'applicationsummary_monthly;
Verwijder alle gegevens in dagelijkse, wekelijkse en maandelijkse tabellen gedurende 60 dagen terug.
DELETE FROM cvp_data:call_daily WHERE dbdatetime > (current - 60 units day);
DELETE FROM cvp_data:call_weekly WHERE dbdatetime > (current - 60 units day);
DELETE FROM cvp_data:call_monthly WHERE dbdatetime > (current - 60 units day);
DELETE FROM cvp_data:applicationsummary_daily WHERE dbdatetime > (current - 60 units day);
DELETE FROM cvp_data:applicationsummary_weekly WHERE dbdatetime > (current - 60 units day);
DELETE FROM cvp_data:applicationsummary_monthly WHERE dbdatetime > (current - 60 units day);
Laat de summiere baan CVPSummary in taakplanner voor het aggregatieproces opnieuw starten.
Verifiëren
Gebruik dit gedeelte om te bevestigen dat de configuratie correct werkt.
Zorg ervoor dat de summiere tabellen worden bijgewerkt met deze opdrachten die worden uitgevoerd tegen cvp_db database.
SELECT MAX(dbdatetime) FROM applicationsummary_15;
SELECT max(dbdatetime) FROM applicationsummary_daily;
SELECT max(dbdatetime) FROM applicationsummary_weekly;
SELECT max(dbdatetime) FROM applicationsummary_monthly;
SELECT MAX(dbdatetime) FROM call_15;
SELECT MAX(dbdatetime) FROM call_daily;
SELECT MAX(dbdatetime) FROM call_weekly;
SELECT MAX(dbdatetime) FROM call_monthly;
Gerelateerde informatie