Existe um pacote Java
java.util.zip
que suporta o formato WinZip. E no Oracle podemos construir procedimentos armazenados java que apresentam classes Java em uma forma que pode ser chamada por programas PL/SQL nativos. Descubra mais. Então, o que você precisa fazer é escrever um arquivo contendo os dados em seu estado descompactado e, em seguida, alimentá-lo por meio de um JSP para compactá-lo. Se você não quiser escrever sua própria implementação, confira este artigo de Vadim Loevski. Ele inclui um procedimento armazenado Java para compactar arquivos do sistema operacional.
Nota:Neste contexto, JSP significa Java Stored Procedure, que é um programa Java embutido no banco de dados. Não é o mesmo que Java Server Pages, que é uma tecnologia da Web e, portanto, o uso mais comum da sigla JSP. Peço desculpas por qualquer confusão dada.