Notatki z Mainframe Vol1
Click here to load reader
description
Transcript of Notatki z Mainframe Vol1
Copyright © Jacek Lewiński document.doc
Notatki Mainframe vol. 1
Kolejna porcja notatek
Strona 1 z 7
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
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
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
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
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
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