首先到 IBM 官網下載相關 PAX 檔 (SDK8_31bit_SR8_FP45.PAX.Z) 和?SDK8_31bit_readme.txt
https://www.ibm.com/support/pages/java-sdk-products-zos
在 hercules 裡加一些新卷用來存放這個 JDK (UAPP02),UTMP02 也可以順便加上讓 OMVS IBMUSER 下多一些存放空間,至於 ULOG02 純粹自己用而且
格式最好選 3390-9,之前建的 3390 很快就滿,另外,壓縮也要選上,這樣壓縮了,本地空間也可以減少很多,其他選項也可以參考以下
之後,先關機並在 hercules.cnf 補上新的卷再開機
重新 IPL 後,查看一下設備是不是都在綫
D U,,,0AA0
先把新的卷下綫
v 0aa0,offline
v 0aa1,offline
v 0aa2,offline
提交以下JCL來把新卷初始化
//JC$INITD JOB ,'INIT DASD',NOTIFY=&SYSUID
//*
//STEP0001 EXEC PGM=ICKDSF,PARM='NOREPLYU'
//SYSPRINT DD SYSOUT=*
//SYSIN DD * INIT UNIT(0AA0) VFY(UAPP02) VOLID(UAPP02) PRG NVAL VTOC(1,0,75) INIT UNIT(0AA1) VFY(UTMP02) VOLID(UTMP02) PRG NVAL VTOC(1,0,75) INIT UNIT(0AA2) VFY(ULOG02) VOLID(ULOG02) PRG NVAL VTOC(1,0,75)
/*
//*
然後,把新卷上綫
v 0AA0,online
v 0AA1,online
v 0AA2,onlined u,,,0AA0
提交以下JCL來為新卷建 CATALOG 並掛在主 CATALOG 裡
//JC$CRTCC JOB ,'CREATE USERCAT',NOTIFY=&SYSUID
//*
//STEP0001 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD * DELETE UCAT.UAPP02 USERCATALOG SET MAXCC=0 DEFINE USERCATALOG(NAME(UCAT.UAPP02) - VOLUMES(UAPP02) - CYLINDERS(2 1)) - CATALOG(CATALOG.Z110.MASTER)
/*
//*
//*
//STEP0002 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD * DELETE UCAT.UTMP02 USERCATALOG SET MAXCC=0 DEFINE USERCATALOG(NAME(UCAT.UTMP02) - VOLUMES(UTMP02) - CYLINDERS(2 1)) - CATALOG(CATALOG.Z110.MASTER)
/*
//*
//*
//STEP0003 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD * DELETE UCAT.ULOG02 USERCATALOG SET MAXCC=0 DEFINE USERCATALOG(NAME(UCAT.ULOG02) - VOLUMES(ULOG02) - CYLINDERS(2 1)) - CATALOG(CATALOG.Z110.MASTER)
/*
//*
然後,為 OMVS JDK 建立 HFS 空間來存放 JDK
//JC$CRTHF JOB ,'CRT HFS',NOTIFY=&SYSUID
//*
//STEP0010 EXEC PGM=IEFBR14
//MKFS1 DD DSNAME=UTMP02.HFS,DISP=(NEW,CATLG),
// DSNTYPE=HFS,SPACE=(CYL,(1000,1,1)),
// VOL=SER=UTMP02,UNIT=SYSDA
//*
//STEP0010 EXEC PGM=IEFBR14
//MKFS1 DD DSNAME=JDK845.HFS,DISP=(NEW,CATLG),
// DSNTYPE=HFS,SPACE=(CYL,(1000,1,1)),
// VOL=SER=UAPP02,UNIT=SYSDA
//*
?
然後,在 BPXPRMDB (PRMDB, DB 要視乎 IPL 用的另個) 把 JDK 和 TMP 空間都掛上
EDIT USER.PARMLIB(BPXPRMDB) - 01.10 Columns 00001 00080
Command ===> Scroll ===> CSR
000142 MOUNT FILESYSTEM('JDK845.HFS')
000143 TYPE(HFS)
000144 MODE(RDWR)
000145 MOUNTPOINT('/usr/lpp/java')
000146
000147 MOUNT FILESYSTEM('UTMP02.HFS')
000148 TYPE(HFS)
000149 MODE(RDWR)
000150 MOUNTPOINT('/u/ibmuser/utmp')
000151
000152
000153 FILESYSTYPE TYPE(AUTOMNT) ENTRYPOINT(BPXTAMD)
000154 FILESYSTYPE TYPE(ZFS) ENTRYPOINT(IOEFSCM) ASNAME(ZFS)
000155 FILESYSTYPE TYPE(NFS)
000156 ENTRYPOINT(GFSCINIT)
000157 ASNAME(NFSC)
000158
000159 FILESYSTYPE TYPE(INET) ENTRYPOINT(EZBPFINI)
000160
000161 SUBFILESYSTYPE NAME(TCPIP)
000162 TYPE(INET)
重起後,ssh 進去然後用 df 查看一下 mount 是否已經掛載 JDK845.HFS 和 UTMP02.HFS
IBMUSER:/u/ibmuser: >df
\Mounted on Filesystem Avail/Total Files Status
/Z110/usr/lpp/cicsts/cicsts32 (DFH320.ZFS) 18292/57600 4294967059 Available
/Z110/usr/lpp/jcct4v3 (ACD211.SACDZFS1) 6942/14400 4294967269 Available
/u/db9g (DSN910.SJVAZFS) 14042/14400 4294967284 Available
/Z110/usr/lpp/db2910_worf (DSN910.SDSNWORF) 68768/72000 4294967273 Available
/Z110/usr/lpp/db2910_mql (DSN910.SDSNMQLS) 68026/72000 4294967290 Available
/Z110/usr/lpp/db2910_jdbc (DSN910.SDSNJCC) 61294/72000 4294967262 Available
/Z110/usr/lpp/db2910_base (DSN910.SDSNAZFS) 54580/72000 4294967272 Available
/ADCD/var/wbem (ZFS.ADCD.VARWBEM) 110382/144000 4294965457 Available
/ADCD/var (ZFS.ADCD.VAR) 2066/2880 4294967263 Available
/ADCD/dev (ZFS.ADCD.DEV) 8316/8640 4294967279 Available
/Z110 (ZFS.Z110.VERSION.ZFS) 28384/4320000 4294952944 Available
/u/ibmuser/utmp (UTMP02.HFS) 1439824/1440000 4294967294 Available
/Z110/usr/lpp/java (JDK845.HFS) 1439824/1440000 4294967294 Available
/Z110/usr/lpp/mqm/V7R0M0 (CSQ700.MQM.HFS) 120/114528 4294967099 Available
/Z110/usr/lpp/pli (IEL370.HFS) 0/2304 4294967291 Available
/Z110/usr/lpp/cobol (IGY410.HFS) 216/960 4294967279 Available
/Z110/usr/lpp/netview (NET530.HFS) 7392/17472 4294967205 Available
/Z110/usr/lpp/cicsts/cicsts32/lib/security (DFH320.SECURITY.HFS) 1160/1440 4294967286 Available
/Z110/usr/lpp/cicsts/cicsts32/samples (DFH320.SAMPLES.HFS) 2888/14400 4294967060 Available
/Z110/usr/lpp/cicsts/cicsts32/JVMProfiles (DFH320.JVMPROFS.HFS) 1224/1440 4294967289 Available
/Z110/usr/lpp/cicsts/cicsts32/props (DFH320.PROPS.HFS) 1192/1440 4294967289 Available
/web (HFS.WEB) 13832/18720 4294966494 Available
/u (HFS.USERS) 10624/11712 4294967254 Available
/Z110/usr/mail (HFS.USR.MAIL) 1256/1440 4294967293 Available
/ADCD/tmp (HFS.ADCD.TMP) 2712/3168 4294967277 Available
/ADCD/etc (HFS.ADCD.ETC) 1712/4800 4294967009 Available
/ADCD (HFS.ADCD.HFS) 1200/1440 4294967285 Available
/ (HFS.ADCDPL.ROOT) 1016/1440 4294967276 Available
之後用 ftp 進去並切換到 /usr/lpp/java 目錄
PS D:\temp> ftp 192.168.200.2
Connected to 192.168.200.2.
220-FTPD1 IBM FTP CS V1R10 at ADCD.DFW.IBM.COM, 18:04:26 on 2025-07-13.
220 Connection will close if idle for more than 5 minutes.
501 command OPTS aborted -- no options supported for UTF8
User (192.168.200.2:(none)): ibmuser
331 Send password please.
Password:230 IBMUSER is logged on. Working directory is "IBMUSER.".
ftp> cd /usr/lpp/java
250 HFS directory /usr/lpp/java is the current working directory
ftp> pwd
257 "/usr/lpp/java" is the HFS working directory.
ftp> lcd
Local directory now D:\temp.
ftp>
把 JDK 安裝檔用 binary 模式上傳
ftp> binary
200 Representation type is Image
ftp> put SDK8_31bit_SR8_FP45.PAX.Z
200 Port request OK.
125 Storing data set /usr/lpp/java/SDK8_31bit_SR8_FP45.PAX.Z
250 Transfer completed successfully.
ftp: 242565201 bytes sent in 22.52Seconds 10768.71Kbytes/sec.
ftp>
確保上傳成功
IBMUSER:/Z110/usr/lpp/java: >ls -al
total 473792
drwx------ 2 OMVSKERN SYS1 8192 Jul 13 13:05 .
drwxr-xr-x 112 OMVSKERN SYS1 3840 Oct 15 2008 ..
-rw-r----- 1 OMVSKERN SYS1 242565201 Jul 13 13:06 SDK8_31bit_SR8_FP45.PAX.Z
然後解壓縮
IBMUSER:/Z110/usr/lpp/java: >uncompress SDK8_31bit_SR8_FP45.PAX.Z
IBMUSER:/Z110/usr/lpp/java: >pax -rvf SDK8_31bit_SR8_FP45.PAX
IBMUSER:/Z110/usr/lpp/java: >ls -al
total 587328
drwx------ 3 OMVSKERN SYS1 8192 Jul 13 13:11 .
drwxr-xr-x 112 OMVSKERN SYS1 3840 Oct 15 2008 ..
drwxr-xr-x 10 OMVSKERN SYS1 8192 Apr 22 01:27 J8.0
-rw-r----- 1 OMVSKERN SYS1 300690432 Jul 13 13:06 SDK8_31bit_SR8_FP45.PAX
IBMUSER:/Z110/usr/lpp/java: >rm -rf SDK8_31bit_SR8_FP45.PAX
IBMUSER:/Z110/usr/lpp/java: >chmod -R 755 J8.0
?
在 profile 把 JDK 加到 PATH
vi /u/ibmuser/.profile
export PATH=/usr/lpp/java/J8.0/bin:$PATH
如果跑 javac 時報錯 JVMJ9VM082E,把 libj9ifa29.so 屬性補上 +a
IBMUSER:/Z110/usr/lpp/java: >javac -version
JVMJ9VM082E Unable to switch to IFA processor - issue "extattr +a libj9ifa29.so"
javac 1.8.0
IBMUSER:/Z110/usr/lpp/java: >find /usr/lpp/java -name libj9ifa29.so
/usr/lpp/java/J8.0/lib/s390/default/libj9ifa29.so
IBMUSER:/Z110/usr/lpp/java: >extattr +a /usr/lpp/java/J8.0/lib/s390/default/libj9ifa29.so
JDK 成功安裝
IBMUSER:/Z110/usr/lpp/java: >javac -version
javac 1.8.0
IBMUSER:/Z110/usr/lpp/java: >
新卷啟用了壓縮,本地空間能節省很多