IDS 9.40 neue Eigenschaften

IDS 9.40 Neues

SHM-Key Value

0x52564801 ist der Base Value. Bei SERVERNUM = 2 wird zur 56 eine 2 hinzugezählt.

0x52564801 + (2*0x10000) = 0x52584801

LOCK-Tabelle im SHM

Ein LOCK-Eintrag benötigt jetzt 44Kb in der Lock-Table im SHM

SHMVIRTSIZE und SHMADD

Maximum für SHMVIRTSIZE und SHMADD ist 2 GB

EXTSHMADD 8192 # Size of new extension shared memory segments (Kbytes)

ONCONFIG Parameter VPCLASS

VPCLASS vp-class[,options] mit folgenden Optionen:

  • num=numvps
  • max=maxvps
  • aff=processor# or aff=firt_processot#, last_processor#
  • noage
  • noyield
  • noyield: Default für UDRs ist ein CPU VP. Setzt man „noyield“, so laufen die UDRs auf den benutzerdefinierten VPs ab. Auf einem non-yielding VP läuft kein Thread context switching, die UDRs bzw. Programme werden nur seriell abgearbeitet.

MULTIPROCESSOR=1

Wenn dieser Parameter so gesetzt ist, so werden einige (nicht alle!) Server Threads, wenn sie auf einen Lock warten (mutex), in einen „spin“ versetzt, d.h. sie kommen nicht in eine wait-queue, sondern versuchen in sehr kurzen Intervallen immer wieder an den Lock zu kommen.

onmode –BC

onmode –BC 1

onmode –BC 2

Page-Struktur

Page Struktur vor 9.40:

4B 4B 4B 4B 2B 2B 2B 2B
Page Adresse Timestamp next page previous page Anzahl Slots Page-Typ Free-Pointer Free Counter

.......Daten........

 

Slot-Table am Ende der Seite:

4B 4B 4B
RowOffset Rowsize Timestamp

Die 4B lange Pageadress war in 1 ½ Byte Chunknummer und 2 ½ Byte Page-Offset
(bezogen auf den Chunk, in dem die Page liegt) aufgeteilt.
Mit diesem Offset liessen sich 2^20 -1 = 1048575 Pages adressieren.

Page Header beim Large chunk Format (ab 9.40):

4 B: pageoffset (damit lassen sich 2^31 -1 = 2,147,483,647 Seiten adressieren. )

Page-Struktur ab 9.40:

4B 2B 2B 2B 2B 2B 2B 4B 4B
Page-offset Chunknummer Checksumme Anzahl Slots Pagetyp Free Pointer Free Counter Next Pager Previous Page

Slot-Table am Ende der Seite:

4B 4B 4B
RowOffset Rowsize Timestamp

Wichtig: die Gesamtlänge des Pageheaders hat sich nicht verändert, sie bleibt bei 24 Bytes. Nur die Struktur ist anders. Wenn man vergleicht, so stellt man fest, dass der frühere 4B lange Timestamp durch die Chunknummer (2B) und die Checksumme (2B) ersetzt wurden.

Damit sind also rund 2,1 Milliarden Seiten pro Chunk möglich., 1 Bit geht wahrscheinlich fürs Vorzeichen drauf.

Bei einer Seitengröße von 2K entspricht dies 4096 GB, also etwa 4 Terabyte.
2B Chunknummer bedeuten, dass man insgesamt 2^15 – 1 = 32767 Chunks
anlegen kann. Das ergibt 131068 Terybyte oder 128 Petabyte, die insgesamt gespeichert werden können!

Blobs und Smartblobs

BLOBs werden nicht in den Bufferpool und auch nicht in die LLs geschrieben.
Wird ein BLOB upgedatet, so wird bis zum Ende der Operation sein ursprünglicher Wert im BLOBSPACE beibehalten, erst wenn es gelungen ist, das LL, das die UPDATE Operation
enthält, zu SICHERN, wird der alte Blob gelöscht und der neue zum Original erklärt.

Sbspace Extent: smart large object pages entsprechen den Standard system data pages (!!!!).
D.h.: SBspace Extents sind aus denselben Pages aufgebaut wie normale Dbspaces.

DYNAMIC_LOGS und lange Transaktionen

In der ONCONFIG besteht jetzt die Möglichkeit, durch den Parameter DYNAMIC_LOGS eine dynamische Erweiterung der Logs zu konfigurieren. Vorgesehen sind die folgenden Werte:

  • 0: wie früher. IDS verhält sich wie unter 9.30.
  • 1: in diesem Falle wird bei nicht ausreichendem Platz eine Meldung ins Message-Logfile gesetzt, aus der hervorgeht, dass der Administrator im laufenden Betrieb ein LL hinzufügen sollte. Der Befehl steht explizit im Message-Logfile.
  • 2: Informix erstellt selbst ein neues LL in demjenigen Dbspace, in dem das letzte Log lag. Das neu erstellte Log liegt direkt hinter dem "current" Log. Sollte dieser DBspace voll sein, so wird versucht, im Root-Dbspace ein Log anzulegen. Genauer wird die Reihenfolge durch folgende Liste bestimmt
  1. The dbspace that contains the newest log files
    (If this dbspace is full, the database server searches other dbspaces.)
  2. Mirrored dbspace that contains log files (but excluding the root dbspace)
  3. All dbspaces that already contain log files (excluding the root dbspace)
  4. The dbspace that contains the physical log
  5. The root dbspace
  6. Any mirrored dbspace
  7. Any dbspace

Sollte in all diesen Dbspaces nicht mehr genügend Platz sein, so kann im laufenden Betrieb ein Chunk oder Dbspace hinzugefügt werden.

Im Falle DYNAMIC_LOGS=2 erstellt der IDS so viele Logs, dass eine als „lang“ erkannte TA genügend Platz zum Rollback bekommt.

Hinweis:

Es ist kein Herunterfahren der Instanz in den Quiescent Modus und kein Level-0-Backup mehr nörig!

 

 

 

 

onparams: neue Option –i

Mit onparams –i kann man ein neues LL direkt hinter dem aktuellen LL einfügen. Dies ist zum Beispiel notwendig, wenn man DYNMAIC_LOGS=1 gesetzt hat und ein LL von Hand aus einfügen muß. Im Falle DYNAMIC_LOGS=2 macht dies der Server schon automatisch so.

ondblog

Dienstprogramm zum Ändern des Database Logging Mode

  • ondblog unbuf datenbank
  • ondblog buf datenbank
  • ondblog nolog datenbank
  • ondblog nolog –f datei ( „datei“ enthält eine Liste der Datenbanken)
  • ondblog ansi datenbank

Hinweis: Wenn man von nolog umschaltet auf „buf“ oder „unbuf“, so greift die Änderung nur, wenn man ein Level-0-Backup anschliessend durchführt.

LTXHWM und LTXEHWM

Diese Zahlen geben nicht den prozentualen Anteil am gesamten Speicherplatz der LLs an, sondern den prozentualen Anteil an der Anzahl der LLs.

Umgebungsvariablen

IFX_DEF_TABLE_LOCKMODE

Tut das, was der Name schon sagt.

Kommentar hinzufügen

Der Inhalt dieses Feldes wird nicht öffentlich zugänglich angezeigt.
CAPTCHA
Diese Frage dient dazu festzustellen, ob Sie ein Mensch sind und um automatisierte SPAM-Beiträge zu verhindern.
2 + 14 =
Lösen Sie dieses einfache mathematische Problem und geben Sie das Ergebnis ein. Für 1 + 3 geben Sie z.B. 4 ein.