Running PL/SQL procedures within an Application Express application is daily developers work. All business logic within APEX is done with PL/SQL. Sometimes, PL/SQL procedures might take more time to complete - and since we are talking about web applications, that means that the end users will have to wait for their browsers to respond. This is OK up to a few seconds, but when execution times reach minutes, this quickly becomes unacceptable.
In this how to document, you will learn, how to run PL/SQL code in the background using the database package DBMS_SCHEDULER, how to query the jobs' status and how to display a nice progress bar in your application which informs end users about the status of their background operation.