"

Handbok SystemQ affärssystem

Hantering av affärsystemets databaser

  1. Databaser och användare Uppläggning av företag som skall köras i SystemQ och användare
  2. Databasvolymer
  3. Databasprocess
  4. Databaser skapa
  5. Databaser ombyggnad, lägga till tabeller och fält
  6. Låst databas Om SystemQ hänger sig kan det bero på att databasen är låst av en användare, det är väldigt sällsynt men här beskrivs hur man gör för att kontrollerar och rätta till.
  7. Analys av forwardlog Beskrivning hur ett internt verktyg, fwdump, kan användas för att se transaktioner i databasen.
  8. Fler databaseprocesser och eller utföra kommandon från annan dator
  9. Databasbeskrivningar
    1. Beskrivning av databasen för bokföring
    2. Beskrivning av databasen för kundreskontra
    3. Beskrivning av databasen för affärskontakter
    4. Beskrivning av databasen för leverantörsreskontra
    5. Beskrivning av databasen MPS, Material och produktionstyrning
    6. Beskrivning av databasen för löner
    7. Beskrivning av databasen för Order inköp lager
    8. Beskrivning av databasen för inställningar
    9. Beskrivning av databasen för lexicon
    10. Beskrivning av databasen för webbutik
  10. Problem med att starta databas
    1. Databas startar ej
    2. Inconsistent volume count
Databasvolymer Databasvolymer är filer där databasprocessen lagrar datan. Det finns minst 2 filer, en volym och en loggfil.

I en standardinstallation av SystemQ bifogas färdiga volymer som då kopieras till servern. Då innehåller databasvolymen databaser

Filernas placering varierar på operativsystem och rutiner för backup.

På LINUX placeras filerna på något av följande ställen:

  • /databas
  • /data/databas
  • /data/sytemq/databas
      På Windows lagras filerna på:
      • C:\Data\SystemQ\Data
      Filer kan ha följande namn:
      • Databas.vol
      • Databas.log
      Den första databasvolymen skapas med kommandot:

      dbvolcreate -m 0 /data/databas/Databas.vol

      Kommandot utför följnade:

      • Skapar filen
      • optionen -m 0 gör att den kan växa obegränsat.
      • uppdaterar databasprocessens konfigurationsfil med filnamnet.
      Logfilen skapas med kommandot:

      dbvolextend -t LOG /data/databas/Databas.log Kommandot utför följnade:

Databasprocess Databasprocessen hanterar all datatrafik mellan applikationen och databasen

När databasvolymerna är skapade kan databasen startas på LINUX med:

/etc/init.d/eloq8 start

På windows startas processen i Tjänster med:

Databaser skapa Till varje klientföretag som kör SystemQ hör databaser

Dessa skapas med följande kommando på en Windowserver:

schema -b REBAS-1 C:\Program\SystemQ\schemafiler\REBAS.DATA

dbcreate REBAS-1

Exemplet visar hur man skapar databasen med namnet REBAS-1 med hjälp av schemafilen REBAS.DATA. Vilka databsnamn framgår i databaser underhåll

Vilka schema filer som skall användas framgår nedan

Databaser ombyggnad För att bygga om databasen för att få fler/nya dataset och items använder man lättast export/importmetoden.

Kontrollera att du har en aktuell säkerhetskopia av databasen som kan användas för att återställa alla databaserna om något går fel.

Exportera innehållet i databasen med:

cd /export

dbexport -vcars rebas-1.exp REBAS-1

Exemplet exporterar innehållet REBAS-1 till filen rebas-1.exp

En räknare visar mur många rader som exporteras från varje dataset. Kontrollera att rätt antal exporteras.

Ta bort databasen med

dbpurge REBAS-1

Skapa ny database med från senaste schemafilen:

schema -b REBAS-1 C:\Program\SystemQ\schemafiler\REBAS.DATA

dbcreate REBAS-1

Imporera den exporterade data till den nya databasen:

dbimport -vr- -s rebas-1.exp REBAS-1

Fler databaseprocesser och eller utföra kommandon från annan dator Databasnamn kan skrivas som 192.168.10.2:8801/REBAS-1
  • 192.168.10.2 är serverns ip-adress
  • 8801 är den port/service som databasprocesen använder och är angiven i konfigurationsfilen
  • Databasens namn

För schemakommandot skriver man

schema -h 192.168.10.2 -s 8801 -b REBAS-1 C:\Program\SystemQ\schemafiler\REBAS.DATA

Databasbeskrivningar

REBAS

Redovisning

Bokföring

REBAS.DATA Beskrivning av databasen
KRBAS

Kundreskontra

KRBAS.DATA Version 16:051208 Beskrivning av databasen
FRBAS

Affärskontakter

Säljstöd

FRBAS.DATA Version 28:051201 Beskrivning av databasen
LRBAS

Leverantörsreskontra

LRBAS.DATA Version:18:091015 Beskrivning av databasen
MSBAS

MPS, Material och produktionstyrning

MSBAS.DATA Version:10 041022 Beskrivning av databasen MPS, Material och produktionstyrning
LABAS

Löner

LABAS.DATA Version:20 Beskrivning av databasen för löner
OIBAS

Order inköp lager

OIBAS.DATA Version:48 060222 Beskrivning av databasen för Order inköp lager
QWBAS2

Inställningar

QWBAS2.DATA Version 10: 050224 Beskrivning av databasen för inställningar
LEXICON

B$(11)

LEXICON.DATA Beskrivning av databasen för lexicon
DOC

B$(12)

DOC.DATA Beskrivning av databasen
REPORT

B$(13)

REPORT.DATA Beskrivning av databasen
WEBBAS

B$(14)

WBAS.DATA Beskrivning av databasen för webbutik
CADBAS

B$(15)

Databas för lagring av artiklars utseende för att kunna rita dessa

Använder volym QWBAS

Databas startar ej

För att administrera databaser skall man öpnna ett terminalfönster, det finns 2 alternativ:

  • På serverns bildskärm kan man logga in som root, alternativt din egen kod

    Starta ett terminalfönster, om du inte loggade in som root kan du i terminalfönster logga in som root med su

  • Starta upp putty på din PC och anslut till servern, logga in som root
Test att starta databasen manuell med:
       # /etc/init.d/eloq82 start    
    
Eventuella felmeddelande kan vara vägledande

Kontrollera ev fel i loggfilen

      # vi /etc/log/eloqdb.log
    
Finns flera databaserservrar på servern har loggfilerna olika namn

För att se innehållet i configurationsfilen:

       # /etc/opt/eloquence/8.2/eloqdb.cfg
    

Finns flera databaserservrar på servern har loggfilerna olika namn

Inconsistent volume count

Vid omstart av databasen kan i sällsynta fall databasvolymernas räknare komma i otakt. Syns i loggfil som finns i /var/log

Script som används finns under /opt/SystemQ/tools/copy_volume_generation.sh

The generation numbers in the volumes must be identical to start the server. The exception is that the log volume generation number may be different (one less) if the server was in on-line backup mode before it was terminated.

If the volume generation number differs in some volume files and the files were not copied from a backup then it is likely the system killed the server process while it was changing the volume generation numbers.

You may use dbvoldump to verify this information:

/opt/eloquence/8.2/bin/dbvoldump -vp | fgrep generation

How to use it:

1. Save this on your server and unpack the zip archive. On Linux you use the unzip command for this.

unzip -x copy-volume-generation.zip

2. Now run the script to copy the volume generation number from the first volume file to each volume file that has a different volume id. You need to run this script as root or the database owner to access the volume files.

# ./copy_volume_generation.sh db.vol db02.vol ...

Afterwards please use dbvoldump to verify the generation numbers are now consistent and then start the server.

PS: This script may only be used in the situation described above. Improper use may cause volume corruption. Please send us a notice anyway each time you use this script so are aware of any possible problems.

Hope this helps

Michael