Feed aggregator

APEX 5.0: Custom Favicon for Applications using Universal Theme

Patrick Wolf - Mon, 2015-05-04 07:08
For applications which are using Universal Theme you don’t have to modify the Page Template anymore if you want to replace the default favicon with a custom one. Instead follow these steps: Go to Shared Components Click Application Definition Attributes (in Application … Continue reading
Categories: Development

SQLcl - Cloud connections via Secure Shell tunnels

Barry McGillin - Sun, 2015-05-03 18:39
We're always trying to make SQLcl easier to connect to your database, whether its at your place or in the cloud.  So, one other thing we have added to enable you to drill into your cloud databases is an SSHTUNNEL command.  Lets take a look at the help for it, which you can get as follows.

SQL> help sshtunnel
SSHTUNNEL
---------

Creates a tunnel using standard ssh options
such as port forwarding like option -L of the given port on the local host
will be forwarded to the given remote host and port on the remote side. It also supports
identity files, using the ssh -i option
If passwords are required, they will be prompted for.

SSHTUNNEL <username>@<hostname> -i <identity_file> [-L localPort:Remotehost:RemotePort]

Options

-L localPort:Remotehost:Remoteport

Specifies that the given port (localhost) on the local (client) host is to be forwarded to
the given remote host (Remotehost) and port (Remoteport) on the remote side. This works by
allocating a socket to listen to port on the local side.
Whenever a connection is made to this port, the connection is forwarded over
the secure channel, and a connection is made to remote host & remoteport from
the remote machine.

-i identity_file
Selects a file from which the identity (private key) for public key authentication is read.


SQL>


So for this to work we need to decide which ports locally we are going to use and which remote machine and port we want to use to map our ports from local to remote.  We also need a RSA file from the target host.  In this example, we have created one with the default name of id_rsa.  

The format of the flags follow the standard ssh rules and options, so -i for identity files and -L for port forwarding.  Heres an example connecting to a remote host via a tunnel.

(bamcgill@daedalus.local)–(0|ttys000|-bash)–(Mon May 04|12:16:46)
(~/.ssh) $sql /nolog

SQLcl: Release 4.1.0 Release Candidate on Mon May 04 00:16:58 2015

Copyright (c) 1982, 2015, Oracle. All rights reserved.


SQL> sshtunnel bamcgill@gbr30060.uk.oracle.com -i ./id_rsa -L 8888:gbr30060.uk.oracle.com:1521

Password for bamcgill@gbr30060.uk.oracle.com ********
ssh tunnel connected

SQL> connect barry/oracle@localhost:8888/DB11GR24
Connected

SQL> select 'test me' as BLRK from dual weirdtable

BLRK
-------
test me


SQL>


You can download SQLcl from OTN here and give this a try when the next EA is released.

Our new Oracle APEX YouTube Channel is up and running!

Patrick Wolf - Sat, 2015-05-02 08:12
Check out our new Oracle APEX YouTube Channel! Our Product Manager David Peake has started a Video Series about the new Page Designer in Oracle Application Express 5.0. It’s a great start to get familiarized with the new IDE to edit … Continue reading
Categories: Development

SQLcl - Code editing on the console

Barry McGillin - Fri, 2015-05-01 13:08
We've been playing with our console drawing in SQLcl for a while now and this week, we hooked up some keys to make editing and running much easier.  The video will show the following keys for managing your buffer in the console.  This will make it into the next Early Access candidate soon.

  • up arrow - previous history (this will continue to show you the next history unless you move into the text to edit it.
  • down arrow - next history which is the same as above.
If we are editing and not showing history, then the up and down arrow will move up and down the buffer. 
  • ctrl-W will take you to the top left of the buffer and ctrl-S will take you to the bottom of the buffer.
  • left arrow moves right, with ctrl-A taking you to extreme left of that line
  • right arrow moves right and ctrl-E takes you to the extreme right of that line
  • ESC takes you out of edit mode, back to the SQL> prompt
  • ctrl-R will execute your buffer if you are editing it.

Editing SQL in SQLcl

At the start of the video, we paste in a large piece of SQL from Kris' blog and all NBSP get stripped out so you get the full SQL and none of the dross. 

If you are at the end of the buffer and terminate your statement correctly, the next CR will run the contents of your buffer.  If you are anywhere else in the buffer, ctrl-R will run the buffer for you.

Check out the latest one on OTN and come back for these features when we drop the new version of SQLcl on OTN.

Partners, Don’t PaaS On an Opportunity to Grow Your Oracle Applications Cloud Business

Usable Apps - Thu, 2015-04-30 22:56

I attended the Oracle HCM Cloud Partner Enablement Summit near Milan, Italy to explain the Oracle Applications User Experience (OAUX) enablement strategy of using Oracle Platform as a Service (PaaS) to extend the Oracle Applications Cloud. We enable partners to offer their customers even more: a great user experience across the Software as a Service (SaaS) applications portfolio. We call this PaaS4SaaS.

The central part of my charter is to drive an OAUX PaaS4SaaS strategy that resonates with the business needs of the Oracle PartnerNetwork (OPN) and our own sales enablement worldwide, but with the EMEA region as focus.

We have a great team that delivers Oracle PaaS and SaaS enablement and direct deal support, scaling our outreach message and running events so that the proven resources to win more business get into the hands of our partners and our sales teams.

Rapid Development Kit available for PaaS4SaaS

The OAUX team PaaS4SaaS enablement is based on a rapid development kit (RDK) strategy of simple development, design, and business materials. After a few hours, partners walk away from one of our events with Cloud solutions they can sell to customers.

Let me explain more broadly why our PaaS4SaaS approach is a partner differentiator and a competitive must-have, and about how you can be in on the action!

RDK simplified UI deployed to Oracle Java Cloud Service - SaaS Extension live!

During the event in Italy, I deployed live a tablet-first Oracle Applications Cloud simplified UI from the RDK to the Oracle Java Cloud Service - SaaS Extension (JCS-SX), demonstrating that our apps are not only simple to use, but easy to build, and therefore easy for partners to sell.

Make no mistake; PaaS4SaaS is the partner differentiator when it comes to competing in the cloud. Our enablement means partners can:  

  • Build Oracle Applications Cloud simplified UIs productively using Oracle PaaS and SaaS.
  • Offer customization and integration confidence to customers in the cloud: they’ll get the same great user experience that Oracle delivers out of the box.
  • Identify new reusable business opportunities in the cloud and win more deals.
  • Accelerate innovation and SaaS adoption and increase the range of value-add PaaS solutions offered to customers.
  • Sharpen sales and consulting strategies using the user experience message, and take your position in the partner world to a new level.

But don’t just take it from me, check out the wisdom of the cloud, and what our partners, the press, and Oracle’s leadership team have to say about PaaS and SaaS:  

Here are the partner requirements to start that conversation with us about OAUX enablement: 

  • Do you have use cases for PaaS and SaaS (Oracle Applications Cloud) that fit a simplified UI approach for the users? 
  • Do you want to learn how to build user experience (UX) solutions as the partner differentiator? 
  • Are you an Oracle Applications Cloud (ERP, HCM, Sales) partner who wants to lead and influence
  • Do you have Oracle ADF, Oracle Fusion Middleware, SOA, Cloud or other development skills in-house or by way of an alliance with another partner?
  • Can you bring a customer to the enablement process with you, either online or in person?
  • Are you willing to participate jointly in Oracle outreach and communications about your enablement and the outcome? 

So, if you want what other partners in EMEA and the U.S. have already experienced, and you tick all the requirements boxes, get in touch with me.

For more information on our PaaS4SaaS enablement, check out these links:  

SQLcl connections - Lazy mans SQL*Net completion

Barry McGillin - Thu, 2015-04-30 11:30
Turloch posted this today, which is like aliases for SQL*Net connection URL's which are used to connections like this:

connect <USERNAME>/<Password>@URL


This works great and you can simplify your connection strings that you use.  Vadim wired this into the code completion and we can now code complete via key, a connection string that you have used before or you can set up a new now using the net command.


R12.2 Single file system

Vikram Das - Thu, 2015-04-30 00:21
With the release of AD and TXK Delta 6, Oracle has provided the feature of single file system on development instances for R12.2. Here's what they have mentioned in support.oracle.com article: Oracle E-Business Suite Applications DBA and Technology Stack Release Notes for R12.AD.C.Delta.6 and R12.TXK.C.Delta.6 (Doc ID 1983782.1)
Enhancements in AD and TXK Delta 6

4. New and Changed Features
Oracle E-Business Suite Technology Stack and Oracle E-Business Suite Applications DBA contain the following new or changed features in R12.AD.C.Delta.6 and R12.TXK.C.Delta.6.
4.1 Support for single file system development environments
  • A normal Release 12.2 online patching environment requires one application tier file system for the run edition, and another for the patch edition. This dual file system architecture is fundamental to the patching of Oracle E-Business Suite Release 12.2 and is necessary for production environments and test environments that are meant to be representative of production. This enhancement makes it possible to have a development environment with a single file system, where custom code can be built and tested. A limited set of adop phases and modes are available to support downtime patching of such a development environment. Code should then be tested in standard dual file system test environments before being applied to production.
More details are provided in Oracle E-Business Suite Maintenance Guide, Chapter: Patching Procedures):
http://docs.oracle.com/cd/E26401_01/doc.122/e22954/T202991T531065.htm#6169002 

Support for Single File System Development Environments
A normal Release 12.2 online patching environment requires two application tier file systems, one for the run edition and another for the patch edition. This dual file system architecture is fundamental to patching of Oracle E-Business Suite Release 12.2, and is necessary both for production environments and test environments that are intended to be representative of production. This feature makes it possible to create a development environment with a single file system, where custom code can be built and tested. The code should then always be tested in a standard dual file system test environment before being applied to production.
You can set up a single file system development environment by installing Oracle E-Business Suite Release 12.2 in the normal way, and then deleting the $PATCH_BASE directory with the command:
$ rm -rf $PATCH_BASE
A limited set of adop phases and modes are available to support patching of a single file system development environment. These are:
·         apply phase in downtime mode
·         cleanup phase
Specification of any other phase or mode will cause adop to exit with an error.
The following restrictions apply to using a single file system environment:
·         You can only use a single file system environment for development purposes.
·         You cannot use online patching on a single file system environment.
·         You can only convert an existing dual file system environment to a single file system: you cannot directly create a single file system environment via Rapid Install or cloning.
·         There is no way to convert a single file system environment back into a dual file system.

·         You cannot clone from a single file system environment.
Categories: APPS Blogs

Painting the Mona Lisa with SQL

Rob van Wijk - Wed, 2015-04-29 18:18
Seven years after the first Obfuscated SQL Code Contest, a new one has been organised on the PL/SQL Challenge website. I had fun writing my first entry back then, but in the back of my mind I regretted not doing something with ASCII art. So the new contest was a good pretext for me to finally fill in that gap. Here is my entry for the second Obfuscated SQL Contest: SQL> select listagg 2 (chrRob van Wijkhttp://www.blogger.com/profile/00499478359372903250noreply@blogger.com3

Whitepaper: Oracle Database 11g and 12c Consolidation and Workload Scalability with EMC XtremIO 3.0

Kevin Closson - Wed, 2015-04-29 15:30

This is a just a quick blog post to direct readers to the best Oracle-related paper detailing the value EMC XtremIO brings to Oracle Database use cases.  I’ve been looking forward to the availability of this paper for quite some time as I supported (minimally, really) the EMC Global Solutions Engineering group in this effort. They really did a great job with this testing! I highly recommend this paper for readers who are interested in:

  • Leveraging immediate, space efficient, zero overhead storage snapshots for productivity
  • All-Flash Array performance
  • Database workload consolidation

Click the following link to access the whitepaper: click here.   wp-1 Abstract:

This white paper describes the deployment of the XtremIO® all-flash array with Oracle RAC 11g and 12c databases in both physical and virtual environments. It describes optimal performance while scaling up in a physical environment, the effect of adding multiple virtualized database environments, and the impact of using XtremIO Compression with Oracle Advanced Compression. The white paper also demonstrates the physical space efficiency and low performance impact of XtremIO snapshots.


Filed under: oracle Tagged: Oracle Database performance XtremIO flash, Oracle Performance, Random I/O, XtremIO

SalesCloud Payload : How to create a Activity(Task)

Angelo Santagata - Wed, 2015-04-29 09:48


From SalesCloud R9 onwards we now have Activities.. Activities can be tasks, appointments etc. 
Object Name Activity WSDLhttps://<hostname>:443/appCmmnCompActivitiesActivityManagement/ActivityService?wsdl Version Tested on R9  DescriptionThis payload demonstrates how to create an activity of type TASK, assign a primary lead owner  OperationcreateActivity  Parameters
*Required
PriorityCode*,
StatusCode
ActivityContact
ActivityTypeCode*
ActivityFunctionCode*
Subject
 Payload
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://xmlns.oracle.com/apps/crmCommon/activities/activityManagementService/types/" xmlns:act="http://xmlns.oracle.com/apps/crmCommon/activities/activityManagementService/" xmlns:not="http://xmlns.oracle.com/apps/crmCommon/notes/noteService" xmlns:not1="http://xmlns.oracle.com/apps/crmCommon/notes/flex/noteDff/">
   <soapenv:Header/>
   <soapenv:Body>
      <typ:createActivity>
         <typ:activity>
<!-- Priority = 1,2,3 , high, medium, low -->
            <act:PriorityCode>1</act:PriorityCode>
            <act:StatusCode>NOT_STARTED</act:StatusCode>
            <act:ActivityContact>
<!-- Primary contact ID-->
               <act:ContactId>300000093409168</act:ContactId>
            </act:ActivityContact>
            <act:ActivityAssignee>
<!-- Party ID of Assignnee -->
               <act:AssigneeId>300000050989179</act:AssigneeId>
            </act:ActivityAssignee>
            <act:ActivityTypeCode>MEETING</act:ActivityTypeCode>
            <act:ActivityFunctionCode>TASK</act:ActivityFunctionCode>
           
            <act:Subject>Test assign to Matt Hooper for Picard</act:Subject>
         </typ:activity>
      </typ:createActivity>
   </soapenv:Body>
</soapenv:Envelope>

Oracle Developer Cloud Service - Automating Builds for Oracle ADF Applications

Shay Shmeltzer - Tue, 2015-04-28 12:49

Following up on the previous blog that showed how to get your ADF application into the Developer Cloud Service git repository, this entry will show you the next step in the lifecycle - executing builds.

The Oracle Developer Cloud Service (DevCS) supports build automation with both Maven and Ant scripts - and in this demo I'm showing you how to use the Ant option. One of the unique aspects of DevCS for customers who are  using Oracle ADF and JDeveloper is that the cloud comes pre-configured with the ADF libraries needed to compile your code, and also with support for OJDeploy so you can leverage deployment profiles that you defined for your application.

In fact DevCS comes with support for two ADF versions - 11.1.1.7.1 and 12.1.3 (as of the time of this blog).

In the video below you'll see

  • How to add a build file for your ADF application
  • How to  configure the build file to work in the cloud environment
  • How to define a build job and execute it
  • How to look at the log files for the build job
  • How to automate the build execution to happen when changes are committed to the git repository

 

The build in the example above just does the packaging, but in more realistic scenarios you can use similar build processes to create ADF libraries from projects, automate testing, modify configuration and more.

There are a couple of files that are used in the demo that you might want to use in your implementation:

The build.xml file: 

  <property environment="env" /> 
  <property file="build.properties"/>
    <target name="deploy" description="Deploy JDeveloper profiles">
    <taskdef name="ojdeploy"
             classname="oracle.jdeveloper.deploy.ant.OJDeployAntTask"
             uri="oraclelib:OJDeployAntTask"
             classpath="${oracle.jdeveloper.ant.library}"/>
    <ora:ojdeploy xmlns:ora="oraclelib:OJDeployAntTask"
                  executable="${oracle.jdeveloper.ojdeploy.path}"
                  ora:buildscript="${oracle.jdeveloper.deploy.dir}/ojdeploy-build.xml"
                  ora:statuslog="${oracle.jdeveloper.deploy.dir}/ojdeploy-statuslog.xml">
      <ora:deploy>
        <ora:parameter name="workspace"
                       value="${oracle.jdeveloper.workspace.path}"/>
        <ora:parameter name="profile"
                       value="${oracle.jdeveloper.deploy.profile.name}"/>
        <ora:parameter name="nocompile" value="false"/>
        <ora:parameter name="outputfile"
                       value="${oracle.jdeveloper.deploy.outputfile}"/>
      </ora:deploy>
    </ora:ojdeploy>
  </target>

The build.properties file I used can be found here.

The mask for the build automatic execution is */1 * * * *

Note that in the properties file there are references to environment variables that you will need to change if you are looking to deploy an 11.1.1.* app - specifically the options for 12 and 11 are:

WLS_HOME_12C3=/opt/Oracle/Middleware12c3/wlserver
WLS_HOME_11G=/opt/Oracle/Middleware/wlserver_10.3
MIDDLEWARE_HOME_12C3=/opt/Oracle/Middleware12c3
MIDDLEWARE_HOME_11G=/opt/Oracle/Middleware
ORACLE_HOME_12C3=/opt/Oracle/Middleware12c3/jdeveloper
ORACLE_HOME_11G=/opt/Oracle/Middleware/jdeveloper

The next logical step in your app lifecycle is to automate the deployment of the ADF application to the Oracle Java Cloud Service. If you are interested in this check out - Automating Deployment of the Summit ADF Sample Application to the Oracle Java Cloud Service

Categories: Development

Little quiz: Ordering/Grouping – Guess the output

XTended Oracle SQL - Tue, 2015-04-28 07:20

How many times have you guessed the right answer? :)

1
select * from dual order by -1;
select * from dual order by 0;

[collapse]
2
select *                   from dual                                     order by -(0.1+0/1) desc;
select 1 n,0 n,2 n,0 n,1 n from dual group by grouping sets(1,2,3,2,1,0) order by -(0.1+0/1) desc;

[collapse]
3
select 1 n,0 n,2 n,0 n,1 n from dual group by grouping sets(1,2,3,2,1,0) order by 0;
select 1 n,0 n,2 n,0 n,1 n from dual group by grouping sets(1,2,3,2,1,0) order by 0+0;
select 1 n,0 n,2 n,0 n,1 n from dual group by grouping sets(1,2,3,2,1,0) order by 3+7 desc;
select 1 n,0 n,2 n,0 n,1 n from dual group by grouping sets(1,2,3,2,1,0) order by -(3.1+0f) desc;

[collapse]
4
select column_value x,10-column_value y from table(ku$_objnumset(5,4,3,1,2,3,4)) order by 1.9;
select column_value x,10-column_value y from table(ku$_objnumset(5,4,3,1,2,3,4)) order by 2.5;
select column_value x,10-column_value y from table(ku$_objnumset(5,4,3,1,2,3,4)) order by 2.7 desc;
select column_value x,10-column_value y from table(ku$_objnumset(5,4,3,1,2,3,4)) order by -2.7 desc;

[collapse]

Categories: Development

EBS R12.2 Delta 6 Feature Review : Enhancement of adop console messages

Senthil Rajendran - Tue, 2015-04-28 01:02
ADOP console messages was always something that administrators needed changes. Delta 6 new features talks that there has been more enhancements done and running SQLs are displayed. Yes & True , it does but comparing to Delta 5 there are not much improvements. If you are from a older Delta version 2 or 3 , then Delta 6 upgrade might be interesting.

Instead of displaying the complete update statements , I can see messages like "[STATEMENT] Updating cutover_status=0 for session_id : 67" which are quite meaning full.

Still see a lot of technical names used like "[STATEMENT] Inside createPatchCtxFile()..."


EBS R12.2 Delta 6 Feature Review : EBS Technology Consistency Checker (ETCC)

Senthil Rajendran - Tue, 2015-04-28 00:19
With EBS R12.2 Delta 6 will not display a warning message when using the ADOP utility. An additional check is made every time ADOP tool is invoked which checks for the  recommended patches that are missing in the instance. This feature is ETCC and you will see something like this on the ADOP logs.

    [PROCEDURE] [START 2015/04/27 14:27:57] Performing database sanity checks
    [WARNING]   ETCC: The following database fixes are not applied in node vmohstest001
                  14046443
                  14255128
                  16299727
                  16359751
                  17250794
                  17401353
                  18260550
                  18282562
                  18331812
                  18331850
                  18440047
                  18689530
                  18730542
                  19472320
                  19487147
                  19896336
                Refer to My Oracle Support Knowledge Document 1594274.1 for instructions.
    [PROCEDURE] [END   2015/04/27 14:27:57] Finished performing database sanity checks


Recommendation is to review the below note and get all recommended patches applied.
Oracle E-Business Suite Release 12.2: Consolidated List of Patches and Technology Bug Fixes (Doc ID 1594274.1)

Note : please refer to the recent product documentation to know the latest changes.

Interested in Lift-Off for Your Cloud Business?

Usable Apps - Mon, 2015-04-27 16:37

Julian Orr (@Orr_UX), Senior Usability Engineer in the Oracle Applications User Experience Communications and Outreach team reflects on the OAUG Collaborate 15 conference.

Much like the very real sand cloud that enveloped Las Vegas during this year’s OAUG Collaborate 15, the conference itself is getting drawn deeper into the Oracle Cloud, as more Oracle applications lift off and soar towards the Oracle Applications Cloud user experience and look and feel.

I co-presented three sessions with Oracle Cloud Applications partners at the conference. All three sessions focused on how to extend and complement the functionality of the Oracle Applications Cloud using a combination of PaaS for SaaS (or PaaS4SaaS as we call it). Common themes included:

  • PaaS is an agile, effective means used to extend SaaS cloud applications as proven by our partners.
  • Oracle PaaS is not just used to extend SaaS functionality, but it’s also used to extend the user experience benefits of the Oracle Applications Cloud simplified UI to your users.
  • Applying best practices helps users reap the many benefits of the simplified user experience.

In the Oracle Fusion Middleware for the Cloud panel session, Sandeep Banerjie, Senior Director, Oracle Product Management, did a great job of setting the table with comprehensive coverage about Oracle Cloud current and future offerings.

Julian Orr, and Basheer Khan at the Oracle Fusion Middleware for the Cloud panel

(L-R) Sandeep Banerjie, Julian Orr, and Basheer Khan at the Oracle Fusion Middleware for the Cloud panel [Photo by Natasha K. Rogers (@NatashaKotovsky)]

I used my time to describe how the Oracle Applications User Experience team worked with Basheer Khan, (@bkhan) CEO of Knex Technology and OAUX Speaker, and its customers in an intensive onsite design workshop to rapidly develop a simplified approach for accurately assigning a constantly changing cadre of new hires to project resources to enable accurate management and accounting. Basheer followed my coverage of the simplified design process with a live demo the PaaS application that we co-designed.

The panel was well received, with a few nods for involvement of end users in the design process and demonstrated success in PaaS rapid development. The majority of the questions we addressed were focused on cloud security features.

Debra Lilley extols the user experience value of using PaaS for SaaS solutions.

Debra Lilley extols the Oracle Partner business value of using PaaS for SaaS solutions.

In the two sessions about using Oracle PaaS to Extend Oracle Cloud Applications, I joined Debra Lilley (@debralilley), Vice President of Cloud Services at Certus Solutions, Oracle ACE Director, and OAUX Speaker; and Ian Carline, Executive Vice President - Product Development at Certus Solutions, to discuss the design workshop we conducted with Certus to use PaaS to extend the Oracle HCM Cloud cloud functionality.

Debra and Ian did powerful jobs of stressing the absolute need and value of having a consistent user experience across PaaS and SaaS applications. My part of the presentation emphasized how to achieve a simplified user experience by focusing on these three things:

  • Design work: Before coding begins, employ a simplified design process that involves use-case review with end users and user advocates, sketching, and wireframing.

Following the presentation, much of the discussion centered on how to determine which use cases would make prime candidates for PaaS4SaaS projects.

As more partners and customers start designing and building PaaS solutions for the Oracle Applications Cloud SaaS offerings, I expect we will see that questions will begin to focus more and more on user experience. If it is not already, it will become, clear that to differentiate and win business in the cloud partners building and customizing enterprise apps need to compete on user experience as well as functionality. 

Interested in lifting off your business?

Enabling Edition Based Redefinition On A Schema With Object-Relational Tables

Randolf Geist - Mon, 2015-04-27 15:36
This is just a heads-up for those thinking about using Edition Based Redefinition (EBR) and enabling it on an existing schema with objects. Although EBR isn't exactly a new feature its current adoption level is probably not that high (which probably changes in future as Oracle E-Business Suite uses EBR now as part of their default upgrade procedure as far as I understood).

I was recently contacted by someone who enabled EBR on an existing schema using ALTER USER ... ENABLE EDITIONS and had to use the "FORCE" option since there were (according to the official ALTER USER documentation) "objects that are not editionable and that depend on editionable type objects in the schema. ... In this case, all the objects that are not editionable and that depend on the editionable type objects in the schema being editions-enabled become invalid".

Although one could say it is clearly mentioned in the documentation, the consequences are probably not that obvious to everyone if those non-editionable objects are tables having columns based on user-defined types. So I state it here to make it hopefully clear enough:

If you use the FORCE option of ALTER USER ... ENABLE EDITIONS to enable editions on an existing schema already containing objects and among those objects are tables having columns based on user-defined types, then effectively those tables will become invalid and stay invalid. There is no officially documented way to reverse this step or compile tables to become valid again (there's no ALTER TABLE COMPILE or similar). The table cannot be accessed any longer and all data contained is hence officially gone, too.

This means the affected tables need to be restored from a (hopefully existing and usable) backup (I don't know if there's a dictionary hack available that is officially sanctioned by Oracle support to make the table valid again).

In my opinion the FORCE option should check if the schema contains such dependent tables and in such a case error out with an error message that the table needs to be dropped first (or moved to a different schema) before ENABLE EDITIONS can succeed. This would make the situation much clearer, rather than leaving tables in INVALID state behind that cannot be fixed/recompiled afterwards.

Below is a simple test case that demonstrates the issue:

-- Create a test user for enabling editions
drop user ebr_test cascade;

create user ebr_test identified by ebr_test;

grant dba to ebr_test;

-- Connect as test user
connect ebr_test/ebr_test

-- and create a object relational type
create type test_coll_type as table of number;

-- and a table having such a column of that type
create table test_ebr_table (col1 number, col2 number, test_coll test_coll_type) nested table test_coll store as test_coll_table;

-- Some test data
insert into test_ebr_table (col1, col2, test_coll) values (1, 1, test_coll_type(1, 2 ,3));

commit;

-- Everything is fine so far
select * from test_ebr_table, table(test_coll);

-- Enable editions, FORCE is required
alter user ebr_test enable editions force;

-- This no longer works (ORA-04063: table "EBR_TEST.TEST_EBR_TABLE" has errors)
select * from test_ebr_table, table(test_coll);

-- Not even simple scalar values can be accessed from the table
select col1 from test_ebr_table;

-- The table has gone INVALID
select status from user_objects where object_name = 'TEST_EBR_TABLE';

Oracle Presentations at Chicago and Milwaukee Area .NET User Groups

Christian Shay - Mon, 2015-04-27 08:32

Attention Chicago and Milwaukee area .NET developers: Please join me next month as I visit the Lake County .NET Users' Group and the Wisconsin .NET Users Group to speak to members on the topic "Oracle .NET and Visual Studio: Intro and Best Practices". Details below. Please be sure to sign up at the user group websites so they know you are coming and to find out about any last minute changes in time/location. Free food and drink will be provided.

Tuesday May 12th, 7:00pm:
Wisconsin .NET Users Group

Meeting location:
Thomson Reuters 
(Town Hall)
450 North Sunny Slope Road 
Brookfield, WI 53005  

Thursday May 14th, 6:45 pm:
Lake County .NET Users' Group

Meeting location:
College of Lake County
Technology Building, room T326-328
19351 West Washington Street
Grayslake, IL 60030-1198

Oracle .NET and Visual Studio: Intro and Best Practices

The first part of this session introduces Oracle Database support for .NET, including Oracle Data Provider for .NET (ODP.NET) and Oracle Developer Tools for Visual Studio. Step by step demos will show how to get started using these free products. We will also discuss the latest features including fully-managed ODP.NET, schema comparison tools, Oracle Database 12c multitenant container database support, NuGet packaging, and new features for Entity Framework.

The second part of the session explores coding best practices for achieving faster .NET Oracle database access performance. We examine techniques for optimizing connection pooling, caching, data fetching and updating, statement batching, and Oracle data type usage. We show how to use Oracle tuning tools to tune adhoc SQL as well as tuning a running database application to get the best possible performance. 

See you there!

EBS R12.2 Delta 6 Feature Review : Single File System Instance

Senthil Rajendran - Mon, 2015-04-27 05:40
With one of the main feature in 12.2 dual file system, there was always a need about having a single file system in 12.2 like 12.1.x and get away with the ADOP patching cycle. With Delta 6 AD and TXK you can. It is important to understand the feature and know its limitations.

There are two advantages of this single file system feature in 12.2

  • no more synchronization of run and patch file system
  • save storage
Still it operates with same ADOP engine and it is NOT CERTIFIED for PRODUCTION.
This feature will be interesting for development team where they need an EBS 12.2 instance where they can test their custom code.

Here is how to setup 
  • Install R12.2 Instance with dual file system or Clone an existing environment with dual file system. No option available in the Rapid Installer to select single file system instance.
  • Remove the PATCH_BASE using operating system remove command rm -rf $PATCH_BASE
  • Apply the patch using in ADOP downtime mode and run cleanup phase as required
So what is not possible ?
  • You cannot clone the single file system to build another environment.
  • You cannot enable the dual file system back and start a patching cycle
Note : please refer to the recent product documentation to know the latest changes.

Book Review with a Real-World Application from a Master | Keeping It Simple, SaaSy

Usable Apps - Sun, 2015-04-26 02:29

By Floyd Teter, Director, Strategy Group, Oracle Higher Education Practice at Sierra-Cedar, Inc., and guest contributor

Floyd Teter (@fteter), Oracle ACE Director, Oracle Applications User Experience Speaker, ORCLville blogger, and main man behind ”simple is the new cool” shares his thoughts on a book about Lean UX.

A few months back, I received an interesting request from my Oracle Applications User Experience sensei, Ultan O’Broin (Mr. @usableapps). Ultan asked me to read and share opinions on the book Lean UX: Applying Lean Principles to Improve User Experience (Jeff Gothelf with Josh Seiden). I read a few reviews myself and got excited about what Gothelf was trying to do: build a framework for applying Lean principles to user experience (UX) design. I agreed to give it a go.

 Applying Lean Principle to Improve User Experience on Amazon

Lean UX: Applying Lean Principles to Improve User Experience by Jeff Gothelf with Josh Seiden

First, let’s be a bit more specific about the book. The intent is not just to apply broad Lean or Agile principles (Gothelf references both, sometimes interchangeably); the real intent is to apply the Scrum methodology to UX. It’s no secret that I’m a bit of a fan and heavily engaged with both Scrum and UX, so I was excited to dive in.

The meat of the book is divided into three sections: Introduction and Principles, Process, and Making It Work. Each section contains multiple chapters.

In the first section, Gothelf lays out the argument for Lean UX: internet-based software distribution, lower barriers to market entry, continuous integration, agile software development, continuous deployment—all activities that put pressure on teams to shorten cycles to release product early and often, critical to meeting the faster innovation cycles in the SaaS and PaaS world.

Gothelf proposes Lean UX as a deeply collaborative and cross-functional method that enables teams to build a shared understanding about UX design by focusing on objective goals rather than being distracted by deliverables and documents. Having presented this argument, Gothelf then discusses the three foundations of Lean UX: design thinking, agile software development, and the Lean Startup method of build-measure-learn feedback loops, originally founded by Eric Ries.

Design thinking, as defined by design firm IDEO CEO and president Tim Brown, is “innovation powered by . . . direct observation of what people want and need in their lives and what they like or dislike about the way particular products are made, packaged, marketed, sold and supported . . . a discipline that uses the designer’s sensibility and methods to match people’s needs with what is technologically feasible and what a viable business strategy can convert into customer value and market opportunity.” That’s a real mouthful, but it comes down to designing elegant and simple solutions that people will want to use.

Gothelf defines Agile methods by reviewing the Agile core values and utilizing Scrum to apply these core values. This is not new, but it was good to see Gothelf sign up for using Scrum in UX design. Makes sense.

Finally, Gothelf promotes build-measure-feedback loops. I’m still mostly onboard here, although my preferred viewpoint is a build-observe-learn approach (with observe being mostly watching and listening).

Throughout Part I, which is really a discussion of principles and theory, I’m thinking Gothelf could be my twin brother from a different mother. We’re both singing off the same sheet of music. Part II does seem to be more of a “difficult second album” though.

In Part II, Gothelf applies the principles discussed in Part I, a journey where the metaphorical wheels begin to come off the tour bus. Lean UX relies heavily on written deliverables and formal structure for starting up a UX design effort:

  • A hypothesis statement, with assumptions, hypotheses, outcomes, personas, and features 
  • A problem statement, with product and/or system goals, problem description, and a description of an explicit request for improvement that doesn’t dictate a specific solution 
  • A business assumptions worksheet, including prioritized assumptions 
  • A recommendation for written subhypotheses 
  • A written declaration of metrics to be used along with current state of each metric 
  • A written list of features matched to groups of user personas 

After we’re done with writing (he comments “finally!”), Gothelf proceeds to lay out some pretty formal structure for design studio sessions, including time-boxing presentation and critique, iteration and refinement, and team idea generation. Gothelf also argues for creating a style guide prior to design (as opposed to building concurrently as you progress and learn).

This is the point where Lean UX stopped making complete sense in my world. Agile and Scrum make a point of minimizing written deliverables, especially anything that might be a barrier to getting started with the actual design and build work; the idea being the sooner you get into feedback loops, the quicker you’ll deliver a product of outstanding quality. Gothelf acknowledges this in Part I, yet his recommended process is based on the opposite. Gothelf continues with the formality and structure throughout Parts II and III.

I’m now hard-wired against formality in development; software development cycles in the cloud almost demand that. Partners and developers need to create real solutions fast—formality presents the risk of getting wrapped up in management processes that distract from the essential tasks required to design, innovate and build rapidly.

A final point of contention for me comes with how feedback loops are addressed. These loops are mentioned a founding principle of Lean UX in Part I, yet there is almost no discussion of how to leverage their value (by observing and learning). How do you elicit feedback? How is feedback filtered for relevance and priority? What techniques are used to assure the user that he/she was heard . . . which, in turn, elicits even more feedback. Discussion? Tips? Techniques? Zip. Zero. Bupkis. Notta. Nothing.

My own applied techniques? I suggest following the discover-design-deploy approach on the Oracle UX Direct website.

Discover-Design-Deploy from Oracle UX Direct

Discover-design-deploy approach from UX Direct

Begin by recording the required features on Scrum story cards, cutting to the essence of what’s important from your discovery stage. I’d then follow the Scrum process for estimating and prioritizing features prior to starting the first design sprint. Now, I’ve tried lots of virtual Scrum boards for geographically-dispersed project teams to keep track of everything, but Trello remains a favorite. Sprint productivity can be further accelerated by use of UX design patterns and guidelines so that developers can focus in on technical areas.

Trello

Trello virtual Scrum board

In summary: The book presents great conceptual ideas, but the approach and implementation didn’t rock my world of delivering on enterprise applications UX today. It left me hoping for more.

My point of view would be to stay away from structural overheads and formality, and stay truer to Agile concepts. I’d recommend a mix tape The Elements of Scrum (Chris Sims and Hillary Louise Johnson) and the simple discover-design, and deploy approach to UX on the Usable Apps website.

Splash BI Reports mobile app

Splash BI reports app built using Agile

You’ll quickly build simple, elegant solutions.

Read more Floyd Teter insights on ORCLVille.

Oracle things that piss me off (pt 1)

Gary Myers - Sat, 2015-04-25 17:27

This annoys me.
The fact that Oracle thinks it is appropriate to sell me to 'Ask' whenever I update my Oracle JRE. 


On my home machines,I've ditched the Oracle route for JRE. Java runtime is a requirement for running Minecraft (now owned by Microsoft) and they've now incorporated keeping the JRE updated as part of their updates. No attempts to install some crappy piece of spyware on my machine. 

And it is at the stage where I trust Microsoft over Oracle any day of the week.



Pages

Subscribe to Oracle FAQ aggregator