| < Day Day Up > |
|
There are situations where an installation would like to delete a log stream that still has valid data in the interim storage that logger has trouble offloading, for example when there is no more space on the offload volume(s).
In such a situation, logger will create an internal connection to the log stream to be able to perform the offload.
There are two ways to delete such a log stream:
You need to establish a connection to the log stream that will cause logger to attempt recovery for that log stream. You can generate a connection to a given log stream by restarting the application or using utilities provided by the application, or simply using a job that will try to force a connection to the log stream as in the Example 7-11.
Example 7-11: Sample job to force a connection to log stream by using SUBSYS on DD
//IEBGENER JOB ,CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID. //COPY EXEC PGM=IEBGENER //SYSIN DD DUMMY //SYSPRINT DD SYSOUT=* //SYSUT1 DD DSN=logstream_name,SUBSYS=(LOGR,IXGSEXIT), // DISP=SHR,DCB=(RECFM=VB,BLKSIZE=32760) //SYSUT2 DD SYSOUT=*
The straight way to delete the log stream without performing the offload of the data from the interim storage is to run the DELETE LOGSTREAM on the system where the internal connection exists. In this case, logger will be able to remove the internal connection and perform the deletion of the log stream without completing the offload request.
Here is a list of the recommended steps to perform the deletion of the log stream in such a situation:
Issue the D LOGGER,L,LSN=LOGGER.TEST where LOGGER.TEST is the log stream that is having offload problem with associated message IXG301I RC8 RSN805. This should give you an idea of how many connections exist against the log stream and from which system.
Issue the D LOGGER,C,LSN=LOGGER.TEST to verify the connections against the log stream. If the reply message IXG601I doesn't contain any information, this means that the connection described in the previous command is an internal connection.
At this point, if you want to delete the log stream, you need to run the DELETE LOGSTREAM NAME(LOGGER.TEST) command on the system that owns the internal connection. You find the system as part of the reply of the D LOGGER,L,LSN=LOGGER.TEST command.
Example 7-12: Deletion of the log stream with valid data in interim storage
IXG301I SYSTEM LOGGER FAILED TO OFFLOAD DATA FOR LOG STREAM 742 LOGGER.TEST IN STRUCTURE LOG_TEST_001. RETURN CODE: 00000008 REASON CODE: 00000805 DIAG1: 00000004 DIAG2: 4714041D DIAG3: 0107001B DIAG4: 00000000 D LOGGER,L,LSN=LOGGER.TEST IXG601I 14.22.03 LOGGER DISPLAY 744 INVENTORY INFORMATION BY LOGSTREAM LOGSTREAM STRUCTURE #CONN STATUS --------- --------- ------ ------ LOGGER.TEST LOG_TEST_001 000001 IN USE SYSNAME: #@$3 DUPLEXING: LOCAL BUFFERS D LOGGER,C,LSN=LOGGER.TEST IXG601I 14.24.41 LOGGER DISPLAY 746 CONNECTION INFORMATION BY LOGSTREAM FOR SYSTEM #@$3 LOGSTREAM STRUCTURE #CONN STATUS --------- --------- ------ ------ NO MATCHING INFORMATION FOUND.
At this point, to delete the log stream with still valid data in the interim storage, you need to submit the following JCL on system #@$#3 that is the one owing the connection:
Example 7-13: Sample job to delete the log stream
//POLLOGR JOB MSGLEVEL=(1,1),MSGCLASS=H,CLASS=A //* //************************************************* /*JOBPARM SYSAFF=#@$#3 //STEP20 EXEC PGM=IXCMIAPU,REGION=4M //SYSPRINT DD SYSOUT=* //SYSIN DD * DATA TYPE(LOGR) REPORT(NO) DELETE LOGSTREAM NAME(LOGGER.TEST) LIST LOGSTREAM NAME(LOGGER.TEST) DETAIL(YES)
| < Day Day Up > |
|