Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - Ed_Arnold

Pages: 1 2 3 4 5 6 [7] 8 9 10 11 12 ... 14
91
z/OS Server / MidServer does not work with Java V8 | Fixed
« on: May 27, 2016, 07:47:29 AM »
This only affects shops using the MidServer.

Java V8 deprecated some function.

If you try to start the MidServer with Java V8 you'll see the following errors in STDERR:

Exception in thread "main" java.lang.NoClassDefFoundError: sun.io.Converters
...
Caused by: java.lang.ClassNotFoundException: sun.io.Converters


Ed

92
Tips and Tricks / JCL That I Find Handy
« on: May 13, 2016, 09:17:38 AM »
Starting a thread to post some JCL that I use to solve CMOD issues.  Feel free to post yours here as well.

Problem:  testing arsload from spool, wanted to copy the IVP #1 sample file to spool class D.


//GENER   EXEC PGM=IEBGENER                                 
//SYSPRINT DD  SYSOUT=*                                     
//SYSUT1  DD PATH='/usr/lpp/ars/V9R5M0/samples/ARSIVPR1.out',
//       LRECL=133,RECFM=FB,BLKSIZE=399,                     
//       PATHOPTS=(ORDONLY),                                 
//       FILEDATA=TEXT                                       
//SYSUT2   DD  SYSOUT=D                                     
//SYSIN    DD  DUMMY                                         


Ed




93
On z/OS the Apache Web Server sample started task procedure HAPBPROC is shipped via the SHAPJCL2 library.

The sample procedure contains the parameter MEMLIMIT=512M.

Should anyone be seeing memory errors specifically or unexplained errors in general try removing that parm and running REGION=0M.

Ed

94
Looks like an excellent opportunity to get those RACF, Unix Systems Services security, and unified login questions answered!

Quote
From:    Anthony Giorgio <nitehawk@linux.vnet.ibm.com>
Subject: Reddit AMA on z Systems security
 
Hey everyone,
 
We're going to be hosting a Reddit "Ask Me Anything" session on
r/mainframe.  It's this Friday, April 8 at 11AM EDT.  We'll have a
number of IBM security experts available to answer your questions.  If
you're interested, check out the announcement at the link below:
 
http://ibm.biz/security_ama
 
--
Anthony Giorgio
Advisory Software Engineer
IBM z Systems Platform Performance Manager
Twitter: @a_giorgio

Ed

95
z/OS Server / COBOL V5 exposes poor coding practice in exit ARSEXINP
« on: March 24, 2016, 12:09:20 PM »
Two files get opened in sample exit ARSEXINP.

One, STATS-FILE, does not get properly closed before program termination.

In COBOL V4 and below this condition was tolerated and nobody ever knew there was a problem.

With COBOL V5 we get into a race condition in multi-threaded COBOL and the program ends up looping during termination.

What's interesting is that the LOAD itself completes successfully, it's not until the very very end when files are being closed that the loop occurs.

APAR PI59610 has been opened to update the sample ARSEXINP in SARSINST

ERROR DESCRIPTION:                                               
When compiled under COBOL V5 and above sample ARSEXINP does not 
properly close all files resulting in a loop.               
                                                                 
LOCAL FIX:                                                       
Compile with COBOL V4 and below or ensure that all files are     
closed before program termination.
                               
                                                                 
Ed

96
z/OS Server / Exploiting Hardware Compression on the zEDC
« on: March 16, 2016, 11:20:20 AM »
Before you do anything else, read and heed the following Technote:

APAR PI41677 zEDC support as updated by PI49323

http://www-01.ibm.com/support/docview.wss?uid=swg27046215


Now, how can you tell whether you have the hardware set up properly?

1. use the d iqp operator command to see if the feature is enabled:

D IQP                                       
IQP066I 09.59.54 DISPLAY IQP 613           
zEDC Information                           
 MAXSEGMENTS:                 4  (64M)     
 Previous MAXSEGMENTS:      N/A             
 Allocated segments:          4  (64M)     
 Used segments:               0  (0M)       
 DEFMINREQSIZE:               4K           
 INFMINREQSIZE:              16K           
 Feature Enablement:    Enabled



2. To see what state the zEDC is in, a D PCIE operator command displays the devices.  The zEDC is one of the 'Hardware Accelerator' entries

D PCIE                                                                   
IQP022I 10.10.58 DISPLAY PCIE 615                                       
PCIE     0011 ACTIVE                                                     
PFID      DEVICE TYPE NAME         STATUS  ASID  JOBNAME  CHID  VFN     
000000F6  Hardware Accelerator     ALLC    0012  FPGHWAM  0150  0006


3. The D PCIE,PFID=xx will display the details telling you the type of accelerator:

D PCIE,PFID=F6                                                           
IQP024I 10.12.38 DISPLAY PCIE 617                                       
PCIE     0011 ACTIVE                                                     
PFID      DEVICE TYPE NAME         STATUS  ASID  JOBNAME  CHID  VFN     
000000F6  Hardware Accelerator     ALLC    0012  FPGHWAM  0150  0006     
 CLIENT ASIDS: NONE                                                     
 Application Description: zEDC Express                                   
 Device State: Ready                                                     
 Adapter Info - Relid: 00000B  Arch Level: 03                           
                Build Date: 02/13/2014  Build Count: 03                 
 Application Info - Relid: 000000  Arch Level: 02


Note: 

Device State: Ready  is good
Device State: Intervention required is not good
any other state is transient, reissue the command


Of particular importance in the Technote is:

Quote
Two new compression types have been added to Content Manager OnDemand, named OD77HW and OD77LiteHW. In order to leverage hardware-based compression, you must define the document and resource compression types to one of these values.


Ed







97
z/OS Server / Running multiple ARSSOCKD's on the same LPAR
« on: March 02, 2016, 07:38:40 AM »
Recently Level 2 has been requested for a cookbook on how to set up two started tasks accessing the same database, and how to split the load between the two.

Follow the examples below:


Here is what your ars.ini should look like:                             
                                                                       
[@SRV@_ABC900]   <----- this is your original                               
HOST=mvs222                                                             
PROTOCOL=2                                                             
PORT=1451        <----- note this                               
SRVR_INSTANCE=ABC900DB                                                 
SRVR_INSTANCE_OWNER=ODPROD                                             
SRVR_OD_CFG=/etc/ars/V900/ars.abc900.cfg                               
SRVR_SM_CFG=/etc/ars/V900/ars.abc900.cache                             
SRVR_FLAGS_FOLDER_APPLGRP_EXIT=0                                       
SRVR_FLAGS_SECURITY_EXIT=0                                             
SRVR_FLAGS_FORCE_SECURITY=0                                             
                                                                       
[@SRV@_ABC902]   <------ this is different                             
HOST=mvs222                                                             
PROTOCOL=2                                                             
PORT=2451        <------ this is different                             
SRVR_INSTANCE=ABC900DB                                                 
SRVR_INSTANCE_OWNER=ODPROD                                             
SRVR_OD_CFG=/etc/ars/V900/ars.abc900.cfg                               
SRVR_SM_CFG=/etc/ars/V900/ars.abc900.cache                             
SRVR_FLAGS_FOLDER_APPLGRP_EXIT=0                                       
SRVR_FLAGS_SECURITY_EXIT=0                                             
SRVR_FLAGS_FORCE_SECURITY=0                       
                     
                                                                       
                                                                       
Note the only things that are different.                               
                                                                       
                                                                       
So let's say we now have two started tasks, which we could name         
anything.                                                               
                                                                       
//ARSSOCK0 PROC                                                         
//ARSSOCK0 EXEC PGM=ARSSOCKD,REGION=0M,TIME=NOLIMIT,                   
//  PARM='/-S -I ABC900 -v'      <------------the only difference       
...(everything else is the same)                                       
                                                                       
                                                                       
//ARSSOCK2 PROC                                                         
//ARSSOCK2 EXEC PGM=ARSSOCKD,REGION=0M,TIME=NOLIMIT,                   
//  PARM='/-S -I ABC902 -v'      <------------the only difference   
   
...(everything else is the same)                                       
                                                                       
Start both of them up.                                                 
                                                                       
Using the port number sign on to each of them with a client to see that
you can independently use each one.                                     
                                                                       
Submit a simple batch job, changing only the instance name from ABC900 
to ABC902.                                                             
                                                                       
Here's a sample job you can submit, it just does a display of process   
ID's or some such, not really sure.                                     
                                                                       
//   JOB                                                               
//TMP1  EXEC  PGM=IKJEFT01,REGION=0M,                                   
//            DYNAMNBR=200                                             
//SYSPROC  DD  DSN=SYS1.SBPXEXEC,DISP=SHR                               
//*                                                                     
//SYSTSPRT DD  SYSOUT=*                                                 
//*                                                                     
//SYSTSIN  DD  *                                                       
 oshell /usr/lpp/ars/V9R0M0/bin/arssockd -I ABC900 -px                 
//*                                                           
         
                                                                       
By using the -I parameter for your load jobs you can direct loading to one started task or the other as desired.

And that's all there really is to it.

Ed

98
OD/WEK & JAVA API / 31 bit and 64 bit Webshere and ODWEK on z
« on: February 28, 2016, 01:19:32 PM »
We're talking Java API here:

Recently had a situation where a customer thought their WAS on z/OS had to be 31-bit (due to AFP2PDF being restricted to 31 bit).                                                                 
                                                                       
This used to be true, but is no longer.                                 
                                                                       
The ODWEK Java API does a spawn() of afp2pdf.  For spawn(), it doesn't matter what AMODE afp2pdf is.                                           
                                                                       
It >>>used to be<<< that ODWEK could invoke afp2pdf via spawn() or via function calls to the afp2pdf_shr DLL.  For DLLs, AMODE does matter.   
                                                                       
In that case, 64-bit code can't call functions in a 31-bit DLL.  But CMOD doesn't do function calls anymore, so that's not an issue.         
_________________________                                               
                                                                       
For ODWEK java API, CMOD ships both 31- and 64-bit DLLs.               
                                                                       
Either should spawn afp2pdf no problem using the java APIs.             
                                                                       
Note: CGI/Servelt remains 31-bit only.

Ed

99
z/OS Server / COBOL V5, Change In Behavior Caused S0C4 In ODSZUPDZ
« on: December 09, 2015, 01:26:47 PM »
We had a report of ODSZUPDZ recompiled with COBOL V5 and S0C4's were being received.

(Thanks go to COBOL support for the following explanation.)

It turns out that when module ODSZUPDZ is built with the COBOL 5.1 compiler, it has a deferred segment

The module ODSXUPDZ is loaded (via a directed load) in ASID x and the LFMD for it is built in this ASID with a valid loader token. 

Later CEEPPOS tries to load the deferred segment of the module for which LE does not have addressability to the LFMD, because the LFMD resides in ASID x, but the deferred segment is being attempted to be loaded in ASID y. 

The only solution thus far is to add the module into LPA. 

When the module is loaded from LPA, the LFMD is built in common storage that can be accessed from any ASID and allows it to work.

Ed

100
z/OS Server / COBOL V5 Can Cause Storage Leak and 878 Abend
« on: November 06, 2015, 08:54:07 AM »
We've encountered this problem:


PI49958 -                                                         
  ****************************************************************
  * USERS AFFECTED: Enterprise COBOL V5.x users compiling and    *
  *                 running programs that are compiled with the  *
  *                 THREAD compiler option and run under a       *
  *                 multi-threaded POSIX(ON) environment, and    *
  *                 that contain QSAM or VSAM files OPENed and   *
  *                 then CLOSEed repeatedly.                     *
  *                                                              *
  ****************************************************************
  * PROBLEM DESCRIPTION: There is a small memory leak in the     *
  *                      CLOSE processing of the file.           *
  *                                                              *
  ****************************************************************
  * RECOMMENDATION: Apply provided service.                      *
  ****************************************************************
  During OPEN of QSAM/VSAM file, a control block is created to   
  associate the OPENed file with the current thread. If the thread
  is cancelled, that information is used to correctly close all   
  files associated with that thread.  During CLOSE processing, the
  control block that associate the file CLOSEing and the thread   
  should be removed.  The issue is that removal was not done     
  correctly.                                                     
                                                                 
  FIXCAT keyword:  COB0501T/K   COB0502T/K                       
                                                                 
                                                                 
  The logic of the CLOSE file processing to handle THREAD in     
  POSIX(ON) is fixed to correctly remove that control block used 
  to associate the file with the thread. Thus removing the memory
  leak.                                                           


So you may want to compile exits with COBOL V4 until you have the PTF applied:

http://www-01.ibm.com/support/docview.wss?uid=swg21883472

Ed


101
z/OS Server / Insight 2015 - October 26-29
« on: October 22, 2015, 06:28:25 AM »
Anybody else going to be at Insight next week?

Look for me at Booth #300 on the exhibition floor.

Ed

102
z/OS Server / RED ALERT - APAR OA48941 Will Affect CMOD Users
« on: October 02, 2015, 09:22:17 AM »
Before you read the rest of this note, read this link:

z/OS Unicode Services Conversion Information Service fails after December 15, 2015

https://www14.software.ibm.com/webapp/set2/sas/f/redAlerts/20150930.html


The good news is that CMOD itself doesn't use iconv() and thus Unicode System Services.

The bad news is that CMOD does use the DSNUTILS Stored procedure, Java, and LDAP which do.


Ergo, get that fix installed soonest so you don't get bitten by an IPL after December 15, 2015.

Ed

103
Tips and Tricks / ARSRPT utility - and how to run in batch on z/OS
« on: September 18, 2015, 10:39:24 AM »
Easy enough to google for more information but here's the 50,000 foot overview:

Quote
The enhanced reporting command produces a report for a selectable 24-hour period.  The report is
output in two optional files. The first file is the raw data extracted from the OnDemand System Log
and formatted as XML.  The second file is a summary derived from the raw data.  The report covers
three sets of operations of the system, logins, loads, and query/retrieves.


//       JOB  REGION=0M
//STEP1    EXEC PGM=BPXBATCH                             
//STDPARM  DD *                                         
SH /usr/lpp/ars/V9R0M0/bin/arsrpt -h ARCH900             
                -c "IBM-037" -t 2015-09-17               
                -u odv733 -p /u/odv733/edstash           
                -d /tmp                                 
//STEPLIB  DD DISP=SHR,DSN=ARS.ARSV900.SARSLOAD         
//SYSPRINT DD SYSOUT=*                                   
//SYSOUT   DD SYSOUT=*                                   
//STDERR   DD SYSOUT=*                                   
//STDOUT   DD SYSOUT=*                                   


Note: you can't use V9 libraries to access V8.5 logs --- or at least I can't.   :D

This is the error I see in the JESMSGLG in ARSSOCKD for V8.5 when my JCL points to V9.0:


ARS0013E ODV793 DB Error: {DB2 FOR OS/390}{ODBC DRIVER}{DSN11015}   
DSNT408I SQLCODE = -206, ERROR:  ODDAT_TIME_STAMP IS NOT VALID IN THE   
CONTEXT             WHERE IT IS USED                                   
                      DSNT418I SQLSTATE   = 42703 SQLSTATE RETURN       
CODE                                 DSNT415I SQLERRP    = DSNXORSO     
SQL PROCEDURE DETECTING ERROR                     DSNT416I SQLERRD     
= -100  0  0  -1  0  0 SQL DIAGNOSTIC INFORMATION            DSNT416I   
SQLERRD    = X'FFFFFF9C'  X'00000000'  X'00000000'  X'FFFFFFFF'         
           X'00000000'  X'00000000' SQL DIAGNOSTIC INFORMATION         
              ERRLOC=5:10:1 -- SQLSTATE=42S22, SQLCODE=-206, File=     
arsdoc.c, Line=2529                                                     


Ed

104
Note the changes in

1. Compression/Decompression
2. ODF
3. ODWEK requiring a RACF change.

For now, read the README at the link below and expect more details in the next quarterly newsletter for CMOD.

This is the text from APAR (PI41677) PTF (UI30119):

****************************************************************
* USERS AFFECTED: All Content Manager OnDemand for z/OS 9.5    *
*                 customers                                    *
****************************************************************
* PROBLEM DESCRIPTION: 1. Rollup Multiplatform 9.5.0.3         *
*                      fixpack.                                *
*                                                              *
*                      2. Add support for zEDC.                *
*                                                              *
*                      3. Add support to ODF to allow          *
*                      customers to specify a wildcard         *
*                      with substring in the sql statement.    *
*                      Upon execution ODF will substitute in   *
*                      the correct portion of the recipient    *
*                      name.                                   *
*                                                              *
*                        A. The format of the wildcard is:     *
*                                                              *
*                        $ODF_RECIPIENT(start pos:length)      *
*                                                              *
*                        where start pos is the number of the  *
*                        character to start and length is      *
*                        is the number of characters to use.   *
*                        (start pos:length) is optional        *
*                                                              *
*                        $ODF_RECIPLIST(start pos:length)      *
*                                                              *
*                        where start pos is the number of the  *
*                        character to start and length is      *
*                        is the number of characters to use.   *
*                        (start pos:length) is optional        *
****************************************************************
* RECOMMENDATION:                                              *
****************************************************************
1. Rollup Multiplatform 9.5.0.3 fixpack.                       
2.  Add support for zEDC.                                       
3.  Add support to ODF to allow customers to specify a wildcard
with substring in the sql statement.  Upon execution ODF will   
substitute in the correct portion of the recipient name.       
                                                               
  A.  The format of the wildcard is:                           
                                                               
  $ODF_RECIPIENT(start pos:length) where start pos is the number
  of the character  to start and length is the number           
  of characters to use.                                         
  (start pos:length) is optional                               
                                                               
  $ODF_RECIPLIST(start pos:length) where start pos is           
  the number of the character to start and length is the number
  characters to use.                                           
  (start pos:length) is optional                               


DOWNLD:                                                           
  This PTF updates the OnDemand AFP Web Viewer and the IBM       
  OnDemand Image Web Viewer.  These are self-extracting           
  files.  These files should be downloaded in binary to the users
  Windows system an run to install the appropriate plug-in.       
  If the user is running a browser while the installation is in   
  progress, then the user must stop and restart the browser       
  before the plugins can be used.  The files are located in:     
  -PathPrefix-usr/lpp/ars/V9R5M0/www/plugins/.  For users         
  installing in the root directory, -PathPrefix- would be "/".   
  For others, it might be "/SERVICE".                             
                                                                 
  afpplgin.exe - IBM OnDemand AFP Web Viewer                     
                - All languages including DBCS support           
  afpplgin.zip - IBM OnDemand AFP Web Viewer                     
                - Zip format for all languages include DBCS       
  imgplgin.exe - IBM OnDemand Image Web Viewer                   
                - All languages                                   
MULTSYS:                                                         
  This ptf must be applied to all systems which                   
  run a server for the same instance. Running servers             
  for the same instance at different fixpack levels               
  may produce anomalous results.                                 
DOCUMENTATION:                                                   
  OnDemand MP 9.5.0.3 Readme Link is at:                         
  http://www.ibm.com/support/docview.wss?uid=swg27046127         
ACTION:                                                           
  If you are using the OnDemand Web Enablement Kit (ODWEK), then 
  after you apply this PTF, you must delete all of the files from
  the Web Enablement Kit cache directory.  The directory is       
  specified by the CacheDir directive in the arswww.ini           
  file.  The deletion should be done when ODWEK is not active.   
                                                                 
  If _CEE_DLLLOAD_XPCOMPAT=2 was being specified as a WAS         
  environment variable to circumvent an abend in the ODWEK       
  servlet, it should be removed as it is no longer necessary.     
ACTION:                                                           
  This SYSMOD changes the way the Java ODWEK API generates docids.
  After installation of this SYSMOD, verify that users of the Java
  ODWEK API have READ access to the CSFOWH profile in the CSFSERV
  class.                                                         



105
History:   when zFS first came out, a recurring question was "Does CMOD work with zFS's?"

The answer was always yes.  Completely transparent.

With z/OS V2.1 a new, and better format of zFS aggregate has been made available.

I'm not going to write about it, all one would want to know is here:

http://www-304.ibm.com/support/knowledgecenter/SSLTBW_2.1.0/com.ibm.zos.v2r1.ioea700/ioea7p02999476.htm


Right now you can run the following JCL which simply does a brief display of information about each zFS aggregate on your system:


//AGGRINFO EXEC   PGM=IOEZADM,REGION=0M,
// PARM=('aggrinfo -long')             
//SYSPRINT DD     SYSOUT=H             
//STDOUT   DD     SYSOUT=H             
//STDERR   DD     SYSOUT=H             
//SYSUDUMP DD     SYSOUT=H             
//CEEDUMP  DD     SYSOUT=H             
//*                                     


This is output for my V9.0 product zFS before converting it to the new format:


ARS.ARSV900.PRODUCT.ZFS (R/W COMP): 119662 K free out of total 1080000
version 1.4                                                           
auditfid E2D4E2E5 D3F20598 0000                                       
         14957 free 8k blocks;          6 free 1K fragments           
          2160 K log file;             56 K filesystem table         
           160 K bitmap file                                         


Note the "version 1.4" in the output above, that's the old format.

I went into my BPXPRMxx and changed that mount to this:

MOUNT FILESYSTEM('ARS.ARSV900.PRODUCT.ZFS')
      MOUNTPOINT('/usr/lpp/ars/V9R0M0')   
      TYPE(ZFS)                           
      MODE(RDWR) PARM('CONVERTTOV5')
       

All I did was add the PARM statement and IPLed.

Voila - now when I run the aggrinfo job I get:

ARS.ARSV900.PRODUCT.ZFS (R/W COMP): 119662 K free out of total 1080000
version 1.5                                                           
auditfid E2D4E2E5 D3F20598 0000                                       
converttov5                                                           
         14957 free 8k blocks;          6 free 1K fragments           
          2160 K log file;             56 K filesystem table         
           160 K bitmap file                                         


I have converted all of my product zFS's and all of my temp and cache zFS's and run a test load through my system. 

It works.

Ed








Pages: 1 2 3 4 5 6 [7] 8 9 10 11 12 ... 14