Oracle Tidbits – September 2017 #oratidbit

“Oracle *daily* TidBits” (#oratidbit) published on Facebook, Twitter, and Google+ during weekdays in September 2017. You will also see these tidbits, one tidbit at a time, for each page refresh on the right side of this blog as well… Hope you find these helpful to learn something new or to remind you of its existence and use. […]

Comprehensive automated test coverage tool kit – Service bus (and ICS)

If we are not test first (or at least test alongside) programming, we are essentially debug later programming (See "Physics of Test Driven Development").

If the enterprise service bus sits in the middle of an organisation's messaging and integration landscape, there are some key architectural principles that help in getting the best out of any service bus solution:
  • It is not the place for business logic but for integration logic i.e. heavy on (more...)

Implementing Arc Relationships with Virtual Columns? Or Not?

I wrote a post some time ago about implementing arc relationships using virtual columns.
Recently, Toon Koppelaars wrote a detailed and reasoned comment to that post. Since I admire Toon, getting his point of view on something that I wrote is a privilege for me, regardless if he agrees with me or disagrees (and just to be clear, it’s the latter this time). I think that having a public (and civilized) discussion – this time (more...)

EBS : Milestone Billing

Milestone is a type of billing that occurs only as certain milestones have been attained. Milestones are events or conditions that trigger the billing. For example, you can bill customers based on the number of days since the activity began, a specific date, a manual milestone you specify, or an activity percentage of completion. You […]

Performance Analysis of a CPU-Intensive Workload in Apache Spark

Topic: This post is about techniques and tools for measuring and understanding CPU-bound and memory-bound workloads in Apache Spark. You will find examples applied to studying a simple workload consisting of reading Apache Parquet files into a Spark DataFrame.

Why are the topics discussed here relevant

Many workloads for data processing on modern distributed computing architectures are often CPU-bound. Typical servers underlying current data platforms have a large and increasing amount of RAM and (more...)

VBCS: See all Projects

| Sep 29, 2017
When you are collaborating in VBCS, Visual Builder Cloud Service, it can be tricky when you work together on one identitydomain. For example, Daphne created an application for us to demo on OOW17 since she is doing the first part of the demo and was testing our demo script. Now that she is done, I can take over and prepare the second part of the demo script.

However, where is the application? I only see (more...)

Oaktable World 2017 @ Oracle Open World

The Oak Table members will be discussing their latest technical obsessions and research on Monday and Tuesday, (Oct. 2nd and 3rd, 2017).  The truth is, folks-  The Oak Table experts are an AWESOME group, (if I don’t say so myself! :)) as we could have easily done another day of incredible sessions, but alas, two days is all we have available for this year’s event.


Screen Shot 2017-09-29 at 11.10.53 AM

Screen Shot 2017-09-29 at 11.11.04 AM

Configure Oracle Reports 12c (12.2.x) for destype=file

I currently had in a project a request, that Oracle Reports should be generated with the option destype=file to a specific location on the server which is hosting the Oracle Forms & Reports 12c environment.

Since Oracle Forms & Reports 12c, the so called "File System Access Control" is enabled by default, so any request like http://<server>:<Port_of_ManagedServer_Reports>/reports/rwservlet?report=test.rdf&userid=test/test@db1&destype=file&desformat=pdf&desname=/u00/app/oracle/demo_app/rep_output/test.pdf&server=rep_server1 will fail:

When you check the corresponding log files for your Reports Server you will (more...)

Irish people presenting at OOW

Here is a list of presentations at Oracle Open World and JavaOne in 2017, that will be given by people and partners based in Ireland.

(I'll update this list if I find additional presentations)

Sunday13:45-14:30SQL: One Language to Rule All Your Data [OOW SUN1238]

Brendan Tierney, Oralytics

SQL is a very powerful language (more...)

Two interesting reads on team structure and focus

Two interesting reads on team structure and focus

(Re)discovered two interesting reads on team structure and focus this week that I like to share.

Pioneers, Settlers and Town Planners

pioneer, settler and town planner The Pioneers, Settlers and Town Planners approach help structure organisations and teams. It takes into account how activities and practices move from chaotic (poorly understood, uncertain, constantly changing, rare, future source of worth) to more linear (well-defined, predictable, stable, common, cost of doing business) and how (more...)

How to group connected elements (or pairs)

I see quite often when developers ask questions about connected components:

Table “MESSAGES” contains fields “SENDER” and “RECIPIENT”, which store clients id.
How to quickly get all groups of clients who are connected even through other clients if the table has X million rows?
So for this table, there should be 4 groups:
  • (1, 2, 4, 8, 16)
  • (3, 6, 12)
  • (5, 10, 20)
  • (7, 14)
  • (9, 18)
3 (more...)

Multiple smtp relay send accounts for office365

This is a follow up on this post here about smtp and office365 - after some more investigation i've made some further changes as our use case changed slightly and the original solution didn't fit.

Originally we just needed to be able to send all emails originating from a single account and we had some postfix config that would do that.

Now however we want to be able to send smtp messages out from multiple (more...)

Performance Analysis of a CPU-Intensive Workload in Apache Spark

Topic: This post is about techniques and tools for measuring and understanding CPU-bound and memory-bound workloads in Apache Spark. You will find examples applied to studying a simple workload consisting of reading Apache Parquet files into a Spark DataFrame.


IoT Workshop and Robots

AppsLab has been offering the IoT Workshop since Oracle OpenWorld 2016. And over past one year we have hosted the workshop in 20 cities around world as part of Oracle Code events, plus at Kscope 2017 conference. And if you still managed to miss all the events,  Oracle OpenWorld 2017 might be your last chance 🙂

IoT device kit for workshop participants

IoT device kit for workshop participants

Just come by Oracle Developer Community Lounge in Moscone West (no pre-registration (more...)

Avoiding reinventing the wheel – use MULTISET EXCEPT to get set relative complement

Today in an application I stumbled upon a PL/SQL function created to return those elements of one nested table that did not exist in another nested table. Not a huge function, but still a bit of work and some thinking that had been done some while ago to compare the elements and create the desired output nested table.

The trouble is, that this functionality already natively exists in PL/SQL (and SQL) - the developer had (more...)

Delete large amounts of data on Galera Cluster using pt-archiver

Galera Cluster is excellent virtually synchronous multi-master database cluster. It has many benefits which you can check on GaleraCluster.
But beside benefits it has some limitations and one of them is handling large transactions.

Large replication data sets could degrade performance of whole cluster causing cluster freezing, increased memory consumption, crashing nodes, etc. To avoid this issues it is recommended to split large transactions into smaller chunks.

In this post I want to show you (more...)

How to install MongoDB

This post shows the yum command to install the MongoDB packages on Linux. More on setup and use will follow.

You install the MongoDB package with the following yum command:

yum install -y mongodb

You should see the following log file, which may also show a missing mirrored site:

Loaded plugins: langpacks, refresh-packagekit
cassandra/signature                                         |  819 B  00:00     
cassandra/signature                                         | 2.9 kB  00:00 !!! 
mysql-connectors-community                                  | 2.5 kB  00:00     
mysql-tools-community                                       | 2.5 kB   (more...)


In this post I will simultaneously have Fun With Data and Fun With Maps. I will use public APIs to turn my Isle of Alameda into a “choropleth“, a map which displays areas that are colored or patterned in relation to data.

To do this I will need to find boundaries within Alameda that I can associate with data of some kind. For this I turn to the ultimate source of geographical data (more...)

Optimize Oracle response times with Cary Millsap using Method R

Came across this interesting logical method of Oracle Database Tuning called as Method R, created by Cary Millsap (pictured), a performance tuning expert and an Oracle veteran. If you want to learn more about Method R, you can attend the webinar below. The following information is from Cintra where Cary is currently a Vice President.


Date: Wednesday 27th September 2017

Time: 11:00 (EDT) and 16:00 (BST) 
Duration: 30 minutes + 15 minutes Q&A
Location: (more...)

Performance Feedback Optionen in 12c aktivieren und deaktivieren

Christian Antognini erläutert in seinem Blog, welche Schwierigkeiten sich in 12c ergeben, wenn man das "Performance Feedback" aktivieren oder deaktivieren möchte. Zur Erinnerung: das Performance Feedback ist ein adaptives Feature und dient zur automatischen Prüfung, ob ein initial gewählter Parallelisierungsgrad tatsächlich vorteilhaft ist. Relativ harmlos ist bei der Konfoiguration noch der Faktor, dass sich der zugehörige Parameter in 12.1 OPTIMIZER_ADAPTIVE_FEATURES nennt, während er in 12.2 (bzw. auch in 12.1, wenn man den (more...)