6. What is Active DataGuard
• The ability to use your Physical Standby
for much more than just High Availability or
Disaster Recovery!
7. Backup done to Sent to 3 Hours to restore
tape Bryansto from Tape
n
8. Implementation of Data Guard and Oracle RMAN
Archives shipped to
Data Guard
- Archives
backed up
every 30
minutes
– Database
backup every
Friday
9.
10. New Business Requirement / Audit
finding
• Ebus support team must not have access to
production environment
• Oracle Developers must not have access to
production data
• Only directors and managers can have access
to sensitive data
• Sysadmin login should be controlled
11.
12. Requirement
• Create a exact copy of Production daily
• Scramble Salary information
• Close all open workflows
• Reset all database passwords { system,dbsnmp}
• Reset application passwords { apps, applsys}
• Reset Sysadmin password
• Set workflow over-ride address
• Reset functional support team passwords
• No budget for this !!!!
13. IDEA was born !!!
• Create a exact copy of
Production daily using
dataGuard as an engine
15. Requirements for daily copy
• Every patch which is applied to Production is applied TEST { Strict change
control}
• ORACLE HOMES between the servers are at the same patch levels
• We do not copy log and out files { $APPLCSF }
• All custom forms and reports are copied both to TST and Production
environment
• If a Data file is added on the dbTier on the Target then you would have to
recreate the xml file on the dbTier on Test environment
• Printers which are configured on production must be configured using the
same name on development servers
• Not tested on Windows
• Initial clone is done on the source system to create the xml file using
Cloning Oracle Applications Release 12 with Rapid Clone [ID 406982.1]
23. Step 3 Start Dataguard instance
#### SHUTDOWN DATAGUARD FOR EBUS CLONING ###########
00 1 * * * /home/oradg/refresh/shutdownDG.sh > /home/oradg/refresh/log/shutdownDG.log
################ STARTUP DATAGUARD FOR EBUS CLONING ################################
15 2 * * * /home/oradg/refresh/startDG.sh > /home/oradg/refresh/log/startupDG.log
oradg@ebusdb:~> more /home/oradg/refresh/startDG.sh
##### Running environment file #####################################
. /home/oradg/env_DG.sh
########### Shuting down the listener ##############################
lsnrctl start dg
######## Shutting down the DB ######################################
sqlplus '/as sysdba' << 0xff
startup nomount;
alter database mount standby database;
alter database open readonly;
recover managed standby database using current logfile disconnect;
select DB_UNIQUE_NAME from v$database;
exit
0xff
date
##### DATAGUARD ENVIRONMENT IS UP ##########################
oradg@ebusdb:~>
24.
25. Step 4 Appstier
00 4 * * * /home/appltst/refresh/cloneapps.sh > /home/appltst/refresh/log/CLONE-APPS--$(date
+%Y%m%d_%H:%M:%S).log 2>&1
appltst@ebusapp:/tstapp001/tstapp/inst/apps/tst_ebusapp/admin/scripts> more /home/appltst/refresh/cloneapps.sh
echo CLEARING THE INVENTORY
rm -rf /home/appltst/oraInventory/*
echo STARTING APPS CLONE
cd /tstapp001/tstapp/apps/apps_st/comn/clone/bin
perl adcfgclone.pl appsTier /home/appltst/refresh/contextfile/tst_ebusapp.xml << EOF
apps
n
EOF
date
echo APPS CLONE DONE
echo CHANGING SYSADMIN PASSWORD
. /tstapp001/tstapp/apps/apps_st/appl/APPStst_ebusapp.env
cd /tstapp001/tstapp/apps/apps_st/appl/fnd/12.0.0/bin
./FNDCPASS apps/apps 0 Y system/apps USER SYSADMIN apps
echo SYSADMIN PASSWORD CHANGED TO apps
./FNDCPASS apps/apps 0 Y system/apps USER MEDSUSER apps
echo MEDSUSER PASSWORD CHANGED TO apps
echo ALL CLONE OF PRODUCTION DONE
echo Clearing the CACHE
rm /tstapp001/tstapp/inst/apps/tst_ebusapp/logs/ora/10.1.2/reports/cache/*
date
echo Cache Done
echo Clearing APPLTMP
rm -rf /tstapp001/tstapp/inst/apps/tst_ebusapp/appltmp/*
echo Clearing APPLTMP done
date
echo ALL CLONE OF PRODUCTION DONE
26. appltst@ebusapp:/tstapp001/tstapp/inst/apps/tst_ebusapp/admin/scripts> more /home/appltst/refresh/changeappspassword.sh
. /tstapp001/tstapp/apps/apps_st/appl/APPStst_ebusapp.env
cd /tstapp001/tstapp/apps/apps_st/appl/fnd/12.0.0/bin
./FNDCPASS apps/apps0 Y system/apps ORACLE APPLSYSPUB PUB
./FNDCPASS apps/apps 0 Y system/apps SYSTEM APPLSYS apps
echo CHANGED APPS PASSWORD
echo CHANGED FILE
echo START APPS SERVER
. /tstapp001/tstapp/apps/apps_st/appl/APPStst_ebusapp.env
cd /tstapp001/tstapp/inst/apps/tst_ebusapp/admin/scripts
cp /home/appltst/refresh/customtst_ebusapp.env /tstapp001/tstapp/apps/apps_st/appl
./adautocfg.sh << EOF
apps
EOF
echo AUTOCONFIG COMPLETED SUCCESSFULLY
sleep 180
./adstrtal.sh apps/apps
echo ALL STARTED
date
echo deleting old log files
cd /tstapp001/tstapp/inst/apps/tst_ebusapp/logs/appl/conc/log
find /tstapp001/tstapp/inst/apps/tst_ebusapp/logs/appl/conc/log -mtime +1 -exec rm -f {} ;
date
echo deleting old out files
cd /tstapp001/tstapp/inst/apps/tst_ebusapp/logs/appl/conc/out Log and out file
find /tstapp001/tstapp/inst/apps/tst_ebusapp/logs/appl/conc/out -mtime +1 -exec rm -f {} ;
date cleanup
echo cleaning out Apache log files
find /tstapp001/tstapp/inst/apps/tst_ebusapp/logs/ora/10.1.3/Apache -mtime +1 -exec rm -f {} ;
date
echo CLONE COMPLETED
appltst@ebusapp:/tstapp001/tstapp/inst/apps/tst_ebusapp/admin/scripts>
27.
28.
29. Additional steps
• Close all workflows
Update apps.wf_notifications
Set mail_status='SENT',
status='CLOSED'
where mail_status='MAIL'
and status='OPEN';
commit;
• Close all alerts
update apps.alr_alerts
set enabled_flag='N'
where enabled_flag='Y'
and upper(alert_name) like 'MEDS%';
Update apps. fnd_concurrent_requests
set phase_code = 'C',
status_code = 'D'
where concurrent_program_id in (select concurrent_program_id
from apps.fnd_concurrent_programs
where concurrent_program_name in ('ALECDC', 'ALECTC'));
30. • Set override address
update fnd_user set email_address = 'rynod@medscheme.co.za';
update wf_local_roles set email_address = 'rynod@medscheme.co.za';
commit;
31. Scramble Salary information
update peR_pay_proposals set proposed_salary_n = ROUND((proposed_salary_n/assignment_id)*4732,2);
Updating Site Parameter
DECLARE
stat boolean;
BEGIN
dbms_output.disable;
dbms_output.enable(100000);
stat := FND_PROFILE.SAVE('SITENAME', '****DAILY CLONE OF PRODUCTION****TST******DAILY CLONE OF PRODUCTION***Data from
'||to_char(trunc(sysdate)-1,'DD-MON-YYYY
')||'(12:00AM)*****TST**', 'SITE');
IF stat THEN
dbms_output.put_line( 'Stat = TRUE - profile updated' );
ELSE
dbms_output.put_line( 'Stat = FALSE - profile NOT updated' );
END IF;
commit;
END;
/
32. We have noticed the following cost
saving to business
• No requirements of tapes
• No requirements for assistance of Linux admin
• No requirements for restores
• No human interaction , only to check logs
• No functional support or super users on production
• Time saved from 24 working hours to 20 minutes
• DR available immediately
• DataGuard environment is read only which means it can be used for reporting
• Production Servers are up and running 24 X 7 X 365
• Clones to DEV, UAT, Training and dba environments takes 1 hour as clones on local servers
• Users and support team can test anything at anytime
• Copy of production available 7 days a week.
• Backup of production can be verified by dataguard.
• Rman backups can be run from the DataGuard instance.
• No need to purchase expensive software for cloning.
• Daily copy of production which functional support team can use
• Assistance with OWC with Oracle as scripts and updates can be tested with production data immediately
• We noticed a reduction in TARS as support team could test solutions from metalink
• Patches can be tested immediately using Production data
• No more P1 SRs
• Super users can test changes to the system
• Demos can be given to Directors using latest data
• Training can be given with data from Production
• Disaster recovery environment is available immediately
• Changes can be made on TEST system and user acceptance testing can take place easy
• Emergency changes can be tested
• No additional money was spent on this solution
33. We have noticed the following cost
saving to business
• No requirements of tapes
• No requirements for assistance of Linux admin
• No requirements for restores
• No human interaction , only to check logs
• No functional support or super users on production
• Time saved from 24 working hours to 20 minutes
• DR available immediately
• DataGuard environment is read only which means it can be used for reporting
• Production Servers are up and running 24 X 7 X 365
• Clones to DEV, UAT, Training and dba environments takes 1 hour as clones on local servers
• Users and support team can test anything at anytime
• Copy of production available 7 days a week.
• Backup of production can be verified by dataguard.
• Rman backups can be run from the DataGuard instance.
• No need to purchase expensive software for cloning.
• Daily copy of production which functional support team can use
• Assistance with OWC with Oracle as scripts and updates can be tested with production data immediately
• We noticed a reduction in TARS as support team could test solutions from metalink
• Patches can be tested immediately using Production data
• No more P1 SRs
• Super users can test changes to the system
• Demos can be given to Directors using latest data
• Training can be given with data from Production
• Disaster recovery environment is available immediately
• Changes can be made on TEST system and user acceptance testing can take place easy
• Emergency changes can be tested
• No additional money was spent on this solution
34. Disaster Recovery
• Shutdown DataGuard
– Stop the listener {lsnrctl stop dg}
– Stop DataGuard { recover managed standby database cancel; }
– Shutdown the database {shutdown immediate; }
– Copy the datafiles to any instance.
• On the DB server run post-clone
– cd $ORACLE_HOME/appsutil/clone/bin { taking into account you know the locations}
– perl adcfgclone.pl dbTier { configure your dbTier}
• On your Apps Server { we normally use our TST environment or have a dedicated disk }
– cd $COMMON_TOP/clone/bin { taking into account you know the locations}
– perl adcfgclone.pl appsTier
• Users can login onto your DR/ DataGuard environment
• Update your log and out files locations
update apps.fnd_concurrent_requests
set logfile_node_name = <New APPS SERVER>,
outfile_node_name = <New APPS SERVER>
where logfile_node_name = <OLD APPS SERVER>
and outfile_node_name = <OLD APPS SERVER>;
38. What does functional support team
say !
Due to audit requirements that none of support staff are allowed to have Production
access, this solution has been ‘forced’ upon us with actually very positive results:
1) We’re still able to support users timeously
2) We’re able to replicate Production issues with up-to-date data and configuration
without any risk to Production
Shounese Khan
HR Functional Specialist Oracle
•Assistance can be given the next day if people are having trouble with a specific
transaction on self-service / professional forms as the data would have been replicated
and no need to wait for a scheduled refresh.
•You can log on as the user to confirm the error they have and assist then to resolve it
(this could be to get print screens to show them where to click ect…)
Wayne Wright
Oracle System Administrator
We are also using this environment for post-implementation testing
– in cases where testing requires that transactions need to be
created, this environment is ideal as no Production data is
compromised
Shalantha Rampersad
Oracle HR Developer
39. The benefit that we have is that we can now experiment (play around)
with the latest records when problems are experienced by users.
Ryno Durrheim
Finance Functional Support
TST gives me the ability to work with “real” data and cases, and find proper
solutions that almost guarantees flawless implementations to PROD.
Juan Ferreira
Oracle Finance Developer
The Daily Clone has allowed us to meet our audit requirements has we now
have the ability to remove all supports staff’s access to production and they
can use the daily clone for most of the support issues.
Alwin Weir
Senior Manager: Corporate IT Systems and Data Warehouse
40. The old process took extremely long and had a lot of manual
steps. After the new process was implemented we don’t even
know when the APPS DBAs are cloning. All is done in the
background, we no more work overtime on development
environments
Saving us time to concentrate on production hardware support
made our life's easier
Fortunate & Frikkie
Medscheme Linux
Administrators
My team { APPS DBAs & linux admins } can now concentrate on
Production support and supporting Medscheme users instead of
spending time cloning development environments. This new process has
freed our resources for business critical tasks
Johann Laurens
Senior Manager: Infrastructure
41. We use TST on a daily basis for any issues we come across on
PROD that we first want to test out and it is great that TST has
the updated information from PROD. We are then easily able to
resolve payroll run, elements, formula, leave queries or personal
record issues. We have also found benefit using TST where we
can run tax year end processes and payroll runs to test out new
patch functionalities as well as new element builds and formula
results using the data. We find the daily clone of PROD to be
Mohomed Suliman very valuable for the Payroll department.
Senior Manager : Payroll
We use TST to replicate the problem which we experience in
production and try to fix it on TST first before we do it on production. I
use it for Performance Management, I-Recruitment and Learning
Management ,Employee Self Server and Manager Self Service
Tshivhiya Mulaudzi
Systems and Support Specialist HRMS | Human Capital Shared Services
42. TST is very helpful and has enabled us to assist our end users
with their system queries – logging into a system and being able
to see what they see. It has also been very useful in testing
setup changes and confirming minimal impact on the system.
We also make use of it for training purposes, where users can
log in and go and test the different performance processes,
before working on the live environment.
Tabita Venter
Performance Consultant | HC - Centre of
Excellence
I used TST to assist with my up skilling on
Purchase order training when it was handed
over from Yolande Mathews, I have since
used TST for training sessions to train PA’s on
the purchase order process.
We also use it to train new staff on the
employee self service component- on TST
they are given an opportunity to explore the
navigation and practice how to use the
applicable update functionality on Oracle
employee self service.
43. By applying Oracle’s active Data Guard solution we’ve solved key
issues we had in the past both from a recovery, usability and
audit perspective. The automated solution deployed by the IT
Technology DBA team has decreased the refresh turnaround
time to such and extend that it has really become a non-issue
for us. We’ve solved real business issues/requirements with no
additional costs apart from the Data Guard license costs.
Marius Dreyer
General Manager : Technology
The customized automated clone has
saved us many repetitive man hours.
With system and human errors likely
to occur with the previous manual
cloning, this new process guarantees
our environment is available and
accessible on time every day