Blogger List

Steven Feuerstein Indicates Oracle ACE director status
PL/SQL Obsession

Guy Harrison Indicates Oracle ACE status
Database topics

Bert Scalzo Indicates Oracle ACE status
Toad for Oracle, Data Modeling, Benchmarking
Dan Hotka Indicates Oracle ACE director status
SQL Tuning & PL/SQL Tips

Valentin Baev
It's all about Toad

Ben Boise
Toad SC Discussions

Dan Clamage

Kevin Dalton
Benchmark Factory

Peter Evans 
Business Intelligence, Data Integration, Cloud and Big Data

Vaclav Frolik  
Toad Data Modeler, Toad Extension for Eclipse

Devin Gallagher
Toad SC discussions

Stuart Hodgins
JProbe Discussions

Julie Hyman
Toad for Data Analysts

  Henrik "Mauritz" Johnson
Toad Tips & Tricks on the "other" Toads
  Mark Kurtz
Toad SC discussions
Daniel Norwood
Tips & Tricks on Toad Solutions
Amit Parikh
Toad for Oracle, Benchmark Factory,Quest Backup Reporter
Debbie Peabody
Toad Data Point
Gary Piper
Toad Reports Manager
John Pocknell
Toad Solutions
Jeff Podlasek
Toad for DB2
Kuljit Sangha
Toad SC discussions
Michael Sass 
Toad for DB2
Brad Wulf
Toad SC discussions
Richard To
SQL Optimization
  Toad Data Modeler Opens in a new window
Data Modeling
  Toad Higher Education
How Hi-Ed Uses Toad
  Real Automated Code Testing for Oracle
Quest Code Tester blog


Toad World blogs are a mix of insightful how-tos from Quest experts as well as their commentary on experiences with new database technologies.  Have some views of your own to share?  Post your comments!  Note:  Comments are restricted to registered Toad World users.

Do you have a topic that you'd like discussed?  We'd love to hear from you.  Send us your idea for a blog topic.

Apr 8

Written by: QCTO Blog
Friday, April 08, 2011  RssIcon

Written by Finn Ellebaek Nielsen

Oracle has recently released Oracle Database 11g Release 2 Express Edition Beta. This is great news as rumors had it that Oracle would not release an 11g XE. In my view, this is a very important move from Oracle -- and one that, perhaps surprisingly, could have a big and positive impact on testing in the Oracle world.

Developer-specific Oracle Instances for Development and Unit Testing

In case you are using Oracle 11g-specific features in your applications you couldn't use Oracle 10g Express Edition for development and unit testing. This is now possible, thanks to Oracle releasing Oracle 11g Express Edition.

Why would you use Oracle XE for development and testing? For various reasons described in the following, I recommend the best practice of each Oracle developer having his/her own dedicated Oracle instance for development and unit testing.


You may wonder why I suggest that each developer has their own database. An Oracle database is all about collaboration, isn't it? That's true, but this is not necessarily a good idea. Consider this situation: Your application has a central PL/SQL package that most other PL/SQL and SQL code depend on. Now you need to make a change to it, which presents you with the following challenges:

  • You cannot compile it if some code using the package is currently running in another session as it will be locked.
  • You need to make sure that you implement the change correctly:
    • If you get the syntax wrong you have just severely affected all the dependent code such that it no longer compiles (if the package specification has compilation errors) or runs (if the package body has compilation errors).
    • If you get the semantics wrong it will take you a while to run your unit tests against it and find and fix the error. In the meantime, all your fellow team members are ripping their hair out in frustration because they think that they have a defect in the code they're currently working on.
  • Two developers need to make changes to different subprograms of the package. This cannot be achieved in the same schema of the same instance and if they need to share the Code Tester repository in the same schema of the same instance, Code Tester Test Builder/Test Editor locks the entire test definition when the first developer enters it, blocking out the other developer.
  • It can be difficult to control and cater for synonyms, sequences, PL/SQL and views in automated testing as these are shared database objects (instead of session-based). When you have your own instance you can control them 100%. For instance, consider how much easier it would be to write a unit tests through the usage of the following:
    • Resetting of a sequence such that you know which values are going to be used for primary keys. This makes it easier to write code that verifies outcome in table data.
    • Mocking: When testing a particular program, mocks should be in place of other programs that the Program Under Test is calling. This is one method of tackling the dependency chain of all the programs as you would need to establish the test data setup correctly for all the programs involved in order for your test to succeed, which quickly becomes very complex. Using mocking, mocks of all the other programs called would automatically be put in place during the execution of the unit test.

DBA Privileges

The following limitations may also slow your progress if you share the database with others and DBAs are controlling the environment, not giving you any DBA privileges. In fact, each developer should be the DBA of their own development database because:

  • You should be able to kill defunct/infinite loop processes.
  • You should be able to watch progress of long running transactions and sessions (access to V$SESSION_LONGOPS and V$SESSION).
  • You should be able to create schemas for test (eg for Code Tester's repository and test code) and prototype (trying out new ideas) purposes.
  • Have easy access to alert log and trace files.
  • The DBAs don't have time to maintain your database.

Oracle Database Personal Edition

Obviously if you cannot work under the limitations imposed by Oracle Database Express Edition (eg lack of support for Java stored procedures) you could still implement the best practice through the purchase of a Personal Edition license, which is less than USD 500 for a perpetual license.


11g XE is based on and has the usual limitations, such as:

  • Can only be executed on a single CPU per desktop/server.
  • Only using up to 1GB RAM.
  • Only a single instance allowed per desktop/server.
  • No support for Java stored procedures.
  • 11GB database instance size (up from 4GB for Oracle 10g Express Edition).


You can download 11g XE Beta from OTN here:



Provide Oracle your feedback on 11g XE Beta in the OTN forum "Oracle Database 11g Express Edition Beta" here:


Oracle Database 11g Express Edition Beta Released
del.icio.usFacebookDiggGoogleLive BookmarksNewsvineStumbleUponTechnoratiYahooDotNetKicks

2 comment(s) so far...


Re: Oracle Database 11g Express Edition Beta Released

My experience with 11g XE is, it is browser based and comes with a preloaded HR database. It also supports a SQL command prompt. In case of SQL command prompt, it is not allowing me to login to other databases (system, etc) expect the preloaded HR database.

Also, i'm not sure how to connect to this db from PL/SQL. This is not a big problem, because, XE comes with a SQL command window (browser based) that supports programming (procedures, functions, packages, etc).

By Anonymous on   Saturday, April 16, 2011

Re: Oracle Database 11g Express Edition Beta Released


Not sure what you mean by "connect to this db from PL/SQL"? PL/SQL is a language, not a tool.

I suggest you have a look at the document Getting Started: download.oracle.com/docs/cd/E17781_01/admin.112/e18585/toc.htm

If you have any issues I suggest you ask in the dedicated discussion forum: forums.oracle.com/forums/forum.jspa?forumID=1378

Hope this helps.



By QCTOblog on   Friday, April 29, 2011
Search Blog Entries
Blog Archives
<May 2013>
April, 2013 (13)
March, 2013 (10)
February, 2013 (5)
January, 2013 (7)
December, 2012 (6)
November, 2012 (10)
October, 2012 (8)
September, 2012 (6)
August, 2012 (8)
July, 2012 (8)
June, 2012 (12)
May, 2012 (21)
April, 2012 (10)
March, 2012 (16)
February, 2012 (19)
January, 2012 (20)
December, 2011 (19)
November, 2011 (14)
October, 2011 (12)
September, 2011 (17)
August, 2011 (15)
July, 2011 (16)
June, 2011 (13)
May, 2011 (15)
April, 2011 (8)
March, 2011 (21)
February, 2011 (17)
January, 2011 (16)
December, 2010 (13)
November, 2010 (13)
October, 2010 (7)
September, 2010 (15)
August, 2010 (11)
July, 2010 (13)
June, 2010 (12)
May, 2010 (14)
April, 2010 (12)
March, 2010 (13)
February, 2010 (12)
January, 2010 (7)
December, 2009 (10)
November, 2009 (12)
October, 2009 (15)
September, 2009 (18)
August, 2009 (13)
July, 2009 (23)
June, 2009 (14)
May, 2009 (17)
April, 2009 (7)
March, 2009 (14)
February, 2009 (7)
January, 2009 (12)
December, 2008 (7)
November, 2008 (11)
October, 2008 (19)
September, 2008 (14)
August, 2008 (11)
July, 2008 (14)
June, 2008 (19)
May, 2008 (12)
April, 2008 (18)
March, 2008 (13)
February, 2008 (8)
January, 2008 (7)
December, 2007 (5)
November, 2007 (8)
October, 2007 (13)
September, 2007 (13)
August, 2007 (16)
July, 2007 (11)
June, 2007 (6)
May, 2007 (5)
April, 2007 (5)
March, 2007 (8)
February, 2007 (6)
January, 2007 (6)
December, 2006 (5)
November, 2006 (8)
October, 2006 (4)
August, 2006 (3)