Quantcast
Channel: ODTUG Aggregator
Viewing all 2258 articles
Browse latest View live

Pretius APEX Enhanced Notifications

$
0
0
Pretius APEX Enhanced NotificationsOracle APEX dynamic action plugin v1.0The plugin is dynamic action plugin providing notifications for Oracle APEX 5 and Universal Theme. Due to highly configurable attributes, the plugin can be used as presentation layer for AJAX callbacks. Translated messages from the database can be easly presented in two types of notification.Live demo, instructions and more details about the plugin are available directly at demo application (http://10.9.9.103:8080/ords/f?p=105:NOTIFICATIONS).

Top 3 Use Cases of EBS Extensions with Oracle APEX

$
0
0

Top 3 Use Cases of E-Business Suite Extensions with Oracle APEX

Using a modern application framework like Oracle Application Express (APEX) allows organizations to create Oracle E-Business Suite (EBS) extension like never before. If you’re unconvinced, we summarized Top 5 Reasons to Use Oracle APEX to Build EBS Extensions a while back. Dashboard and interactive reports, customized data entry screen or manual or automated interfaces towards EBS are all excellent uses cases of EBS extensions using APEX.

Oracle Forms and Oracle Reports are great tools, but they are getting towards the end of their life expectancy!  With the end of Java Runtime Environment (JRE) support on most browsers after 2016, it’ll become harder to rely on this workhorse for the future. Tablets and smartphones are becoming the new laptops and they won’t let you run this Java applet we all dislike…

As for Oracle Reports, well, what can I say? It’s not the most user friendly software when it comes to developing reports and position fields or making groupings and subtotals.  And, as soon as the developer is done with the report design, you will quickly see a change request from the user asking for another subtotal and other features which wasn’t part of the original request…  And at the end, all you have is a static report that prints on a “piece of paper” (not quite all the time but almost!).  That’s not what today’s users need and want.

And what about mobile applications? Neither Oracle Forms nor Oracle Reports will help you here!  If you are leaning towards offering this kind of extension to your users, you will probably think that you need to go down the path of ADF (Application Development Framework) or MAF (Mobile Application Framework). The good news is that APEX can be used to develop mobile applications with the help of built-in JQuery Mobile libraries.

On top of that, using our free EBS-APEX integration package to develop your EBS extensions with APEX, will definitely speed up development cycle.Download the E-Business Suite – Oracle APEX integration package here.

So, what are the use cases of Oracle APEX in a E-Business Suite environment? These are my top 3:

1. Dashboard & reports you really want

This is the era of dashboards, and every organization is constantly in search of better reporting capabilities and real-time management of data. EBS Extensions for Endeca is an indication of the trend organizations are leaning towards.  Since the announcement of the end of Discoverer as a supported tool, a major shift in reporting is being observed.

We are not satisfied with plain “paper like” reports anymore.  Users want to have a big picture of what they need to work on for the day.  With a mouse click, they want to drill down to the details of numbers generated.  They want to have the flexibility of being interactive with the detail reports.  Adding a calculated column, converting the number into a graph and then sending the results by email.

How is Oracle APEX helping here? APEX has predefined objects that developers can use to easily create charts to be used in dashboards, or interactive reports providing lots of users functionalities while the development team is concentrating of having the SQL statement query optimized as opposed to create from scratch reports functionalities like online subtotals, additional filtering or column selection.

e-business-suite-dashboards-oracle-apex

 

2. Perfect fit data entry screens

Your standard ERP can satisfy most of the data entry needs for your business processes, but each organization will uncover gaps to complete the overall process. These gaps can be filled with custom application allowing a specific data entry screen for your users.

Examples of these custom data entry screen could be:

Process accelerator: Because EBS can be configured is so many different ways, business processes that seem simple to most of us, can require several data entry screen to complete it. Once the process is configured, a custom data entry screen could make sense:

  • Inventory movement
  • Payment process
  • Simple Invoice Data Entry

Process using EBS and external data: Combining EBS data with information from other source could be challenging.  Having a custom screen to keep all the information centralize in EBS makes sure everyone in your organization is looking at the right data.

Replacing monitoring screen: They might not fall directly as being “data entry” screen, but users having to deal with AR Advanced Collections or Projects Resource Management graph are good candidate for being replaced!  They are too generic in their standard version and managers don’t get all the information they need to run the business properly.

e-business-suite-oracle-apex-adi

 

3. Interfaces and data management made easy

Now that’s a topic that everyone will recognize as being such a critical part of any organization’s business processes. That’s probably also the most fragile part of your EBS setup. Can they break your ability to run the business? Yes. Do they break at the worst time of the month? Yes.

Every organization on the planet has to deal with this. Everyone…  And what’s the most popular container to “interface” with EBS? You got it, Excel!  So if we think about it for a minute, we put all that money in an ERP (EBS or others), we have all that security in place, etc., yet we import or export critical business information in Excel spreadsheets, sitting on someone’s computer, using a software (Excel) that has different versions (even cloud version now), react differently based on Windows regional settings, language, etc.

The best example is Web ADI. I bet General Ledger users in your organization are using it to post miscellaneous transaction in EBS, right? Isn’t that Web ADI template a pain when you have to match it with each EBS instance?

e-business-suite-extensions-oracle-apex

Building a solution using APEX to replace Web ADI is a great example where, even if we will still use Excel somehow, in some scenarios we can find a more flexible way to remove the pain around the Excel to EBS connection and focus on the information to upload. The same Excel spreadsheet can now be used regardless of the instance, no need to update a Web ADI template, wouldn’t that wonderful? Hmmmm…. I might give it a try myself!

APEX can be used in many uses cases. The easiness to develop APEX applications for developers and the flexibility of the pages created for the users makes it a great option in many of the business processes where you need a custom solution to better manage your organization. Fast to develop solutions and providing results for users seems like a good combo!

If you’re looking to get started with these use cases immediately, we offer an Up and Running E-Business Suite and Oracle APEX Package designed to jump start your development. Learn more below:
Up and running with EBS and APEX

The post Top 3 Use Cases of EBS Extensions with Oracle APEX appeared first on Insum.

APEX Component Export

$
0
0
A common question when it comes to migrating APEX applications is "can I just export a page".

There are more technical posts on the topic of exporting APEX applications than this one out there, eg:
Håvard Kristiansen
Christoph Ruepprich
Alan Warren
John Scott
I just wanted to clarify the concept, perhaps for those learning the tool.

So the answer? Sure you can, but what about other components related to that page? A breadcrumb; menu list entry; LOV? What about application items? Are you sure you've got everything?

So with this in mind, when you start the process export an APEX application you have a side-option to do a Component Export, which might look like this:


From here we can not just nominate the page, but identify other components to add to the export. The exported SQL is just a subset of the entire application. (I wonder when this will become JSON?)

However, the only time I consider doing this is for a reporting application where I know the only components in a new report is the page itself and a breadcrumb. The menu is dynamic so the existence of the page is enough.

Otherwise, perhaps for an operational style application, I think the risk of missing changes it too high not to do a full export.

Build options can also help you find your bundle, but even then diligence needs to be high.



Oracle APEX Printing Options

$
0
0

Oracle APEX Printing Options

Since it arrived on the scene way back in 2004, Oracle Application Express (APEX) has been criticized for the lack of print capabilities. While there is no good viable built-in printing solution, the APEX community has stepped up and now there are many options using different technologies and pricing models. Today, you can decide between BI Publisher, JasperReports, PL-jrxml2pdf, PL/PDF, ORDS and APEX Office Print, to name a few. The choice is yours.

When deciding on a printing solution you should consider things like “is a license required”, “how are layouts handled”, “what output formats are supported”, and “overall ease of use”.

Let’s briefly look at these options one by one.


Oracle BI Publisher Oracle Bi Publisher Logo

For many years, I used Oracle Reports to handle my APEX reporting needs. Long marketed as “any data, any format, anywhere”, Oracle, however, has made no bones about Oracle Reports not being a strategic option going forward. That way forward is Oracle BI Publisher. It is in every way Oracle’s flagship reporting tool, however, it comes with a hefty price tag.

Oracle has made it easy for business users to maintain a variety of graphs and reports. While developers would still need to expose necessary data points, the presentation layer can be  created using a MS Office add-on. Business users can then markup an Office document and reference these fields as variables.

Pros:

  • Oracle’s strategic direction
  • Templates can be maintained by end users using MS Office
  • Plenty of examples used with APEX
  • Interactive dashboards in addition to printing

Cons:

  • High cost of licensing when compared to other options
  • Office plugins may be an obstacle for some end users

Architectural Diagram:

Bi Publisher Architectural Diagram

From the field:

“BI Publisher is the preferred Oracle solution for pixel-perfect reporting. Also used for Mobile Application Designer and for direct SQL reporting in OBIEE, BI Publisher is a strategic reporting solution across multiple product lines. When it comes to printing in APEX, I’d use BI Publisher, because I know it’s capabilities, and I know it has legs.”

Stewart Bryson, Red Pill

 


JasperReportsJasper Reports Logo

JasperReports provide you very powerful reporting capabilities. You can produce pixel-perfect documents that can be viewed, printed or exported in a variety of document formats including HTML, PDF, Excel, OpenOffice and Word.JasperReports are 100% Java and 100% free of charge.

Using JasperReports is quite straightforward. A third-party graphical design tool called iReport is commonly used to aid in report design. The resulting report is saved in the form of a JRXML file which is a specialized XML format. The compiled version of the JRXML report file has a .JASPER extension and is submitted to the JasperReports server for execution.

Pros:
  • Free. No license required
Cons:
  • Requires some server setup
Architectural Diagram:

Jasper Architectural Diagram

 


PL-jrxml2pdf

PL-jrxml2pdf is a PL/SQL-program which takes a report-definition in jrxml-format and generated a PDF-result from it. It’s pure PL/SQL, so there’s no need for any middleware.

The process is very straightforward. First, design your reports using iReports which results in an JRXML file. then use PL-jrxml2pdf as runtime-engine to generate PDF from PL/SQL.

The software comes with an Oracle APEX-application which installs all required objects and samples. Also the APEX-application allows you
– to manage all PL-jrxml2pdf-objects
– to run reports
– to view logs written when running a report

Pros:

  • Free. No license required
Cons:
  • Output limited to PDF

PL/PDFplpdf

PL/PDF is a collection of PL/SQL packages to create PDF/XLSX/DOCX documents directly from your PL/SQL program without having to install third party drivers or software. Originally, there was no real GUI for PL/PDF and layouts were administered via a series of API calls. Recently, PL/PDF has come out with the PL/PDF Reporter which allows templates to be created using Microsoft Word.

It’s capable of generating PDF, DocX and XLSX files as well as processing XLSX sheets into your Oracle database.

Pros:
100% PL/SQL
Installs into same DB as APEX

Cons:
Maintenance of long report layouts can be tedious

From the field:

“PL/PDF is a great choice when you’re faced with complex business rules. For example, you need to create a report based on a subset of 5 templates, and depending on which products are included in a template, you may have to attach additional documents or even send out notifications. Since the core is PL/SQL, it’s trivial to handle situations like this with PL/PDF, and I typically keep it at the top of my list of recommended tools.”

Scott Spendolini, Sumneva


Oracle REST Data Services (ORDS)ORDS Logo

Oracle Application Express in conjunction with the Oracle Rest Data Services (ORDS)allows you to configure a classic report region, interactive reports and report queries to print by exporting it to an Adobe portable document format (PDF), Microsoft Word rich text format (RTF), Microsoft Excel format (XLS), or Extensible Markup Language (XML). By taking advantage of region report printing, your application users can view and print reports that have a predefined orientation, page size, column headings, and page header and footer.

Pros:
Free
No need to configure external printing engine

Cons:
Complex layouts require XSLT editors such as Altova Stylevision or Stylus Studio

Architectural Diagram:

ORDS Architectural Diagram

From the field:

“FOP is built into ORDS (previously known as APEX Listener), meaning you get out-of-the-box PDF printing with APEX with no additional configuration required. When compared to third-party solutions, the built-in printing options provide you with full access to your current session state and application data – no separate database connection or authentication needed.”

Marc Sewtz, Oracle Corporation

 


APEX Office Print (AOP)AOP Logo

This is the newest kid on the block and making quite a splash. Part of the reason is it comes from the mind of Dimitri Gielis, part of the reason is it’s that good. It is the only PrAAS option available. PrAAS is my own acronym that stands for PRinting As A Service. AOP can also be installed on-premise.

Like many of the printing tools, APEX Office Print segregates the data preparation from the data presentation process. The data preparation is a query that aggregates and organizes the data in JSON format.There is HUGE power with the JSON data structures. You can accommodate multiple detail data sets or “loops” within your report.

One of the most amazing tools is AOP’s ability to “print” an APEX interactive report. In your MS Word or MS Excel template, you can put the phrase {&interactive}. The actions taken in your interactive report will be shown in your report. Did you use sorting? Hide / Show columns? Aggregate and have control breaks? Well, these will all appear in your report.

Your reports can be PDF, Word, Excel or PowerPoint

Pros:

  • Ease of installation and setup
  • Templates can be created using Word, Excel or Powerpoint and without the need of plugins
  • Can be called via the provided APEX Plugin or PL/SQL API
  • Works with any technology that can call a REST API. It doesn’t require a database of any kind to work.
  • Assist template creation with auto creation of initial template based on data provided

Cons:

  • Minimum APEX version 4.2
  • License required

Architectural Diagram:

AOP Architectural Diagram

From the field:

“APEX Office Print is the only solution integrated with APEX e.g. print of Interactive Report.
Very simple to use! Very simple to setup!”

Dimitri Gielis, Apex R&D

 


Summary

BI PublisherJasperReportsJRXML2PDFPL/PDFORDSAOP
LicenseYesNoNoYesYesYes
TemplateRTFJRXMLJRXMLPL/SQLXSL-FODOCX
XSLX
PPT
OutputANYANYPDFPDF
DOCX
XSLX
PDF
WORD
XSLX
PDF
DOCX
RTF
XSLX
PPT
Ease of Use* ** ** * **** * *

 


The post Oracle APEX Printing Options appeared first on Insum.

Oracle Cloud Experience Technology Workshop Agenda In Dallas

$
0
0

The Oracle Public Cloud Experience Technology Hand-on-lab Workshop is sponsored by the Cloud Computing SIG of IOUG. Here’s what the high level agenda will look like for the Dallas Cloud Experience Technology Day Workshop being held on December 9th, 2016 at the Oracle Las Colinas office:

09:30 – 10:00 – Check-in
10:00 – 10:30 – Registration and cloud account setup for each student
10:30 – 11:00 – Introduction to Oracle Cloud and SSH Security
11:00 – 11:30 – Hands on Lab Workshop

11:30 – 12:00 – Oracle Storage Cloud and Database Backup Cloud Lecture
12:00 – 12:30 – Hands on Workshop
12:30 – 13:30 – Provided lunch and work through lunch as needed

13:30 – 14:00 – Oracle Cloud Customer Case Study
14:00 – 14:30 – Database Cloud Lecture
14:30 – 15:30 – Hands on Lab Workshop
15:30 – 16:00 – Oracle Storage Cloud Storage Appliance Lecture and Demo
16:00 – 16:15 – Final Questions and Answers

The outline for the Cloud Experience Technology Workshop will include the following content:
Introduction to Oracle Cloud
Review Oracle Cloud Fundamentals
– Logging into the OPC (for the first time)
– Discuss how to sign up for a free trial account

Storage Cloud
Oracle Storage Cloud Service Fundamentals
Object Storage
Archive Storage
What is a Container
Defining the Replication Policy
Setting the Replication Policy

Demonstrate Cloud SIG’s curl API in action
What is curl
Obtaining the Authorization token
Creating a Container with curl
Creating an Archive Container with Curl
Uploading a file with curl
Listing the Contents of a Container
Deleting a File in a Container
How much space have I consumed so far?
Upload CLI Jar
Uploading a File Using the uploadcli.jar File

Oracle Database Cloud
Provisioning a Database
* Generating SSH Keys
SSH’ing to the Database Server as oracle
SSH’ing to the Database Server as ops and root
Opening/enabling Port 1521
Creating a Database Link Between Private Database and Public Database Cloud
Creating a Secure Tunnel with ssh
Adding Database Storage to DBaaS

Oracle Database Backup Cloud
Show students how and where to download the Database Cloud Backup Module
Installing the Database Cloud Backup Module
Configuring RMAN for Backups
Backing up the Database to OPC
Discuss how and what is needed to perform backups for Oracle Standard Edition databases
Best Practices for Backing Up to OPC
Demonstrate how to restore and recover a database from the RMAN Database Cloud Backup

Review of Oracle Storage Cloud Software Appliance
Logging into the OSCSA
Best Practices with OSCSA
Where to find additional documentation
Quick Demo of Oracle Storage Cloud Software Appliance

Automatic resizing of modal dialogs

$
0
0
The modal dialogs are a very nice feature, easy to use and well integrated in the Apex framework. One thing that annoys me is the vertical sizing of the dialog window.
Normally I will create a page as a Modal dialog. When running it I notice that the window is way too high or not high enough. I go back to the builder and enter a number of pixels for the height and look what the result is. I repeat this process a few times until I am satisfied.



When the page is changed this may  change the height of the page, so... :-(.
This is typically one of these boring jobs I like to automate. So I examined the structure of the Apex modal dialog.
One thing that is counter intuitive is that the header of the modal dialog is part of the calling page. Only the red part is generated from the modal dialog page.


The height of the modal window is defined in the calling page. This is the reason why you have to refresh the calling page when you change the height of the modal dialog.

Inside the red square the height is determined by three div elements: dialog header, dialog body and dialog footer.
The JavaScript code below determines the total height of the dialog and sets the height of the determining element on the calling page to this value.

function resize_dialog()
{
var header = $('.t-Dialog-header');
var height = parseInt($(header).height());

var body = $('.t-Dialog-body');
var padding = parseInt($(body).css('padding-top')) + parseInt($(body).css('padding-bottom'));
height += padding;

var container = $(body).children().first();
height += parseInt($(container).height());

var footer = $('.t-Dialog-footer');
height += parseInt($(footer).height());
console.log('total height = '+ height );

parent_container = window.parent.$('.ui-dialog-content');
$(parent_container).height(height);
}


This code can be called in the On page load section of the dialog page.


It is also possible to call the function in a Dynamic Action that changes the height of the dialog content. Two examples of this behavior can be seen in the example page here. You can change the number of rows or number of items and the dialog is resized automatically.

Happy Apexing!





Automatic resizing of modal dialogs

$
0
0
The modal dialogs are a very nice feature, easy to use and well integrated in the Apex framework. One thing that annoys me is the vertical sizing of the dialog window.
Normally I will create a page as a Modal dialog. When running it I notice that the window is way too high or not high enough. I go back to the builder and enter a number of pixels for the height and look what the result is. I repeat this process a few times until I am satisfied.

When the page is changed this may  change the height of the page, so… :-(.
This is typically one of these boring jobs I like to automate. So I examined the structure of the Apex modal dialog.
One thing that is counter intuitive is that the header of the modal dialog is part of the calling page. Only the red part is generated from the modal dialog page.

The height of the modal window is defined in the calling page. This is the reason why you have to refresh the calling page when you change the height of the modal dialog.

Inside the red square the height is determined by three div elements: dialog header, dialog body and dialog footer.
The JavaScript code below determines the total height of the dialog and sets the height of the determining element on the calling page to this value.

function resize_dialog()
{
  var header  = $('.t-Dialog-header');
  var height  = parseInt($(header).height());  
    
  var body    = $('.t-Dialog-body');
  var padding = parseInt($(body).css('padding-top')) + parseInt($(body).css('padding-bottom'));
  height += padding;
    
  var container = $(body).children().first();
  height   += parseInt($(container).height());  
    
  var footer    = $('.t-Dialog-footer');
  height   += parseInt($(footer).height());  
  console.log('total height = '+ height );

  parent_container = window.parent.$('.ui-dialog-content');
  $(parent_container).height(height);
}

This code can be called in the On page load section of the dialog page.

It is also possible to call the function in a Dynamic Action that changes the height of the dialog content. Two examples of this behavior can be seen in the example page here. You can change the number of rows or number of items and the dialog is resized automatically.

Happy Apexing!

Source Article from http://dickdral.blogspot.com/2016/12/automatic-resizing-of-modal-dialogs.html

Agile Axpert 9.7 released

$
0
0
Agile Axpert is a RAD platform for building Enterprise class Applications without writing code. I am very excited about the latest release of the product. We will be launching our cloud platform soon, with some great ERP applications. 

Internet of Things

$
0
0
I was travelling between Chennai and Bangalore in India, suddenly my tire got punctured and damaged to the extent that needs a replacement, if i got a early warning would have saved 4500 INR. The drive back was scary because of no spare tire to rely on, I was thinking if there was a smart device inside the tire which monitors the PSI and sends data to the car Dashboard would have made my life easier. A week later attended Gartner's IT expo and convinced that the future is on Internet of Things. 

Oracle Data Visualization

$
0
0

Oracle Data Visualization Since Oracle has expanded its Data Visualization portfolio, (particularly with the launch of Data Visualization Cloud Service (DVCS) and Data Visualization Desktop (DVD)), I have written a few blogs providing an overview of the two products’ key features, an overview of access controls in DVCS, an overview of how to manage data

The post Oracle Data Visualization appeared first on Oracle Application Express (APEX) Consultants, developers and APEX training courses UK.

A PL/SQL "JSON explorer" based on the APEX_JSON package

Tuning GlassFish for Oracle APEX & ORDS in Production

$
0
0

Introduction

Picture
Installing GlassFish and deploying Oracle ORDS is well documented and fairly routine these days. It's really just a couple of downloads some unzipping, enter a few commands and you are pretty much there. That get's you a functional install but does not get you a production ready setup able to stand up to the rigors of a high volume and highly available production system.










​How far short of production ready is it? It may surprise you to know that the default installs will leave you with the following shortcomings:
  • When ORDS starts up, only 1 JDBC connection will be available incurring an overhead to start up other connections as users access ORDS
  • A maximum of 10 users can be accessing APEX at the same time
  • GlassFish will be running in development mode (which incurs an overhead in checking to see if code has changed)
  • None of your static files will be cached
  • If you have more than 1 CPU, you will not be taking advantage of it
  • GlassFish will only assign .5GB ram to Oracle ORDS, even if you have more available
  • Logging will be set to Info, adding a significant burden to GlassFish
  • ORDS will not log to the GlassFish log files
  • You are in danger of timing out on large file uploads
BTW, the list is pretty much the same for Tomcat. In this post, I'll point you in the right direction to get Oracle ORDS and GlassFish ready for production.

Setting the Scene

Of course every use case is different. In my example I am going to assume an actively used system with 250 users and an anticipated peak load of 50 users running in parallel. Remember, because of the stateless nature of APEX and ORDS, your database connection is returned to the pool as soon as your page renders (or your web-service returns a response). That means in our example we are assuming that 50 users could be clicking on a button at exactly the same time requiring all 50 connections (that is a lot). We are assuming a normal load of 20 concurrently active users. I am going to assume we have a dedicated web server running ORDS and GlassFish with 4GB RAM and 1 Quadcore CPU.

Oracle REST Data Services (ORDS)

Picture
You may have noticed the warning message when starting ORDS with default settings. There are four settings in the default.xml fle that need to be adjusted from the out of the box settings:

  • jdbc.InitialLimit (the number of DB connections that will be created when the server is started) & jdbc.MinLimit (minimum number of DB connections that will be kept alive at idle, or low water mark)
    • The default for these settings are 3 and 1 respectively
    • There is an overhead in ORDS establishing a new connection. In view of this we would want to set these values to our anticipated normal load.
    • In our example this would be 20.
    • I can't think of any reason these two values should be different.
  • jdbc.MaxLimit (maximum number of DB connections that can be active)
    • The default value is 10
    • This is the high water mark. As connections close through inactivity the number of open connections will idle down to jdbc.MinLimit
    • This should be set to the maximum anticipated concurrent load which in our case is 50
  • jdbc.MaxStatementsLimit (the maximum number of SQL statements to cache for each connection)
    • The default value is 10.
    • If we have available memory, we should up this to 20.
    • Note: If all our connections are busy this would be 50 connections * 20 cached SQL statements * (let's say average SQL statement size is 250 bytes) = 244K

GlassFish

Picture
There is a lot more to do on the GlassFish side. For each of the configurations, I will mention the human readable option name from the GlassFish Admin Console. You can also set most of these options directly in the domain.xml configuration file if you prefer.

  • Turn Off GlassFish Development Settings
    • Turn off Auto-Deploy  & Dynamic Re-Loading. Both of these features are great for development, but can affect performance.
  • JVM Settings:
    • –Xms (Initial Memory Allocated to JVM at Startup) & –Xmx (Max Memory Assigned to JVM). As we have 4GB, let’s assign half to the JVM. We should also start the JVM with all 2GB allocated so there is not work for the JVM to do in allocating memory as it goes.
    • -server (use the server VM as opposed to the Client VM). The Server VM has been specially tuned to maximize peak operating speed.
                      -Xmx2048m
                      -Xms2048m
                      -server
  • Acceptor Threads:
    • Acceptor threads are used to accept new connections to the server and to schedule existing connections when a new request comes in. Set this value equal to the number of CPU cores in your server.
    • In our case we have 1 Quadcore CPU so we should set this to 4.
  • Thread Pool:
    • We will set both the min and max to 100. Specifying the same values for Min and Max will allow GlassFish to use a slightly more optimized thread pool.
  • Timeouts (set to 10 minutes):
    • http-listener-1 > Connection Upload Timeout: 600000 (Milliseconds)
    • http-listener-1 > Request Timeout: 600 (Seconds)
  • HTTP Connections:
    • http-listener-1 > Max Connections = 200
    • The number of connections specified by Max Connections is divided equally among the threads.
  • Enable Caching for http-listener-1:
    • Status: Enabled
    • Max Age: 21600 (seconds) - 6 Hours
    • Max Cache Size: 52428800 (bytes) - 50 MB
    • Max File Count: 3000
  • Disable http-listener-2
    • We typically only need one listener so we disable "http-listener-2"
  • ​Logging :
    • Add the ORDS logger 'oracle.dbtools'
      • oracle.dbtools.level=WARNING
    • Set all other loggers to 'SEVERE'. This will reduce the workload on the web server as INFO is the default value which generates a lot of messages.

Screen Shots

Conclusion

The above settings are a guideline only for a fictitious work load. As with all things performance, you will still need to go through the exercise of adding load to your system and finding the right settings for your hardware, users, data etc. The good news is, you now know which levers to pull!

UK OUG Tech 16 Round-Up

In Memory Session State - Use Case

$
0
0
Many moons ago Anton Nielson posted about the different kinds of session state in Oracle APEX.

Different kinds?!

I remember session state was hard enough when learning, particularly coming from Oracle Forms. But how is there more than one, you may ask?

98% of the time we just need to worry about the persisted session state that we all know and love. The one we see when clicking "Session" in the developer toolbar. Essentially, this is just a normal table with a session ID, item name and value.

In Memory Session State (IMMS) is the 2% that comes and bites us occasionally. Recently I had a problem the scenario described by Anton as "2A Item Rendering". His description is a little tricky, but I think this visualisation of a simpler example will help.

IMSS Demonstration

Some page facts:

  • 'before region' has item P45_BEFORE, defaulted to A
  • Region 1 has condition P45_BEFORE = A 
  • Region 2 (after Region 1, not visible) has condition P45_AFTER = B 
  • 'after region' has item P45_AFTER, defaulted to B
  • The items have no source, and are just defaulted to those values shown.
  • Session state (persisted) remains empty before/after. During is another story. 

In this case, while it renders Region 1, IMSS will actually report a value of A for P45_BEFORE while rendering Region 1, hence it's displayed. Since P45_AFTER is rendered after Region 2, the value is null during the evaluation of the condition.

Therefore, the results differ by moving the location of the items relative to the component with the condition.

Unfortunately I couldn't find any support/explanation for this behaviour in the debug log, even at LEVEL9.

In my actual case, I had an item that stopped a report from being rendered until the user selected criteria and clicked submit. I did this by defining a hidden P1_SUBMITTED, defaulted to Y, and used that as the condition in the report.

This usually worked fine since the item is usually with other criteria in the Right Side region, but a new page had this item at the top of the page. So P1_SUBMITTED was treated as having a value Y while rendering my report, just like in the example above with P45_BEFORE.

Happy APEXing!

Pretius APEX Date Range

$
0
0
Pretius APEX Date RangeOracle APEX item plugin v1.0The plugin is Oracle APEX item plugin providing new date picker supporting range of dates. The plugin is dedicated to work with Oracle APEX Universal Theme. Behaviour and appeareance of the plugin can be changed with various settings.Live demo, instructions and more details about the plugin are available directly at demo application (http://apex.pretius.com/apex/f?p=105:DATERANGE).

Oracle Cloud Experience at Great Lakes Oracle Conference 2017

$
0
0

The Oracle Cloud Experience Technology Hands-on-lab Workshop is sponsored by the Cloud Computing SIG of IOUG. Here’s what the high level agenda will look like for the Great Lakes Oracle Conference which will be held on May 17 and 18 at Cleveland, Ohio. Every attendee will be given a Kindle version of the Oracle Cloud Pocket Solutions Guide:

NewImage

The Cloud Experience Technology Hands-on-lab Workshop will start with creating a database in Oracle Cloud. We will also focus on backing up an on-premise database to the cloud and various solutions that’s available from Oracle to backup both Oracle databases and non-Oracle databases. We will discuss complete solution options that you can implement as you make your journey to Oracle Cloud.

We will also discuss real-life solutions addressing security concerns, opening ports, creating database links/communicating with databases in Oracle Cloud, and innovations that Oracle has made to Oracle Cloud in the past 2 years.

Here’s a high level agenda of the Oracle Cloud Experience HOL Workshop for the Great Lakes Oracle Conference on May 17 and 18:

01:00 – 01:30 – Introduction to Oracle Cloud and Security
01:30 – 01:45 – Login to on-premise accounts and cloud accounts

01:45 – 02:15 – Database Cloud Lecture
02:15 – 03:00 – Hands on Workshop

03:00 – 03:30 – Oracle Storage Cloud and Database Backup Cloud Lecture
03:30 – 04:00 – Hands on Lab Workshop

Normally, this is an all day lecture and hands-on-lab workshop. We have created a special condensed version for the Great Lakes Oracle Conference.

The Oracle Cloud Solution Guide addresses Oracle Cloud fundamentals, Storage Cloud, Database Cloud, and Oracle Database Backup Cloud, as a quick go-to reference guide, as seen by industry experts. Here’s the outline of the book:
Introduction to Oracle Cloud
Review Oracle Cloud Fundamentals
– Logging into the OPC (for the first time)
– Discuss how to sign up for a free trial account

Storage Cloud
Oracle Storage Cloud Service Fundamentals
Object Storage
Archive Storage
What is a Container
Defining the Replication Policy
Setting the Replication Policy

Demonstrate Cloud SIG’s curl API in action
What is curl
Obtaining the Authorization token
Creating a Container with curl
Creating an Archive Container with Curl
Uploading a file with curl
Listing the Contents of a Container
Deleting a File in a Container
How much space have I consumed so far?
Upload CLI Jar
Uploading a File Using the uploadcli.jar File

Oracle Database Cloud
Provisioning a Database
* Generating SSH Keys
SSH’ing to the Database Server as oracle
SSH’ing to the Database Server as ops and root
Opening/enabling Port 1521
Creating a Database Link Between Private Database and Public Database Cloud
Creating a Secure Tunnel with ssh
Adding Database Storage to DBaaS

Oracle Database Backup Cloud
Show students how and where to download the Database Cloud Backup Module
Installing the Database Cloud Backup Module
Configuring RMAN for Backups
Backing up the Database to OPC
Discuss how and what is needed to perform backups for Oracle Standard Edition databases
Best Practices for Backing Up to OPC
Demonstrate how to restore and recover a database from the RMAN Database Cloud Backup

Review of Oracle Storage Cloud Software Appliance
Logging into the OSCSA
Best Practices with OSCSA
Where to find additional documentation
Quick Demo of Oracle Storage Cloud Software Appliance

Posted by: Charles Kim, Oracle ACE Director

APEX 5.2 early outlook

$
0
0
It seems at a recent conference a slide was put up that a few tweeters managed to snap a photo of:

It describes some goals for APEX 5.2 and beyond, of course coming with the usual safe harbor statement - we're still waiting for 5.1!

I do enjoy these snippets into the future, having talked about various APEX SOD in the past. Though I realise I'm doing this not having heard the talk that came with the slide, so I could be interpreting things wrong.

This was the best image I saw, so for those who struggle to read it (emphasis theirs):
  1. Tighter integration / native integration with RESTful web services and ORDS
  2. Improved integration with Developer Cloud Service (hudson, git)
  3. Enhanced self service cloud with documented RESTful APIs
  4. Proper APEX app diff, full app change history capture
  5. Friendly URLs
  6. Automated APEX app testing
  7. Greater internal use of JSON expanding on interactive grids and page designer
  8. Allow page designer to set IR and IG report settings at design time
  9. Multiple concurrent versions, for example 5.1 and 5.2 - goal is to ease upgrade
  10. Documented APIs to dynamically generate APEX application components
#1 is no surprise, I'd be shocked if this didn't continue to happen, as with the cloud stuff.
#4 will excite the bean counters, though I'd be happy with just a more accurate change history.
#5 A zillion ways to do this, but something within the builder would be cool. Particularly since I've attempted none of them.
#6 well, this would be impressive.
#8 excites me, particular in a world where half the time I don't include the search bar, so modifying report settings becomes a pain.
#9 surprises me. I'm not sure how they'll solve this, but quite an engineering effort when upgrades are fairly seemless, the UT has the Verify option that we'll finally be able to play with, and we also have jQuery legacy options in the UI details. But I guess it does reduce the need for another server during regression testing...
#10 still not sure I get why people want to do this, but why not I guess.

Noticely absent: any mention of OracleJET. I thought they may take fuller advantage of such a rich product.

To me this list is another sign of APEX's maturity. 5.0 came with a lot of stuff to excite developers, and 5.1 ties a tidy knot in the bow (and introduces OracleJET...)
This list for 5.2 is mostly infrastructure stuff, right?

Time will tell.

Yes-No Flipswitch/Toggle

$
0
0
Flipswitches for Yes-No, On-Off, Start-Stop, etc in a typical style of a mobile phone

Adding Reserved command in SQLcl

$
0
0
I saw Stephen's example of checking reserved words in the database from Vertan's day and figured I'd do the same in SQLcl. #595 #plsql Is it a reserved word? PL/SQL procedure to help you sort that out. Dyn PLSQL example! @oraclelivesql https://t.co/M10kVnsQ3y pic.twitter.com/XFFHOVzNCK — Steven Feuerstein (@sfonplsql) November 11, 2016 Checked if something is reserved seems like a nice add

November E-News

$
0
0
The latest News from ODTUGBoard of Directors Election ResultsMember SurveyCommunity NewsKscope17Kscope16 Presentations and Recordingsand more...
Viewing all 2258 articles
Browse latest View live