Wednesday, May 6, 2015

Tuesday, March 24, 2015

Oracle APEX - Performance tuning sequences

I've been recently reading about performance issues for sequences with cache values set too low.

  • Daniel Morgan, covers it in his ACE Director Performance Tuning Bootcamp presentation
  • Tom Kyte says "you would be amazed what setting a sequence cache via alter sequence to 100,000 or more can do during a large load -- amazed."
  • Simon Pane from Pythian goes into great detail in a blog post performance issues with the sequence nextval call. He also show to detect when sequences are impacting performance.

With APEX 5.0 nearing general release, I thought it would be interesting to see what the cache value was set to for WWV_SEQ. In case you don't recognize the sequence, it's used by the APEX engine as part of a calculation to generate globally unique ids for APEX items.

A quick check on reveals the APEX team have been thinking about it also:

select sequence_owner, cache_size, last_number
  from all_sequences
 where sequence_name = 'WWV_SEQ';


Interesting to see the cache size was set to the default value of 20 in APEX 4.2 and is now set to 100 in APEX 5.0. That's the "sweet spot" identified in Simon Panes blog also.

So, if you have an active Oracle APEX 4.2 instance, it may be worthwhile investigating..

Sunday, February 1, 2015

APEX 5 EA 3 - Universal theme

Oracle APEX 5 early adopter 3 just came out.

I've been taking the Universal Theme Sample Application for a quick test drive.

I'm truly impressed by what I've seen so far, and a little sad at the same time..

Oracle APEX developers typically come from a database development background, so have strong database design and PL/SQL skills, with relatively few of them having strong web design skills.

In some respects, this has held back the adoption of Oracle APEX in organisations. Developers have been able to quickly build useful and functional web applications using the provided themes with relative ease.

Functional Lada
Sexy Veyron Super Sport
Trouble is "functional" websites don't evoke the same emotional experience as a "sexy" website, just like a functional car like a Lada doesn't evoke the excitement and desire of a super car like a Veyron (pinched from Joel Kallmans' blog).

Out there in "user-land" functional and practical websites don't engage our customers in the same way a visually appealing and well thought out interface does. The visual appeal of any website plays a vital role in user satisfaction. A visually appealing website give the user a positive first impression, and builds the desire to work with it.

Now thanks to the Universal Theme, having a "sexy" website is within the reach of every APEX developer. It looks fantastic out of the box, chock full of the latest UI components and highly configurable with little or no knowledge of CSS. With Oracle APEX 5.0 everyone can build web applications that are both functional and sexy.

To the APEX development team, I tip my hat to you and say very well done.

So why do I feel a little sad; it's always been a fun putting together a great UI for an application to transform it from functional to appealing. I won't get to do that so much now, it looks great already.

Thursday, February 27, 2014

Oracle APEX Listener is no more..

Just noticed the Oracle APEX Listener is no more.. it's now known as Oracle Rest Data Services

Notable items on the website:
  • Can be used for Application Express or any Oracle web-toolkit application
  • Apache Tomcat support is back
  • Default context path has changed from /apex to /ords, but you can change it back to /apex easily.

Tuesday, September 17, 2013

APEX 4.2.3 is out now.

Just noticed APEX 4.2.3 is available, with patch release notes.

Haven't had much time to look at it yet, but noticed Twitter Bootstrap 3.0 is included.

Friday, June 28, 2013

Why go to conferences

KScope13 has just wrapped up, and it's been a really enjoyable conference. I've learnt a lot, caught up with some friends, and had lots of fun also.

I thought I'd share some of the reasons I go to conferences.

  1. To learn something new
    I always try to find at least one or two things that will justify the time/expense of attending a conference to my employer. If you bring back something that solves an issue you have in your business, or a new approach which improves the way you work, or solves a performance bottleneck, then you've justified the trip to your manager. So hopefully next year, you'll get to go again.
  2. To validate the way you work
    Often due to the specialized nature of your work, even in large organizations, there may only be a few people in your organization doing what you do. So even when your part of a large IT team, there's really very few people you can bounce ideas off, or discuss in depth the approach your taking to solve a business problem.
    It's really nice to be able to talk to like minded people, or hear from the experts that the issues and challenges you face, are the same ones they face. And perhaps more importantly, the approach you've taken to solve those issues is both sensible, and similar to what other people are also doing.
  3. To network with others in person
    These days with online forums we're often communicating with people from all around the world. It's really nice to meet them face to face. I've been fortunate to have met several members of the Oracle team, as well quite a few high profile presenters in person. It constantly amazes me how much personality comes across in emails and forum posts, and when you finally meet them, you feel like you already know them.
    Sharing a meal and a few drinks (sometimes quite a few) at conference events really builds those relationships. That can really help when you hit a roadblock, and need to ask for help; it's also nice when you can pay that forward by helping someone else out also.
  4. To raise your profile
    In these uncertain times you never quite know what the future is going to hold for you. So getting your name known in the Oracle community may have longer term benefits; it may open new opportunities for you.
  5. To give something back
    I've been volunteering and presenting at conferences for over 10 years now; it's my way of giving something back to the Oracle community, sharing my knowledge and helping in a small way to make sure the Oracle community is a strong and vibrant community.
So that's some of the my reasons why I go to conferences, please feel free to comment and add your reasons.

Sunday, January 6, 2013

Never write down your New Year resolutions

It's a brand new year, and I'm back from a short holiday, refreshed, re-invigorated and ready to make  some positive changes in 2013.

Now you should never write your New Year's resolutions down, particularly where somebody else might see it.

After all, 88% of all resolutions end in failure, so do you really want to leave a record to remind yourself at the end of the year of all the things you promised to do, and never managed to achieve?

Despite that, here's my list of personal goals for the year.

1. Start playing pennant squash again  

Late last year I started playing squash socially against one of the young guys at work after not touching a racquet in more than 10 years. While I was left barely able to walk, and redder than a ripe cherry by the end of the first match - I really enjoyed it. We've played several times since, each time the quality of the match has noticeably improved and I'm running around the court with much less effort.

We are getting pretty serious now, both armed with new racquets, and gearing up to play in a competition in March. Between now and the competition start we need to join a club, play a few grading games and get match fit. To that end, I've bought a pedometer and am trying to do 10,000 steps a day - squash is the only sport I know of that specifically covers vomiting in the rules.

2. Rebuild the AUSOUG website

This is something I volunteered to do, and have been working in most evenings over the last year, but not published yet. The aim is to go live in late February.

So far, I've built a content management system in APEX to maintain the website, produce eBulletins, schedule events, process conference paper submissions and the like. All that has been straight forward.

The website itself is built using Oracle Portal 10.1.4 which is much more challenging (read annoying). It's quite amazing that there are so many similarities with APEX, yet it is such a dog of a product.

3. Write an article or two for a User Group magazine

It's a real challenge facing all the Oracle user groups these days to get people to submit articles. So I'm going to do my bit - what about you?

If you're interesting in submitting an article just email me at the address below, I'll pass it on to the AUSOUG editor. We share articles with UKOUG and ODTUG, so you can get published all around the world.

4. Do a series of blogs on integrating Twitter Bootstrap into APEX

I've been using Bootstrap with APEX 4.0 (and also Oracle Portal) for about a year now, and am keen to see how much easier it is to implement in the latest APEX 4.2.1 release, which now supports grid based layouts.

Topics I plan to blog on:
  • Basic integration into page templates
  • Specific templates like standard reports, possibly IRR styling
  • List templates combined with Bootstrap components (Navbar, toggable tabs)
  • Plugin integration (AJAX enabled carousel)
  • whatever else I encounter along the way.
Anyway, that's enough resolutions from me - hope you have a great year.