Skip navigation.

Development

Find and Replace in a file

Arun Bavera - Wed, 2014-11-05 14:12

Had to replace all the occurrence of wrong  inventory then use this:

grep -rl 'oraInventory' .  | xargs sed -i 's|'/home/emuser/oraInventory'|'/opt/app/oracle/oraInventory'|g'

Categories: Development

Webinar: Building Secure Apps with PL/SQL and Formspider

Gerger Consulting - Wed, 2014-11-05 00:58
We are hosting a free Formspider webinar on November 25th. Join in and find out how Formspider helps PL/SQL developers build secure web applications.

In the webinar, the following topics will be covered:

- Formspider Security Architecture
- Built-in countermeasures in Formspider for OWASP Top 10 Security Vulnerabilities
- Introduction to Formspider Authentication and Authorization Repository

Sign up now.
Categories: Development

Git for PL/SQL

Gerger Consulting - Tue, 2014-11-04 07:42
Gitora, the free version control system for PL/SQL is launching early December '14. Gitora hooks Git to the Oracle database and helps you manage your PL/SQL code easily. Sign up at http://www.gitora.com to get notified when the product launches.

Please share this news in your social networks and help us spread the word.

Thank you.
Categories: Development

Three Level Master Detail with Formspider and PL/SQL

Gerger Consulting - Tue, 2014-11-04 00:28
TANI, a subsidiary of the Koç Holding, provides value-added integrated marketing solutions for offline, digital and mobile platforms. TANI chose Formspider, the application development tool for PL/SQL developers, to implement the application that manages its core business.

Business Need

TANI wanted to improve the efficiency of their business unit and help them make better decisions. As part of this goal TANI decided to upgrade the current campaign management application which is used to manage the online banner ad  campaigns of their customers.

Specifically TANI’s goals in this upgrade were:

  • Increase the data entry/modification speed in the application
  • Improve the reporting capabilities in the application
  • Improve the application’s UI with a fresh and modern look.


The Challenge

The core campaign information in the database spans three tables which are tied to each other in a master-detail-detail relationship. For any campaign, the data in the master row, the detail rows and the detail-detail rows must be validated, committed or rolled backed in the same logical transaction.

The current application did not support batch validation and commit of the entire campaign and therefore was prone to human errors.

The Solution

Since Formspider has an integrated model layer that supports transactions, building a master-detail-detail screen which enforces data validation over three tables was a breeze. The Formspider application easily validates and commits updates to a campaign in the same logical transaction preventing data entry errors.

The Campaign Edit Screen
The master-detail-detail screen also greatly improved the data entry speed of the application because the user could edit the entire campaign information in one screen.

Reporting capabilities of the application also increased significantly thanks to the Formspider grid and its built-in features such as ordering, hiding and filtering of columns.

The Campaign Search Screen with Enhanced Reporting Capabilities
The new application featured new a brand new look&feel in harmony with TANI’s corporate colors. As with every Formspider application, the new campaign management application is a single page application functioning 100% with AJAX giving it the modern effect TANI desired.
New Fresh Look that matches TANI's Corporate Guidelines
Conclusion

Formspider enabled us to deliver TANI a high quality application that features a master-detail-detail data entry screen with validations spanning multiple tables with a fraction of the cost it would take using other technologies.
The application enabled TANI business units to work more efficiently and helped them make better decisions while serving their customers.  
Categories: Development

Science needs to explain this?

FeuerThoughts - Sun, 2014-11-02 08:57
Christopher Nolan of Dark Knight fame releasing new sci-fi movie: Interstellar.

In a Chicago Tribune interview, he says:
I could be wrong, but science needs to cross a threshold and explain why a monkey typing infinitely would never type the works of Shakespeare.
Well, I could be wrong, but maybe Nolan is a bit of an idiot when it comes to science.
Please, Mr. Nolan, tell me which scientists make this claim?
I guess he read somewhere about infinity and how incredibly awesome and big and never-ending it is, and so eventually anything would be done by anybody or anything and so even monkeys would "eventually" write Shakespeare and and and....
Produce a movie called Interstellar with Matthew McConaughey. 
In fact, maybe Chris Nolan is actually a monkey who crossed over from that obelisk in 2001, and got super smart and so a monkey already has produced a movie called Interstellar.
Damn, that is just so cool and so weird and it's like, that's never going to happen, man, no way.
So scientists had better figure out WHY that is not going to happen when they obviously really believe that it WILL happen (go, monkey, go!).
And to do that, they are going to have a cross a threshold, 'cause clearly science has hit its limit here. Just like with souls. Science can't explain souls, so I guess scientists had better cross over - maybe into a parallel universe -
Because really what could be cooler than parallel universes?



Categories: Development

Developing Your First Oracle Alta UI page with Oracle ADF Faces

Shay Shmeltzer - Mon, 2014-10-27 11:20

At Oracle OpenWorld this year Oracle announced the new Oracle Alta UI - a set of UI guidelines that will help you create better looking and functioning applications. We use these guidelines to build all our modern cloud based applications and products - and you can use it too today if you are on JDeveloper 12.1.3. 

The Alta UI site is at http://bit.ly/oraclealta

Take a look for example at one page from the master details pattern page:

altapage

You might be wondering how do I go about starting to create such an Alta page layout?

Below is a quick video that shows you how to build such a page from scratch.


A few things you'll see during the demo:

  • Basic work with the panelGridLayout - for easier page structure
  • Working with the new tablet first page template 
  • Enabling selection on a listView component
  • Working with the circular status meter
  • The new AFAppNavbarButton style class
  •  Hot-swap usage to reduce page re-runs

One point to raise about this video is that it focuses more on getting the layout and look rather then the Alta way of designing an application flow and content. In a more complete Alta mind-set you'll also figure out things like fields that probably don't need to be shown (such as the employee_id), you'll think more about "why is the user on this page and what will he want to do here?" which might mean you'll add things like a way to see all the employees in a department in a hierarchy viewer rather than a form that scroll a record at a time.  There are more things you can do to this page to get even better functionality, but on those in future blog entries... 

Categories: Development

Creating FMW12c Domain using EM12c User Defined Deployment Procedure

Arun Bavera - Tue, 2014-10-21 16:03
1. Installing Software example: Install JDK, INFRA, OSB, RCU Creation in 5 minutes, 58 secondsimage

2. Second example: creating BAM12c 2 node cluster in 9 minutes,  Create RCU, Create domain, Extend Domain, startNodemanger, start admin, start Nodemanager on Mgrserver, startall ManagedServers
image
2 Nodes, BAM Cluster
Categories: Development

APEX Connect 8th and 9th of June 2015 in Duesseldorf Germany

Denes Kubicek - Tue, 2014-10-21 03:34
APEX Connect is the first big APEX event in Germany and will be taking place in Duesseldorf on 8th and 9th of June 2015. You can still apply for a presentation using this link. I will be there with a presentation on APEX Plugins. As far as I know a couple of international guests are expected to be there as well. This event will for sure be interesting and informative so you should think about participating. Düsseldorf is close to Belgium and Holland so I think that we will have quite a lot of visitors from those counties as well. It just comes to my mind that the presentation should be in English. So, you should make sure to book your ticket, hotel and travel in time.

Categories: Development

MS Sharepoint and Oracle APEX integration

Dimitri Gielis - Thu, 2014-10-16 15:11
At Oracle Open World I gave a presentation about the integration of Microsoft Sharepoint and Oracle Application Express (APEX).

I see a lot of companies using Microsoft Sharepoint as portal for their intranet. For many people it’s the first place they go to when they start their day. But to do their job they make also use of other applications, some which are build in Oracle Application Express (APEX). This presentation will show the different options you have to integrate both worlds of Sharepoint and APEX.

The integration can be both ways;
  • in Sharepoint you get data or screens from APEX 
  • in APEX you want to use data (or a screen) maintained and coming from Sharepoint. 


In the next weeks I'll add some more detailed blog posts, things I told during the presentation... for example how to setup your own MS Sharepoint environment.
Categories: Development

Just a couple of screenshots of sqlplus+rlwrap+cygwin+console

XTended Oracle SQL - Thu, 2014-10-16 14:06

I previously wrote that I peeped the idea about showing the session information in terminal title from Timur Akhmadeev’s screenshots, and Timur wrote:

I’m using (a bit modified) Tanel Poder’s login.sql available in his TPT scripts library: http://tech.e2sn.com/oracle-scripts-and-tools

Scripts:
Tanel’s i.sql
My title.sql and on_login.sql

Colored prompt is the one of many features of rlwrap.

Screenshots:
Connected as simple user:
baikal-xtender
Connected as sysdba:
xtsql-sysdba

SQL*Plus on OEL through putty:
putty-to-oel-sqlplus

@inc/title “*** Test ***”
inc-title-test

Categories: Development

APEX 5.0 New Features - Terminverschiebung

Denes Kubicek - Fri, 2014-10-10 07:00
leider müssen wir den Termin für den bei uns gebuchten Kurs "Oracle APEX 5.0: New Features" (Termin: 08/09.12.2014) auf den Februar 2015 (09.02/10.02) aus gegebenem Anlass verschieben.

Wie Sie/Ihr bereits bestimmt erfahren haben, wird sich das Release von Oracle APEX 5.0 etwas verschieben: https://blogs.oracle.com/apexcommunity_deutsch/de/entry/openworld_update_application_express.

Sie können sich hier zum Kurs anmelden.
Categories: Development

Little script for finding tables for which dynamic sampling was used

XTended Oracle SQL - Tue, 2014-10-07 14:42

You can always download latest version here: http://github.com/xtender/xt_scripts/blob/master/dynamic_sampling_used_for.sql
Current source code:

col owner         for a30;
col tab_name      for a30;
col top_sql_id    for a13;
col temporary     for a9;
col last_analyzed for a30;
col partitioned   for a11;
col nested        for a6;
col IOT_TYPE      for a15;
with tabs as (
      select 
         to_char(regexp_substr(sql_fulltext,'FROM "([^"]+)"."([^"]+)"',1,1,null,1))  owner
        ,to_char(regexp_substr(sql_fulltext,'FROM "([^"]+)"."([^"]+)"',1,1,null,2))  tab_name
        ,count(*)                                                                    cnt
        ,sum(executions)                                                             execs
        ,round(sum(elapsed_time/1e6),3)                                              elapsed
        ,max(sql_id) keep(dense_rank first order by elapsed_time desc)               top_sql_id
      from v$sqlarea a
      where a.sql_text like 'SELECT /* OPT_DYN_SAMP */%'
      group by
         to_char(regexp_substr(sql_fulltext,'FROM "([^"]+)"."([^"]+)"',1,1,null,1))
        ,to_char(regexp_substr(sql_fulltext,'FROM "([^"]+)"."([^"]+)"',1,1,null,2))
)
select tabs.* 
      ,t.temporary
      ,t.last_analyzed
      ,t.partitioned
      ,t.nested
      ,t.IOT_TYPE
from tabs
    ,dba_tables t
where 
     tabs.owner    = t.owner(+)
 and tabs.tab_name = t.table_name(+)
order by elapsed desc
/
col owner         clear;
col tab_name      clear;
col top_sql_id    clear;
col temporary     clear;
col last_analyzed clear;
col partitioned   clear;
col nested        clear;
col IOT_TYPE      clear;

ps. Or if you want to find queries that used dynamic sampling, you can use query like that:

select s.*
from v$sql s
where 
  s.sql_id in (select p.sql_id 
               from v$sql_plan p
               where p.id=1
                 and p.other_xml like '%dynamic_sampling%'
              )
Categories: Development

New Continuous Integration tutorial published

Lynn Munsinger - Mon, 2012-07-02 09:44
Hot off the press – a new continuous integration tutorial. It’s really not just about continuous integration, though! You’ll find it useful even if you aren’t using a continuous integration server like Hudson. It’s useful if you are doing any part of the scenario it documents: Setting up Team Productivity Center for your team and [...]

Advanced ADF eCourse, Part Deux

Lynn Munsinger - Tue, 2012-06-19 15:11
In February, we published the first in a series of FREE(!) online advanced ADF training: http://tinyurl.com/advadf-part1 The response to that course has been overwhelmingly positive as more and more people are moving past the evaluation/prototype stages with ADF and looking for more advanced topics. I’m pleased to relay the good news that the 2nd part [...]

Fun with Hudson, Part 1.1

Lynn Munsinger - Tue, 2012-06-05 09:19
Earlier I posted that I had used the following zip command in the ‘execute shell’ action for my Hudson build job: zip -r $WORKSPACE/builds/$JOB_NAME-$BUILD_NUMBER * -x ‘*/.svn/*’ -x ‘*builds/*’ This zips up the content of the exported source, so that I can send it on to team members who need the source of each build [...]

Hiring a Curriculum Developer

Lynn Munsinger - Tue, 2012-05-15 09:34
If you are an instructional designer with an eye for technologies like ADF, or if you are an ADF enthusiast and excel at creatively producing technical content, then ADF Product Management would like to hear from you. We’re looking for a curriculum developer to join our ADF Curriculum team, which is tasked with ensuring that [...]

Hiring a Curriculum Developer

Lynn Munsinger - Tue, 2012-05-15 09:34
If you are an instructional designer with an eye for technologies like ADF, or if you are an ADF enthusiast and excel at creatively producing technical content, then ADF Product Management would like to hear from you. We’re looking for a curriculum developer to join our ADF Curriculum team, which is tasked with ensuring that [...]

New ADF Insider on Layouts

Lynn Munsinger - Mon, 2012-03-26 13:22
I’ve published an ADF Insider session that helps de-mystify the ADF Faces components and how to work with them (and not against them), when building ADF applications. There’s also some great information on building ADF prototypes. Take a look here: http://download.oracle.com/otn_hosted_doc/jdeveloper/11gdemos/layouts/layouts.html

New ADF Insider on Layouts

Lynn Munsinger - Mon, 2012-03-26 13:22
I’ve published an ADF Insider session that helps de-mystify the ADF Faces components and how to work with them (and not against them), when building ADF applications. There’s also some great information on building ADF prototypes. Take a look here: http://download.oracle.com/otn_hosted_doc/jdeveloper/11gdemos/layouts/layouts.html