Presentation is loading. Please wait.

Presentation is loading. Please wait.

Looking at JDE from the Database Layer

Similar presentations


Presentation on theme: "Looking at JDE from the Database Layer"— Presentation transcript:

1 Looking at JDE from the Database Layer
Tim McMurdo / Darcy Bains August 22, 2018

2 Agenda What Databases and Platforms are Supported?
What is the Difference between Production Database & Local Database? Why are there so many Database Schemas / Owners? How does JDE Connect to the Database? How are Non-Production Environments Refreshed? What needs to be Backed Up? When and How is Patching and Maintenance Done? Database Tools, UTB / Databrowser, SQL Developer, OCM, Object Explorer Common Database Scripts

3 What Databases and Platforms are Supported?
Platform / Operating System Linux / Unix Windows IBM i Solaris Databases DB2 for Windows / Unix / Linux DB2 for IBM i Microsoft SQL Server Oracle Database

4 What Databases and Platforms are Supported?
The supported databases and platforms will varies depending on your Application Level (e.g. 9.1 or 9.2) and the Tools Release Level (e.g or x)

5 What Databases and Platforms are Supported?
My Oracle Support - Certification Tab

6 What Databases and Platforms are Supported?

7 What is the Difference between Production Database & Local Database?
Centralized specifications and data accessed by all users Local Database Only accessed by local machine Resides on Deployment Server and Development Clients Used to store local specification on a Development Client Used to store HTML Serialized Objects when using Local Web on Development Client Used to store the initial stand alone version of JDE (specifications and data) on the Deployment Server Local Database has to be Oracle with newer Tools Releases Password for Local Database is encrypted by JDE

8 How does JDE Connect to the Database?
Data Sources Data Source Master table (F98611) A least two sets of table F98611 exist. They reside in a centralized system data source normally kept on an enterprise server which is accessed by workstations and in a server map data source, which each logic server requires.

9 How does JDE Connect to the Database?
Data Sources

10 How does JDE Connect to the Database?
Proxy User EnterpriseOne users are mapped to System users or Proxy users. System users are defined using application : P980001 System Users are used for communication with the Database. A Database Connection Pool is keyed off Proxy User and DataSource, so if we have a high number of Proxy user /Datasource combinations it will result in as many Database Connection Pools. Connections to Database cannot be shared across Connection Pools which results in higher number of Connections to Database. Create Proxy users judiciously based on privilege to access data in a given Datasource.

11 How does JDE Connect to the Database?
Database activity from the HTML server uses JDBC connections Additionally, user activity on the Web server triggers "User specific" actions, and "Global" actions. For example when a user runs an application that needs to be JITIed/Serialized, the JAS application will read the specs from the database, perform the serialization and store the binary object in the F and F tables with an INSERT SQL query. This action is not "user specific" and therefore it will likely use the JDE account to insert those records

12 Why are there so many Database Schemas / Owners?
SY920 System Tables OL920 Object Librarian DD920 Data Dictionary SVM920 Server Map DV920 DV Central Objects TESTCTL DV Control Tables TESTDTA DV Business Data

13 Why are there so many Database Schemas / Owners?
Common Tables Application Tables Business Data JDE920 OL920, DD920, SY920, SVM920 DV920 JDE_DEV TESTDTA / TESTCLT JDE_CRP CRPDTA / CRPCTL PY920 PD920 JDE_Production PRODDTA / PRODCTL PS_920 PS920 JDE_PRIST920 PS920 / PRISTDTA / PRISTCTL

14 Why are there so many Database Schemas / Owners?
Common Tables Application Tables Business Data Business Data JDE920 OL920, DD920, SY920, SVM920 DV920 JDE_DEV TESTDTA / TESTCLT JDE_QA QADTA / QACTL JDE_CRP CRPDTA / CRPCTL JDE_TR TRDTA/ TRCTL PY920 PD920 JDE_Production PRODDTA / PRODCTL PS_920 PS920 JDE_PRIST920 PS920 / PRISTDTA / PRISTCTL

15 How are Non-Production Environments Refreshed?
Business Data Business Data JDE_PRIST920 PRISTDTA / PRISTCTL JDE_DEV TESTDTA / TESTCLT Refresh via SQL Or UBE JDE_Production PRODDTA / PRODCTL JDE_CRP CRPDTA / CRPCTL JDE_QA QADTA / QACTL JDE_TR TRDTA/ TRCTL

16 How are Non-Production Environments Refreshed?
Common Tables Application Tables PS920 Application Tables (Central Objects) should be rarely refreshed as the promotion path for all objects are from DV to PD JDE920 OL920, DD920, SY920, SVM920 DV920 PY920 QA920 Object Promotions - OMW Common Tables are not refreshed as there is only one set of these tables TR920 PD920

17 When and How is Patching and Maintenance Done?
First apply patches to a sandbox environment if available Should be coordinated between DBA / CNC Audit the DB Logs, Server Logs and JDE Logs Apply to non production environments Apply to production environment (includes system tables) ** Always ensure database and server backups are working prior to applying patching ** Virtualized snapshots are a great safety measure

18 What needs to be Backed Up?
Production System Database(s) Schemas: SY920 / OL920 / DD920 / SVM920 Business Data Schemas: PRODDTA / CRPDTA / TESTDTA Central Objects Schemas: PD920 / PY920 / DV920 Deployment Server Local databases – planner / metadata Fat Clients * Local database

19 Database Queries Should we run SQL queries or use UBE’s?
Answer: BOTH ! Some applications have bugs and you will have to use SQL. Other times, the UBE is the most efficient, use SQL to validate UBE’s are working as expected Build a repository of all database queries Common Used queries – convert to dynamic reports and host them on a shared location DBA’s, CNC’s to utilize queries for auditing, health checks

20 Database Queries Example
E1: ENV: Creating a Custom Environment Using Environment Director (P989400) Causes Missing Server Map OCMs (Doc ID )

21 Common Database Queries
Checking for missing OCM records by comparing between the environments Currently there is no designated UBE for comparing the OCM between two environments in the same data source. This needs to be checked by running SQL queries against the Database Server where the OCM tables are stored in the specific Database data source

22 Common Database Queries
Checking for missing OCM records by comparing between the environments SELECT OMAPPLID, OMOBNM, OMDATP, OMDATS, OMUGRP, OMOAPP, OMDATM, OMOVRE, OMSY, OMSTSO, OMPID, OMFUNO, OMUSER, OMOCM1, OMJOBN, OMOCM2, OMUPMJ, OMOCM3, OMUPMT, OMOCMA, OMOCMB, OMOCMC, OMOCMDSC FROM SVM920.F WHERE OMENHV='DV920' AND OMSTSO='AV' AND OMOBNM NOT IN (SELECT OMOBNM FROM SVM920.F WHERE OMENHV='UAT920’); The above SQL query example is built for checking the OCM defined for the standard DV920 environment, but they are not defined for a custom environment UAT920, in the Server Map data source (SVM920).

23 Database Tools OCM Configures the pointers for the tables to the data sources UTB / Databrowser Allows to view data through front end JDE SQL Developer Raw data access to database Object Explorer 3rd party tool allows to view data XREF JDE application shows all relationships of objects and tables

24 Common Database Queries
Amount of objects in each path code (central objects) DV920 will typically have the highest amount of objects

25 Common Database Queries
OMW Project Status Summary

26 Common Database Queries
Show when accounts expire

27 Common Database Queries
Show Locked out accounts

28 Common Database Queries
Database Table Locks

29 Common Database Queries
Database Table Locks

30


Download ppt "Looking at JDE from the Database Layer"

Similar presentations


Ads by Google