Actually, there are two options. The old fashion method would be to completely refresh the DCB, like so -
MVC ACTDCB(ACTDCBL),MASTDCB
...
ACTDCB DCB ...
ACTDCBL EQU *-ACTDCB
MASTDCB DCB ...
I've never trusted CLOSE to restore the DCB to its original contents before it was opened. Sometimes I do this anyway. In any event, the buffer pool was not freed, so eventually you'll run out of storage if you keep reusing the DCB data area this way..
The other option, only available since sometime after MVS/XA, is to run the program AMODE 31 and force the buffer pool to be above the line. This will only work for QSAM.
ACTDCB DCB DCBE=DCBE,DSORG=PS,MACRF=(Gx,Px)...
DCBE DCBE RMODE31=BUFF
CLOSE will free this buffer pool. Each opened DCB requires a unique DCBE.