PDA

View Full Version : SYS-Views für DSPOBJD und PGMREF



Peet
05-09-16, 09:44
Hallo zusammen,

ich befürchte ja, die Antwort schon zu kennen, weil ich auch nach intensiver Suche nichts gefunden habe !
Ausserdem handelt es sich bei meiner Frage ja um reine "i/os" Informationen, die nichts mit "Globalen SQL-Infos" zu tun haben.

Trozdem traue ich mich zu fragen...
Gibt es SYS-Views in der i5, mit denen ich analog zu DSPOBJD und DSPPGMREF die entsprechenden Informationen erhalten kann ???

Vielen Dank im Voraus !

BenderD
05-09-16, 10:06
... die mesiten dieser Info"dateien" sind UDTF und Grotten-langsam und zudem undokumentiert. DSPOBJD in ein outfile und APIs sind da nach wie vor erste Wahl.

D*B

Peet
05-09-16, 10:17
Danke, habe ich mir fast gedacht.
Es wäre halt nur so "schön" und "einfach" gewesen .:)

Gruß..

Rainer Ross
05-09-16, 12:16
Hallo Forum,

anbei ein paar Beispiele mit den UDTF's

1. Beispiel: Die 20 größten Objekte in der QUSRSYS. 1. Aufruf 7 Sek, 2. Aufruf 0,1 Sek

SELECT CAST(OBJLONGSCHEMA AS CHAR (10)) AS OBJLIBRARY, OBJNAME,OBJTYPE,OBJATTRIBUTE,OBJSIZE,OBJTEXT
FROM TABLE(QSYS2.OBJECT_STATISTICS('QUSRSYS','ALL')) AS X
order by OBJSIZE desc
limit 20;

2. Beispiel: Alle Objekte, die der User ROSS in einem bestimmten Zeitraum erstellt hat. 1. Aufruf 1 Min, 2. Aufruf 1,7 Sek

SELECT CAST(OBJLONGSCHEMA AS CHAR (10)) AS OBJLIBRARY, OBJNAME,OBJTYPE,OBJATTRIBUTE,OBJSIZE,
date(OBJCREATED) as OBJDATE, time(OBJCREATED) as OBJTIME, OBJDEFINER, OBJTEXT
FROM TABLE(QSYS2.OBJECT_STATISTICS('*ALLUSR','ALL')) AS X
where OBJDEFINER = 'ROSS'
and date(OBJCREATED) between '2016-03-15' and '2016-03-31'
and time(OBJCREATED) between '15:00:00' and '16:00:00';

3. Beispiel: Suche eines Objekts über *ALLUSR. 1. Aufruf 5 Sek, 2. Aufruf 1,7 Sek

SELECT CAST(OBJLONGSCHEMA AS CHAR (10)) AS OBJLIBRARY, OBJNAME,OBJTYPE,OBJATTRIBUTE,OBJSIZE,
date(OBJCREATED) as OBJDATE, time(OBJCREATED) as OBJTIME, OBJDEFINER, OBJTEXT
FROM TABLE(QSYS2.OBJECT_STATISTICS('*ALLUSR','ALL')) AS X
where objname = 'MYOBJECT';

4. Beispiel: Suche nach doppelten physical Files 1,2 Sek

SELECT OBJNAME,count(*) as Anzahl
FROM TABLE(QSYS2.OBJECT_STATISTICS('*ALLUSR','*FILE')) AS X
where OBJATTRIBUTE = 'PF' and OBJNAME not like 'Q%'
group by OBJNAME
having count(*) > 1
order by OBJNAME;

Der Link zur Doku: https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/IBM+i+Technology+Updates/page/QSYS2.Object_Statistics+table+function+ease+of+use


Herzliche Grüße
Rainer Ross

andreaspr@aon.at
05-09-16, 12:30
Hallo Peet,

je nachdem welche Informationen du benötigst und welches Release du hast:

select * from qsys2.sysroutinedep
SYSROUTINEDEP (https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_72/db2/rbafzcatsysrdep.htm)

lg Andreas

B.Hauser
05-09-16, 18:11
... die mesiten dieser Info"dateien" sind UDTF und Grotten-langsam und zudem undokumentiert. DSPOBJD in ein outfile und APIs sind da nach wie vor erste Wahl.

D*B
Die DB2 und IBM i Services sind ALLE dokumentiert:
DB2 for i Services (http://www.ibm.com/support/knowledgecenter/ssw_ibm_i_73/rzajq/rzajqservicesdb2.htm)
IBM i Services (http://www.ibm.com/support/knowledgecenter/ssw_ibm_i_73/rzajq/rzajqservicessys.htm)

... vielleicht zur Info die Services verwenden entweder die CL-Befehle mit OUTFILE oder die System APIs.

@Peet
Sofern Du Dir WOPiXX herunterlädst (kostenlos unter http://www.wopixx.com/de/downloads) ...
UDTFs über alle möglichen List APIs (u.a. Object Descriptions und QBNLPGMI) sind in der Bibliothek DIRWEB enthalten ... allerdings an dieser Stelle undokumentiert.
Wäre zumindest einen Versuch wert.

Birgitta

kitvb1
06-09-16, 07:24
Es gibt auch einer kostenlose (bzw. alteres) version von XrefIT Cross Reference System). Die ist auch dokumentiert.

Peet
06-09-16, 09:03
Vielen Dank an alle !
Da ist bestimmt etwas für mich dabei !
Ich glaube ich werde anhand meiner Anforderung die Zeit aufwenden, um eine "generelle" Lösung mittels der UDTF's anzugehen, dann hat man ein für alle mal auch eine funktionierende Version.
Vielleicht wäre DSPOBJD+DSPPGMREF mit Outfile "schneller erledigt", aber hier packt mich dann auch der Ehrgeiz !

Nochmals Danke an Alle !!!