Minimize
Blogger List

Johannes Ahrends
Toad and Oracle

Ben Boise
Toad SC Discussions

Kevin Dalton
Benchmark Factory

Steven Feuerstein
PL/SQL Obsession

Devin Gallagher
Toad SC discussions

Stuart Hodgins
JProbe Discussions

  Henrik "Mauritz" Johnson
Toad Tips & Tricks on the "other" Toads
  Mark Kurtz
Toad SC discussions
  Michael Lumbard
Toad SC discussions
Daniel Norwood
Toad for Data Analysts,
Toad Extension for Visual Studio
Debbie Peabody
Toad for Data Analysts
Gary Piper
Toad Reports Manager
John Pocknell
Toad for Oracle, JProbe
Kuljit Sangha
Toad SC discussions
Bert Scalzo Indicates Oracle ACE status
Toad for Oracle, Data Modeling, Benchmarking
Jeff Smith
Toad product family
Richard To
SQL Optimization
Jim Wankowski
DB2 - LUW and z/OS
John Weathington
  Toad Data Modeler Opens in a new window
Data Modeling
 
  Real Automated Code Testing for Oracle
Quest Code Tester blog
 
Minimize
Blog Tags
toad for oracle (122)
oracle (62)
plsql (46)
sql optimization (37)
toad for data analysts (28)
code tester (19)
toad for ibm db2 (13)
automation (11)
batch optimizer (10)
virtualization (10)
schema browser (9)
toad for sql server (9)
data grid (8)
sql (8)
sql editor (8)
toad data modeler (8)
benchmark factory (7)
excel (7)
query builder (7)
report manager (7)
toad extension (7)
visual studio (7)
11g (6)
configuration (6)
freeware (6)
health check (6)
vmware (6)
connect (5)
dba module (5)
er diagrammer (5)
F4 (5)
linux (5)
refactoring (5)
spotlight (5)
unicode (5)
compare (4)
debugger (4)
export (4)
formatter (4)
make code (4)
rman (4)
strip code (4)
benchmark (3)
bfscript (3)
bulk collect (3)
code templates (3)
code xpert (3)
database browser (3)
db2 (3)
notebook (3)
oem (3)
RAC (3)
session browser (3)
speed (3)
sql optimizer (3)
toad for mysql (3)
tpc-c (3)
9.7 (2)
alert log (2)
app designer (2)
awr (2)
code insight (2)
code snippets (2)
collection (2)
compare and sync (2)
compliance (2)
data generator (2)
data warehouse (2)
database explorer (2)
database monitor (2)
explain (2)
forall (2)
ftp (2)
group execute (2)
handbook (2)
installation (2)
job scheduler (2)
multi-task (2)
nested table (2)
os command (2)
profiler (2)
recovery (2)
release history (2)
save as (2)
schema compare (2)
sql recall (2)
stats pack (2)
subversion (2)
team coding (2)
trace file browser (2)
while loop (2)
10g (1)
64 bit (1)
7zip (1)
action (1)
addm (1)
alter (1)
ansi join (1)
array (1)
ccleaner (1)
code coverage (1)
code road map (1)
CRON (1)
cursor for loop (1)
data browser (1)
data subset (1)
database probe (1)
dbms_flashback (1)
dbms_profiler (1)
ddl (1)
feuerstein (1)
filezilla (1)
flash drive (1)
flow control (1)
for loop (1)
group policy manager (1)
hints (1)
import (1)
index (1)
inheritance (1)
invoker rights (1)
ipad (1)
java (1)
latency (1)
log switch (1)
logical model (1)
ltrim (1)
master-detail browser (1)
monitor (1)
multi-select (1)
naming standards (1)
network (1)
object explorer (1)
OEBS (1)
package (1)
parser (1)
partitioning (1)
performance (1)
pragma (1)
project manager (1)
RAT (1)
revo (1)
REXEC (1)
schema report (1)
script manager (1)
search (1)
set operator (1)
sga (1)
slow (1)
sonarsource (1)
source control (1)
space projection (1)
sql monitor (1)
sql navigator (1)
sql script (1)
sql tracker (1)
sql*plus (1)
standards (1)
statistics (1)
stored procedure (1)
string parser (1)
sub-model (1)
sub-type (1)
synch (1)
synchback (1)
TELNET (1)
toad (1)
trace (1)
unit test (1)
unix (1)
usb (1)
utility (1)
v10 (1)
v9.5 (1)
version control (1)
waits (1)
workload replay (1)
workspace (1)
xml (1)
 
WELCOME, GUEST
 
 

Blogs
Toad and Database Commentaries

Toad World blogs are a mix of insightful how-tos from Quest experts as well as their commentary on experiences with new database technologies.  Have some views of your own to share?  Post your comments!  Note:  Comments are restricted to registered Toad World users.

Do you have a topic that you'd like discussed?  We'd love to hear from you.  Send us your idea for a blog topic.


Jun 26

Written by: JohnWeathington
Thursday, June 26, 2008  RssIcon

A couple of weeks ago in Prevention over Intervention, we talked about the different kinds of controls, and discussed the reasons why preventive controls are always the best route. In fact, as a reminder, here’s my sage wisdom again on controls:

John Weathington’s Golden Gem of Controls: One effective preventative control is worth a thousand non-preventative controls.

What Control Options are Left?

Okay, now that we have that straight I’d like to pose this question. If preventive controls are not feasible, then what do you do? Well, according to the Golden Gem above, you’re left with the lesser of all evils. Let’s take a look at your options again:

  1. Corrective Controls are controls that deal with the cause of a risk that has already happened.
  2. Adaptive Controls are controls that deal with the impact of a risk that has already happened.
  3. Contingent Controls are controls that deal with the impact of a risk that may happen in the future.
Of course, our preferred control, the preventive control deals with the cause of a risk that may happen in the future. Given that, you might say the diametric opposite to that would be the adaptive control. In the previously referenced article, we used the fraud example to illustrate the different controls, and the adaptive control was some sort of settlement to the shareholders impacted by the fraud. As you might expect, this is not the best route to go.

So that only leaves corrective and contingent controls. Which leads to the question – What is it about preventive controls that makes it the obvious and attractive best option? Is it because they deal with the cause of a risk, or is it because they kick in before the risk event happens?

That’s a good question.

In my view, it’s more important to be proactive than reactive, so my vote is for the contingent control. If you can’t deal with the cause up front, then deal with the impact up front. In our fraud example, the contingent control was to setup a Fraud Fund to compensate impacted stakeholders just in case fraud happened.

Catastrophic Database Failure - An Illustrative Example

You may not immediately see the value of this generalization based on this example, so let’s use another example that might hit closer to home. Let’s say your risk is a catastrophic database failure at your facility. Of course, databases can fail for a number of reasons, but let’s focus on causation being hardware failure. What’s the impact of a catastrophic database failure? Users can’t access time-sensitive data that is mission critical to the operation of your business ( e.g. an order processing system ).

We can get this under control in a number of ways. As is already established, the best way is a preventive control, which would be anything to keep the hardware alive. RAID and advanced monitoring would be examples. An adaptive control would be to have an emergency meeting after the fact, to figure out how to manually process the orders. Do you now see why this is such a bad idea?

A corrective control would be to have an emergency meeting after the fact, to figure out how to get the database back up and running. This actually isn’t that bad of an idea, and if you’ve been doing this a while, you may have even attended one or two of these meetings!

As stated earlier however, my recommended course of consideration, after the preventive control has been ruled out, is the contingent control. While developing the contingent control, you would be answering the question, “How can we still process orders, even if there is a catastrophic database failure at our facility?” Some of you may already be ahead of me, but a perfect example of a contingent control, is a disaster recovery site that is not at your facility – perhaps another city. The disaster recovery site would of course mirror the data in your mission critical database and upon a catastrophe in the main system, failover would happen instantly and automatically. The order processors shouldn’t even know that anything happened.

You should lock this example in your head, and when the time arises, superimpose the scenario on your compliance objectives. As another example, your auditors may need to control for financial misstatements caused by inexperienced processors. Once it’s determined that educating and training the inexperienced processors ( preventive control ) is not effective, you could suggest the contingent control of having an automated system-wide reconciliation to make sure all the numbers tie out ( contingent control ).

Three Ideas for Contingency Control Architecture

For architectural considerations, you can leverage last week’s blog entry on Automated Process Auditing. Contingent controls are generally events that will be executed “in case of.” In most cases, a series of events is necessary – or a process needs to be controlled. With this in mind, you can use some of the techniques for automated process control to not only document your contingent process, but to also demonstrate that the contingent process was followed, in the unfortunate event of the risk showing up.

To add to the idea of process control, I would also emphasize the importance of the trigger that sets off the contingent plan. This needs to be carefully tracked so that you can demonstrate when the risk event occurred, and when your contingent plan went into place.

Finally, in consideration of contingent controls, you should setup a repository to store your contingent plans. Your auditors will absolutely love this, as it clearly demonstrates that you have the impact of your high probability and / or impact risks controlled by well thought out contingency plans.

In Summary

Although the best case controls to use are preventive, sometimes we can’t engage them. Either it’s physically not possible (for instance, you cannot prevent an earthquake) or the preventive controls that you have in place are not effective (think Columbine). In these cases, the next best thing is the contingent control – deal with the impact of the risk before it happens. With the correct data architecture in place, such as a contingency plan repository, and contingency process control, you will have no problem demonstrating to auditors that you once again – have things well under control.

Tags:
Categories:
Search Blog Entries