A Guest Post by Senior Director Louvaine Thomson, (pictured left), Product Management, Oracle Cloud Applications
Last month we announced these Release 10 preview materials:
Spotlight Videos: Hosted by senior development staff, these webcast-delivered presentations highlight top level messages and product themes, and are reinforced with a product demo
Release Content Documents (RCDs): This content includes a summary level description of each new feature and product
We are now pleased to announce the next significant wave of readiness content. Specifically, the following content types are now available on the Release 10 Readiness page:
- What's New: Learn about what's new in the upcoming release by reviewing expanded discussions of each new feature and product, including capability overviews, business benefits, setup considerations, usage tips, and more
- Release Training: Created by product management, these self-paced, interactive training sessions are deep dives into key new enhancements and products. Also referred to as Transfers of Information (TOIs)
- Product Documentation: Oracle's online documentation includes detailed product guides and training tutorials to ensure your successful implementation and use of the Oracle Applications Cloud
Access is simple: From the Cloud Site: Click on Resources > Release Readiness to access the Release Readiness page.
Access is simple:
1. From the Cloud Site: Click on Resources > Release Readiness to access the Release Readiness page, or
After wearing the Fitbit Surge for seven weeks, I developed an ugly skin rash. So, I took a break and let my skin breathe for a while.
I’m all better now, thanks for asking.
For most of the year, I’ve been test-driving various fitness bands and super watches and journaling my impressions here as one man’s research. After all, wearables are, and have been, a thing for a while now. So, I need to know as much as possible.
If you’re scoring at home, that’s 18 weeks with something on my wrist, a lot for me after 23 years, give or take, of nothing on my wrist; I’m not really a watch guy.
Physical bands aside, I was also tracking and quantifying myself, my fitness and general activity data and my sleep data. I’m a fan of the quantified self and better living through statistics and math. Looking at raw numbers forces introspection that can be very revealing, in good and bad ways.
Anyway, before I put on another device, I decided to capture the pros and cons of not wearing one, at least in terms of what was missing when I had a naked wrist.
Not having something on my wrist all the time is pro enough. I generally don’t like encumbrances, and having my wrist free again is nice.
Typing on a keyboard is another plus. I still don’t know how people with watches do it. A guy I used to work with wore a watch, and his Macbook Pro showed the scratch damage it did to the unibody aluminum.
Being free of data collection is liberating, but it cuts both ways. On the plus side, I don’t obsess about my step count. Wearing a fitness tracker has made it painfully obvious that my life is dangerously sedentary.
If it weren’t for running on a treadmill, there are many days when I wouldn’t reach the 10,000 steps magic number.
Why is this a pro? Now that I know, I can adjust accordingly, without a tracker, and I have a general idea of how much activity generates 10,000 steps.
Taking a break from testing has given me time to reflect on the four devices I’ve used without being too close to the one I’m currently testing. When I finish this research experiment, I should take a similar break to reflect.
On the downside, I really got used to having the time on my wrist, which is something I missed when I wore the Jawbone UP24 as well.
Even though I did find myself checking the time as a nervous habit, the utility outweighed the nervous tick.
I really miss the phone and text notifications that the two super watches, the Basis Peak and Fitbit Surge provide.
On the data collection side, I find myself needing to be pushed by numbers. It’s weird, I know; I’ll recognize something that generates more activity, like walking vs. driving, but I need the extra push to do it.
I also miss my morning data review. It became routine for me to review my night’s sleep and browse through my data each morning, my own a personal, daily report.
Now that Google has Your Timeline for Maps, you can begin to see the value of aggregating data summaries; yes, it’s creepy, especially the implications of kismet or whatever the opposite of that is, but I remain in the optimistic camp that hopes to correlate and improve based on personal data sets.
Anyway, figured since I’d been sharing my wearables observations, I might as well share my lack of wearable observations.
Sometime in the next few weeks, I’ll get started on a new one. Stay tuned.Possibly Related Posts:
- Seven Weeks with the Fitbit Surge
- Four Weeks with the Basis Peak
- The Fitbit Surge: Watching Where the Super Watch Puck Goes
- Three Weeks with the Nike+ Fuelband SE
- The Misfit Shine
Someone who attended my sessions at the Bucharest Oracle Summit earlier on this year sent me an example of a quirky little bug, possibly related to the newer “fine-grained” invalidation mechanisms, possibly related to ANSI syntax SQL, that’s very easy to reproduce. (That’s always nice for Oracle support – a perfect test case.)
All it takes is two tables and a packaged procedure that queries those tables. The package is coded to do something that should not be allowed in production code; but “should not” and “is not” are very different things. For anyone who wants to play with the example, here’s the script to create the necessary objects:
drop package pkg_test; drop table t2 purge; drop table t1 purge; create table t1 (id1 number, val1 varchar2(10)); create table t2 (id2 number, val2 varchar2(10)); insert into t1 values(1,rpad('x',10,'x')); insert into t2 values(1,rpad('x',10,'x')); execute dbms_stats.gather_table_stats(user,'t1') execute dbms_stats.gather_table_stats(user,'t2') create or replace package pkg_test is procedure pr_call; end pkg_test; / create or replace package body pkg_test as procedure pr_call is cursor cur_ids is select * -- Naughty ! from t1 join t2 on t2.id2 = t1.id1 ; rec_id cur_ids%rowtype := null; begin open cur_ids; fetch cur_ids into rec_id; close cur_ids; dbms_output.put_line(rec_id.val1 || '-' || rec_id.val2); exception when others then if cur_ids%isopen then close cur_ids; end if; raise; end pr_call; end pkg_test; /
Having created the procedure I’m now going to call it – and then add a column to table t1. What’s that going to do to a packaged procedure with a “select *”?
Pause for thought …
Here’s some SQL to run the test.
set serveroutput on prompt *** Make a first call to the procedure: no error *** execute pkg_test.pr_call prompt *** add a column to one of the tables alter table t1 add col_test varchar2(20); prompt *** Make two more calls to the procedure: ouch! *** execute pkg_test.pr_call execute pkg_test.pr_call prompt *** Recompile before a third call *** execute dbms_ddl.alter_compile('package body', user, 'pkg_test') execute pkg_test.pr_call
Unless I’ve managed to cut-n-paste the wrong bits of code, you would have got the following error for the 2nd and 3rd calls to the package:
BEGIN * ERROR at line 1: ORA-00932: inconsistent datatypes: expected - got - ORA-06512: at "TEST_USER.PKG_TEST", line 25 ORA-06512: at line 2
The package body should (I believe) have invalidated and recompiled itself for the second execution, and even if it failed on the first attempt surely it should have invalidated itself on the ORA-932 and recompiled itself and succeeded on the third execution. (If you remove the exception clause you’ll find that the error is intially raised at the fetch, by the way).
If we change the “select *” to explicitly name the columns we want, viz:“select t1.id1, t1.val1, t2.id2, t2.val2″ we don’t get the ORA-00932 errors (just as we would probably expect). What we might not expect is that the errors also disappear if we leave the “select *” in place but change the query from ANSI syntax to traditional Oracle syntax.Footnote:
Obviously you shouldn’t use the lazy “*” notation in any production code – it can cause several different problems (including the dangers of “whoops, I didn’t mean to make that one invisible”) – but if you do you may find that you end up with packaged procedures that crash for no apparent reason until you recompile them. Perhaps ORA-00932 is the only possible error message, but maybe it’s possible to cause other errors to appear. Even worse, though I haven’t tried to force it yet, you may find that you can construct cases where the package reports no error but modifies the wrong data.
I’ve tested this code on versions 18.104.22.168 and 22.214.171.124 and see the same results on both.
Oracle Application Express is a great rapid application development tool where you can write your applications functionality in PL/SQL and create the interface easily in the APEX UI using all of the tools available to create forms and reports and....[Read More]
Posted by Pete On 21/07/15 At 04:27 PM
How does Oracle Security and Electronic mix together? - Well I started my working life in 1979 as an apprentice electrician in a factory here in York, England where I live. The factory designed and built trains for the national....[Read More]
Posted by Pete On 09/07/15 At 11:24 AM
In the last few years I have not done as many conference speaking dates as I used to. This is simply because when offered they usually clashed with pre-booked work. I spoke for the UKOUG in Dublin last year and....[Read More]
Posted by Pete On 06/07/15 At 09:40 AM
Make a Sad Face..:-( I seemed to have missed my blogs tenth which happened on the 20th September 2014. My last post last year and until very recently was on July 23rd 2014; so actually its been a big gap....[Read More]
Posted by Pete On 03/07/15 At 11:28 AM
I wrote a paper about Oracle Database Vault in 12c for SANS last year and this was published in January 2015 by SANS on their website. I also prepared and did a webinar about this paper with SANS. The Paper....[Read More]
Posted by Pete On 30/06/15 At 05:38 PM
I have just updated all of our Oracle Security training offerings on our company website. I have revamped all class pages and added two page pdf flyers for each of our four training classes. In have also updated the list....[Read More]
Posted by Pete On 25/06/15 At 04:36 PM
My favourite language is hard to pin point; is it C or is it PL/SQL? My first language was C and I love the elegance and expression of C. Our product PFCLScan has its main functionallity written in C. The....[Read More]
Posted by Pete On 23/07/14 At 08:44 PM
We were asked by a customer whether PFCLScan can generate SQL reports instead of the normal HTML, PDF, MS Word reports so that they could potentially scan all of the databases in their estate and then insert either high level....[Read More]
Posted by Pete On 25/06/14 At 09:41 AM
After long gap I’m start writing blogs and I’m feeling for that.
Today I have faced login issue in WNA setup environment.
Requirement is user would need to login via WNA fallback authentication and access to the OAM WNA protected resources but it login request landed into error page “Account locked or disabled”.
From oam-server1.out logs
Note: If you are not able to see below then you should enable Kerberos trace level.<Jul 21, 2015 6:27:52 PM AEST> <Error> <oracle.oam.plugin> <BEA-000000> <Defective token detected (Mechanism level: GSSHeader did not find the right tag) GSSException: Defective token detected (Mechanism level: GSSHeader did not find the right tag) at sun.security.jgss.GSSHeader.<init>(GSSHeader.java:80) at sun.security.jgss.GSSContextImpl.acceptSecContext(GSSContextImpl.java:287) at sun.security.jgss.GSSContextImpl.acceptSecContext(GSSContextImpl.java:267) at oracle.security.am.plugin.authn.SPNEGOLoginModule$1.run(SPNEGOLoginModule.java:139) at javax.security.auth.Subject.doAs(Subject.java:394) at oracle.security.am.plugin.authn.SPNEGOLoginModule.login(SPNEGOLoginModule.java:124) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) Normally this issue appears to be that something different from a Kerberos or NTLM token is being sent by the Microsoft IE browser client machine.
OAM only accepts Kerberos or NTLM tokens for now.
We noticed browser was sending the following token when accessing in company network domain.
And it keeps sending this similar like “Authorization: Negotiate” string over and over.
This is not a standard NTLM value, as normally when we review the headers we would expect to see either:
Authorization: Negotiate TlRMTVNTUAABAAA…. (NTLM)
Authorization: Negotiate YIIGeAYGK…(Kerberos)
then this will still not work for OAM WAN Fallback, since the token received by OAM Server is NOT an NTLM token like, but appears to be more related to a NEGOEXTS token, which the Windows 7 clients sometimes send.
So, the token was not sent correctly by the browser to OAM server.
On the UNIX host, use kinit on your user account and use klist to verify that you have a ticket to the HTTP/DOMAIN.NAME@REALM.NAME principal or not.
In our cause we have encountered below exceptionkinit(v5): Client not found in Kerberos database while getting initial credentials
We have found a DNS issue for application OAM hostname. OAM VIP host name was resolving to different hostname and Keytab was created based on VIP hostname not actual hostname different and frontend host which is critical specially for creating a keytab
Re-generated the keytab for DNS resolve hostname as follow
ktpass -princ HTTP/DOMAIN.NAME@REALM.NAME
-mapuser aurdev\srv-oam-iap1 -pass <Password> -out master.keytab -kvno 0
Copy the new keytab into <Oracle Home>/server/config/ and restart OAM server.
Hope above information helped you to get out of the issues.
I don’t particularly like protective cases for phones because they ruin the industrial design aesthetics of the device.
Here at the ‘Lab, we’ve had spirited debates about cases or not, dating back the original team and continuing to our current team.
I am not careful with phones, and the death of my Nexus 5, which I’ve only had since October 2014, was my fault. It was also very, very bad luck.
I usually run with a Bluetooth headset, the Mpow Swift, which I quite like (hey Ultan, it’s green), specifically because I had a few instances where my hand caught the headset cord and pulled my phone off the treadmill deck and onto the belt, causing the phone to fly off the back like a missile.
Yes, that happened more than once, but in my defense, I’ve seen it happen to other people too.
However, on July 8, I was running on the treadmill talking to Tony on the phone, using a wired headset. I’ve found the Mpow doesn’t have a very strong microphone, or maybe I wasn’t aiming my voice in the right direction. Whatever the reason, the Mpow hasn’t been good for talking on the phone.
While talking to Tony, possibly mid-sentence, I caught the cord and pulled the phone off the deck.
Unlike the other times, this time, the phone slipped under the treadmill belt, trapping it between the belt and housing, sliding it the length of the belt, and dragging it over the back drum.
I stopped the treadmill and looked under, but it was trapped inside the machine. After sheepishly asking for help, we were able to get the machine to spit up my mangled phone.
Interestingly, the screen is completely intact, which gives an idea of how tough it really is. The phone’s body is sadly bent in an aspect that describes its journey over that drum. Luckily, its battery hasn’t leaked.
The device didn’t die right away. While it wouldn’t boot, when I connected it to my Mac via USB, it was recognized, although it wouldn’t mount the storage like it normally would. Something about the device consuming too much power for USB.
I tried with a powered USB hub, but I think the battery gave up the ghost.
Happily for me, I had recently bought a second generation Moto X on sale, and I’d been postponing the switch.
Unhappily, every time I switch phones, I lose something, even though I keep backups. When my Nexus 4 died mysteriously, I lost all my photos. This time, I lost my SMS/MMS history.
Like I said, I’m careless with phones.Possibly Related Posts:
- Baby Come Back
- Imaginary Phone
- Eight Cell Phones in Ten Years Part 1
- Eight Cell Phones in Ten Years Part 2
- Another Nexus 4 Review, Mine
Who won the most games against which losing team?
Three trends in computing have come together to make container orchestration the next obvious evolution of internet service delivery. The first is the trend to pack an increasing number of segregated services into larger and larger servers for efficiency gains. The second trend is the rapid build->test->release cycle of modern microservices that can see hundreds or thousands of updates each day. And, the third trend is infrastructure-as-code which abstracts the actual hardware of servers and networking equipment away into text files that describe the desired infrastructure. These files can be tested and version controlled in exactly the same way as code, and deployed just as quickly. At the convergence point sits Kubernetes from Google which uses flat files to describe the infrastructure and containers needed to deliver a service, which can be built, tested, and deployed incredibly quickly.
Pythian has been working with container orchestration using Kubernetes since it was announced to the public in June of 2014. We have used it to deploy microservices faster while also speeding up the development cycle. With the advent of V1.0, we decided to revisit some of what we learned implementing internally and with clients on Kubernetes.Develop Locally
Google, and others provide hosted Kubernetes solutions that are fast and easy to use. In fact, you can use them for your whole build->test->deploy workflow. Keep in mind, that with hosted Kubernetes, the containers are exposed to the internet from very early in your development cycle. If that’s not desirable, or if local development is important, go faster with a local cluster. Kubernetes can run on as few as three VMs and the vagrant install is well supported. Our workflow involves sharing the yaml files among the team and developing everything locally before pushing blessed containers for deployment on a production cluster.Pay Attention to API Versions in Examples
Since the kubernetes team has been developing their api in public for the last year, there have been a number of fairly large breaking changes to the API. Now that v1 of the API is stable, we can depend on it. However, many of the tutorials and examples online use earlier versions. Be sure to check which version the example uses before trying to experiment with it.Get to know Volumes at Cluster Scale
In Kubernetes, volumes are an outgrowth of the Docker concept of a volume, or a filesystem that can be mounted and isn’t tied to the lifecycle of specific container. Kubernetes re-imagines them at cluster scale and through plugins, allows containers to mount all kinds of things as file systems. One plugin adds a git repository as a mountable filesystem, which opens the door to some particularly interesting use cases.Leverage Etcd
At the heart of the Kubernetes cluster is a distributed, shared-state system called etcd. Built on the RAFT protocol, it stores key->value pairs in a tiered structure and supports an easy REST api. Etcd also provides a level of access control sufficient to securely store shared secrets for use throughout the cluster, but not available to all etcd consumers. This feature underpins the concept of a Secret in Kubernetes. But, your application can also talk directly to the etcd cluster in Kubernetes. Using confd, your application can use the Kubernetes etcd instance as a data storage layer. For example, here’s a simple url shortener gist using just nginx, confd, and etcd.
Schedule a free assessment with a Pythian Kubernetes expert.
Learn more about Pythian’s Cloud expertise.
If this sounds like the kind of thing you’d like to work on, we’re hiring too!
The PeopleSoft Spotlight Series is a new video-based learning resource that will help you get a deeper understanding of our latest Oracle PeopleSoft technologies, features and enhancements. Watch these videos to gain insight on how you can take advantage of these features in your enterprise.
Senior Strategy Director Jeff Robbins is your host for the Tools and Technology PeopleSoft Spotlight Series. Jeff introduces each video and summarizes key points covered in the session. Members of the PeopleSoft development organization take you into detail on each subject, helping you plan for, roll out, and gain value from these PeopleSoft enhancements.
The first sessions in our series focus on the game-changing Selective Adoption and the cutting edge PeopleSoft Fluid User Interface. Selective Adoption is the new method by which customers will update and maintain their PeopleSoft systems. The Fluid UI enables PeopleSoft users to use PeopleSoft applications across form factors.
Each video takes less than an hour and contains helpful resources. Look for more sessions of the PeopleSoft Spotlight Series in the near future.
To demonstrate Application Player functionality, I have implemented basic process of Data Entry for the Claim Handling:
This process is using Web Form in the Start activity to capture data, human activity Claim Expense Review allows to review entered data, before submitting it:
This is how Web Form UI design looks like:
When you build Web Form and arrange UI components, business type is constructed automatically, no need to define anything separately. Business type can be used in the process, without changing it:
Data object variable is assigned to the process activity element through Association dialog in Process Cloud, this is where you can map input/output with business type:
Once process is ready to be tested, all you need to do is to invoke Application Player. Click on Test Application button in the top right corner:
In the Test Application window you should select Play option:
To show how it works, I have recorded a video - see yourself how helpful is Application Player: