Tuesday, October 17, 2006

Firefox 2.0 RC3

Firefox 2.0 - also called 'Bon Echo' got a new release candidate.
Downloads can be found here, release notes (not yet updated to rc3) here.

I suppose I don't need to tell you Firefox is the best browser ;-)

On the picture DG Tournament in Firefox 2.0 RC3.

Friday, October 13, 2006

Oracle Tuning

This topic is staying to long in my drafts, so I decide to publish it, as is.

It has nothing to do with my new application "DG Tournament"... the application is "my free-time" ;-) during the day I'm a consultant doing mainly Oracle database things.

Today I had to do some database tuning... There won't be anything new in this thread, but if you don't know it, you can't use it.

You can tune a lot of different things. The most important thing are:
(0. think before, think "how" the application will work, do a proper design, test, test, test, ...) - but in a lot of cases I'm only involved when this is already finished ;-) - actually the smiley should be :-(
1. the Application (logic, how to do things, select statements, programming code, ...)
2. the Application Server
3. the Database
4. the OS and the Hardware (disks, cpu, network)

A lot of people have the reflection to shout add the dba and tell him "the database is working slow". We can discuss about this ;-)

Following I found useful in my tuning (tuning of application and database):
- SQL> set autotrace on
- Oracle Trace Analyzer, as Eddie describes in this great article: "TKPROF on steroids"
- YAPP, as Anjo describes it here, 10 years later
- Upgrading from 8.1.X to 9.X - Potential Query Tuning Related Issues: Metalink Note 258167.1 (yeah, some customers still go from 8 to 9!)
- Oracle Database 10g Migration/Upgrade: Known Issues and Best Practices with Self-Managing Database: Metalink Note 332889.1
- If I develop myself I "instrument" my application code and investigate what would be the best way to do things. Asktom and Q&A from Steven Feuerstein are great sources how you should develop PL/SQL code. This thread for ex. can be useful for developers.

Wednesday, October 11, 2006

Thanks...

Well, the first release of DG Tournament is online... in the following days I'll blog about the genesis of the application and the APEX features I used. In the meanwhile you can already give it a try. The registration is free.

I've first sent a mail to the people who were registered to the World Cup 2006 application, as they were my motivation to create the next version. I would like to apologize for sending the mail twice to some people.

I also would like to thank John Scott and Kristel Geukens for their help.

Enjoy DG Tournament!

WC2006? - No DG Tournament!

Tuesday, October 10, 2006

APEX group on OOW connect

I created an APEX group on the Oracle Open World Connect website.

If you go to OOW and are interested to meet some other APEX developers or enthusiasts, sign up! ;-)

There're some other nice groups... you find the ones I subscribed to on the picture.

--
Tomorrow there'll be an other announcement on this blog!!
--

Monday, October 09, 2006

Install SUSE 10 with favorite toys

It was already a long time ago I played with Suse, but last week I finally installed it again...
My goal: have a fast/"last" linux system with my favorite toys: Oracle DB 10.2.0.2, Apache (companion cd), APEX 2.2.1, SQL Developer 1.0.0.15, JDeveloper 10.1.3.1 and Firefox.

I used Open Suse 10 and although this version is not certified to run Oracle 10gR2, it works. Certified versions of linux are the "Enterprise" versions of Suse or Redhat. I didn't use the Enterprise version, as I would like to see the latest "glitter and glamour" ;-)

ATTENTION
: if you're installing a production environment with Oracle soft, please use a certified system!!


I'll describe in this post how I installed all of the above as it didn't all work "out-of-the-box".

1. Installation of Open Suse 10 (free version)
First thing to do, download the soft from the Suse FTP Server and write it on DVD.
I decided to put Suse next to my Windows XP (I have only 1 partition on 1 disk). This goes really smooth: you do a checkdisk and defrag of your disk in Windows. Afterwards startup the pc with the Suse DVD and tell the installer to dynamically shrink the Windows partition to the needs of linux. I used the setup of partitions as the installer proposed. After clicking a few time "next" you'll have a dual boot, Windows - Suse Linux. Ah, as desktop environment I used GNOME... Before I often used KDE, but now I thought to try something else, as I found KDE a bit "heavy". I always had the impression that GNOME was a little bit "faster"/"smoother" than KDE, although my experience is maybe a bit out of date.

2. Installation of the Oracle Database 10gR2
There's a nice article on the website of Dizwell Informatics (Howard J. Rogers) which describes this step in great detail (even with video). You find it here.
I followed almost all the steps mentioned in the article, but there were also some additional steps:
- To get Apache working, I needed the file libdb.so.2. Via YAST -the configuration tool of Suse- I installed the Berkeley database soft, found on the Suse DVD, because the necessary libs come with it.
- Next to what Howard says, I also had to add to my /etc/hosts file my machine name after 127.0.0.1 localhost. That solved my problem with my listener and em when I wasn't connected to a network (I use a laptop). (Error: can't find host)
- I didn't install a database together with the Oracle 10gR2 soft. After the "software only" install was completed successfully, I installed the companion cd (Apache) and after that the patch 10.2.0.2 which can be downloaded from Metalink.
- Only after the patch was applied I created a new (custom) database. If you create a template based database (for ex. general or data warehouse) you need to apply the patch to the database, if you do it like I did, it's already done (latest soft used to create the database).
- My dbora file looks a bit different, as I start more than only the database

3. Installation of APEX 2.2.1
Download APEX 2.2.1 from OTN here. The APEX documentation is here.
Follow the installation notes, and verify you put the marvel.conf at the end of httpd.conf. I also needed to comment "PlsqlDocumentPath docs" in the marvel.conf file out.

4. Installation of JDeveloper and SQL Developer
Download SQL Developer from OTN here and JDeveloper here.
Installing these is very simple, just unzip it into your preferred directory. However I needed to install the SUN java package before. You find it here.

Tips:
- As with every other product it's important to read through the documentation... Not a long time ago somebody remembered me again. I thought to know something, but as Tom Kyte says it often: "features change through time", and I would like to add to that: "or you just forget about it".
- Ensure you've at least 10 GB free disk space.
- Run the Oracle Installer as follows (to bypass it's not a certified environment): ./runInstaller -ignoreSysprereqs
- Ensure all processes are running (for ex.: ps -ef); you should see a lot of oracle and Apache processes
- Check log files for problems (HTTP-, alert, opmn, ...)
- Create shortcuts to your favorite applications
- To get my Firefox "java enabled" I had to create a symbolic link to my java directory (cd /usr/lib/firefox/plugins and ln -s /usr/java/jre1.5.0/plugin/i386/ns7/libjavaplugin_oji.so). You can download the java runtime environment here.

My Experience so far:
I really like my Suse system. I've the impression that the Oracle tools run smoother in a linux environment. My system needs some time to start, but when it's there, it works really well.

Saturday, October 07, 2006

APEX schedule on OOW

Below you find the schedule of APEX presentations at Oracle Open World (SF).

If you look good, you'll find my name into it too ;-) I really look forward to meet the other persons at the ApEx SIG roundtable panel, and of course YOU with all your interesting and difficult questions!


IDSession TitleSpeakersDate/TimeRoom
S282226IOUG Oracle Application Express (APEX) Special Interest Group MeetingSteven L. Howard, John Scott, Tony Jedlinski, Dimitri Gielis, Doug GaultSunday Oct-22-06 10:45 AM -12:00 PM
Hilton Hotel Continental Parlor 3 Hilton
S283062Build a Dynamic Menu Framework with Oracle Application ExpressTony Jedlinski, Roman Inc.Sunday
Oct-22-06 2:00 PM -3:15 PM
Hilton Hotel Continental Parlor 3 Hilton
S281141Oracle Application Express, Now and in the Future Marc Sewtz, Michael Hichwa, Marco Adelfio (Oracle)
Monday Oct-23-06 10:45 AM -11:45 AM
Hilton Hotel Continental Ballroom 6 Hilton
S281144Oracle Migration Workbench: Taking Database Migration to the Next LevelDonal Daly, OracleMonday Oct-23-06 10:45 AM -11:45 AM
Hilton Hotel Franciscan Room C Hilton
S281162Building Media-Rich Business Applications Using Oracle interMedia and Oracle Application ExpressRobert Abbott, OracleMonday Oct-23-06 12:45 PM -1:45 PM
Hilton Hotel Continental Parlor 3 Hilton
S281146Hands-on Lab: Oracle Application Express--Building a Functional ApplicationSue Harper, Joel Kallman, Marc Sewtz, Marco Adelfio, OracleMonday Oct-23-06 3:00 PM -5:00 PM
Hilton Hotel Imperial Ballroom B Hilton
S281922User-Managed Metadata: Oracle Application Express Meets Oracle Warehouse Builder 10g Release 2Jim Raper, City of Charlotte; Doris Phillips, City of CharlotteMonday Oct-23-06 3:15 PM -4:15 PM
Moscone West 3007 West
S281178Location-Enabling Database Applications with Oracle Application Server MapViewer and Oracle Application ExpressSiva Ravada, OracleMonday Oct-23-06 4:15 PM -5:15 PM
Hilton Hotel Franciscan Room C Hilton
S281160Hands-on Lab: Developing Google-Style Maps for Your Oracle DatabaseL J Qian, OracleTuesday Oct-24-06 10:00 AM -12:00 PM
Hilton Hotel Imperial Ballroom A Hilton
S281145CERN: Building Real-World Solutions with Oracle Application ExpressJoel Kallman, Oracle; Giovanni Chierico, CERNTuesday Oct-24-06 3:45 PM -4:45 PM
Hilton Hotel Continental Ballroom 6 Hilton
S281946Putting the Express Back into Oracle Application Express with AjaxSteve Karam, Burleson Oracle Consulting and TrainingThursday Oct-26-06 8:00 AM -9:00 AM
Moscone West
3004 West
S283155How IntelliReal Is Using Service-Oriented Architecture to Seamlessly Integrate CompaniesBradley Brown, TUSCThursday Oct-26-06 8:00 AM -9:00 AM
Moscone West 2001 West

Friday, September 29, 2006

OOW - Apex evening

Well, everything got finally arranged... I just received the registration confirmation of my first Oracle Open World. I really liked my first stay in the United States; ODTUG in Washington... Now I'm looking forward to visit San Francisco and meet my online Oracle friends in "real life"!

I didn't manage to get a direct flight from Brussels to SF, so I'll spent some minutes in Chicago ;-)
On October 20, somewhere in the evening, I'll cross the streets of SF for the first time...
Almost all hotels near the Moscone Center were fully booked, so I'm staying in the "Best Western Grosvenor Hotel SFO", 380 South Airport Boulevard, South San Francisco, CA 94080.
Somebody else staying there too?

I'm currently looking what to do in the evenings. This is what I already planned:
- Sun 22/10 at 7pm: "Welcome Reception" at Yerba Buena Gardens and Howard Street
- Mon 23/10 at 7pm: "OTN Night (or OTN Underground)" at the Marriott Hotel, Yerba Buena Level and sumptuous Westin St. Francis in Union Square
- Tue 24/10 at 7pm: "OOW2006 Blogger Meetup", organized by Mark Rittman in the "Thirsty Bear Brewing Company", just around the corner from the Moscone. Afterwards there's also the Appreciation Event with sir Elton John.
- There will also be a "Belgium evening" together with Oracle Belgium, but that's not yet planned. Update: Benelux Cocktailparty - Mon 23/10 6pm-9pm
- John Scott and I are also organizing an "OOW APEX meetup" evening! You can subscribe here. The post in the APEX forum is here, initially started by Joel Kallman.

Wednesday, September 20, 2006

APEX patch 2.2.1

A patch for Oracle Application Express 2.2 is released on the 14th of September.

This release fixes several issues in Application Express 2.2, you find the details below. The full installation of Application Express 2.2.1 can be downloaded from the OTN Site. The Application Express 2.2.1 patch set, to be applied to an Application Express 2.2 instance, can be downloaded from MetaLink (Patch Number 5500033) and is about 2.6MB.

To install the patch:
- sqlplus "sys/syspass as sysdba" @apxpatch.sql
- Copy the images/javascript/htmldb_html_elements.js file to the images/javascript directory used for Application Express. The version of htmldb_html_elements.js included in the patch set should overwrite the existing file.

It took me less than two minutes
to apply the patch and it worked great :-)

If you're working with Application Express 2.2 and XE, you should read this.


The table below contains a list of the bugs fixed with the Oracle Application Express 2.2.1.00.04 release.
Bug Nr Description
5441709 Substitutions Not Respected In HTML Form Element Attributes
5442085 Item Buttons Do Not Show On Page Definition Page
5459267 Substitution Message Is Not Displayed While Importing Application Export File.
5473520 Calendar Does Not Render Correctly When Day Link Contains Substitutions
5478895 Creating A Form And Report On A Table Does Not Respect Report Region Name
5442111 Creating Breadcrumbs Does Not Consistently Use Breadcrumb Region
5453208 Missing Indexes On Apex_Mail Log Tables
5463785 Reordering Report Columns Jumbles Show Checkbox
5485723 Post Element Text Is Not Included In A Page XLIFF Translation File
5485866 Unable To Delete Messages From APEX_MAIL_QUEUE
5496804 Some Item Types Apply Label Attributes To The Form Item
5499606 Misspellings In Apex Views Columns And Comments
5499948 Build Option Utilization Report Raises Exception
5503306 Page Radio Items With Names > 30 Characters Cause Page Failures In Some Cases
5412152 PL/SQL: Numeric Or Value Error In Supporting Objects When Switching Editor
5439073 Prerequisite Check For CREATE TYPE System Privilege Always Fails
5439502 WWV_FLOW_CLICKTHRU_LOG Missing Corresponding APEX_DICTIONARY Views
5452033 Display As Text (Based On LOV) Items Cannot Handle Non-Numeric Extra Values
5453543 Unable To Edit Parameters In Process Of Type Web Service
5469015 Authentication Fails On Popup Item Help Pages
5479160 Generate DDL Functionality Fails In 9iR2 Databases
5493470 Application Builder Page Definition Page Does Not Show Build Options
5494575 Named List Of Values In APEX_APPLICATION_PAGE_RPT_COLS View Is Always Null
5443026 Reordering Report Columns Does Not Adjust Sort Check Boxes
5518829 Unable to Use Date Picker on TIMESTAMP in tabular form

Tuesday, September 05, 2006

Updateable view

Although this feature already exist a long time in Oracle, I'd like to share my experience using "updateable views" together with APEX.

My situation
I've a table "Teams", a table "Team Groups" and a table "Team Team Groups" (which teams are in which groups - many/many relationship).

While I was inputting the Champions League teams I had to
1. input into table Teams
2. input into table Team Team Groups

To speed up the inserts in an APEX application, you wouldn't create two insert pages (one per table), but only one page which handles the inserts for you. You can for ex. write some (APEX form) processing which will insert the data into the two tables or tell all items to which table they belong and adapt the standard processing.

I didn't use any of these, I did the insert through a view... I built an APEX tabular form on top of the view and had my GUI very quick and easy!

An updateable view exists of a regular view and an "instead of" trigger...

My view
SELECT t.team_id, t.team_name, t.image_id, t.team_comment, t.is_active, g.team_group_id
FROM tdg_team t, tdg_team_team_group g
WHERE t.team_id = g.team_id;

My trigger
CREATE OR REPLACE TRIGGER tdg_vw_teams_groups_ioi_trg
INSTEAD OF INSERT ON tdg_vw_teams_groups
DECLARE
BEGIN
INSERT INTO tdg_team
(team_id, team_name, image_id, team_comment, is_active)
VALUES (:NEW.team_id, :NEW.team_name, :NEW.image_id, :NEW.team_comment, :NEW.is_active);
INSERT INTO tdg_team_team_group
(team_id, team_group_id)
VALUES (:NEW.team_id, :NEW.team_group_id);
END tdg_vw_teams_groups_ioi_trg;

Almost the same for Update and Delete...

To see if the view is really updateable, run this statement
SELECT column_name, updatable, insertable, deletable
FROM user_updatable_columns
WHERE table_name = 'TDG_VW_TEAMS_GROUPS';

My insert statement
INSERT INTO tdg_vw_teams_groups
(team_id, team_name, team_comment, image_id, is_active, team_group_id)
VALUES (tdg_team_seq.NEXTVAL, 'Shakhtar', NULL, NULL, 1, 1011);

I found it very useful to speed up my inserts like this and this solution also works from SQL Plus, SQL Developer, etc.

Friday, September 01, 2006

I'm back!

After two weeks of honeymoon in Mauritius I'm back in Belgium...

We booked the One & Only Le Touessrok hotel. We can recommended Mauritius and this hotel in particular to everyone! We had a wonderful honeymoon and were treated as royalties!
We stayed in the Junior Suite 283 on the Frangipani Island. One word: "Luxe".
I can write pages of our stay, but I suppose this isn't interesting enough for everybody ;-) You find some more information and pictures of the hotel here.

Mauritius, for me, has two faces... The local people are not that rich and they don't have so much luxury as we know in Europe. They work hard on the fields (sugar, textile) or they fish to survive. Next to that you've the tourism. They literally created a "dream world": island, white beaches, crystal blue water, very nice weather, palm tries and they treat a tourist as a royalty! (tourism is an other important why of getting an income)

So, now a question for you! Any news in the Oracle world in the past two weeks?

Sunday, August 13, 2006

Not alone anymore!

I'm not alone anymore... I'm called a "man" from now on ;-) My girl friend is gone, she became my wife.
My pc will get a bit jealous as she (it) won't get a lot of attention for the rest of August, because I'm going on honeymoon!

The pictures are showing the destination... yes, Mauritius!

I hope I'll get there, as British Airways cancelled there flights to/from Brussels today!

Tuesday, August 08, 2006

Peek on Follow-up WC2006 app

Here 're some screenshots from the follow-up of the APEX WC2006 application.














On the left side, the proposition of the graphic designer. At the right side, how I implemented it at this stage. The application is still in an early development phase... but I already want to give you an idea what my next application looks like.

Like you can see on the pictures, the application will be about tournaments. Not only football. The principle stays the same as in the APEX WC2006 application; the application must be "interactive"; it will allow betting on the scores and discussing about the tournament. But that's not all, it will allow you to create your own tournaments, users participating in teams etc.

On a technical level; the application will be entirely written in APEX 2.2 and it will try to include "all" available features of APEX. Some additional javascript and AJAX will be used too ;-)

I can't give you a date yet when the application will be available... probably somewhere in October. In August I won't have a lot of time as you'll see in an other post.

Thursday, August 03, 2006

APEX Packaged Applications

Oracle released some packaged applications (APEX example applications) on OTN.

Following are already available:

  • APEX Discussion Forum
  • Aria People Search
  • Shuttle Demo (created by Carl Backstrom, member of the APEX Dev Team)
Others will follow soon...

I'm finalizing my database design of the "next" APEX WC2006 app. I also discussed the lay-out with my "graphic wonder"... I'll post some screenshots soon :-)

Wednesday, August 02, 2006

SQL Developer usefull?

I just saw Oracle released the Statement of Direction for SQL Developer on OTN.
In the document you'll find some features planned for the next releases.

I'm sure SQL Developer can help any APEX developer.
Some of the features I think we miss in SQL Workshop, but are/will be available in SQL Dev:

  • SQL & PL/SQL beautifier
  • Explain plan support
  • Autotrace support
Sue Harper, Product Manager of SQL Developer, blogged some screenshots of new features here.

Thursday, July 27, 2006

APEX 2.2 installation

The installation of APEX 2.2 went smooth!


The steps I did:

- Desktop
1. Downloading the apex_2.2.zip file from OTN
2. Transferring the file from my desktop to my unix server

- Server (HP-UX, DB 9.2.0.6, APEX 2.0 installed)
3. Unzip apex_2.2.zip
4. Run sqlplus "sys/... as sysdba"
5. SQL> @apexins password apex_data apex_data temp /i/ none
6. After 36 minutes I got the screen as you can see on your right side
7. SQL> @$ORACLE_HOME/rdbms/admin/utlrp
8. Backup image 2.0 directory
9. Copy new image (2.2) directory to previous location


10. Test in browser
11. It works perfectly, all my previous workspaces were migrated


What happened in the database?
- Creation of FLOWS_020200 schema
- Space utilization of around 100 MB extra

APEX 2.2 in production

As of yesterday, Oracle Application Express 2.2 is in production!

You can download it from the APEX OTN site here. You can see APEX 2.2 working here.

Although it's only an increase in release after the "." there're some great new features!

Although I like all the new features, this is my top 3:

1. Copy a Page from Another Application
You can now copy a page from one application into another. During the copy process, you can also copy referenced shared components or change the mappings to shared components in the target application.

2. Timestamp datatype support
In release 2.2, you can build forms and calendars on tables that have columns of type TIMESTAMP.

3. Component-level Export
You can now export shared components or components of a page. You can use this new feature to backup a component before editing or to create an export that functions as a patch to another Oracle Application Express instance.

Friday, July 14, 2006

APEX WC2006 app - Thanks

Well, it's over... Italy won the World Cup 2006!

The APEX WC2006 application was a great success. More than 420 people subscribed for the application and a lot of them kept betting till the final.

I found it a lot of fun! It was more special to look at the games, hoping the score would be like I predicted. If 1 minute before the final whistle the other team marked a goal, I don't need to tell you what words were said ;-) It even got an other dimension when I was staying in the States and I saw the other betters... I never imagined the application would have such an impact.

I would like to thank you all for the great feedback, the feature requests (which made the application better) and for playing with us.

Some special thanks:
- to my parents, for backing me up and filling in the scores right after the end of the game!
- to Kristel Geukens from G&G Design for helping me with the lay-out of the site and supporting me.
- to Jes (John Scott) from Shellprompt for the nice cooperation, the hosting and the excellent support! Jes posted also some feedback on his blog here.

What's next?
Well, a lot of people asked for something similar for Euro 2008 and the World Cup 2010. I suppose I can't reside on that demand ;-) Maybe you'll even see something earlier...

Friday, July 07, 2006

APEX 2.2 test and evaluation instance upgrade

Yesterday I posted that I didn't hear a lot of Oracle... my words weren't yet cold or I received a mail from the APEX Dev Team:

--
Last Friday, we upgraded our Oracle Application Express 2.2 test and evaluation instance. The code is now very close to production.

Thank you all for giving us feedback. We have read and responded to almost all comments. Many of your suggestions have been implemented in this release or are logged for consideration in 3.0. Please continue to comment and especially comment if you find a bug or what you think might be a bug.

Lastly, if you like something in Apex 2.2 would you consider providing a quote? You can comment on Apex in general or version 2.2 specifically. We need just a few quotes for our upcoming press release. If you really like Apex, this is your chance to tell the world. If you are interested, email your comment(s) along with you name, company name and contact information to htmldbstudio_us@oracle.com.

Thanks again -
The Oracle Application Express Development Team
--

These're the quotes I sent:
My quote 1: "“APEX, my true and only development environment!”"
My quote 2: "“APEX is FUN, this is proven by the big success of my World Cup application, completely written in APEX!”

I hope they select one of my quotes! ;-)

Thursday, July 06, 2006

Oracle silence

I didn't see a lot of news about Oracle and APEX in the last days.

The Oracle stocks are doing fine (see picture - evolution of last 6 months).

On the APEX site, the evaluation version 2.2 is still available. The APEX VP of Oracle said that after handling all feedback, the 2.2 release would be available to the public, first on http://apex.oracle.com afterwards as a download.

On Tuesday, I gave an overview of the presentations I followed at ODTUG to my team. They found it interesting topics and asked if the presentations were available as download. You can download the ODTUG presentations till the first of August on the ODTUG site.

Yesterday I went to a bbq of Edison, a publicity company in Leuven, BE. A few times a year they do an event with the employees, freelances and clients. My girl friend works as freelance for them and I could join her. It had nothing to do with Oracle, but it was interesting to see and hear how they see the market. They knew Oracle, but only from the logo and how they make publicity! I had an interesting conversation with Philip Maes, a known guy in the publicity world, about the different ways to make publicity. Doing pub on the radio is very different than doing pub on tv or in magazines. Although I didn't learn anything technical, it was very interesting to be there! And it was FUN!