einblick in online patching der oracle e-business suite 12.2

34
© 2017 APPS ASSOCIATES LLC 1 appsassociates.com Einblick in Online Patching der Oracle E-Business Suite 12.2.x November 22, 2017

Upload: others

Post on 15-Oct-2021

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Einblick in Online Patching der Oracle E-Business Suite 12.2

© 2017 APPS ASSOCIATES LLC1 appsassociates.com

Einblick in Online Patching der Oracle E-Business Suite 12.2.x

November 22, 2017

Page 2: Einblick in Online Patching der Oracle E-Business Suite 12.2

© 2017 APPS ASSOCIATES LLC2 © 2017 APPS ASSOCIATES LLC2

The content of this document is proprietary, confidential information pertaining to Apps Associates’

products, services, solutions and methods. Information herein is intended for use by the client or

prospective client only and must not be shared with any third party without consent from Apps

Associates.

Confidentiality

Page 3: Einblick in Online Patching der Oracle E-Business Suite 12.2

© 2017 APPS ASSOCIATES LLC3 © 2017 APPS ASSOCIATES LLC3

Über Sprecher

Kai Glittenberg

Senior DBA Consultant

• >10 Jahre Erfahrung in Oracle Technologien

• EBS 12.2.x seit Beta und Early Adaptor

• seit 2009 tätig für Apps Associates

Page 4: Einblick in Online Patching der Oracle E-Business Suite 12.2

© 2017 APPS ASSOCIATES LLC4 © 2017 APPS ASSOCIATES LLC4

Performance. Growth. Excellence.

Global Reach – US, Europe, India• Founded in 2002 in Boston, MA

• 800+ Associates

Mature Delivery Model• CMMI Level 3 Appraised & SOC 1 Audited

• Certified AWS Managed Services Partner

Long Term Focus on Customers and Associates• 23 customers 5-10 year, 6 customers 10+ year

relationships

• 120 associates 5-10 year, 40 associates 10+ year tenures

• 4% of revenue invested in Learning & Development

Integrated Delivery Processes • Projects & Managed Services

• Flexible Global Delivery Model

Our Strategic Partners

Page 5: Einblick in Online Patching der Oracle E-Business Suite 12.2

© 2017 APPS ASSOCIATES LLC5 © 2017 APPS ASSOCIATES LLC5

Portfolio of Services

AnalyticsProduct

Development

Custom Dev &

Integration

Infrastructure &

Cloud Services

ManageAdvise Implement Integrate GovernUpgrade Train Host

Business

Applications

Page 6: Einblick in Online Patching der Oracle E-Business Suite 12.2

© 2017 APPS ASSOCIATES LLC6

Agenda

• Architektur-Überblick 12.2.x

• Online Patching - allgemein

• Edition Based Redefiniton

• 12.2.x DBA insights

• 12.2.x Developer insights

• Fazit

Page 7: Einblick in Online Patching der Oracle E-Business Suite 12.2

© 2017 APPS ASSOCIATES LLC7

ArchitekturWelche technischen Komponenten gibt es in 12.2.x?

Page 8: Einblick in Online Patching der Oracle E-Business Suite 12.2

© 2017 APPS ASSOCIATES LLC8 © 2017 APPS ASSOCIATES LLC8

Architektur #1

Ab RI StartCD 51

Bis RI StartCD 51

Key Komponenten

• Fusion Middleware

• Edition Based

Redefiniton

Page 9: Einblick in Online Patching der Oracle E-Business Suite 12.2

© 2017 APPS ASSOCIATES LLC9 © 2017 APPS ASSOCIATES LLC9

Architektur #2

Page 10: Einblick in Online Patching der Oracle E-Business Suite 12.2

© 2017 APPS ASSOCIATES LLC10 © 2017 APPS ASSOCIATES LLC10

Architektur #3 – 12.0 vs. 12.2.x

Page 11: Einblick in Online Patching der Oracle E-Business Suite 12.2

© 2017 APPS ASSOCIATES LLC11

Online Patching – allgemeinWie sieht der Online Patching Prozess aus?

Page 12: Einblick in Online Patching der Oracle E-Business Suite 12.2

© 2017 APPS ASSOCIATES LLC12 © 2017 APPS ASSOCIATES LLC12

Online Patching – allgemein

Page 13: Einblick in Online Patching der Oracle E-Business Suite 12.2

© 2017 APPS ASSOCIATES LLC13 © 2017 APPS ASSOCIATES LLC13

Online Patching – Workflow ▪ Beispiel standard patching cycle:

▪ Nur auf “Primary master“Knoten:

▪ adop phase=prepare

▪ adop phase=applypatches=12345,67890

▪ adop phase=finalize

▪ adop phase=cutover

▪ adop phase=cleanup

Page 14: Einblick in Online Patching der Oracle E-Business Suite 12.2

© 2017 APPS ASSOCIATES LLC14

Edition Based RedefinitonWas ist Edition Based Redefintion?

Wie wird es in der Oracle EBS 12.2.x genutzt?

Page 15: Einblick in Online Patching der Oracle E-Business Suite 12.2

© 2017 APPS ASSOCIATES LLC15 © 2017 APPS ASSOCIATES LLC15

Edition Based Redefinition

EBR – Wie funktioniert es?

Beispiel EBR: „Altering a column“ auf einer Tabelle, während eines Patch

cycles

Tabelle

Page 16: Einblick in Online Patching der Oracle E-Business Suite 12.2

© 2017 APPS ASSOCIATES LLC16 © 2017 APPS ASSOCIATES LLC16

Edition Based Redefiniton #2

• Wichtige DBA Views:

– DBA_OBJECTS_AE („All Editions“ View mit Spalte „edition_name“)

– DBA_SOURCE_AE (“All Editions” View mit Spalte “edition_name”)

– DBA_EDITIONS

– GV$SESSION -> Spalte: SESSION_EDITION_ID

Gleiche Objekte in verschiedenen Versionen durch “Editions” in der DB.

Standard views ohne “_AE” zeigen nur die Objektversion der “Edition”, mitder die Session an der DB angemeldet ist.

Page 17: Einblick in Online Patching der Oracle E-Business Suite 12.2

© 2017 APPS ASSOCIATES LLC17

12.2.x DBA insightsWas muss ich als DBA noch berücksichtigen?

Welche Fallstricke gibt es?

Page 18: Einblick in Online Patching der Oracle E-Business Suite 12.2

© 2017 APPS ASSOCIATES LLC18 © 2017 APPS ASSOCIATES LLC18

• Wichtige zusätzliche Parameter:

– adop phase=prepare

– adop phase=applypatches=12345,67890 workers=20

Speed up apply Phase

– adop phase=finalize

– adop phase=cutover cm_wait=10Warte x Minuten bis CMs down / default (99999mins)

Nicht < 5

– adop phase=cleanup

12.2.x DBA insights

• Beispiel standard patching cycle:– adop phase=prepare

– adop phase=applypatches=12345,67890

– adop phase=finalize

– adop phase=cutover

– adop phase=cleanup

anpassen

Page 19: Einblick in Online Patching der Oracle E-Business Suite 12.2

© 2017 APPS ASSOCIATES LLC19 © 2017 APPS ASSOCIATES LLC19

12.2.x DBA insights #2

Andere Phasen des Online Patchings

• fs_clone: Sync Run auf Patch FS

• force=(yes|no) default is no; Restart eines fehlgeschlagenen fs_clone

• Beispiel: adopphase=fs_clone force=yes

Immer fs_clone ausführen nachdem Techstack Patches eingespielt wurden (FMW, Weblogic, 10.1.2)!

• abort: Abbrechen eines Patch cycles

• adop phase=prepare

• adop phase=apply patches=12345

• ### serious unfixable error reported ###

• adop phase=abort

• adop phase=cleanup cleanup_mode=full

• adop phase=fs_clone

Immer “Full cleanup” nach einemabort ausführen! Gefolgt von einem fs_clone!

Page 20: Einblick in Online Patching der Oracle E-Business Suite 12.2

© 2017 APPS ASSOCIATES LLC20 © 2017 APPS ASSOCIATES LLC20

12.2.x DBA insights #3

Datenbank Clean Up: Löschen alter „Editions“ • Löschen aller alten Editions aus der Datenbank

Durch einen “Patching cycle”:▪ adop phase=prepare▪ adop phase=actualize_all▪ adop phase=finalize finalize_mode=full▪ adop phase=cutover▪ adop phase=cleanup cleanup_mode=full

Achtung: Dieser Prozess läuft lang!

Hinweis: Niemals zu viele Editions im System halten. Zu viele Editions wirken sich negative auf die Performance aus! Max. 20-30 editions!

Regelmäßiges checken von: DBA_EDITIONS

Page 21: Einblick in Online Patching der Oracle E-Business Suite 12.2

© 2017 APPS ASSOCIATES LLC21 © 2017 APPS ASSOCIATES LLC21

12.2.x DBA insights #4 – Custom Code

Wie verhält sich Custom Code im Online Patching Cycle?

phase=prepare:

• „Custom Sync“ für „XXCUS Code“

– $APPL_TOP_NE/ad/custom/adop_sync.drv

Aber „Was ist mit…?“

Templateanpassungen: $FND_TOP/admin/template/custom

• Not detected: Alle Templates in Custom SyncDriver hinzufügen

Custom Code der autocfg benötigt

• Manually run AutoCfg in Patch Edition or addautocfg to sync driver

JSPs are included in XXCUS code

Beispiele sind falsch in der mitgelieferten Datei! Nutzt falsche Umgebungsvariablen und kompiliert mit „run edition config“ Parametern!

Page 22: Einblick in Online Patching der Oracle E-Business Suite 12.2

© 2017 APPS ASSOCIATES LLC22 © 2017 APPS ASSOCIATES LLC22

12.2.x DBA insights #5 – Cutover

Cutover-Phase im Online Patching?

phase=cutover:

• Kritischste Phase:– Downtime

– Kein Abort mehr möglich

– Kein Standard Rollback möglich

Aber „Wie…?“

…gehe ich mit „ point-of-no-return“ um? – Nutzen von DB Flashback, zurücksetzen auf

„restore point“ vor cutover

• File System wird nicht berücksichtigt– Nutzen von Storage/File System snapshots,

zum Zurücksetzenm auf Status vor Cutover• File system berücksichtigt

• Ggf. DB Recovery nötig

…verfolge ich den Cutover-Status?

– Auswerten des cutover status aus der Tabelle „ad_adop_sessions“, Spalte „cutover_status“

Hinweis: Sorgfältiges Testen einer Rollback-Strategie!

Cutover phase – status codes in ad_adop_sessions:

▪ 'Y' 'COMPLETED'

▪ not in ('N','Y','X') and status='F' 'FAILED'

▪ '0' 'CUTOVER STARTED'

▪ '1' 'SERVICES SHUTDOWN COMPLETED'

▪ '3' 'DB CUTOVER COMPLETED'

▪ Point-of-no-return (in DB)

▪ 'D' 'FLIP SNAPSHOTS COMPLETED'

▪ DB editions flipped

▪ Point-of-no-return (im FS), da FS cutover gestartet

▪ '4' 'FS CUTOVER COMPLETED'

▪ '5' 'ADMIN STARTUP COMPLETED'

▪ '6' 'SERVICES STARTUP COMPLETED'

▪ 'N' 'NOT STARTED'

▪ 'X' 'NOT APPLICABLE'

Hint: Statuswechsel können als Rollback Trigger dienen!

Page 23: Einblick in Online Patching der Oracle E-Business Suite 12.2

© 2017 APPS ASSOCIATES LLC23 © 2017 APPS ASSOCIATES LLC23

12.2.x DBA insights #6 – Know your log file

MOS note:

1366187.1

Page 24: Einblick in Online Patching der Oracle E-Business Suite 12.2

© 2017 APPS ASSOCIATES LLC24

12.2.x Developer insightsWas muss ich als Entwickler beachten?

Was ändert sich in 12.2.x?

Page 25: Einblick in Online Patching der Oracle E-Business Suite 12.2

© 2017 APPS ASSOCIATES LLC25 © 2017 APPS ASSOCIATES LLC25

12.2.x Developer insights

Logical view Data Model:

▪ EBR als Hauptkonzept muss verstanden werden!

Achtung: Falsche Edition!

Page 26: Einblick in Online Patching der Oracle E-Business Suite 12.2

© 2017 APPS ASSOCIATES LLC26 © 2017 APPS ASSOCIATES LLC26

12.2.x Developer insights #2

Falsche Edition? Wie, wo, was …?

• Selektieren der Edition aus dem DB Sys Context:– sys_context('USERENV','CURRENT_EDITION_NAME’)

• 12.2.x AD Funktionen nutzen:– ad_zd.get_edition();– ad_zd.set_edition(‘RUN’); or ad_zd.set_edition(‘PATCH’);

• Aus der Tabelle gv$session auslesen:– select session_edition_id from gv$session;

• ID ist object_id aus dba_objects

• Setzen für die Session:– alter session set edition = ‘V_20150725_0245’;

• Edition Name aus dba_editions

Hinweis: Im Regelfall sind die 12.2.x ad_zd Funktionen ausreichend!

Page 27: Einblick in Online Patching der Oracle E-Business Suite 12.2

© 2017 APPS ASSOCIATES LLC27 © 2017 APPS ASSOCIATES LLC27

12.2.x Developer insights #3

Was ist mit meinem Custom Code während eines Patching Cycles?

phase=prepare:

Aber „Was ist wenn…?“

...die „prepare“ Phase auf Dev ausgeführt wird?

Backup des aktuellen Codes machen! DB seitig wie auch Filesystem seitig, wie z.B. PLLs, etc.

– Aktueller Status wird auf Patch Edition gesynced aber

– Es ist möglich das der Code der zwischen Prepare und Cutover entwickelt wurde nach dem Cutover verloren geht!

– Code muss ggf. nach dem Cutover neu eingespielt werden!

– Hinweis: DBAs müssen Entwickler benachrichtigen wenn ein Cycle ausgeführt wird!

...prepare abgebrochen wird im Dev System?– Nichts! Die Run Edition bleibt wie sie ist. Und Development findet

normalerweise auf der laufenden Run Edition statt!

Page 28: Einblick in Online Patching der Oracle E-Business Suite 12.2

© 2017 APPS ASSOCIATES LLC28 © 2017 APPS ASSOCIATES LLC28

12.2.x Developer insights #4

Was ist mit meinem Custom Code während eines Patching Cycles?

phase=prepare:

Aber „Was ist wenn…?“

...die cutover phase auf dem Dev System ausgeführt wird?– File System wird gewechselt

– DB Edition wird gewechselt

– Alle DB Verbindungen werden gekillt! Check Edition nach reconnect!

...Package „xxcus_pkg“ zuvor in Run und Patch Edition kompiliert wurde?– Patch Edition „xxcus_pkg“ ist der neue Run Code! Selbst wenn das letzte

Kompilieren von „xxcus_pkg“ in run stattgefunden hat!

…Package „xxcus_pkg“ in run kompiliert wurde, aber nicht in Patch Edition?– Package „xxcus_pkg“ bleibt wie es ist!

Hinweis: File system Code wie PLLs wird beim Cutover immer gewechselt! DB Code nur wenn in der DB Patch Edition eine kompilierte Version exisitiert.

Page 29: Einblick in Online Patching der Oracle E-Business Suite 12.2

© 2017 APPS ASSOCIATES LLC29 © 2017 APPS ASSOCIATES LLC29

12.2.x Developer insights #5 – adop Status?

Wie kann ich den aktuellen Patch Status checken?

General reports:

– $AD_TOP/bin

– perl adzdreport.pl apps

• Menu point: “4. Developer Information”

Welche Patche sind in der aktuellen Patch Edition eingespielt?

– Tabelle: ad_adop_session_patches

• Spalten:

– bug_number: zeigt patch id, oder adadmin Aktionen

– patch_top: Verzeichnis wo die Patchsources liegen

– adpatch_options: Benutzte Optionen für das Patching oder adadmin

Kann ich meinen Code in der Patch Edition Testen vor dem Cutover?

– Nein! Aktuell ist es nicht supported die Applikation auf der Patch Edition zu testen.

Page 30: Einblick in Online Patching der Oracle E-Business Suite 12.2

© 2017 APPS ASSOCIATES LLC30

Fazit

Page 31: Einblick in Online Patching der Oracle E-Business Suite 12.2

© 2017 APPS ASSOCIATES LLC31 © 2017 APPS ASSOCIATES LLC31

Fazit

DBA DEV

Allgemein: adop ermöglicht Application Maintenance während die Applikation läuft.

ABER adop braucht einen neuen “Change Management Prozess und -Strategie”!

Online

Patching Cons:

▪ Neue komplexe

Technologie

▪ Vollständig neue

Developer Guides

Cons:

▪ Komplex und

herausfordernd

▪ Neue komplexe

Technologie

Pros:

▪ Einfacher adop Prozess

▪ Apps läuft während der

Maintenance Prozesse

Pros:▪ EBR hält alten Code

in der DB verfügbar

Page 32: Einblick in Online Patching der Oracle E-Business Suite 12.2

© 2017 APPS ASSOCIATES LLC32 © 2017 APPS ASSOCIATES LLC32

Scope Alliance – Besuchen Sie uns!

Ebene 1

Stand 130

Page 34: Einblick in Online Patching der Oracle E-Business Suite 12.2

© 2017 APPS ASSOCIATES LLC34 © 2017 APPS ASSOCIATES LLC34

Appendix

Beispiel: Korrektes JSP Compile im Custom Sync Driver

perl %s_other_base% /EBSapps/appl/fnd/12.0.0/patch/115/bin/ojspCompile.pl --compile -s 'xxcus%' --flush - conf

%s_other_base% /inst/apps/ %s_contextname% /appl/admin/ojspCompile.conf

Links:Oracle E-Business Suite Release 12.2: Backup and Recovery Guidelines For Online Patching (adop) Cutover (Doc ID 1584097.1)

1366187.1 - Oracle Applications E-Business Suite 12.2 Fusion Middleware Log Files: Locate,View, and Control

Oracle E-Business Suite Release 12.2: Online Patching FAQ (Doc ID 1583902.1)

Guidance for Integrating Custom and Third-Party Products With Oracle E-Business Suite Release 12.2 (Doc ID 1916149.1)

Oracle E-Business Suite Release 12.2: Validations Performed By the adop Online Patching Utility (Doc ID 1678355.1)

1366187.1 – complete log file Overview

Oracle E-Business Suite Applications DBA and Technology Stack Release Notes for R12.AD.C.Delta.10 and R12.TXK.C.Delta.10 (Doc ID 2295390.1)

12.2.x Maintenance Guide: http://docs.oracle.com/cd/E26401_01/doc.122/e22954.pdf

12.2.x Developer Guide:

http://docs.oracle.com/cd/E26401_01/doc.122/e22961.pdf

12.2.x Doc Library:

http://docs.oracle.com/cd/E26401_01/index.htm