Finding a suitable testing approach for QA engineers who must investigate a database application issue while using RAC can be a risky and time-consuming operation. Each new application version deployment may require near real-time investigation when problems arise. Building a new environment and replicating data is often not an option. Also, making code changes to a running production system invites trouble. It is useful to be able to quickly test a copy of an Oracle database application that matches production as closely as possible.
This test case demonstrates a fast and efficient method for creating a near-real-time copy of an Oracle RAC production database for use by a testing or development team. The lab environment architecture that was used for this test case is shown below:
Figure 2. Lab environment architecture for validation
The two R740 servers simulate a production system in the baseline test case. The two R640 servers are also configured with Oracle RAC and simulate a test/dev environment. The PowerStore T is connected to all four of our lab servers.
We created a snapshot copy of an Oracle RAC connected database that was hosted on the PowerStore T storage array by following these steps:
Using the snapshot copy created above, we then created a space-saving thin clone of the volume group for presentation to the second Oracle RAC cluster simulating a test/dev environment. The thin clone objects supported all the read and write operations that were required for test/dev scenarios. The steps we used to make one or more thin clones active on the test/dev cluster were:
The test team performed testing on an isolated copy of the production database that was created in a matter of minutes. This database used the same storage array without moving any data across a network segment or consuming precious CPU cycles from the production cluster.
The advanced features of the PowerStore T array ensure that:
We validated the ability of the test copy to process new workloads independent of production using a second HammerDB instance and script.