Feed aggregator

ORA-00904: "XMLROOT": invalid identifier

Pawel Barut - Sat, 2008-05-17 04:55
Written by Paweł Barut
Some time ago I've had noticed strange problem with XMLRoot function. I was installing application on production server and I've noticed that code:
SQL> select XMLRoot(xmltype('<a>a</a>'))
  2  from dual;
gives error:
select XMLRoot(xmltype('<a>a</a>'))
Error in line 1:
ORA-00904: "XMLROOT": invalid identifier
WTF, it was running perfectly on development and test environment!
Quick search revealed that XMLROOT is function in XDB schema, which was missing in production environment. I've just copies source code for function from test environment and I could proceed further.
After some time, I've decided to check why this function was missing?
Quick search showed that function is created by script ?\demo\schema\order_entry\xdbUtilities.sql
Strange, well documented function is created only when you install demo schemas? Seems that there should be another explanation.
Then I've found that in documentation this function has 2 mandatory attributes, while my code has only one attribute. So there are 2 versions of XMLRoot function:
  1. SQL function; see documentation
  2. Simplified version created by demo in XDB schema - this version can be also used in PL/SQL

my original code should look like that:
SQL> select XMLRoot(xmltype('<a>a</a>'), version '1.0', standalone yes)
  2  from dual;


<?xml version="1.0" standalone="yes"?>
This can run without XMLROOT function in XDB schema.

Hope this will help someone to save some time.

Related Articles on Paweł Barut blog:
Categories: Development

Conversion (Data Migration) of Invoices in Receivables

Krishanu Bose - Fri, 2008-05-16 15:44

Whenever we are going in for implementation of Receivables module, we have to consider the necessity of bringing in customer open balances from the old system to Oracle Receivables.

Some of the key questions that needs to be addressed before we take up a conversion activity. This is just a sample list and not an exhaustive one:

1. What are the different types of invoices in existing system Provide invoice samples? (invoices, credit/ debit memos, commitments, chargebacks)

2. Do we need to migrate only open invoices?

3. Do we migrate closed invoices also, if yes, then for what time period?

4. Please explain the invoice numbering mechanism? Is it automatic?

5. What are the interfaces from/to your existing receivables system?

6. Will the old system still be in place for querying and reporting purpose?

One can adopt one of the following three strategies for conversion:

1. Consolidate all the open balances customer-wise and create a single open invoice for each customer in the new Oracle system. The advantage of this system is that it is quite easy and not data intensive and makes good business sense in case of small businesses with very few customers. The major demerit of this approach is that later on one cannot track the individual invoices which the customer had sent and can become an audit issue also. In case of dispute over payment, this invoice will remain open till the dispute is resolved. Also, aging of invoices and dunning history will be lost.

2. Bring in all the open and partially paid invoices, credit/debit memos into the new system. Migrate all the unapplied and partially applied receipts to the new system. The advantage of this process of conversion is that you can track all open invoices individually and apply the correct receipt to correct invoice. Also, the conversion effort will be moderately low compared to case if you migrate all open and closed invoices. The disadvantage of this approach is that you cannot have a track of closed invoices in the new system. Also, it would be tough to handle scenarios where there is a dispute regarding incorrect receipt application, etc. This is the most common approach taken for receivables invoice, credit/debit memo and receipt migration.

3. Migrate all open and closed invoices to the new system. Reapply the migrated receipts to invoices in the new system. This approach makes sense if your receivables data is quite small else the effort involved in migrating all closed invoices and credit memos to the new system does not make much business sense.

The next question that arises is how we should migrate the invoices, credit/debit memos and receipts to the new system. Oracle provides standard interfaces to load the same. We can also use tools like Dataloader or manually key in the data into Oracle.

In this article i will talk of invoice, credit/debit memo conversion only. Prior to invoice migration, customer migration should be over apart from other pre-requisites. Following is the list of pre-requisites that should be completed prior to invoice, credit/debit memo conversion:

•Set-up of Customer Payment Terms should be complete

•Set-up of Currencies should be complete (this is necessary in case you have foreign currency invoices also)

•Set-up of Transaction Types should be complete

•Set-up of Accounting Rules should be complete

•Set-up of Tax rates and Tax codes should be complete

•Set up for sales representative should be complete

•Set up for debtor area should be complete

•Set up for income category should be complete

•Automatic customer invoice numbering should be set to 'No'

•Customer and Customer address should be migrated in the system

•Disable the Invoice interface purge program so that the data successfully imported should not get purged in the interface table.

•Set up for invoice batch source name should be complete

In the next step extract Invoice data from the legacy files and using SQL loader populate the interface tables RA_INTERFACE_LINES_ALL and RA_INTERFACE_DISTRIBUTIONS_ALL. Submit the Auto Invoice open interface program. Data from the two interface tables will be uploaded to the following base tables using the Invoice open interface program:









Ensure that the Purge Interface check box is not checked when you submit the Autoinvoice program. In the Autoinvoice errors form you can see the error corresponding to failed records. Correct the errors in the interface table and rerun the Autoinvoice program. Submit the Autoinvoice Purge Program separately. Only records that have been successfully processed by Autoinvoice are purged.

Using autoinvoice you can migrate invoices, credit/debit memos and on-account credits into Oracle. However, you have to set grouping rules (Navigation > Setup > Transactions > Autoinvoice > Grouping Rule) to group lines to create one transaction and ordering rules (Navigation > Setup > Transactions > Autoinvoice > Line Ordering Rules) to determine the order of the transaction lines on a particular invoice.

PMXPO – It’s better than I expected!

Project Directions - Thu, 2008-05-15 09:04

Just a heads up that I’m attending the virtual PMXPO 2008 right now.  It is much cooler than I thought it would be.  It’s just like being at a conference without all the hassles of travel and that annyoing thing called walking between sessions and booths!

Right now I’m listening to the keynote speaker and there are several more sessions coming throughout the day.  I don’t think it’s too late to sign up so just go to http://events.unisfair.com/rt/pmexpo and sign up now.  I’ll have more details on what I liked about it later.

Bluetooth for Solaris

Siva Doe - Wed, 2008-05-14 23:16

Check this announcement. One of the gaps identified for Solaris on Desktop was Bluetooth connectivity. Looks like these folks have filled that gap. They seem to miss a GUI for better integration into the desktop. Right now, it is all command line, like a FTP client. I am happy to say that I too played a part as their external guide. Good work there folks.

Silverlight 2.0

Oracle EPM Smart Space - Wed, 2008-05-14 16:53

In my post on desktop and web convergence I said I would spend some time on each of the technologies I mentioned, so here we go. I will start out with Silverlight only because for the past 2 years I have been immersed in c# and smart clients so it was a pretty simple jump. Don't expect that after reading this post you will be an expert in Silverlight as I have only scratched the surface. I figure the best way to start is to list the pros and cons; here are some things I think fall into the pro category:

Language Support

Silverlight allows development and extensions using a verity of programming languages including JavaScript, C# and VB.Net. This will help ease the learning curve for existing developers familiar with these languages. Silverlight also has a Dynamic Language SDK that allows developers to communicate with the .NET libraries included with Silverlight. This makes it open to many other language possibilities like Python and Ruby.

IDE availability:

This is often time a con for newer technologies but for Silverlight this is a pro, it's integrated into Visual Studio 2008 it has a separate design environment of its own (Expression Studio). Studio is truly for the designer and allows for UI driven creation of animations and overall user experience. Having great IDE's for both the designer and the developer is a big plus.

Platform and browser support:

Silverlight supports many platforms and browsers. This is different than one might expect from Microsoft but Silverlight supports IE, Safari, and Mozilla and will run on both Window and the Mac. Plus there is now support for a growing list of mobile devices.

User Experience Support:

Silverlight has a wide variety of features that support a rich user experience, this combined with the power of Expression Studio make for crisp UI's. Features include; media support, panel and canvas support, animations with timelines, AJAX support, etc.

Here are some things that I considered cons:

Limited .Net Framework:

This one can go either way but for me it is a con. Silverlight comes with a limited set of the .Net framework assemblies (to keep the client install small) and for developers that are used to desktop development this will be difficult. For others new to the .Net world they this will not be a con.

Separate IDE's for Design and Development:

I am always looking for that one IDE that does it all and I tend to cross the line between designer and developer so switching in and out id Visual Studio and Expression Blend was not so smooth. I wish they would just stuff Blend into Visual Studio but I am sure many disagree on this.

Keep in mind that Silverlight 2.0 is currently in beta and like any other beta software you should use and install with care. Here are some cool Silverlight samples.

Categories: Development

Northern California Oracle Users' Group Conference

Claudia Zeiler - Wed, 2008-05-14 10:58
If you are in Northern California you may be interested in the Spring Conference of the Northern California Oracle Users' Group. Among the speakers is Rich Niemiec. Here is the info, also available at the NoCOUG web site

May 15, 2008 at the Crowne Plaza Hotel in Foster City, CA

See directions to the conference location near the bottom of this page.

If you will be coming, then please RSVP online now. Remember, conference attendance is free for NoCOUG members and $40 for non-members.

8:00 - 9:00 Registration and Continental Breakfast - Refreshments Served 9:00 - 9:30 General Session and Welcome - Roger Schrag, NoCOUG President 9:30 - 10:30 Keynote: How Oracle Came To Rule the Database World - Rich Niemiec, TUSC 10:30 - 11:00 Break Columbus Room Drake I Drake II 11:00 - 12:00
Session 1
The Best Oracle Database 11g New Features by Rich Niemiec, TUSC Building the Technology Stack for Modern Applications by Caleb Small, Caleb.com, Camosun College Natural Data Clustering: Why Nested Loops Win So Often by Dan Tow, SingingSql.com 12:00 - 1:00 Lunch in Marco Polo Room 1:00 - 2:00
Session 2
Oracle Archiving Best Practices by Dave Moore, NEON Enterprise Software Poor Man's Auditing with Oracle LogMiner by Caleb Small, Caleb.com, Camosun College Getting SQL Right the First Try by Dan Tow, SingingSql.com 2:00 - 2:30 Break and Refreshments 2:30 - 3:30
Session 3
Oracle Database Security in a Nutshell by Daniel Liu, Oracle Corporation Web 2.0 Ajax-Based User Interfaces Development Made Simple by Shay Shmeltzer, Oracle Corporation RAC 11g, Virtualization and More... by Vijay Ragunathan, Guidewire 3:30 - 4:00 Raffle 4:00 - 5:00
Session 4
How Independent Software Companies are Leveraging Oracle Embedded Products in Their Software Applications by Gabe Stanek, Oracle Corporation Hacking and Defending Databases by Todd DeSantis, Sentrigo The Evolving Web UI by Avrom Roy-Faderman, Quovera 5:00 - ??? NoCOUG Networking and No Host Happy Hour in the conference hotel at the Club House Bistro
Mark your calendar for NoCOUG's Summer Conference:
August 21, 2008 at Chevron in San Ramon.

Speaker Abstracts for Spring Conference

Keynote “How Oracle Came To Rule the Database World” - Rich Niemiec, TUSC

This is a break from the technical presentations, but not too much of a break. Sit back and listen to the history of the relational database go by. Find out the crucial moves that Oracle made at critical junctures of their history. See what drove the product from inception, over the rocky road and eventual to the top of the mountain. Learn what made Oracle the product a success, but also find out the attributes that made Oracle the company a font of technological wizardry. This talk will reveal several seldom heard facts and some unknown secrets of Oracle's success.

I. The Paper that started it all - E. F. Codd
II. System-R & Ingres
III. Oracle is Founded as SDL
IV. Version 1 to Version 10g
V. Why did Oracle win?
VI. Future market direction
VII. Summary

Columbus Room “The Best Oracle Database 11g New Features” - Rich Niemiec, TUSC

This presentation will look at which 11g new features should be investigated for use. Most of the features that will be covered will be related to the DBA, but there will also be a few outside that realm. There will be simple examples to show the basic functionality of the following new features:
Memory Target
Partition Advisor
Security Enhancements
DDL Lock Timeout
The Invisible Index
Automatic Diagnostics Repository
SQL Plan Management
Real Application Testing (Workload Capture and Replay)
SQL Repair Advisor
ADDM Enhancements
Interval Partitioning
Optimizer Enhancements

“Oracle Archiving Best Practices” - Dave Moore, NEON Enterprise Software

Data volumes are growing ... Space is at a premium... Backups take forever ... Query response is dragging... Unused data can be moved out of the active database ...

The subject of data archiving is never addressed until the data retention problem is serious. Requirements for archiving range from legal obligations for data retention (Sarbanes Oxley, HIPAA, and so on), to operational performance, to internal business requirements. What data should you archive? How often? How should you do it? And what needs to be done inside of Oracle to regain operational efficiency? Whatever needs are driving your business archive initiatives, join Dave Moore to determine archiving best practices. This informative session will describe how you can meet your Oracle database archiving requirements while simultaneously optimizing database performance.

“Oracle Database Security in a Nutshell” - Daniel Liu, Oracle

In this Seminar, the students will learn how they can use Oracle database features to meet the security and compliance requirements of their organization. The current regulatory environment of the Sarbanes-Oxley Act, HIPPA, the UK Data Protection Act, and others requires better security at the database level. The session provides suggested architectures for common problems. It covers the following security features of the database: auditing, column and file encryption, virtual private database, label security, enterprise user security, and more.

“How Independent Software Companies are Leveraging Oracle Embedded Products in Their Software Applications” - Gabe Stanek, Oracle

The market for embedded database software continues to experience significant growth, based on a highly diverse range of use cases, including consumer and mobile devices, desktop and enterprise software, large-scale networking and storage equipment and appliances. Oracle offers the industry's broadest portfolio of world-class embeddable database products that ranges from: -- Oracle TimesTen - for real-time, in-memory relational data management and caching; -- Oracle Berkeley DB - for high performance, non-relational data management; and -- Oracle Database Lite - for online/offline mobile data management.

Requiring virtually no human administration, these products are ideal for developers in industries such as telecommunications and high technology, which have demanding requirements for intelligent edge devices and services.

"The increase in customer adoption for Oracle's embedded databases is a testament to our commitment to embedded developers building the next generation of applications that need to run in always-on, zero administration environments," said Rex Wang, vice president Embedded Systems Marketing, Oracle. "Our goal is to offer developers a broad range of choices, so they can pick the right solution for their specific application. We continue to innovate and integrate our products, so that our customers can avoid the time, cost and risk of building it themselves."

Organizations spanning multiple industries are lauding the one-stop support, lower TCO, and comprehensive, unattended operation as key benefits of Oracle's Embedded product lines. One of those is to be determined (would like to involve one of our customers from the local area, but I need to confirm).

Drake I “Building the Technology Stack for Modern Applications” - Caleb Small, Caleb.com, Camosun College

Overview of building clustered Oracle Application Servers, clustered RAC Database Servers, clustered NetApp Storage Arrays, and clustered Load Balancers to deploy java or forms & reports applications in a high availability environment.

“Poor Man's Auditing with Oracle LogMiner” - Caleb Small, Caleb.com, Camosun College

The need for database auditing is a topic that most DBAs have heard loud and clear. Oracle offers many auditing solutions, and the specific requirements of each individual application must be assessed before choosing. One of the simplest, yet most powerful solutions is the time tested LogMiner. Oracle LogMiner allows reconstruction of past SQL statements from the on-line and archived redo logs, provided that some simple configuration requirements are met. While there is some additional overhead imposed on the database, for the most part all the necessary mechanisms are already in place and no additional audit trails or log files need to be maintained. This presentation steps through the decision criteria for selecting this option, and the actual database implementation steps based on an actual production system.

“Web 2.0 Ajax-Based User Interfaces Development Made Simple” - Shay Shmeltzer, Oracle

The Web 2.0 generation of applications has brought a new user experience to Web-based applications. Ajax-based UIs are much more dynamic and offer better usability. This session explains how the new Oracle Application Development Framework (Oracle ADF) Faces rich-client components drastically simplify the development of such advanced UIs. Learn about the new components, how they work, and how they can influence the design of your user interface.

“Hacking and Defending Databases” - Todd DeSantis, Sentrigo

"Presenting a new angle on a popular attack vector on databases: SQL Injection." We will describe types and techniques of SQL Injection attacks on both Oracle-based web applications and built-in database stored program units, and show how simple SQL Injection can be used to own the database server through the means of privilege escalation.------ We will also list ways of preventing SQL Injection attacks - ranging from secure coding practices to various external tools that will alert and prevent SQL Injection attempts, and demonstrate how hacker techniques of evasion can be used to subvert them. Finally, we will introduce new deep inspection tools for Oracle 9i/10g that can prevent SQL injection, even in zero-day scenarios.
Take away points:

  • How SQL Injection attacks work
  • Secure coding practices
  • Existing tools for SQL Injection prevention and techniques to evade them
  • New resilient technologies used to solve entirely SQL injections, even those exploiting zero-day vulnerabilities
Drake II “Natural Data Clustering: Why Nested Loops Win So Often” - Dan Tow, SingingSql.com

I'll present a mix of empirical data and theoretical explanation to demonstrate why optimizers tend to favor hash joins, while experienced SQL tuners so often find they can do better by forcing nested-loops joins. The key is co-clustering - the tendency of well-clustered rows in one table to join to well-clustered rows in another table, a tendency that favors nested-loops joins.

“Getting SQL Right the First Try” - Dan Tow, SingingSql.com

Most SQL tuning material addresses the question of how to fix performance of slow SQL. However, there are little-known rules that enable developers to avoid most tuning problems proactively, while also avoiding common functional mistakes and writing SQL that is far easier to understand and to maintain when it does need later work. This presentation proposes rules and processes to write correct and fast SQL from the beginning.

“RAC 11g, Virtualization and More...” - Vijay Ragunathan, Guidewire

Virtualization software like VMware and Xen are changing the commodity hardware world. One of the benefits of this virtualization software is to be able to run Oracle RAC with more than one node with limited cost for development and testing environments. We will talk about how to set up RAC 11g with this software. In addition, we will also talk about some 11g features related to RAC, ASM, and AWR/ADDM and cache fusion tracing.

“The Evolving Web UI” - Avrom Roy-Faderman, Quovera

Applications on the web have come full circle--from highly interactive applets, through request/response-cycle based JSP applications, through richer applications through asynchronous server calls, back to highly interactive Web 2.0 applications. This talk covers the current state of the art in web applications, with a focus on developing these applications in Oracle JDeveloper 11g.

If you have suggestions for future meetings or would like to offer feedback on previous conferences, then please complete our online survey or send us an email.

Directions to the Crowne Plaza Hotel in Foster City:

1221 Chess Drive, Foster City, CA 94404 (888) 444-0401

From Highway 92 East:
Take exit 14B toward Foster City Blvd (0.2 mi) Turn left at Metro Center Blvd (495 ft) Turn left at Foster City Blvd (0.2 mi) Turn left at Chess Dr (285 ft) To: 1221 Chess Drive, Foster City, CA 94404

From Highway 92 West:
Take exit 14B toward E Hillsdale Blvd/Foster City Blvd (0.3 mi) To: 1221 Chess Drive, Foster City, CA 94404


View Larger Map

Copyright © 2008 NoCOUG. All rights reserved.

Oracle's CPU Patch Naming

Jared Still - Tue, 2008-05-13 19:30
Just today I discovered that Oracle changed the nomenclature used to refer to Critical Patch Updates.

Up through the patch bundle issued in October 2007, these were referred to by the date of release. The October 2007 release was "Oracle Critical Patch Update - October 2007", often shortened to "CPU Oct 2007".
Oracle Critical Patch Update - October 2007

When viewing the documentation for the October 2007 CPU you will see this:

Oracle® DatabaseCritical Patch Update Note
Release for Microsoft Windows (x64)

The documentation for the January 2008 CPU however looks a bit different:

Oracle® Database Server Version Patch 17
Bundle Patch Update Note
Release for Microsoft Windows (x64)

Note the difference. The Oct 2007 CPU is referred to by date, while the Jan 2008 CPU is referred to by patch number.

By digging down into the Oct 2007 CPU documentation you will find that it is referred to as "Patch 16".

Doing the same for the "Patch 17" documentation reveals that it is indeed the Jan 2008 CPU.

Why does it matter?

Imagine working with consultants for a major application system that uses Oracle as a database. Imagine also that these consultants also know only 'Patch 17', while you know only about 'Jan 2008 CPU'.

This can lead to a great deal of confusion, as it did for me (as well as the consultants) recently. Digging down into the docs revealed the change in nomenclature.

It led to (I am telling on myself here) me installing both the October 2007 CPU and the January 2008 CPU on a single database. This wouldn't be so bad, if they had been applied in the wrong order.

Maybe most other Oracle folks already know about this, and I just missed the memo explaining that Oracle would start referring to their CPU's by a different name.

In any case, not knowing this caused a lot of extra work.
Categories: DBA Blogs

ActiveRecord Oracle enhanced adapter

Raimonds Simanovskis - Mon, 2008-05-12 16:00

In all Ruby on Rails on Oracle projects where I am using original ActiveRecord Oracle adapter I always create some “monkey patches” of Oracle adapter to support my needs. I have written about several of these patches in this blog (see 1, 2, 3).

As such monkey patches are not easily maintainable and reusable between projects I decided to fork existing Oracle adapter and create my own ActiveRecord Oracle “enhanced” adapter where I will add all my enhancements.

Today I released first version (1.1.0) of Oracle enhanced adapter on RubyForge as well as source code is available at GitHub.

To install Oracle enhanced adapter execute (should be available soon):

sudo gem install activerecord-oracle_enhanced-adapter

To use it you need to use “oracle_enhanced” as the adapter name in database.yml configuration file instead of “oracle”. In addition I recommend to create config/initializers/oracle_enhanced.rb file where to put any adapter configuration options that you can see below.

Initial version contains the following enhancements:

  • Improved perfomance of schema dump methods when used on large data dictionaries
  • Added LOB writing callback for sessions stored in database (see previous post)
  • Added emulate_dates_by_column_name option
    Set the option below and as a result columns with DATE in their name will be emulated as Date (and not as Time which is default for DATE columns in database)
    ActiveRecord::ConnectionAdapters::OracleEnhancedAdapter.emulate_dates_by_column_name = true
  • Added emulate_integers_by_column_name option
    Set the option below and as a result number columns with ID at the end of column always will be emulated as Fixnum (useful if in legacy database column type is specified just as NUMBER without precision information which by default is mapped to BigDecimal Ruby type)
    ActiveRecord::ConnectionAdapters::OracleEnhancedAdapter.emulate_integers_by_column_name = true
  • Added emulate_booleans_from_strings option
    Set the option below and as a result CHAR, VARCHAR2 columns or VARCHAR2 columns with FLAG or YN at the end of their name will be emulated as booleans (and “Y” and “N” will be used to store true and false values). This is useful for legacy databases where Rails default convention of NUMBER for boolean values cannot be used (e.g. if you are using Oracle E-Business Suite where booleans are stored as “Y” and “N”).
    ActiveRecord::ConnectionAdapters::OracleEnhancedAdapter.emulate_booleans_from_strings = true

If you need to override how date, integer or boolean columns are identified then you can redefine class methods is_date_column?, is_integer_column? and is_boolean_column? definitions in OracleEnhancedAdapter class.

Please comment if you find these enhancements useful in your projects and also what other Oracle adapter enhancements you need in your Ruby on Rails on Oracle projects.

Categories: Development

Free software I wouldn't be without

Brenden Anstey - Sun, 2008-05-11 19:18

Here are some tool-utilities-programs I wouldn't be without. All free and very useful:
PuTTY : SSH Client : Link
UnxUtils: grep, cut and ls your way around Windows : Link
CutePDF : Convert ANY document to PDF : Link
Foxit: Lightweight fast PDF reader: Link
XML Notepad : Free XML tool from Microsoft : Link
Collabnet Subversion : Powerful source control : Link
TortoiseSVN : Explorer extension and GUI for Subversion: Link

Talking Chalk at Web 2.0 Expo 2008

Ken Pulverman - Thu, 2008-05-08 17:00
So what have I been up to recently on the blog front...experimenting with what I hope is more engaging content. Here's my first attempt using slideshare.net to record my chalk talk at Web 2.0 Expo 2008.

Another Desktop/Web Technology

Oracle EPM Smart Space - Wed, 2008-05-07 08:21

Just as I was thinking about what technology I should start with from my last post another company decided it was time to hop on this desktop/browser train. Sun announced JavaFX at the JavaOne conference yesterday. JavaFX is the latest entry into this space and this should help to fuel innovation but will add to the confusion when trying to decide what platform to develop on. This technology along with the others has many compelling features like rich user experience, browser and desktop capabilities, and it's cross platform.

Stay tuned next week when I start to dig into each of these technologies...

Categories: Development

OpenWorld 2008 – Open for Business

Project Directions - Sun, 2008-05-04 21:26

In case you missed it, registration for OpenWorld 2008 – the premiere event for anything related to Oracle each year – is now open.  I happened to be at our HQ the last couple of weeks and got to scout out a possible location for our annual Projects party, typically held on the Tuesday night of OOW.

I can’t say where the location is of course, but I wanted to leave you with a little taste of what the view COULD look like if we go with this spot.



8 Ways to Save your next Project…and how we can make it happen!

Project Directions - Sun, 2008-05-04 20:43

On the Baseline site recently there was an article posted about the recurring theme of IT projects running chronically late.  The title of the article is 8 Ways to Save Your Next Project.

Here I’m taking that article and giving it an Oracle spin!

1. Get your head out of the software

Most project managers spend too much time in their project-planning applications and not enough time doing the briefing and communicating for which they are solely responsible. You should be spending the bulk of your time talking to and corresponding with project constituents – your team, the stakeholders, vendors, consultants and key end-users. The “soft” skill of communication is integral to project success.

Oracle Spin: Totally agree!  Our Project Collaboration module pushes the task of tracking progress and creating issues and managing documents and deliverables to your team members.  Why have the PM have to ask for status updates and then enter those when it’s best done if the hands of the task owners?

 2. Plan and define as much as possible—but don’t go overboard

A key component of project management is the thorough and meticulous planning of every aspect of a project, but a perfectionist could spend all his or her time in the planning stage. There’s no way to anticipate every variable so at some point, you have to pull the trigger.

Project managers are increasingly using rapid project deployments and iterative models that have been successful in the software development world. These models are based on the principle that in some ways it’s better to start the project and see what you’re up against.

Oracle Spin: Our project creation templates take the pain out of making new projects!  Why create a project from scratch when you already know 80% of what you want it to look like because you’re doing the same thing over and over?  From pre-defined templates with most of your relevant information included, to actually choosing a past project to copy from to build your new project, we’ve got you covered when it comes to saving time setting up your details.

3. Manage scope creep—for real

Like a turkey on Thanksgiving, you can rely on the fact that the project you think you’re heading for may bare only a passing resemblance to the one you end up with. With the increasing complexity of data centers and the Pandora’s box of surprises once you get under the hood, it’s advisable to game out and document the potential sources of scope creep. For instance, the team may want to take a different approach than planned, management may want to change, add or expand the deliverables or you may uncover a technical aspect you didn’t know existed.

Oracle Spin: Our Change and Issue management feature helps you keep on top of those constant changes that occur in your projects and even lets you see the impact of accepting a change request before you approve it!

4. Don’t be lazy with risk management

If you need 200 servers delivered at the same time for a worldwide mail server upgrade, it’s not enough to know what the risk is if the vendor doesn’t deliver. It’s time to manage the risk by deciding ahead of time that, as reliable as your vendor has been in the past, there’s little margin for error. Going with two or three vendors might be more complicated but in the end, it may save your project if only 20 severs aren’t delivered on time instead of 200.

Oracle Spin: Nothing to spin here since we believe Risk Management is something every good PM will do – in this scenario it’s a business decision that just might make sense for the given project.  If you want, you can model several different versions of a budget under various costing scenarios by different vendors so you can see what cost impact that redundancy will have.

5. Get a grip on expectations

Ask vendors and consultants for the best, most likely and worst-case scenarios and then use your own resources to calculate the aggregated risk so you can determine the probable outcome.

There are risk management software applications that can help you do the job. There’s no way to guarantee that a project won’t be delayed or go over budget, but taking off the rose-colored glasses will reduce the likelihood of extreme variances.

Oracle Spin: Check out one of our newest acquisitions called Crystal Ball – this best of breed predictive modelling software suite of analytical tools includes Monte Carlo simulation, optimization, and forecasting.

6. Govern with strength

Even with all the good work you did up front, problems and roadblocks will surely arise. Don’t blow it when it comes to actually addressing the problems. To the degree you can, refer to the approaches you documented and discussed with your team. If planned properly, your team should be able to tackle the problems early on before they become major hindrances.

Depending on the event, governance may include gaining approval from management to sign off on project changes that effect the project budget or time frame beyond a certain point. For example, if changing direction means the project will cost 10 percent more and take 10 percent longer, it may be time to bring senior stakeholders into the loop.

Oracle Spin: Again I refer to our Issue and Change Management features of our product which will help you assess the impact of unplanned project bumps.  If you’ve tracked an Issue (and if you’re using Project Collaboration, any team member can create an Issue!) and now it’s time has come, you can easily roll it over into a change request and route it for approval.

If you need enterprise strength Governance, check out our complete solution here!

7. Prepare for intervention

If your approaches are better in theory than in practice, it might be time to intervene with the project plan. Create an intervention plan before the project starts and communicate the plan to everyone directly and indirectly involved. The plan may include steps to take when adding resources, for assessing project-management practices and even changing the project leader.

Oracle Spin: Oracle Projects allows you to store and share documents with all of your team members to keep track of important items such as the Charter, Statement of Work, Risk and Compliance Procedures, templates etc.

8. Drive behavior to use the technology

Whatever you do, don’t rest on your laurels when the technical aspects of the project are completed. Creating a plan to ensure that people actually use the technology you just spent 18 months implementing will serve you well. If you and your organization want to see your expected return on investment, make sure you have a hand in educating and training users.

Oracle Spin: And if you want to see that your project ROI has been positive, be sure to use our Earned Value reports and calculations as you progress through the project.  So even if the end users decide they really didn’t need that whizz-bang new application that you built, at least you’ll make sure you were managing your project to expectations and within budget and you’ll have a great story as you’re looking for your next project to run!

Session proposal for OOW - Using Ruby on Rails with Oracle E-Business Suite

Raimonds Simanovskis - Sat, 2008-05-03 16:00

OOW_submit_session.pngmix.oracle.com team created opportunity to suggest and vote for sessions at Oracle OpenWorld conference. Therefore I will also try this opportunity and will suggest topic which is covered by many posts in this blog – I proposed session Using Ruby on Rails with Oracle E-Business Suite.

So if you would like me to present this topic in Oracle OpenWorld conference then please go to mix.oracle.com and vote for it!

Categories: Development

Moving back to a lost spfile

Claudia Zeiler - Fri, 2008-05-02 19:38
We had an unexpected outage last saturday morning, and the person who restarted the database inadvertantly did so with an old pfile instead of the spfile - which was lost (not because of the restart). How to get back to the correct set of parameters. EM to the rescue. Looking at all the parameters in EM it shows which have been changed and when. I could then alter the parameters back to where they should be. The dynamic parameters were easy - i.e.

ALTER SYSTEM SET parallel_max_servers = 280;

I then created an spfile from the pfile with only the dynamic parameters corrected.

create pfile from spfile;

But I was looking at an out of date article which put the had an error about the default location of the spfile.

SELECT name, value FROM v$parameter WHERE name = 'spfile';

gave me the actual location of my spfile, which being in the default location was in

Then bounced the database and brought it up with the spfile.

But, of course, the static parameters need a bounce to the database.

I altered the parameters scope = spfile eg:

and then rebounced the database to apply the dynamic changes also to the current instance.


(now if only I could control the fonts on this blog, all would be well.)

Pick a Session Any Session!

Carl Backstrom - Fri, 2008-05-02 16:03
Well I haven't even made it through Kaleidoscope yet and Oracle World isn't 'just' right around the corner but things are starting to move along. Last year introduced the Unconference of which I'm a huge fan.

This year you get the chance to suggest and vote on mix.oracle.com for sessions to be included in at OOW.

You can read more about it here and here.

Lets see some APEX specific sessions anybody have any ideas?

Free hash in Holland - and some fun consequences

Moans Nogood - Thu, 2008-05-01 10:05
I heard this story from a Dutch friend, and I'm sure a) he's completely wrong and b) I've misunderstood everything he said. We must have been drunk both of us. With that in mind, here's the story as I recall it....

It's legal to use hash in Holland. It's also legal for the "coffee shops" to sell it. We all know that.

But of course it's illegal for the coffee shops to purchase it. And as an utterly natural consequence it's illegal to grow it. Of course. Makes sense.

And yet - despite this state of things - the Dutch haven't quite managed to push the hash thing out of the gangsters' hands :-)).

So the gangsters are now growing hash in apartments, on boats, and other places.

They use artificial lights, of course. And carbon filters so it doesn't smell. They circumvent the normal electricity circuit in order to avoid detection. They force weak people to front this kind of activity, of course.

So the Dutch Police are of COURSE trying to find all these places that illegally grow the hash which can be sold legally in the coffee shops. They even use IR (infrared) devices to detect lofts and other places where the heat/lighting raise the temperature of the growth rooms. In response, the gangsters are of course insulating the rooms.

It's all very green and sustainable, I think. And lofts and bad apartments, maybe even boats? - get insulation, which saves energy. It rocks.

The Police has of course out-sourced the removal of illegal growth places that they detect. A private company is called upon, and they'll arrive shortly afterwards and remove the plants, the equipment, and what have you.

This, I think, is brilliant. The private removal company now has an interest in people creating these illegal places, of course. Just like the folks that bred rats in New York in the 1890's because they could get a bounty per rat tail they turned in - because New York City wanted to get rid of all the rats in the city, of course.

As I started out saying: I must have misheard most of this and misunderstood the rest. Even Frederic Forsyth couldn't dream this one up.


Considerations for virtual IP setup before doing the 10gR2 CRS install

Gaurav Verma - Thu, 2008-05-01 09:52

Many a times, simple things can bite you when you are planning something really important, like a jumping the gun for virtual IP installing 10gR2 CRS.

The CRS installation assumes that the virtual IP hostname and IP information should be either in the DNS or in local /etc/hosts file ONLY.  It does not assume that the virtual IP is already tied up to a network interface on the RAC nodes.
A cryptic error... If the virtual IP is already attached to network interface during the CRS install, it throws a cryptc error, saying " the virtual interface seems to be already assigned to another system in the network ", which can be pretty misleading. We faced this situation recently during one of our upgrades:

The problem... The problem was that the racprod1-vip virtual hostname was already associated with a network interface alias lan1:801:

Please note: The hostnames, domain and IPs mentioned in this diagram are completely fictional and have been fudged from their original values. The current representation is enough for the sake of illustration.
The solution... Needless to say, the solution was to dis-associate the racprod1-vip with lan1:801, after which the 10gR2 CRS installation proceeded fine.
Conclusion.. Many people do not appreciate the fineties involved in CRS installation, especially around virtual IP. The actual association of virtual IP hostname and network interface is done by the $ORA_CRS_HOME/bin/vipca script, which is automatically run as part of $ORA_CRS_HOME/root.sh


Subscribe to Oracle FAQ aggregator