The NoteBook of EricKong

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            611 Posts :: 1 Stories :: 190 Comments :: 0 Trackbacks

          數據集的創建:

          數據集的創建有兩種情況:1分區數據集的創建,2連續數據集的創建。

           分區數據集的創建步驟如下:在ISPF主菜單下選擇3-Utilitis,然后是2-Data Set,在面板最上面就會看到有8種操作可以進行,在選項區域輸入字母 A,但是不要按 ENTER 鍵,然后在數據集名字區域中輸入新數據集的名字,但是同樣也不要按ENTER 鍵。名字可以用單引號引起來(例如,’yourid.LIB.SOURCE)或不用引號引起來(LIB.SOURCE)以便TSO/ISPF 能夠自動的把當前的 TSO用戶ID 作為HLQ 使用。然后在卷序號區域輸入 WORK02,按ENTER鍵。 完成指定的參數設置并且按 ENTER 

           – Space Units = TRKS           (這是一個為后面數據設置的單位,意為磁道)

           – Primary quantity = 10         (為數據集分配 10 個磁道的主空間)

           – Secondary quantity = 5      5個磁道的追加空間)

           – Directory blocks = 10         10個目錄空間足夠了)

           – Record format = FB         (數據集的記錄格式是 FB

           – Record length = 80          (邏輯記錄的長度是 80 字節)

           – Block size = 0                   (this tells z/OS to select an optimum value) (在Record formatFB的情況下,這個區域如果要自定義的話一定要是上一個參數Record length的整數倍,至于原因,可以從上一篇文章中找)

           – Data set type = PDS         PDS代表分區數據集,HFS代表分級文件系統,是Z/OS UNIX文件系統,LIBRARY表示庫,BLANK表示什么不知道)

          系統執行創建數據集的操作完畢以后,在屏幕的右上的角落,可以看到成功或者失敗的 消息。

          順序數據集的創建與分區數據集的創建的不同之處在于填寫參數的時候要在Directory blocks 項填0,因為順序數據集中根本不需要目錄,分配空間又要何用。然后還要把Data set type 保持為空,即BLANK,這樣子創建出來的一個DATA SET就是一個順序數據集。同樣你會在右上角看到創建成功與否的提示信息。

          數據集的列表總覽:

          我剛才學會了創建數據集,那么我如何去看我們的數據集在哪呢?其實我已經知道它就在創建數據集時指定的那個VOLUME中,但是,我還是想看一看VOLUME下倒底有哪些數據數據集呢?原來可以在ISPF下使用3.4即Dlist選項,在其中的Dsname level右邊填上你的用戶名,或者就是你的HLQ,然后回車,就可以得到一個數據集的列表,或者你不填寫Dsname level,而是填寫了下面那個Volume serial,那么得到的就是這個卷中的所有的數據集的列表,如下面這個圖所示:

          在這個界面中,用PF10PF11左右翻動可以顯示更多的信息,這種情況并不是真正的滾動;只有當使用PF11 PF10 時才能獲得額外的信息。 第一個 PF11 顯示的內容包括磁道、使用百分比、分區和設備類型。分區值是用于獲得顯示磁道總數的分區數量。ISPF 實用程序可以看到數據集實際使用的空間的大小,且如果可能的話,它還可以作為一個百分比來顯示。第二個 PF11 顯示的內容包括 DCB 特性:數據集組織形式(DSORG)、數據集記錄格式(RECFM)、邏輯記錄長度(LRECL)和組塊的長度(BLKSIZE)。PS 代表順序數據集,PO 代表分區數據集,VS 代表 VSAM 數據集,BLANK 代表未知組織或者不存在數據集 

          RECFMLRECL BLKSIZE 應該是比較熟悉的。在某些情況下,若沒有使用一個標準的訪問方法或沒有寫入數據時,這些參數是不能確定的。VSAM 數據集沒有這些參數的直接數值,通常是以問號來表示。

          在這個界面下按F1可以查看到可以對數據集進行的一些操作的命令,如S ,E B等等,這時在某一個要編輯的數據集左側,對應于上方藍色的Command列下面輸入命令,然后回車就可以執行命令了。比如用E,就馬上進入該數據集的編輯狀態。

          數據集的編輯:

          如果是一個連續數據集,我們可以直接在ISPF主菜單的2選項EDIT里面,輸入數據集名稱,直接進行編輯狀態,在編輯環境下,有兩種命令格式,一種是主命令,就是在Command那一行輸入來使用的命令,它們常見的有:

          AUTOSAVE ON/OFF,打開關閉自動保存

          AUTONUM ON/OFF,自動重新編號行號(SAVE后生效)

          CANCLE:取消所做的編輯并退出編輯環境
          CAPS ON/OFF:退出編輯環境后系統自動將所有字母轉換為大寫/小寫
          CHANGERCHANGE):替換字符,RCHANGE表示重復上次的替換。格式:CHANGE ** ** [ALL]
          FINDRFIND):查找字符串
          RECOVERY ON/OFF:設置編輯方式,ON表示用戶可以通過UNDO命令取消上一次編輯操作
          RESET:重置編輯器,清除不需要的信息
          SAVE:保存當前修改,并繼續編輯
          SORT:對文檔行按字典順序排序
          SUBMIT:提交作業;若作業是一段JCL程序,則通過該命令可以提交作業程序
          UNDO:取消上一次編輯(僅當在RECOVERY ON編輯方式下)
          ssetup+member:創建新成員(PDS
          CUT:復制當前內容(配合CCMM來使用)
          PASTE:粘貼當前內容(配合CUT來用 很常用)
          COPY+member-name:復制同一DATASETMEMBER內容(配合AB使用)

          HEX ON/OFF,打開關閉十六進制編碼形式;
          HI+XXX:高亮顯示某種語言(JCL COBOL REXX等等)
          MEMBER+member-name:查詢當前所有DATASET下該member是否存在(非常實用)
          PROFILE:列出當前編輯環境的所有的editor profile
          HEX ON/OFF:打開關閉十六進制編碼形式
          AUTOSAVE ON/OFF:打開關閉自動保存
          AUTONUM ON/OFF:自動重新編號行號(SAVE后生效)

          PROFILE, 列出當前編輯環境的所有的editor profile
          PROFILE UNLOCK/LOCK:可以修改ISPFeditor profile
          PACK ON/OFF:是否將該MEMBER保存成PACK格式(一種主機上標準的壓縮格式)
          TABS ON/OFF:編輯的時候是否允許用TAB鍵跳格

          如果是編輯REXXCOBOLJCL等,可以用 HI REXX, HI COBOL HI JCL,讓語言的關鍵字高亮顯示。這個對閱讀程序幫助很大

          命令 COPY member1 就會把 member1 的內容拷貝到當前的文件中。

          命令 CUT 可以把當前文件的內容拷貝到剪貼板中,然后到你要你要粘入的文件,使用PASTE 命令 拷貝到該文件。

          CTRL+HOME顯示隱藏十字光標(十字光標是干什么滴?)

          另一種命令是行命令,是輸入在文本行中的左側EDIT下面列來使用的命令,常見的行命令如下:

          CCCCxx:拷貝命令。與其他行命令(AB)或主命令 結合使用 C 拷貝當前行,CC拷貝多行,用兩個CC來定位,Cxx拷貝多行,XX表示行數
          IIXX:插入命令。執行一次插入命令后,可直接按回車(ctrl)換行
          DDDDxx:刪除
          RRRRxx:復制
          O:覆蓋當前內容(結合CR來用)
          A:定位于當前行之前
          B:定位于當前行之后
          XXXXxx:隱藏
          SSxx:顯示隱藏的內容
          COLS:屏幕的刻度標尺
          UCUCxx:轉換成大寫
          LCLCxx:轉換成小寫
          (, (xx:將當前行左移一列或xx(或者<)
          ), )xx :將當前行右移一列或xx(或者>)
          TS:將一行文本切分為兩行
          TF:將多行文本合并為一行

          行命令還有O,配合AB一起使用能夠覆蓋指定的行相同位置

          還有列于最下行的功能鍵都有提示,就不說了。

          編輯完了F3可保存退出。F12不保存退出。

          如果數據集是一個分區數據集,如果是一個剛剛建立的分區數據集,我們按前述進行編輯的時候,右上角會提示 No member in data set,這個就是說明了,一個分區數據集是不能拿來直接編輯的,因為它是一個順序數據集的集合,它相當于一個文件夾,怎么可以拿來直接編輯呢,所以要先在其中建立順序數據集,這個順序數據集一般被稱為MEMBER,然后再對MEMBER進行相應的編輯。如何給分區數據集添加順序數據集呢?很簡單,就在如上的兩處環境下在Data set name一項中填上數據集名稱,然后在后面加上一個括號,其中寫上要添加的成員的名字就可以了(例如LIB.COURCE(MEM1)),然后回車就直接進入編輯狀態了。如果是一個已經有成員的分區數據集,填寫好數據集名稱,不用加什么括號然后直接回車,會出現一個成員列表,再在其中進行選擇,然后選擇一個數據集來編輯就可以了,編輯命令當然跟前面說過的那兩種命令相同了。

          數據集的刪除:

          數據集的刪除可以在3.2下面用D命令進行,也可以在3.4下面用D命令進行。這個比較簡單。

          數據集的重命名:

          數據集的重命名跟刪除一樣,可以在3.2下面用R命令進行,也可以在3.4下面用R命令進行。這個也比較簡單。

          數據集的移動和拷貝:

          假定用戶需要復制位于卷WORK02中的數據集 ZPROF.ZSCHOLAR.LIB.SOURCE,操作過程如下: 

          1. 選擇ISPF選項3.3(實用程序移動/復制) 

          2. 在第一個面板上: 

              在選項區域輸入C 

              在數據集名字區域輸入’ZPROF.ZSCHOLAR.LIB.SOURCE’。這種情況需要用到單引號 

          3.在第二個面板上: 

              在數據集名字區域中輸入’yourid.LIB.SOURCE’并且按ENTER ,如果這個目標數據集不存在,會有一個創建新數據集的提示。

          4. 操作后應該產生一個面板列出輸入數據集中的所有成員: 

               -在每個成員名字前輸入S,并且按ENTER鍵。 如果源數據集中本身就沒有成員,那么復制將自然會失敗。

          這樣就把所有顯示出來的成員從源數據集復制到了目標數據集。

          移動的做法跟復制差不多,只是移動過后源數據集就消失了,而復制不會消失。

          數據集的編目:

          先對數據集的編目進行一個概覽:

          MVS中,數據集的管理主要是通過目錄(CATALOG)來實現的。目錄本身是一個數據集,它含有其它數據集的信息,提供一種能力,按數據集名去定位數據集的地址。MVS中最初沒有目錄,因此用戶必須牢牢記住其數據集所在的卷,在訪問數據集時,除了要指定數據集的名字外,還要指定數據集所在的卷。由于系統中的卷的個數非常多,用戶使用很不方便。之后,隨著操作系統的發展,實現了CVOL目錄和VSAM目錄。現在使用的目錄是Integrated catalog
                   這三種目錄可以并存于同一個操作系統中,其中前兩種只是因為考慮兼容性而存在,系統中如果沒有早期的應用需求,可以完全不使用前兩種目錄 形式。

           對數據集的編目實際上是對數據集的入口建立表格和索引。訪問數據集時,系統通過查找目錄來定位已編目的數據集。目錄中包括數據集名,卷標(VOLUME)和設備類型(UNIT)。
          當讀取編目的數據集時,只需指定數據集名和數據集狀態,無需指定VOLUMEUNIT參數,這時,系統通過數據集名(DSN)查找編目,從編目中獲取UNIT VOLUME信息,然后再通過UNIT參數和VOLUME參數指定的VTOC獲取數據集位置,大小等信息。

           使用編目后,用戶不再需要知道外存儲器的詳細設置,因此數據可以從一個地方移動到另一個地方而不必改變JCL中的DD語句,訪問數據集時也不必知道數據集存放的卷。使用編目同時也簡化了數據集的備份和恢復過程。所有VSAM數據集和SMS管理的數據集均需要編目。

          如果你使用了SMS,或者為編目定義了別名(alias),則在JCL中不應該再使用JOBCATSTEPCAT語句去指定catalog

             一個編目機制包含兩種獨立的數據集:一個基本的編目結構(BCS)和一個VSAM卷數據集(VVDS)。BCS可以認為是編目,而VVDS則可認為是VTOC的擴展。

             BCS是一個VSAM KSDS數據集,它使用數據集的名字作為關鍵字。對于VSAM數據集,BCS含有卷、安全信息、擁有者及其它信息。對于非 VSAM數據集, BCS含有卷,擁有者及其它信息。

           VVDS是一個VSAM ESDS數據集,其名字為:SYSIVVDSVvolser VVDS存放在每
          一個含有VSAMSMS管理的數據集的卷上。它含有數據集的特性和擴展(extention)信息。
          對于VSAM數據集來說,還含有卷的有關信息。因此,編目的數據集描述信息包含在VTOCBCSVVDS中,三者描述的信息應當一致。這種一致性由操作系統自動同步。

           所有SMS管理的數據集在VVDS中都有登記項,對于VSAM數據集的VVDS記錄被稱之為VVRVSAM Volume Record),而對于SMS管理的非VSAM數據集的VVDS記錄則被稱之為NVRNon-VSAM Volume Record)。如果一個非VSAM數據集跨多個卷,則其NVR在第一個卷上。

          由于BCS同樣也是一個VSAM,它在 VVDS中也有一個VVR。臨時的 VSAM數據集在VVDS中同樣也有登記項,但在BCS中沒有登記項。

            MVS系統中,有一個主目錄(Master Catalog)及多個用戶目錄(User Catalog)
          主目錄是整個外存系統管理的中心控制點,它描述系統的數據集和用戶目錄,而用戶目錄則描述用戶的數據集。通常稱在目錄中有描述信息的數據集為編目的數據集。顯然,主目錄的信息非常重要,因此可以有一個或多個主目錄的備份。但任何時候系統中只能有一個主目錄在使用,形成一個以主目錄為中心的兩級層次式的數據集管理方式,主目錄與用戶目錄的區別僅僅在于它使用的方式。

           SYSINUCLEUS數據集的SYSCATXX成員(如果有的話)或SYSIPARMLIB(SYS1.IPLPARM)數據集的LOADXX成員指向主目錄。在系統啟動時,操作員也可指定使用另一個主目錄。所有的用戶目錄均登記在主目錄中。

          posted on 2012-03-31 15:59 Eric_jiang 閱讀(2356) 評論(0)  編輯  收藏 所屬分類: Mainframe
          主站蜘蛛池模板: 辉县市| 济源市| 江山市| 涡阳县| 绍兴市| 巴塘县| 昌吉市| 方正县| 岳西县| 太湖县| 和顺县| 新巴尔虎右旗| 阿荣旗| 元江| 凤阳县| 饶阳县| 丹阳市| 渭源县| 长葛市| 商城县| 桐乡市| 丰都县| 桦川县| 奇台县| 义乌市| 平南县| 鸡西市| 永登县| 德安县| 临沧市| 辉南县| 兰坪| 庐江县| 云梦县| 宣汉县| 内江市| 深水埗区| 鹿泉市| 长岭县| 武川县| 北宁市|