Skip to content

Articles

JD Edwards AIS instance tuning

File size (Download)

  • Reference: What is the Significance of the MaxExternalResponseSize Parameter in the Rest.ini? (Doc ID 2949357.1)
  • Link: Configuration -> General
  • Setting: Maximum External REST Response Size
  • Description: This configuration is there to restrict any external REST service response from exceeding the configured line

Timeout Settings

The following settings are related to user session timeouts in the HTML and AIS server where the the recommendation is for the AIS timeout to be greater than the PD-HTML server timeout and the dedicated AIS-HTML server timeout should be greater than the AIS server timeout.

Timeout for AIS

  • Reference: AIS Session Token Life and Timeout Settings and How They Relate to HTML Timeout Settings (Doc ID 2522434.1)
  • Link: AIS Instance -> View=Advanced -> Security Information.
  • Settings:
  • SessionInactivityTimeoutMinutes
  • SessionTimeToLiveMinutes
  • Description: There are two time out settings that are involved in an AIS session

Timeout for JAS (HTML Instance and AIS-HTML Dedicated instance)

  • Reference: AIS Session Token Life and Timeout Settings and How They Relate to HTML Timeout Settings (Doc ID 2522434.1)
  • Link: HTML Instance -> View=Advanced -> Cache
  • Settings:
  • UserSession
  • Description: User Session cache timeout

Also, to be considered is the timeout setting within the HTML application server (in Weblogic this is found in the web.xml). See the following document for recommendations on increasing the timeout value in the application server. E1: JAS: Best Practices on Setting User Session Timeout Value for HTML Server ( JAS ) Instance Configured on Any Application Server (Doc ID 1488013.1)

UX One & Watchlists Performance

  • Reference: Question With the Architecture of the AIS Server in Relation to the HTML Servers (Doc ID 2239069.1)
  • Link: HTML Instance -> View=Advanced -> Web Runtime
  • Settings:
  • AIS Maximum Concurrent Calls
  • Description: Control of how many AIS calls are processed at a time

  • Link: AIS Instance -> View=Advanced -> Cache.

  • Settings:
  • Read Cache Time to Live (Milliseconds)
  • Description: How long responses are stored in cache

Orchestration Processing Performance Recommendations

The primary load is on the HTML server. The AIS server is just a facilitator for the REST endpoints (nearly a pass through) to the HTML server where all of the forms and data queries are executed. So having a dedicated HTML server for AIS requests, or even a clustered set of HTML servers dedicated to AIS requests will provide the best sociability for AIS services/Orchestrations. (Don't use your "front-end" HTML server for AIS requests). Ensuring that both the AIS server and HTML server(s) are configured with the proper heap size is very important as well, for handling the load of many requests.

  • Reference: Orchestration Processing Performance Recommendations (Doc ID 2587751.1)
  • Add the argument for AIS instance under ServerStart -> Arguments to AIS and HTML instances to minimun and maximum of 4GB
  • Settings:
  • -Xms4096m and -Xmx4096m

Setting Up a JD Edwards EnterpriseOne Trial Instance on Oracle Cloud

JD Edwards EnterpriseOne is a comprehensive ERP solution, and Oracle provides an easy way to deploy a trial instance via the Oracle Cloud Marketplace. This guide walks you through the steps to set up the JD Edwards EnterpriseOne Trial Edition.

The URL for accessing our Demo platform for JD Edwards EnterpriseOne and Studio are as follows:

Login Credentials

Use the following credentials to access the instance:

1
2
3
# Login Credentials
User: demo
Password: nomana

Installing and Deploying MkDocs Material with GitHub Pages

This guide explains how to install and deploy MkDocs Material for creating beautiful documentation sites. It also includes steps to automate deployment to GitHub Pages.

What's Included in the Site

The provided MkDocs Material configuration is designed to support a comprehensive documentation site with the following features:

  • Navigation:

    • Multi-level navigation with tabs and collapsible sections.
    • Support for documentation, guides, blog posts, API references, and release notes.
  • Customization:

    • Custom logo and favicon.
    • Light and dark themes with a toggle switch.
    • Customizable color palettes to match your branding.
  • Enhanced User Experience:

    • Instant navigation with prefetching for fast transitions.
    • Sticky top navigation for ease of access.
    • Copy button for code snippets to improve developer productivity.
  • Plugins:

    • awesome-pages: Automatically organizes navigation based on folder structure.
    • minify: Optimizes site assets for faster loading.
    • blog: Supports structured and visually appealing blog posts.
    • search: Integrated full-text search for quick access to content.
  • Content Types:

    • Documentation sections for getting started, installation guides, and tutorials.
    • Blog posts with structured navigation and metadata.
  • Technical Enhancements:

    • Cookie consent settings to comply with privacy policies.
    • CSP (Content Security Policy) meta tag for enhanced security.
    • Custom CSS and JavaScript to further tailor the site's appearance and functionality.

Locks Management

1. Gather locks for current session

SELECT
  (select username || ' - ' || osuser from v$session where sid=a.sid) blocker,
  a.sid || ', ' || (select serial# from v$session where sid=a.sid) sid_serial,
 ' is blocking ',
  (select username || ' - ' || osuser from v$session where sid=b.sid) blockee,
  b.sid || ', ' || (select serial# from v$session where sid=b.sid) sid_serial
FROM 
  v$lock a, v$lock b
WHERE 
  a.block = 1
  AND b.request > 0
  AND a.id1 = b.id1
  AND a.id2 = b.id2;

Database size

1. Full size of the database

SELECT  SUM(bytes/1024/1024/1024) FROM dba_segments 

2. Size by tablespace

1
2
3
SELECT  OWNER, SUM(bytes/1024/1024/1024) FROM dba_segments 
GROUP BY owner
order BY owner;

3. Fragmented space for a schema

SELECT 
  table_name,avg_row_len,round(((blocks*16/1024)),2)||'MB' "TOTAL_SIZE",
  round((num_rows*avg_row_len/1024/1024),2)||'Mb' "ACTUAL_SIZE",
  round(((blocks*16/1024)-(num_rows*avg_row_len/1024/1024)),2) ||'MB' "FRAGMENTED_SPACE",
  round((round(((blocks*16/1024)-(num_rows*avg_row_len/1024/1024)),2)/round(((blocks*16/1024)),2))*100,2) "percentage"
FROM 
  all_tables 
WHERE 
  owner='<OWNER>' 
  AND blocks>0;

Transport SQL profile from one base to another

1. List all profiles to retrieve the profile name

SELECT * FROM DBA_SQL_PROFILES;

2. Create table with DBMS to export profile

1
2
3
4
5
6
BEGIN
  DBMS_SQLTUNE.CREATE_STGTAB_SQLPROF (
    table_name  => 'TMP_SQL_PROFILES'
,   schema_name => 'SYSTEM'
);
END;

3. Export profile to the temporary table

1
2
3
4
5
6
7
BEGIN
  DBMS_SQLTUNE.PACK_STGTAB_SQLPROF (
    profile_name         => 'SYS_SQLPROF_02701ab7b57c0000'
,   staging_table_name   => 'TMP_SQL_PROFILES'
,   staging_schema_owner => 'SYSTEM'
);
END;
Export/Import this table between both databases

4. Import profile from temporay table in the target database

1
2
3
4
5
6
BEGIN
  DBMS_SQLTUNE.UNPACK_STGTAB_SQLPROF(
     replace            => true
,    staging_table_name => 'TMP_SQL_PROFILES'
);
END;

Statistics Management

1. Gather statistics for a table

1
2
3
4
BEGIN
 DBMS_STATS.GATHER_TABLE_STATS (ownname => '<OWNER>' , tabname => '<TABLE_NAME>',
  cascade => true, estimate_percent => 15,method_opt=>'for all indexed columns size 1', granularity => 'ALL', degree => 1);
END;

2. Gather statistics for a schema

1
2
3
4
5
6
7
exec dbms_stats.gather_schema_stats( -
    ownname          => '<SCHEMA_NAME>', -
    options          => 'GATHER AUTO', -
    estimate_percent => dbms_stats.auto_sample_size, -
    method_opt       => 'for all columns size repeat', -
    degree           => 15 -
)