PDA

View Full Version : QAQQINI editieren



Seiten : [1] 2

Atomik
16-10-02, 19:10
Hallo,

wie kann ich die Tabelle QAQQINI editieren?
Und welche Werte sind dort empfehlenswert (V5R1), um aus Java-Applikationen (PC) mittels SQL auf groß Tabelle zuzugreifen.

Ralf

torsten
17-10-02, 07:46
Hallo,

die Tabelle läßt sich am besten per SQL editieren. Es gibt nicht 'die besten'
Einstellungen, sonst bräuchte man ja keine
Tabelle, um die Einstellungen zu ändern.
Je nach eingesetzter Hardware und Applikation
könnenen sich verschiedene Möglichkeiten anbieten, deshalb kann die QAQQINI in verschiedene Lib's dupliziert werden.

Gruß

Torsten

Fuerchau
17-10-02, 09:14
Für die Einträge der QAQQINI gibt es eine Beschreibung im neuen SQL-Handbuch für V5R1 (HTML-Version).

Im wesentlichen kann man die Art der Protokollierung (die mit STRDBG automatisch durchgeführt wird) im Joblog festlegen.
Da STRDBG für den Datenbank-Serverjob nur schwierig durchzuführen ist, kann man eigentlich keine Hinweise über den Optimizer bekommen.

Stellt man die entsprechenden Werte ein, kann man das Joblog des Datenbankservers analysieren um ggf. die SQL-Zugriffe zu optimieren (Zugriffspfade).

Das Joblog findet man am besten über den OpsNav->Serverjobs. Dort sucht man sich SEINEN Datenbankjob und kann dann das Joblog ansehen (ggf. muss noch die Spalte des Users in die Sicht eingefügt werden, da der Jobuser immer QUSER ist: in der Ansicht mit rechter Maustaste).

COS
02-08-11, 10:39
Hallo,

ich muß nochmal einen alten Thread hochholen,

IBM i information center (http://publib.boulder.ibm.com/infocenter/iseries/v7r1m0/index.jsp?topic=/rzajq/qryopt.htm)

man soll ja (falls man die Inhalte der QAQQINI-Datei anpassen möchte) ein Duplikat dieser Tabelle erstellen, zb in der QUSRSYS ....... und dann in der Duplikat-Datei die Werte ändern.

CRTDUPOBJ OBJ(QAQQINI) FROMLIB(QSYS) OBJTYPE(*FILE) TOLIB(QUSRSYS) DATA(*YES)
CST(*YES) TRG(*YES)

wie stellt man nun aber sicher, das dann von allen Jobs im System diese duplizierte Tabelle verwendet wird? :confused:

CHGQRYA .... QRYOPTLIB(QUSRSYS)
gilt doch nur für den eigenen Job und nicht für alle Jobs?

bei uns liegt die QUSRSYS in der Library-List hinter der QSYS?

Pikachu
02-08-11, 11:02
An dieser Datei hängen Systemprogramme als Trigger dran, weshalb man sie auch mit CRTDUPOBJ TRG(*YES) kopieren muß.

COS
02-08-11, 11:19
ja, das mit den Triggern habe ich gelesen und deshalb den CRTDUPOBJ verwendet,

aber zurück zu meiner Frage:

falls man eine duplizierte Datei in QUSRSYS hat,
ignoriert das System dann die Bibliotheks-Reihenfolge (Systemwert QSYSLIBL bzw. siehe DSPLIBL) und prüft zunächst in der QUSRSYS, ob dort eine QAQQINI-Datei liegt, oder wie funktioniert es, das die modifizierte Datei von allen Jobs genutzt wird?

Pikachu
02-08-11, 11:35
Die Bibliotheksliste wird zum Finden der Datei QAQQINI nicht benützt, siehe diese Beschreibung von IBM (http://publib.boulder.ibm.com/infocenter/iseries/v5r3/topic/rzajq/specifyqaqqini.htm).

Fuerchau
02-08-11, 11:37
Das ist die erste Suchstelle unabhängig von der Librarylist.
Die QAQQINI wird auch nur per CHGQRYA gesucht und der Default für die Lib ist QUSRSYS.

BenderD
02-08-11, 11:39
QUSRSYS ist der default Wert - allerdings ist das globale schrauben an den Einstellungen der Query Engine in 98% der Fälle Murks. Für JDBC und ODBC ist das am Treiber genauer.

D*B

COS
02-08-11, 11:52
ich habe zB eine Empfehlung aufgeschnappt, zB diesen Parameter
COMMITMENT_CONTROL_LOCK_LIMIT (default-max. ist 500 Mill. Sätze)
auf einen kleineren Wert zu setzen (zB 20 Mio)
sonst kann es u.U. zu riesigen Commit bzw. Rollback-Zeiten kommen ........

IBM i Support: Software Technical Document : 502344686 (http://www-912.ibm.com/s_dir/SLKBase.nsf/1ac66549a21402188625680b0002037e/7712c661ad14a88d862574dd006c437b?OpenDocument)

Natürlich sollte normalerweise die Anwendung gar nicht erst so riesige Commit-Grenzen versuchen zu handeln,
aber wenn die Programmierer Fehler machen, muss der Admin das verhindern.