R12 Backout Plan
search cancel

R12 Backout Plan

book

Article ID: 219096

calendar_today

Updated On:

Products

CA Workload Automation AE

Issue/Introduction

We have two scenario for that we need steps to back-out.

scenario  1) When we have upgraded successfully and after few days we want to back-out out due to some issue.

scenario  2)  for immediate backup I have tried restore binaries and DB from backup and it works.

 

So basically for scenario  1, I need steps so that without loosing job processing Data I can restore it.

Environment

Release : 12.0

Component : CA Workload Automation AE (AutoSys)

Resolution

Autosys Backout - Release 12 to 11.3.6 SP8 CUM1 99111026
This document has information on how to backout AutoSys Release 12 to 11.3.6 SP8 CUM1 99111026 Patch l evel.
Before Upgrade from 11.3.6 SP8 CUM1 99111026 to 12
- Backup
- $AUTO_ROOT directory
cp -fpr /opt/CA/WorkloadAutomationAE /opt/CA/WorkloadAutomationAE_r1136sp8cum1
- $CASHCOMP directory.
cp - fpr / opt/CA/SharedComponents / opt/CA/SharedComponents_r1136sp8cum1
- Autosys Startup scripts. All the f iles matching /etc/init.d/waae* /etc/init.d/CA-*
mkdir /opt/CA/WorkloadAutomationAE_r1136sp8cum1/etc
cp - fpr /etc/init.d/waae* /etc/init.d/CA-* /opt/CA/WorkloadAutomationAE_r1136sp8cum1/etc
Steps to Back out AutoSys from 12 to 11.3.6 SP8 CUM1 99111026
- Stop all the AutoSys Services.
unisrvcntr stop A LL
- Make a copy of current $AUTO_ROOT and $CASHCOMP folders. Also the startup scripts.
mkdir /opt/CA/WorkloadAutomationAE/etc
cp - fpr /etc/init.d/waae* /etc/init.d/CA-* /opt/CA/WorkloadAutomationAE/etc
mv - fpr /opt/CA/WorkloadAutomationAE /opt/CA/WorkloadAutomationAE_r12
mv - fpr /opt/CA/SharedComponents /opt/CA/SharedComponents_r12

Copy the 11.3.6 SP8 CUM1 Backup f olders
cp -fpr /opt/CA/WorkloadAutomationAE_r1136sp8cum1 /opt/CA/WorkloadAutomationAE
cp - fpr / opt/CA/SharedComponents_r1136sp8cum1 /opt/CA/SharedComponents
cp - fpr / opt/CA/WorkloadAutomationAE_r1136sp8cum1/etc/* /etc
- Run backout.sql database script.
sqlplus - s aedbadmin/password@sid @ backout.sql
- Run Refresh AEDB.
- Start all the AutoSys Services.
unisrvcntr start A LL

 

 

---

set echo on;
set pagesize 10000;
set linesize 10000;
set serveroutput on format wrapped;
alter session set recyclebin=off;

DECLARE 
  l_row_count number := 0;
  can_proceed_with_backout boolean := TRUE;
BEGIN
  dbms_output.put_line('Running Backout SQL Script');

  -- UJO_EXT_CALENDAR
  SELECT count(name) into l_row_count FROM ujo_ext_calendar where length(as_datecon) > 255;
  IF (l_row_count <> 0)
  THEN 
    can_proceed_with_backout := FALSE;
    dbms_output.put_line('');
    dbms_output.put_line('*** Update below Extended Calender(s) with Date Conditions having not more than 255 characters');
    dbms_output.put_line('*** The length of Date Conditions attribute of  Extended Calender in 11.3.6 SP8 CUM1 is 255 and increased to 1024 in R12.');
    dbms_output.put_line('*** Hence for 11.3.6 SP8 CUM1, their usage length have to be not more than 255 characters');
    for row in (SELECT name FROM ujo_ext_calendar where length(as_datecon) > 255) loop
        dbms_output.put_line(row.name);
    end loop;
  END IF;

  -- SQL_AGENT_JOB
  l_row_count := 0;
  SELECT count(domain_name) into l_row_count FROM ujo_sqlagent_job where length(domain_name) > 24;
  IF (l_row_count <> 0)
  THEN 
    can_proceed_with_backout := FALSE;
    dbms_output.put_line('');
    dbms_output.put_line('*** Update below SQL Agent Job(s) with Domain Name having not more than 24 characters');
    dbms_output.put_line('*** The length of Domain Name attribute of SQL Agent job in 11.3.6 SP8 CUM1 is 24 and increased to 80 in R12.');
    dbms_output.put_line('*** Hence for 11.3.6 SP8 CUM1, their usage length have to be not more than 24 characters');
    for row in (select job_name from ujo_job uj join ujo_sqlagent_job usj on uj.joid = usj.joid and usj.domain_name > 24 and is_active = 1 and is_currver = 1) loop
        dbms_output.put_line(row.job_name);
    end loop;
  END IF;

  -- UJO_WEB_SERVICES2
  l_row_count := 0;
  SELECT count(provider_url) into l_row_count FROM ujo_web_services2 where length(provider_url) > 256;
  IF ( l_row_count <> 0 )
  THEN 
    can_proceed_with_backout := FALSE;  
    dbms_output.put_line('');
    dbms_output.put_line('*** Update below Web Service Job(s) with Provider URL having not more than 256 characters');
    dbms_output.put_line('*** The length of Domain Name attribute of SQL Agent job in 11.3.6 SP8 CUM1 is 256 and increased to 4000 in R12.');
    dbms_output.put_line('*** Hence for 11.3.6 SP8 CUM1, their usage length have to be not more than 256 characters');
    for row in (select job_name from ujo_job uj join ujo_web_services2 uwj on uj.joid = uwj.joid and uwj.provider_url > 256 and is_active = 1 and is_currver = 1) loop
        dbms_output.put_line(row.job_name);
    end loop;
  END IF;

  -- CHECK IF ANY ACTION IS REQUIRED
  IF ( can_proceed_with_backout = FALSE )
  THEN
    dbms_output.put_line('');
    dbms_output.put_line('USER ACTION: *** Update above reported items and run this script again ***');
    RETURN;
  ELSE
    -- Delete all meta data
    delete from ujo_meta_afm_types; 
    delete from ujo_meta_restart_afm_types; 
    delete from ujo_meta_enumerations; 
    delete from ujo_meta_parse_keywords; 
    delete from ujo_meta_parse_extruntime; 
    delete from ujo_meta_presentation; 
    delete from ujo_meta_properties; 
    delete from ujo_meta_root_keywords; 
    delete from ujo_meta_rules; 
    delete from ujo_meta_types; 
    delete from ujo_meta_ws_elements; 
    
    -- Update Tables wrt to older schema
    execute immediate 'ALTER TABLE ujo_ext_calendar MODIFY as_datecon varchar2(255)';
    execute immediate 'ALTER TABLE ujo_sqlagent_job MODIFY domain_name varchar2(24)';
    execute immediate 'ALTER TABLE ujo_web_services2 MODIFY provider_url varchar2(256)';
    execute immediate 'ALTER TABLE ujo_strings MODIFY value varchar2(1024)';

    dbms_output.put_line('');
    dbms_output.put_line('USER ACTION: NO ACTION REQUIRED *** Run RefreshAEDB to proceed with Backout ***');
    dbms_output.put_line('');
  END IF;
END;
/

EXIT;