cnc tips & tricks for e1 9 - quest oracle community

46
CNC Tips & Tricks for E1 9.2 #JDEINFOCUS #ECSINFOCUS Marcelo Tamassia Teunis Aalberts

Upload: others

Post on 24-Mar-2022

6 views

Category:

Documents


1 download

TRANSCRIPT

CNC Tips & Tricks for E1 9.2

#JDEINFOCUS #ECSINFOCUS

Marcelo Tamassia Teunis Aalberts

April 2-6, 2017 in Las Vegas, NV USA #C17LV

Marcelo Tamassia

• Founding Partner @ EmeraldCube Solutions

• Responsible for all Engineering and R&D initiatives @ ECS

• University of Florida MBA

• 19 years of tech industry

• 14 years of JDE consulting in South and North America

• Planned, designed, executed, and managed 90+ E1 implementations worldwide

April 2-6, 2017 in Las Vegas, NV USA #C17LV

Teunis Aalberts

• Technology Consultant @ Forza

• Responsible for CNC Add On Solutions @ Forza

• Joined JDE in 1999

• 17 years CNC experience

• Visit us @ booth 624

April 2-6, 2017 in Las Vegas, NV USA #C17LV

Agenda• Intended Audience

• Best Practices & Tips• Performance

• Database Monitoring

• JDE CNC

• Packman

• Prism

April 2-6, 2017 in Las Vegas, NV USA #C17LV

Forza Consulting

One-stop shop for JD Edwards

Extensive JD Edwards add-on portfolio▪ AP Automation ▪ AR Automation ▪ Electronic Payments module ▪ Automated Package Build & Deployment▪ Self Service Password Reset solution ▪ Workload scheduler

Over 200 clients supported globally

Leading CNC Technology Department

Innovative Development Department

April 2-6, 2017 in Las Vegas, NV USA #C17LV

Feedback Cards

Enter to Win a $100 American Express Gift Card

Fill out the EmeraldCube session feedback card. Drawing will be held at the end of the session.

April 2-6, 2017 in Las Vegas, NV USA #C17LV

BEST PRACTICES?

April 2-6, 2017 in Las Vegas, NV USA #C17LV

PERFORMANCE BEST PRACTICES

April 2-6, 2017 in Las Vegas, NV USA #C17LV

#1 Performance – Track Enterprise Queries• Configure JDE.INI

• Set QueryExecutionTimeTreshold > 0 (start at 30 seconds)

• Search logs for “dbperfrq.c”

• JDE Log

6373/1 MAIN_THREAD Thu Jan 30 00:00:33.704811 dbperfrq.c770

doQueryDiagnostics: The following SQL query took 10 seconds which is equal to or greater than

QueryExecutionTimeThreshold (10 seconds) for E1User(MARK) with DBProxyUser(JDE).

6373/1 MAIN_THREAD Thu Jan 30 00:00:33.705162 dbperfrq.c782

SELECT * FROM PRODTA.F41021 WHERE ( LIPQOH <> 0.000000 OR LIPCOM <> 0.000000 OR LIHCOM <> 0.000000

OR LIPREQ <> 0.000000 OR LIQOWO <> 0.000000 OR LIQTTR <> 0.000000 OR LIQTO1 <> 0.000000 OR LIFCOM <>

0.000000 OR LIMCU <> ' 1001' OR LIITM > 1.000000 ) ORDER BY LIITM ASC,LIMCU ASC

April 2-6, 2017 in Las Vegas, NV USA #C17LV

#1 Performance – Track Enterprise Queries• Research Issue

• Determine type of process (JDE.LOG)• Talk to the user (shown on log message)

• Be mindful of row security impact on queries

• Involve your DBA (if you have one) to determine why the query is taking to long

• Bad Query/Inquire• Missing Index(es)• Slow I/O• Locking/Blocking

April 2-6, 2017 in Las Vegas, NV USA #C17LV

JDE Enterprise Server Kernels

April 2-6, 2017 in Las Vegas, NV USA #C17LV

#2 Performance – Tune JDE Kernels

• Make sure you have enough kernels of at least these:• Call Object: 6 to 12 users / multithread kernel• Security: 40 to 60 users / kernel• Metadata: 150 users / kernel• Network: 1 process + 200 users / kernel• UBE: 60 users / kernel

• Make sure you don’t have too many• Memory & Performance considerations

• E1: KER: EnterpriseOne Kernels Overview (Doc ID 961823.1)

April 2-6, 2017 in Las Vegas, NV USA #C17LV

#3 Performance – Compress Data

• Use database compression• SQL Enterprise 2008+• Oracle Enterprise 11g + Feature

• Results• Data reduction of 60% to 90%• Reduced memory requirements• Reduce backup/restore time• Fewer I/O• 40% to 50% performance improvement• 5% to 10% higher CPU consumption

April 2-6, 2017 in Las Vegas, NV USA #C17LV

#3 Performance – Compress Data

• Sample compression rates

Table Name Compression

F4111 Item Ledger File 76%

F0911 Account Ledger 73%

F0411 Accounts Payable Ledger 69%

F43121 Purchase Order Receiver File 69%

F4311 Purchase Order Detail File 68%

F9000 Task Master 62%

F0101 Address Book Master 61%

F4229 Sales Summary History File 56%

F0005 User Defined Code Types 54%

April 2-6, 2017 in Las Vegas, NV USA #C17LV

#4 Performance – Consider Solid State

• Most JDE E1 environments are I/O bound, not CPU bound• Faster I/O most likely will result in faster overall E1 performance• Faster CPU might/ might not result in faster overall E1 performance

• Most JDE E1 environments are 2/3 reads and 1/3 writes

• Performance Comparison (IOMeter Database – Average IO/s)• HDD 15K RPM: 445 IOPS• SSD: 2300 IOPS

• Cost / GB• HDD: 0.05 USD• SSD: 0.80 USD

April 2-6, 2017 in Las Vegas, NV USA #C17LV

#5 Performance – Adjust JVM Heap

• JVM Process Memory

• OS memory limits per single process• 32-bit, roughly 2GB• 64-bit, theoretically 2,000 PB

April 2-6, 2017 in Las Vegas, NV USA #C17LV

#5 Performance – Adjust JVM Heap

• Garbage Collection• Lock (lock involved objects so they don’t mutate)• Mark (iterate through all objects)• Sweep (remove marked objects / reclaim memory)

• Why do we care?• Garbage Collection relationship with performance

• Baseline for 50 users• 32-bit: 1.5 Gb (max = min)• 64-bit: 2 Gb (max = min)

April 2-6, 2017 in Las Vegas, NV USA #C17LV

▪ Concurrent Mark & Sweep (CMS)▪ Default algorithm on Java 7 and 8

▪ Lock objects so they don’t mutate

▪ Mark (iterate through all objects)

▪ Sweep (remove marked objects / reclaim memory)

▪ Compact

▪ Garbage First (G1)▪ Leverages Multi Cores

▪ Reduced Pause times

▪ Increased Throughput

▪ GA with Java Hotspot 1.7 Update 4

▪ Ideal for 6GB + Heap sizes

▪ -XX:+UseG1GC

▪ Default algorithm on Java 9

#5 Performance – GC Algorithms

April 2-6, 2017 in Las Vegas, NV USA #C17LV

▪ Start JVM with verbose GC▪ -verbose:gc

▪ -Xloggc:<filename>

▪ -XX:+PrintGCDetails

▪ -XX:+PrintGCDateStamps

▪ -XX:+PrintTenuringDistribution

▪ -XX:+PrintGCApplicationConcurrentTime

▪ -XX:+PrintGCApplicationStoppedTime

▪ -XX:+HeadDumpOnOutOfMemoryError

▪ Parse log/output via GC Viewer

▪ Determine ideal heap size and number of JVMs

https://github.com/chewiebug/GCViewer

#5 Performance – JVM Memory Monitor

April 2-6, 2017 in Las Vegas, NV USA #C17LV

#5 Performance – Memory LeakCrash!!!

April 2-6, 2017 in Las Vegas, NV USA #C17LV

▪ Session Timeout (less than 1 hour)

▪ JDBj Database Connection Timeout (Less than 30 mins)

▪ JDBj Database Pool Setup

▪ [CONNECTION POOL]

▪ minConnection=5 (default is 0) (for unique proxy users set to 0)

▪ maxConnection=max users (for unique proxy users set to 5)

▪ initialConnection=5 (default) (for unique proxy users set to 1)

▪ poolGrowth=10 (default is 5) (for unique proxy users set to 1)

▪ Caches▪ JDBj to no more than 10 mins

▪ Resultset to no more than 3 mins

#5 Performance – Parameters

ER Loops

April 2-6, 2017 in Las Vegas, NV USA #C17LV

#6 Performance – Track ER Loops

• Event Rules are interpreted by JAS in real time

• ER loops can cause high CPU and memory consumption

• How to find out?

• Set Long Loop Warning Threshold (jas.ini) to 1000

• If a process performs more than 1000 iterations a message is logged

April 2-6, 2017 in Las Vegas, NV USA #C17LV

#6 Performance – Track ER Loops

• Message on JAS log

• Typical causes• Code issue/bug

• End-user mistake

April 2-6, 2017 in Las Vegas, NV USA #C17LV

Database Monitoring

April 2-6, 2017 in Las Vegas, NV USA #C17LV

#7 Database Monitoring - I/O Latency

• Measure Latency • SQL DMVs: Join sys.dm_io_virtual_file_stats and sys.master_files

• Read Latency: CEILING((io_stall_read_ms / ( 1.0 + num_of_reads)))

• Write Latency: CEILING((io_stall_write_ms / ( 1.0 + num_of_writes)))

• Oracle: AWR / Foreground Events

• “Acceptable” Latency (μ ± 2σ ≈ 95%)

Type Read Write

Sequential < 20ms < 10ms

Random < 25ms < 20ms

Total < 25ms < 20ms

April 2-6, 2017 in Las Vegas, NV USA #C17LV

#8 Database Monitoring - Blocking

• Blocking vs Locking

• What causes blocking• Concurrency? Poor I/O? Code bug? DB Misconfiguration?

• Identify • SQL DMVs

• dm_exec_requests + dm_os_waiting_tasks + dm_exec_sql_text

• Oracle• v$lock + v$session

April 2-6, 2017 in Las Vegas, NV USA #C17LV

#9 Database Monitoring - Long running SQL

• Monitor• SQL: dm_exec_query_stats + dm_exec_sql_text• Oracle: v$session_longops + v$session

• Research• Find source process

• Potential fixes• Application Query Security• Data Selection Security• Create Index(s)

April 2-6, 2017 in Las Vegas, NV USA #C17LV

JDE CNC & Monitoring Tips

April 2-6, 2017 in Las Vegas, NV USA #C17LV

#10 JDE Monitoring – Zombie Kernels

• Use Server Manager for alerting

• Call Object kernels are the most common zombie kernel

• Clear zombie only after all the necessary data is collected• Type• PID• Number of threads• Users on each thread• Call stack

• Research• ESUs?

• How to Troubleshoot Call Object Kernel Zombie Issues (Doc ID 837800.1)

April 2-6, 2017 in Las Vegas, NV USA #C17LV

#11 JDE Monitoring – Call Object Stats

• What are your most executed BSFNs?

• What are the most time consuming BSFNs?

• What BSFNs timeout the most?

• How• Manually export data from Server Manager JAS Instance

• Prism (TBD)

April 2-6, 2017 in Las Vegas, NV USA #C17LV

#12 JDE Monitoring – Batches

• Anomalies• Errors• Queuing

• Critical Jobs completion

• Volume• Most frequent vs. Longest running

• How• Custom queries/scripts• Prism

April 2-6, 2017 in Las Vegas, NV USA #C17LV

#13 JDE Monitoring – Response Time

• Monitor end-user performance

• How long is it taking to logon?

• How long does it take to open P4210?

• How• Oracle Real User Experience Insight

• Prism Virtual User

April 2-6, 2017 in Las Vegas, NV USA #C17LV

#14 – JDE CNC – 9.2.1 Files in DB

• All file based objects (BSFN, BSSV, TBLE, etc..) in DB• One-time migration to DB (first package / pathcode)• Simplify backups• Easier pathcode refreshes

• All media objects are only supported in the database• All new attachments go to the DB automatically• Existing attachments require UBE execution• How about integrations/interfaces?

• PrintQueue optionally supported in the database• Facilitates maintenance• Simplifies active/active deployments

April 2-6, 2017 in Las Vegas, NV USA #C17LV

#15 – JDE CNC – Compare Specs vs DB

• Execute R9698711 once a quarter against Production

• Generate missing tables via OMW (R98403G if many)

• Generate all missing indexes via OMW (R9698713 if many)

• Fix any column mismatches

April 2-6, 2017 in Las Vegas, NV USA #C17LV

#16 – JDE CNC – Technical Purges

• Database• Job Master +

Dependencies

• Subsystem

• Workflow

• Workcenter

• Scheduler History

• Package History

• Security History

• Orphan Security Entries

• Orphan User Overrides

• Files• Log files

• PrintQueue

• Temporary files

April 2-6, 2017 in Las Vegas, NV USA #C17LV

#17 – JDE CNC – OMW Backup Rule

• Create a Production Save Location to back up production objects before they get replaced

• Create new status code and activity rule prior PD

• Make sure users/developers cannot bypass the PD save on promotion

• Use Row exit “Backup Rule”

April 2-6, 2017 in Las Vegas, NV USA #C17LV

#18 – Change Webclient Background

• To distinct between the different environments

• Since TR 9.1.x single webclient.css file change

• Use F12 in chrome to choose a color

• Find and replace the #1e4a6d in the webclient.css with the color of your choice

April 2-6, 2017 in Las Vegas, NV USA #C17LV

#19 – Fat Client Housekeeping

• Multiple pathcodes on the same fat client can be an issue

• Create bat file to save off and handle required files

April 2-6, 2017 in Las Vegas, NV USA #C17LV

PACKAGE AUTOMATION

April 2-6, 2017 in Las Vegas, NV USA #C17LV

#20 – JDE CNC – Packages

• Retention• No more than 2 full / pathcode• No need to keep updates for older full packages• No more than 20 updates / full package• Full package for each pathcode should be built at least every 6

months

• Be consistent with your name convention

• Do not use compression

• If you built more than one package / week you should automate it http://packman.forzaconsulting.eu/

April 2-6, 2017 in Las Vegas, NV USA #C17LV

• Packman mobile application (Android, iOS, Windows)• Review projects ready for package build

• Advance project statuses

• Start package builds

• Monitor builds

#20 – JDE CNC – Package Automation

http://packman.forzaconsulting.eu/

April 2-6, 2017 in Las Vegas, NV USA #C17LV

PRISM

April 2-6, 2017 in Las Vegas, NV USA #C17LV

Prism

• Modules• Job Monitor• Log Monitor• Virtual User• Database Monitor• Data Integrity Monitor• Record Reservation Monitor• Technical Purges• Latency Monitor• BSSV Monitor• Best Practices• FraudPatrol

April 2-6, 2017 in Las Vegas, NV USA #C17LV

And the winner is…

Please Complete Your Session Evaluation

Evaluate this session in your COLLABORATE app. Pull up this session and tap "Session Evaluation" to complete the survey.

Session ID: 103420