BeNeLux Architectural Networking Event at Oracle Open World 2012

The events at Oracle Open World are rolling in.  Here’s a very interesting one in case your from the Benelux(Belgium, The Netherlands and Luxemburg): BeNeLux Architectural Networking Event.

 

Target audience
Anybody who would like to discuss projects, architectures, product combinations, or technical issues is welcome to attend.

There will be some experts that will help you with your questions, among them: Wim Coeckaerts (Sr. Vice President, Linux and Virtualization), Jeff Davies (Sr. Principal PM Product Manager, SOA & BMP), Scott Howley (VP, Middleware), Xavier Verhaeghe (VP Emerging Technologies & Security) and many more(see the event page for the list).

In case you want to talk to us, iAdvise will also be present.

Oracle Forms: upgrade…modernize…integrate

iAdvise already did several presentations and seminars about Forms and Forms Modernization.
And it’s good to see that companies get the messages we are talking about.

We’ve visited a customer who still had some questions on the future of Forms.
They received complaints of users that the UI isn’t “sexy” enough, but besides that there’s nothing “wrong” with the application.

That’s why we told them there’s no need to migrate to another technology.
The demos we did about upgrading, modernizing and integration and of course the statement of direction of Oracle(Oracle Forms will not desupported) showed that we are right.

Now they’re planning the upgrade from Forms 10g to 11g.
After that they’ll take a look at how they can modernize the application(look&feel) and how they can integrate with their other applications.
That’s the way to go!

If you want to read more about our view on Oracle Forms, check out the article “What’s your choice for Oracle Forms” on All Things Oracle.

Oracle Open World – Larry’s keynote: some announcements

Larry talks first about Fusion Apps.
After a controlled test period, it’s now officially available.

And now for really the first announcement…
Larry Ellison: “Everybody has a cloud, we too need a cloud”
So here it is Oracle Public Could.
Great to see Apex is strongly supported.

You can move your application and data from your datacenter to the cloud and back without a problem.
The Oracle Cloud is based on industry standards(Java, XML, Web services,…).
Pricing is based on monthly subscription, and that’s all, no extra licenses.

A second announcement: Oracle Social Network.
Collaborate, share, application integration, BI Navigation, …
He even gave a live demo of the Oracle Social Network.

Oracle Open World starts today!

And I’m the lucky one that is in San Francisco!

So, what’s on for today…
Wake up, breakfast, presentation rehearsal and off to Moscone to register.

And we kick of with ADF EMG sunday.

This should be interesting when you take a look at that list of speakers.

And of course later on today the keynote by Larry Ellison.
Very curious about that!

Like I said before, tomorrow is my own presentation:

  • Session: What’s Your Choice for Oracle Forms: Modernize, Upgrade, Integrate, or Migrate? (session id 08262)
  • Time and place: Monday, 12:30 PM, Marriott Marquis – Golden Gate A

This will be an interesting session for all Forms developers and users!

In case you’re not attending Oracle Open World, follow this blog and the iadvise twitter for regular updates from OOW.

If you want a complete overview from people attending Oracle Open World, come to the OpenXperience day on 21 October in Diegem, Belgium.
Visitors of Oracle Open World will bring you the most interesting information and hot news.

 

Statement restart

Today I explained the “statement restart” problem to a colleague.
Every database developer has to know about this one…

Short: Any statement can be restarted!
This means that when you do one update statement, oracle CAN restart the statement.
Every code in a trigger can be executed multiple times, so watch out with package variables and autonomous transactions in triggers.

Some code to test it:

CREATE TABLE test_trigger(val NUMBER)
/

CREATE OR REPLACE PACKAGE global_var
IS
g_val NUMBER;
END global_var;
/

CREATE OR REPLACE TRIGGER test_trig
BEFORE UPDATE
ON TEST_TRIGGER
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
BEGIN
global_var.g_val := global_var.g_val + 1;
END ;
/

BEGIN
global_var.g_val := 0;
END;
/

INSERT
INTO test_trigger
( val
)
VALUES
( 0
)
/

DECLARE
l_val NUMBER;
BEGIN
SELECT val
INTO l_val
FROM test_trigger;

dbms_output.put_line(‘value in package global variable:’||global_var.g_val);
dbms_output.put_line(‘value in table:’||l_val);
END;
/

BEGIN
FOR i IN 1..100000
LOOP
UPDATE test_trigger
SET val = val +1;
END LOOP;
END;
/

DECLARE
l_val NUMBER;
BEGIN
SELECT val
INTO l_val
FROM test_trigger;

dbms_output.put_line(‘value in package global variable:’||global_var.g_val);
dbms_output.put_line(‘value in table:’||l_val);
END;
/

What’s the value of your global variable?

Or like Tom Kyte says: “Triggers or evil!”
More on this topic by Tom Kyte: That old restart problem again