Feed aggregator

Identifying Conditional Navigation Content References

Jim Marion - Thu, 2017-10-12 15:30

As PeopleSoft customers upgrade to Fluid-enabled applications, it is quite common to start with Fluid disabled, and then implement Fluid behavior post go-live. It is all about change management and an organization's ability to digest change. Even though Oracle has set retirement dates for certain Classic components, with the first wave retiring December 31, 2017, all Classic functionality is still supposed to be present and available. But if you have opened a recent PeopleSoft image or are in the middle of updating to a recent HCM build, you may be asking, "Where are those delivered and supported Classic components?" If you investigate the portal registry, you will see they exist, they just don't appear in any menus. Many of these menu items, such as the Personal Details menu items, use a feature named Conditional Navigation. PeopleSoft uses Conditional Navigation to conditionally replace Classic menu items with their Fluid counterparts. You can read more about Conditional Navigation in PeopleBooks at PeopleTools PeopleBooks entry Products > Development Tools > Portal Technology > Understanding Conditional Navigation. A question I hear regularly is, "How do I temporarily enable Classic components in my PeopleTools 8.55+ environment?" The first step is to disable Conditional Navigation and the MyOracle Support document 2215964.1 describes how. Armed with this information, you now know what it is, how to configure it, and how to disable it, but how do you find it? I mean, what components are preconfigured for conditional navigation? Since conditional navigation uses CREF attributes, CREF identification requires a small SQL statement:

That is nice, but the portal registry isn't structured that way. Next question: How do I find those CREFs in the portal registry? Here is the longer form SQL statement. Results contain complete paths to conditionally configured items. Those of you that follow my blog may recognize this SQL as a derivative of Query for Component and/or CREF Navigation Take II

JSON manipulation in Java 9 JShell

Amis Blog - Thu, 2017-10-12 09:38

In this article I will demonstrate how we can work with JSON based data – for analysis, exploration, cleansing and processing – in JShell, much like we do in Python. I work with a JSON document with entries for all sessions at the Oracle OpenWorld 2017 conference (https://raw.githubusercontent.com/lucasjellema/scrape-oow17/master/oow2017-sessions-catalog.json)

The Java 9 SE specification for the JDK does not contain the JSON-P API and libraries for processing JSON. In order to work with JSON-P in JShell, we need to add the libraries – that we first need to find and download.

I have used a somewhat roundabout way to get hold of the required jar-files (but it works in a pretty straightforward manner):

1. Create a pom.xml file with dependencies on JSON-P





2. Then run

mvn install dependency:copy-dependencies

as described in this article: https://technology.amis.nl/2017/02/09/download-all-directly-and-indirectly-required-jar-files-using-maven-install-dependencycopy-dependencies/

this will download the relevant JAR files to subdirectory target/dependencies


3. Copy JAR files to a directory – that can be accessed from within the Docker container that runs JShell – for me that is the local lib directory that is mapped by Vagrant and Docker to /var/www/lib inside the Docker container that runs JShell.


4. In the container that runs JShell:

Start JShell with this statement that makes the new httpclient module available, for when the JSON document is retrieved from an HTTP URL resource:

jshell –add-modules jdk.incubator.httpclient


5. Update classpath from within jshell

To process JSON in JShell – using JSON-P – we need set the classpath to include the two jar files that were downloaded using Maven.

/env –class-path /var/www/lib/javax.json-1.1.jar:/var/www/lib/javax.json-api-1.1.jar

Then the classes in JSON-P are imported

import javax.json.*;

if we need to retrieve JSON data from a URL resource, we should also

import jdk.incubator.http.*;


6. I have made the JSON document available on the file system.


It can be accessed as follows:

InputStream input = new FileInputStream(“/var/www/oow2017-sessions-catalog.json”);


7. Parse data from file into JSON Document, get the root object and retrieve the array of sessions:

JsonReader jsonReader = Json.createReader(input)

JsonObject rootJSON = jsonReader.readObject();

JsonArray sessions = rootJSON.getJsonArray(“sessions”);


8. Filter sessions with the term SQL in the title and print their title to the System output – using Streams:

sessions.stream().map( p -> (JsonObject)p).filter(s ->  s.getString(“title”).contains(“SQL”)) .forEach( s -> {System.out.println(s.getString(“title”));})



One other example: show a list of all presentations for which a slidedeck has been made available for download along with the download URL:


.map( p -> (JsonObject)p)

.filter(s -> s.containsKey(“files”) && !s.isNull(“files”) && !(s.getJsonArray(“files”).isEmpty()))

.forEach( s -> {System.out.println(s.getString(“title”)+” url:”+s.getJsonArray(“files”).getJsonObject(0).getString(“url”));})


Bonus: Do HTTP Request

As an aside some steps in jshell to execute an HTTP request:

jshell> HttpClient client = HttpClient.newHttpClient();
client ==> jdk.incubator.http.HttpClientImpl@4d339552

jshell> HttpRequest request = HttpRequest.newBuilder(URI.create(“http://www.google.com”)).GET().build();
request ==> http://www.google.com GET

jshell> HttpResponse response = client.send(request, HttpResponse.BodyHandler.asString())
response ==> jdk.incubator.http.HttpResponseImpl@147ed70f

jshell> System.out.println(response.body())
<HTML><HEAD><meta http-equiv=”content-type” content=”text/html;charset=utf-8″>
<H1>302 Moved</H1>
The document has moved
<A HREF=”http://www.google.nl/?gfe_rd=cr&amp;dcr=0&amp;ei=S2XeWcbPFpah4gTH6Lb4Ag”>here</A>.



The post JSON manipulation in Java 9 JShell appeared first on AMIS Oracle and Java Blog.

SQL Server Management Studio New Features

Yann Neuhaus - Thu, 2017-10-12 09:24

regularly, Microsoft SQL Server comes up with its new features, and in particular SSMS 2017 17.3

in this post, i present you a new feature : Import flat files

How does it works :

Open SSMS, and right click on a selected database


Choose Import Flat File



Click Next



Tip the Path of your file to import and the new target table’s name


this is an overview of the file content

Click Next


As you can see a data type conversion is purposed , click Next



Click Finish and import task start


The import task is complet



to verify, go to your database and execute a select on the brand new table



This is a small tool that will make life easier for us to insert flat files quickly, the only drawback is that you can not insert the data on an existing table, the tool will ask you to create a new table.


Cet article SQL Server Management Studio New Features est apparu en premier sur Blog dbi services.

AUSOUG Connect 2017 – see you in Perth

Jeff Kemp - Thu, 2017-10-12 09:13

I’ll be presenting a talk about some APEX applications I’ve been building gradually over the past five years at the AUSOUG Connect 2017 conference in Perth, Western Australia on 29 November.

My hope is that you’ll get some ideas on how best to set up the overall architecture for your APEX applications that may need to serve more than one customer – whether different organisations or different business groups within your organisation.

Although it’s just one day, there’s a lot of good content packed in for developers, DBAs and eBusiness professionals so you really don’t want to miss it!

For more info

Oracle Utilities, Navigant Research Unveil Dual Innovation Blueprint Study for Utilities

Oracle Press Releases - Thu, 2017-10-12 06:45
Press Release
Oracle Utilities, Navigant Research Unveil Dual Innovation Blueprint Study for Utilities Utility executives worldwide share innovation best practices

Redwood Shores, Calif.—Oct 12, 2017

Oracle Utilities today unveiled a new research paper, titled ‘Utility Innovation Blueprint: How to Manage the Challenge of Dual Transformation,’ which explores how utilities can approach innovation across their people, processes and technology. Commissioned from Navigant Research, the paper combines short case studies with an action-oriented framework that offers a global perspective from executives interviewed in the United States, Europe, and Asia/Australia, across electric, gas, and water utilities. Participants included executives from Avista, Exelon, National Grid, UK Power Networks, Eesti Energia and Yarra Valley Water.

Historically, utilities have focused on core business objectives around safety, security, reliability and shareholder returns. However, massive disruption is currently occurring within the industry, with the advancement of distributed energy resources, IoT, big data and increasing customer expectations. These factors and more are signaling fundamental changes to business as usual. The new paper explains that simply knowing that disruption is coming is not enough. A blueprint for a new innovation path is required, one that needs to be agile and pragmatic.

The research takes a close look at a Dual Innovation Blueprint, a practice whereby a utility pursues two tracks simultaneously: one focuses on increasing the efficiency and resiliency of the core business, while the second centers around increasing agility to enable the iteration of new business models. 

Innovation Blueprint

While many industries have been faced with similar challenges, the approach detailed in the Navigant Research paper is a platform for innovation specific to the utilities industry, one that encompasses not only technology, but also the people and processes within the utility’s organization. According to the report, utilities looking to address innovation challenges should:

  • Adopt a set of processes that will optimize the success of innovation projects by evaluating accountability by project type, balancing finance with risk, and constantly monitoring progress.
  • Understand which technologies will enable innovation by digitizing then automating, deploying cloud analytics and iterating on new services.
  • Create a culture in which innovation can flourish by securing executive sponsorship, embracing new organizational perspectives and empowering employees.

“Changing business culture to incorporate innovation is one of the hardest things to do. Innovation teams must influence the business, but this can be very difficult to achieve. Increased communication around innovation is critical” said Ian Cameron, Head of Innovation, UK Power Networks.

“Utilities are increasingly facing the challenge of how to maintain reliability while simultaneously operating in an agile manner conducive to innovation,” said Rodger Smith, senior vice president and general manager of Oracle Utilities. “We believe the framework for dual innovation described in this paper provides an actionable model for utilities to respond to disruption.”

The executives interviewed for this research represent 16 utilities on three continents, serving 42 million customers, with 162,000 employees, selling electricity, water and gas.

Contact Info
Valerie Beaudett
+1 650.400.7833
Christina McDonald
+1 212.614.4221
About Oracle

The Oracle Cloud offers complete SaaS application suites for ERP, HCM and CX, plus best-in-class database Platform as a Service (PaaS) and Infrastructure as a Service (IaaS) from data centers throughout the Americas, Europe and Asia. For more information about Oracle (NYSE:ORCL), please visit us at www.oracle.com.

About Navigant Research

Navigant Research, the dedicated research arm of Navigant, provides market research and benchmarking services for rapidly changing and often highly regulated industries. In the energy sector, Navigant Research focuses on in-depth analysis and reporting about global clean technology markets. The team’s research methodology combines supply-side industry analysis, end-user primary research and demand assessment, and deep examination of technology trends to provide a comprehensive view of the Energy Technologies, Utility Transformations, Transportation Efficiencies, and Buildings Innovations sectors. Additional information about Navigant Research can be found at www.navigantresearch.com.


Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Talk to a Press Contact

Valerie Beaudett

  • +1 650.400.7833

Christina McDonald

  • +1 212.614.4221

ORA-01722: invalid number error in decode

Tom Kyte - Thu, 2017-10-12 04:46
1. select decode('a',1,1,2) from dual --------> O/P Error saying Invalid Number 2. select decode(1,'a',1,2) from dual --------> O/P : 2 what is the difference in the above two cases and also please explain the execution process? Thanks I...
Categories: DBA Blogs

Using Analytical Functions to get Group Total

Tom Kyte - Thu, 2017-10-12 04:46
I need a GROUP TOTAL for EACH MONTH that SUMS up all the values in APPL column even when the query is for a particular APPL value. <code>create table test_grp_total (dttm_month date, appl varchar2(5), mins number) insert into test_grp_total va...
Categories: DBA Blogs

Incremental ETL : Streaming via Micro-Batch

Dylan's BI Notes - Wed, 2017-10-11 23:40
A modern analytic application takes the approach of streaming data to perform the similar process as the traditional data warehousing incremental ETL. Actually, if we look into Spark Streaming in details, the concept of streaming in Spark and Incremental ETL are the same: Spark Streaming is a Micro-Batch based streaming. Each micro-patch is much like […]
Categories: BI & Warehousing

Incremental ETL – The last refresh date

Dylan's BI Notes - Wed, 2017-10-11 15:31
There are multiple ways to model the last refresh date. In OBIA, DAC and Informatica based ETL, the last refresh date is maintained within DAC. It is maintained at the level of the source tables that populates the data. Oracle BI DAC User Guide > About Refresh Dates and DAC’s Incremental Load Strategy In OBIA […]
Categories: BI & Warehousing

Oracle OpenWorld 2017 Keynotes and Presentations

Richard Byrom - Wed, 2017-10-11 13:00

If you missed out on Oracle OpenWorld 2017 or simply want to catch up on the plethora of keynotes and sessions that were available then the session catalog is a good place to start as you can download presentations there. You can search by keyword or apply any of the following filters to view pertinent content: -

  • Day
  • Emerging Technologies for Business
  • IT Infrastructure
  • Intelligent Cloud Applications
  • Integrated Cloud Platform
  • SMB (Small to Medium Business)
  • Session Type

Oracle OpenWorld Session Catalog Presentations

Furthermore, there’s a pretty good library of on-demand keynotes where you can watch highlights or full length replays.

Oracle OpenWorld Keynote Larry Ellison 2017

Personally, I’m going to start making my way through this content with a view to highlighting some of the best picks here.

Java 9 – First baby steps with Modules and jlink

Amis Blog - Wed, 2017-10-11 12:00

In a recent article, I created an isolated Docker Container as Java 9 R&D environment: https://technology.amis.nl/2017/10/11/quick-and-clean-start-with-java-9-running-docker-container-in-virtualbox-vm-on-windows-10-courtesy-of-vagrant/. In this article, I will use that environment to take few small steps with Java 9 – in particular with modules. Note:this story does not end well. I wanted to conclude with using jlink to create a stand alone runtime that contained both the required JDK modules and my own module – and demonstrate how small that runtime was. Unfortunately, the Link step failed for me. More news on that in a later article.

Create Custom Module

Start a container based on the openjdk:9 image, exposing its port 80 on the docker host machine and mapping folder /vagrant (mapped from my Windows host to the Docker Host VirtualBox Ubuntu image) to /var/www inside the container:

docker run -it -p -v /vagrant:/var/www openjdk:9 /bin/sh

Create Java application with custom module:  I create a single Module (nl.amis.j9demo) and a single class nl.amis.j9demo.MyDemo. The module depends directly on one JDK module (httpserver) and indirectly on several more.

imageThe root directory for the module has the same fully qualified name as the module: nl.amis.j9demo.

This directory contains the module-info.java file. This file specifies:

  • which modules this module depends on
  • which packages it exports (for other modules to create dependencies on)

In my example, the file is very simple – only specifying a dependency on jdk.httpserver:


The Java Class MyDemo has a number of imports. Many are for base classes from the java.base module. Note: every Java module has a implicit dependency on java.base, so we do not need to include it in the modue-info.java file.


This code create an instance of HttpServer – an object that listens for HTTP Requests at the specified port (80 in this case) and then always returns the same response (the string “This is the response”). As meaningless as that is – the notion of receiving and replying to HTTP Requests in just few lines of Java Code (running in the OpenJDK!) is quite powerful.

package nl.amis.j9demo;
import java.io.*;
import java.net.*;
import java.util.*;
import java.util.concurrent.*;
import java.util.stream.*;
import com.sun.net.httpserver.*;

import static java.lang.System.out;
import static java.net.HttpURLConnection.*;

public class MyDemo{
  private static final int DEFAULT_PORT = 80;
  private static URI ROOT_PATH = URI.create("/"); 

private static class MyHandler implements HttpHandler {
       public void handle(HttpExchange t) throws IOException {
           URI tu = t.getRequestURI();
           InputStream is = t.getRequestBody();
           // .. read the request body
           String response = "This is the response";
           t.sendResponseHeaders(200, response.length());
           OutputStream os = t.getResponseBody();

  public static void main(String[] args) throws IOException {
    HttpServer server = HttpServer.create(new InetSocketAddress(DEFAULT_PORT), 0);
    server.createContext("/apps ", new MyHandler());
    server.setExecutor(null); // creates a default executor
    out.println("HttpServer is started, listening at port "+DEFAULT_PORT);


Compile, Build and Run

Compile the custom module:

javac -d mods –module-source-path src -m nl.amis.j9demo


Create destination directory for JAR file

mkdir -p lib

Create the JAR for the module:

jar –create –file lib/nl-amis-j9demo.jar –main-class nl.amis.j9demo.MyDemo -C mods/nl.amis.j9demo .


Inspect the JAR file:

jar tvf lib/nl-amis-j9demo.jar


To run the Java application- with a reference to the module:

java –p lib/ -m nl.amis.j9demo


the traditional equivalent with a classpath for the JAR file(s) would be:

java -classpath lib/nl-amis-j9demo.jar nl.amis.j9demo.MyDemo

Because port 80 in the container was exposed and mapped to port 8080 on the Docker Host, we can access the Java application from the Docker Host, using wget:



The response from the Java application is hardly meaningful However, the fact that we get a response at all is quite something: the ‘remote’  container based on openjdk:9 has published an HTTP server from our custom module that we can access from the Docker Host with a simple HTTP request.


I tried to use jlink – to create a special runtime for my demo app, consisting of required parts of JDK and my own module. I expect this runtime to be really small.

The JVM modules by the way on my Docker Container are in /docker-java-home/jmods


The command for this:

jlink –output mydemo-runtime –module-path lib:/docker-java-home/jmods –limit-modules nl.amis.j9demo –add-modules nl.amis.j9demo –launcher demorun=nl.amis.j9demo –compress=2 –no-header-files –strip-debug

Unfortunately, on my OpenJDK:9 Docker Image, linking failed with this error:


Error: java.io.UncheckedIOException: java.nio.file.FileSystemException: mydemo-runtime/legal/jdk.httpserver/ASSEMBLY_EXCEPTION: Protocol error


Documentation for jlink – https://docs.oracle.com/javase/9/tools/jlink.htm

JavaDoc for HttpServer package – https://docs.oracle.com/javase/9/docs/api/com/sun/net/httpserver/package-summary.html#

Java9 Modularity Part 1 (article on Medium by Chandrakala) – https://medium.com/@chandra25ms/java9-modularity-part1-a102d85e9676

JavaOne 2017 Keynote – Mark Reynolds demoing jlink – https://youtu.be/UNg9lmk60sg?t=1h35m43s

Exploring Java 9 Modularity – https://www.polidea.com/blog/Exploring-Java-9-Java-Platform-Module-System/

The post Java 9 – First baby steps with Modules and jlink appeared first on AMIS Oracle and Java Blog.

Convert row to matrix and save in table

Tom Kyte - Wed, 2017-10-11 10:26
Good Day I want to ask for your valuable help on a problem that I found, there is a table that stores the information in a single column in Clob format and is copied to another table of a second Oracle Schema, which separates the information with ...
Categories: DBA Blogs

ORA-12560: TNS:protocol adapter error (when running rman backup from scheduler on windows Oracle database)

Tom Kyte - Wed, 2017-10-11 10:26
Hi, I trying to setup a scheduler job on my windows 64bit Oracle database version 12C Below is the script i used where i created OS authentication and create a scheduler to run the backup_script. -- Create a credential so script is run as the co...
Categories: DBA Blogs

Numeric Overflow

Tom Kyte - Wed, 2017-10-11 10:26
I am attempting to Solve some mathematical problems using PL/SQL and I am facing a problem with huge numbers. One such question involves calculating 2 power 1000 (2 power 3 = 2*2*2 => 8). I tried assigning the values to multiple datatypes that I knew...
Categories: DBA Blogs

oracle on linux

Tom Kyte - Wed, 2017-10-11 10:26
i am not well verserd with linux ..i know that we have to write "sqlplus" on the comand prompt in linux to open sql*plus application...is there any place from where i can know how to open other (oracle) applications in linux like "oralce enterprise...
Categories: DBA Blogs

bind variables/ define confusion

Tom Kyte - Wed, 2017-10-11 10:26
Tom, Could you please clarify the DEFINE command in the example below. I am having trouble using the DEFINE command. INPUT: define naming = 'Ivan' insert into emp2 (fname) values (:naming); OUTPUT: Bind variable "NAMING" not declare...
Categories: DBA Blogs

SQLPLUS query output to *.csv or *.txt format

Tom Kyte - Wed, 2017-10-11 10:26
Hello Tom is there anyway to do a query in sql*plus, then have the result output to a file in *.csv or .*.txt format without invoking UTL_FILE, using only sql*plus command. I'm not allowed to creat any procedure. PS: this link "http://asktom.ora...
Categories: DBA Blogs

Grant DBA to yourself - exploit or not?

Pete Finnigan - Wed, 2017-10-11 10:26
Yesterday Peter from the Master of Disaster Blog sent me an email to ask if I had seen the issue in his post before and whether it was a new exploit. I looked at the post and immediately recognised that....[Read More]

Posted by Pete On 11/10/17 At 12:06 PM

Categories: Security Blogs


Subscribe to Oracle FAQ aggregator