Notatki z Mainframe Vol1

9

Click here to load reader

description

Kolejna porcja notatek z Mainframe

Transcript of Notatki z Mainframe Vol1

Page 1: Notatki z Mainframe Vol1

Copyright © Jacek Lewiński document.doc

Notatki Mainframe vol. 1

Kolejna porcja notatek

Strona 1 z 7

Page 2: Notatki z Mainframe Vol1

Copyright © Jacek Lewiński document.doc

Notatki z Mainframe

SMS jest opcjonalnym elementem systemu operacyjnego. Administrator ustala klasę data seta na dysku. łączy fragmenty miejsca na dysku umiejscawia data sety tak aby w optymalny sposób wykorzystać przestrzeń dyskową parametry sms ustalamy tylko dla nowo tworzonych data setów system ignoruje je dla istniejących data setów, zdań DD, DD DATA, JOBCAT, JOBLIB DD, i

SYSOUT

ACCT account parameter w zdaniu exec dla wykonania zdalnego. W zdaniu exec służy do identyfikacji

konta Przykład://MNO JOB ACCT15, 'DON PUZZO' USER=ID32DBP

Wykonywanie Data Setów - wykonanie programu

BibliotekiWszystkie programy do wykonania muszą rezydować w partycjonowanym data secie (PDS) lub

partycjonowanym data secie extended (PDSE). Instalacja powinna zawierać listę programów osiągalnych w tych bibliotekach.

Mamy trzy typy bibliotek: Biblioteki systemowe np. SYS1LINKLIB. Biblioteki prywatne wyspecyfikowane w JOBLIB lub zdaniach STEPLIB DD. Bibliotekach tymczasowych utworzonych w poprzednich krokach joba.

Przykłady: Wykonanie programu z kodowanego w prywatnej lub systemowej bibliotece

//stepname EXEC PGM=program_name

Wykonanie programu z biblioteki tymczasowej opisanej w poprzednim kroku joba.//stepname EXEC PGM=*.stepname//stepname EXEC PGM=*.stepname.procstepname.ddnamePrzykład://ST1 EXEC PGM=MYPROG//DSPROG DD DSNAME=PDS1(MEMP), DISP=SHR//ST2 EXEC PGM=*.ST1.DSPROG

Wykonywanie procedur:Wykonywanie procedur in-stream. //stepname EXEC PROC=procedure_name //stepname EXEC procedure_name Przykład //ST1 EXEC PROC=PROCA //STEP9 EXEC PROC=DAILY

Strona 2 z 7

Page 3: Notatki z Mainframe Vol1

Copyright © Jacek Lewiński document.doc

Przykład data seta wraz z opisem

1 //CHECKS JOB (), 'BAR', MSGCLASS=A2 //*3 //*TESTING ASA CARRIAGE CONTROL4 //*5 // EXEC PGM=IEBGENER6 //SYSPRINT DD SYSOUT=D7 //SYSIN DD DUMMY8 //SYSUT2 DD SYSOUT=(S, CHKS), DCB=(RECFM=FBA), COPIES=19 // DEST=(BAR1TN06, XEROX)10

//SYSUT1 DD *

11

2 8/12/97 $19.95

12

3 John Smith

13

1

14

2 8/12/97 $120.53

15

3 Mary Jones

16

/*

Objaśnienia

1 CHECKS - nazwa joba JOB - rozpoznaje zbiór jako joba 'BAR' - nazwa właściciela MSGCLASS - klasa wyjścia, na które wyjście mają być pisane efekty joba. A - wskazuje na drukarkę

2 - 4 komentarz

5 - 10 zdania języka programowania

5 EXEC - wskazuje jaki program lub procedura będzie wykonywana

6 DD opisuje lokalizację oraz charakterystykę plików wejściowych i wyjściowych joba. Każde wejście i wyjście pliku danych musi być opisane zdaniem DD. Wskazanie SYSPRINT odnosi się do logu pliku JES robionego za każdym razem kiedy job jest uruchamiany. W zależności od przydzielonej klasy możemy otrzymywać zatrzymać lub odrzucić plik loga generowany przez JES-a. Będzie przekierowany do klasy DUMMY i czyszczony przez hosta.

Strona 3 z 7

Page 4: Notatki z Mainframe Vol1

Copyright © Jacek Lewiński document.doc

Klasy:o D - do klasy DUMMY i kasowanie przez hostao B - na punhero H - zatrzymany w JES (Held Output Quene)o Inne - na drukarkę

7 DUMMY oznacza, że z plikiem nie jest związane żadne urządzenie wejścia, wyjścia. Nie będą przeprowadzane żadne operacje wejścia/wyjścia. Tworzy pusty zbiór

8 Zdanie SYSUT2 przydziela klasę wyjściową programu. W tym przykładzie klasa to S, program nie jest określony i formularz to CHKS. Program zazwyczaj nie jest określony przez inne źródło niż JES. To zdanie jest również używane aby ustawić numer kopii i kierowanie data seta do określonego miejsca przeznaczenia.

10111213141516

Strona 4 z 7

Page 5: Notatki z Mainframe Vol1

Copyright © Jacek Lewiński document.doc

Mainframe Data Sety

Prawie każda praca w systemie pociąga za sobą wejście danych i wyjście danych. W systemach mainframe kanały podsystemów kierują używaniem wejść I/O urządzeń takich jak dyski, taśmy i drukarki, podczas łączenia danych dla danego zadania z urządzeniem.

z/OS zarządza danymi za pomocą data setów. Termin Data set opisuje plik który zawiera jeden lub więcej rekordów. Każda nazwana grupa rekorów jest Data Setem.

Partycjonowane Data Sety składają się z katalogów i membrów. Directory zawiera adresowanie do każdego membra i w ten sposób czyni możliwym dla programów albo systemu operacyjnego dostęp bezpośrednio do każdego membra. Każdy member jednakże składa się z sekwencyjnie poukładanych rekordów. Partycjonowane Data Sety są często nazywane bibliotekami. Programy są składowane jako membry partycjonowanego Data Seta. Generalnie system operacyjny ładuje membry PDS-a do pamięci sekwencyjnie, ale ma dostęp do membrów wprost kiedy wybierzemy program do wykonania.

Konwencje (nie reguły) nazywania data setów w systemie)Nazwa składa się z kwalifikatorów oddzielonych kropkami.Każdy kwalifikator ma od 1 do 8 znaków.Znakami mogą być litery, cyfry, $,#,@,-, przy czym na początku nie może być myślnik, ani cyfra. Wszystkich znaków maksymalnie (łącznie z kropkami) może być 44.HLQ - kwalifikator użyty w nazwie data seta - data set dotyczy systemów zabezpieczeń LIB - kwalifikator

Nazwy kwalifikowane to nazwy składające się z trzech kwalifikatorów:

prefix.kwalifikator.typ

prefix - najczęściej USERID użytkownika typ - rozszerzenie mówiące o typie danychW TSO problematyczne jest odwołanie się do kwalifikatora o innym prefiksie niż nasz własny

Jednostki:Możliwe jednostki: TRKS, CYLS, BLKSdla urządzeń 3390: TRKS (rozmiar ścieżki: 56664 B) CYLS (rozmiar cylindra: 15 * 56664 B = 849960 B BLKS (bloki)

Rekordy: F, FB, V, VB, ULRECL (Logical Record Length) - długość rekordu, standard 80

Strona 5 z 7

Page 6: Notatki z Mainframe Vol1

Copyright © Jacek Lewiński document.doc

W zbiorach PDS mieszczą się zbiory sekwencyjne o tej samej strukturze oraz wewnętrzny katalog (W PDSE organizuje, by nie było dziur w zbiorach).Na katalog przydzielone są 256 B bloki. Ilość bloków jest definiowana w pozycji DIR. W jednym bloku katalogu PDS może być wiele wpisów (średnio 4-6 pozycji).

Menu EdycjiLiterką "d" wpisaną na czerwonym znaku "=" powodujemy, że znika to, co zaznaczymy==> RECOVERY ONI - InsertD - DeleteR - Repeat (kopia wiersza poniżej)Dodając liczbę przy danym poleceniu można zastosować je do wielu linii, np. I3, D5, R2C - Copy (takze mozna podac ilosc linii)M - Move (także można podać ilość linii)B - BeforeA - AfterOperacje kończące:F3 - Exit (zapis i koniec)F12 - Cancel (koniec bez zapisu)SAVE - zapis (==> SAVE)menu File -> Save=> RECOVERY ON=> UNDO (przywraca stan z przed wykonania ostatniego poleceniaOperacje na kolumnach tekstu:COLS - pokazuje podział tekstu na kolumny)n - przesunięcie o n kolumn w prawo(n - przesunięcie o n kolumn w lewon - liczbapodwójne nawiasy przesuwają ograniczony nimi blok tesktu:((n - w lewo o n kolumn((

))n - w prawo o n kolumn))Podobnie:>n<n>>n<<n

Kopiowanie/przesuwanie niepustych obszarow z danej linii do pustych obszarów innej linii:Uwaga: źródło może być tylko jedno, a obszarów docelowych wiele.C/MOOOOO

Metody kopiowania

Strona 6 z 7

Page 7: Notatki z Mainframe Vol1

Copyright © Jacek Lewiński document.doc

Metoda1Aby skopiować zbiór, to docelowy też musi istnieć.Skopiować zbiór sekwencyjny: ZBIOR1.TEXT do zbioru PDS'owego BIBL1.TEXT

Z menu Dslist wypisujemy wszystkie zbiory i wybieramy slashem ZBIOR1.TEXTZ menu wybieramy -> 17 copyNastępnie jako nową nazwę:Data Set Name: BIBL1.TEXTa potem pole:New Member Name: EL1Uwaga: zamiast podawać Data Set Name można podać:Project: BANASIPGroup: BIBL1Type: TEXT

Metoda2SM (zamiast TSO)SMCOPY - alokuje(tworzy) dane zbioryFDS(nazwa1) - skrót od FROMDATASETTDS(nazwa2) - skrót od TODATASET -- można zamiennie stosować krótkie/długie nazwy poleceńdodatkowy operator NOTRANS (no translation), który powoduje, że nie jest wykonywana domyślna podmiana małych liter na duże

Ograniczenia:Rekordy formatu tylko F->F lub V->V (nie da się z niezdefiniowalnym formatem, czyli U), zblokowane lub nieDrogi kopiowania:PS -> PS lub PS -> member PDSmember PDS -> member PDS lub member PDS -> PSNie można: PDS -> PDS -- potrzebny jest do tego IEBCOPYDługość rekordów <= 256 B

Przykład polecenia:COPY FDS ('SYS1.PARMLIB(ABC)') TDS ('MOJA.KOPIA1') NOTRANS

Strona 7 z 7