List the current database activities:
db2top -d [dbname]
This command will show you database locks:
db2pd -d [dbname] -lock wait
JDBC is not really going to answer your problem directly. It is a generic programming API for working with any database. So it can't possibly know about utilities that are specific to an implementation, be it DB2, Oracle, MySQL, etc.
I would look at using one of the utilities you mentioned above. That is their purpose. They assist with moving databases and/or data across environments. (There is also the restore redirect option as well, which is good if you are doing a backup/restore option).
If you insist on doing this through application code, then you will have to pass DDL through the JDBC API's (which dependent on your driver and your permissions, may or may not work). Or you would have to try to execute the DB2 utilities from "command line" through you program (look at the Runtime
class to do this).
Again, I would keep this out of the application (perhaps you can share more of why you want to do this? That would help with answering your question). If you insist on doing it inside your application, you may also want to check out Stack Overflow, as you may get answers from a "programmatic" perspective.
Best Answer
There are several options because DB2 LUW has the older snapshot monitoring and a new monitoring facility integrated into the Workload Manager. Both facilities offer views and table functions to consume the data as well as tools on top.
For an easy way to start I would suggest to use db2top. Connect to a database and use, e.g., "D" to go to the Dynamic SQL screen. It shows Execution Time, CPU Time, Rows Read and Written, and some more information.
As an alternative take a look at the total_cpu_time monitoring element. There are functions and views listed in which that time is reported back.