We have several application teams that are looking to do a re-write of large legacy applications.

This is mostly COBOL going against DB2 for z/OS (v11).

The COBOL code was generated using a tool, so we don't have any access to the source. Let's say the SQL cannot be changed for the sake of this question.

They would like environments (dev/test/perf) where they can copy the existing data and test the re-written application (still using the same SQL) while still having a team supporting the legacy system through dev->test->perf->prod.

Current SQL example:


Because the table name was fully qualified with "MYAPP" instead of supplying it later, they cannot simply copy the code that they already have within the same DB2 and just change the schema name. They would like entirely new DB2 subsystems to avoid this issue.

Is there any way to avoid this? Are there any bind parameters or other strategies I could employ to have duplicate schema names running on the same DB2 subsystem?

  • If this question doesn't entirely make sense, I understand. I'm confused as well as to why they wouldn't be able to change the SQL during an application re-write, but I've been assured it's not a possibility. I believe they are using CA-Telon to do a lot of the COBOL work and there may be limited knowledge for using the tool.
    – Burke9077
    Oct 2, 2015 at 19:19
  • Check this IBM page for details about how DB2 can run multiple environments in the same LPAR (logical partition). Alternately, you could probably setup a new LPAR on the machine to run a totally separate DB2 instance.
    – Hannah Vernon
    Oct 2, 2015 at 21:08
  • We have several instances of DB2 already running on this particular LPAR. Starting up two more will cost memory and resources to install and maintain. It would be a tremendous undertaking and is really not an option.
    – Burke9077
    Oct 2, 2015 at 21:10
  • I'm asking if there is a way to avoid starting up another. If IBM has any options I can use to 'simulate' a DB2, or any aliasing.
    – Burke9077
    Oct 2, 2015 at 21:13
  • Perhaps you could use some Z/OS emulator for a PC? For instance, Hercules.
    – Hannah Vernon
    Oct 2, 2015 at 21:15

1 Answer 1


If the application is hard-coded with the qualifier, then it can only use that qualifier and SCHEMA.table-name is unique.

The best approach is rewrite the application to use unqualified table names. If you do end up considering creating additional subsystems, you might consider zD&T. This is z/OS running on Linux on x86 for dev/test environments. https://developer.ibm.com/mainframe/products/z-systems-development-test-environment/

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.