Skip navigation.

Feed aggregator

SaaS Soup

Floyd Teter - Fri, 2009-11-20 22:16

My brain's been immersed lately in thoughts about Software as a Service ("SaaS") and how it plays into the Enterprise Apps/ERP world, especially for Oracle Applications customers…my mind is swimming in SaaS soup. Some of this thinking has been admittedly prompted by the news and discussion rooted in this week's Dreamforce 2009 conference (19,000 attendees at this year's conference? I think Salesforce.com has some traction in the marketplace…), as well as Workday's upcoming Webinar on "The Future of Software". Some of my thinking was also prompted by an item from a PowerPoint slide near the end of Larry Ellison's keynote at Oracle OpenWorld, indicating that Fusion Apps will be available as an SaaS offering.


In my thinking, which includes exchanging lots of ideas with other folks in the Oracle Apps user community, I'm finding that there's not much depth of knowledge about the the SaaS model or it's benefits. You can find a nifty primer on the SaaS model here. So far as benefits, three leap immediately to mind:

  • No software installation or maintenance: SaaS eliminates the need for customers to memorize a gazillion-page set of implementation and user guides; patch application and rollout is handled by the SaaS provider - the work of doing so is ideally transparent to users.

  • Shorter deployments: your SaaS provider can implement in days or weeks rather than months.

  • Emphasis on the core of the business: many of us are currently in situations where we spend significant money and time simply keeping our in-house installations running. In the SaaS model, those resources are freed up to focus on the core of the business - you can focus on the business output rather than the IT tools.

The SaaS model makes sense to me in general when I look at Fusion Middleware and Fusion Applications. The technical stack for both includes quite a few "moving parts" working together…it's a higher level of technical complexity than we've seen in Oracle products up to this point (that's part of the trade-off for apps and tools that offer more flexibility and increased business value). Moving to a SaaS model frees apps customers from the burden of managing that complexity.


So let's be a little more specific. Take the example of my own shop which, when you get right down to it, is not much different from many of the medium-size to large-size enterprises out there in terms of our Oracle footprint. We maintain our own infrastructure for our business systems: hardware servers, storage, network, software environments…the works. We have an Oracle E-Business environment, version 11.5.10.2 (with a significant number of customizations) running on iAS (with components of Fusion Middleware like BI Publisher) and the 11g R1 database. We also have a custom applications environment, running on an 11g R1 database and 10g AS. In that custom environment, we leverage OC4J fairly heavily. However, now we'll have to make the transition to WebLogic for our custom environment - OC4J has faded into the sunset. That transition is not a small matter. The high-level Oracle guide on the migration is 32 pages long (insert nervous coughing here). To make matters even more interesting, the E-Business Suite will continue to utilize 10g AS/OC4J. And did I mention that we're about to start up a project for upgrading to R12.x.x? We should be able to knock it out in around 18 months or so, in parallel with migrating the custom environment to WebLogic. So now my shop will need skills in maintaining both 10g AS and WebLogic. Can you visualize the big, black kettle boiling up with some really bad juju…more skills required, more complexity in maintenance, greater consumption of resources with keeping the two environments cooperating (yes, we do have some integration between the two). Yeah, let your mind run down the track with this scenario for a minute. It's my future. That is, of course, unless we shield ourselves from some of this cost and complexity by moving one or both environments to an SaaS model, letting the SaaS provider deal with part or all of this. And we could avoid any additional hardware costs while we're at it.


So it seems to me that my own shop makes a pretty good use case for SaaS. Whether we'll do it or not remains to be seen…the decision is not in my hands. Still, it doesn't take much to build a case worth investigating.


Now I've hit the SaaS concept pretty lightly here. And I'm admittedly really late to the SaaS party. But I'd like to hear what you think. Does it make sense for your organization? Let's keep this idea going, for better or for worse, in the comments!


A Time/Hour Selector in ADF Faces - Did you know?

Shay Shmeltzer - Fri, 2009-11-20 18:04
I must admit that I wasn't aware of this and I'm guessing that if this is news for me it might be news for other people so I wanted to blog about it. Turns out that the af:inputDate components in... shay.shmeltzer http://blogs.oracle.com/shay
Categories: Development

EBS 12 Certified with 10gR2 10.2.0.4 DB on Windows Server x64 (64-bit)

Steven Chan - Fri, 2009-11-20 16:26
Oracle E-Business Suite Release 12 is already certified with the 10gR2 10.2.0.4 database for several platforms. Our Applications Platforms Group continues to certify additional platforms on a regular basis. They have just completed their certification of Oracle E-Business Suite Release 12 versions 12.0.4 and 12.1.1 with Microsoft Windows Server 2003 and 2008 for x64 (64-bit) platforms. Steven Chan http://blogs.oracle.com/stevenChan/about.html
Categories: APPS Blogs

More thoughts on AS/400 and World

Andrews Consulting - Fri, 2009-11-20 16:24
  Every time I do a posting that comments on the sad fate of AS/400 (aka iSeries, System i or Power Servers) many passionate responses come in.  Rather than respond to each one separately I will use this posting to expand on and clarify the previous one. First, I share your collective frustration with what has happened [...]
Categories: APPS Blogs

Blogrotate #7: The Weekly Roundup of News for System Administrators

Pythian Group - Fri, 2009-11-20 14:15

Is it Friday already? Where has the week gone? Whatever, we’ve got lots of good news tidbits for you this week, including several follow-ups to previous stories. Enough jaw-jacking, let’s get to the news.

Operating Systems

This week we got an early alpha of Google Chrome OS, which is slated for full release sometime in Q4 of 2010. ZDNet blogs and Ars technica have three good first looks at Chrome. First up is Adrian Kingsley-Hughes article Chrome OS – The good, the bad and the ugly, and how it fits in with Windows, Mac and Linux.

For a more security related view, Ryan Naraine has an early look into Chrome OS security with Inside the Google Chrome OS security model.

Lastly, Jon Stokes at Ars Technica has his own first look with screenshots in Chrome OS: Internet failing at PC > PC failing at Internet.

There’s a new Fedora in town. The popular Linux desktop put out by Red Hat released its newest version. Bill has gone crazy for Fedora articles today, so here’s a point form list of what he found.

Have you ever wondered just how much you can take out of Windows and still have a usable system? The Minwin project set out to find that out for you. Warren Rumak discusses Minwin and what it’s all about in Inside “MinWin”: the Windows 7 kernel slims down.

Data Centers

Scuttlemonkey at SlashDot posted a question about how to evaluate a datacenter. This question has elicited a flurry of discussion on the topic with some good (and bad) stories, but buried inside are many good thoughts on criteria that would be useful in any evaluation. Read more in “How Do You Evaluate a Data Center?“.

Data Center Knowledge has an interesting article by Kevin Normandeau. It’s all about how a greener datacenter can pay off in the long run. “…Amazon, Toyota, and Nike, have realized that focusing on limiting energy calories in the datacenter and elsewhere pays profitability dividends on the financial side” says the article, which draws on a whitepaper from IDC on the subject.

Also at Data Center Knowledge, Rick Miller has a note about Rackspace expanding its headquarters with a new 120,000 square foot expansion. See Rackspace Expands Its Headquarters for more, and a video tour of one of their offices.

Hardware

Cnet news has an article about the recently released Square Trade survey of laptop reliability. Square Trade is a warranty provider who offer coverage for many brands of laptops so they should know. See Who makes the most reliable laptops for some excerpts from the report, and the full report can be found in PDF format from the Square Trade website.

Security

A follow up from last week regarding the Microsoft “sudo” patent. According to Ryan Paul this patent does not cover sudo at all. Read more about it in Microsoft’s pseudo sudo patent doesn’t really cover sudo.

A follow up to a post from a couple of weeks ago—there is now an exploit for the mentioned SSL/TLS attack vector. Dan Goodin at The Register has more in his article Researcher busts into Twitter via SSL reneg hole. More technical details on the exploit can be found in Understanding the TLS Renegotiation Attack.

Software

A follow up to last week’s article, Microsoft confirms the Windows 7 USB/DVD download tool contained GPLv2 code and has indicated that they will provide the source/binaries for the tool under the GPL. Peter Galli from Microsoft’s Open Source division has more in Update on the Windows 7 USB/DVD Tool.

Internet

The UN-backed Internet Governance Forum was on last week in Egypt. One of the hot topics was ownership of the DNS root domain, which is currently controlled by the US. This made sense when the internet was only in the US universities, but with the global nature of the ‘Net, there is no good reason for a single country to have control of something that controls the basic functionality of the internet. Janna Quitney Anderson has more in IGF attendees: America, surrender the root zone file!

Virtualization

A follow-up review on VMWare Fusion 3, running Windows 7 in OSX. Dave Girard has put Fusion through its paces; read about his results in Running Windows 7 under OS X: Ars reviews VMware Fusion 3.

That’ll do it for this week’s edition. As always feel free to add your own news or perspective in the comments. See y’all next week!

Categories: DBA Blogs

Old Skool Crosstabbing

Tim Dexter - Fri, 2009-11-20 14:13
James came up with a cunning crosstab report question on the forum this week. Does not look that bad right? Sadly the new crosstab builder can not build what we need. Notice there is no summarization in the grid; just... Tim Dexter
Categories: BI & Warehousing

Black Holes: Courtesy of APEX

Scott Spendolini - Fri, 2009-11-20 13:59
Well, not really.  But I just stumbled across a job posting from CERN that has Oracle APEX listed as one of its requirements.

If you're in the market for a job, and don't mind flirting with the end of existence as we know it, you may want to check it out. :)

OOW09 Video

Jonathan Lewis - Fri, 2009-11-20 13:12
I’ve just discovered I’m on YouTube in an impromptu video interview I gave while I was at Oracle World this year. It’s only three minutes, and doesn’t have a lot of technical content, but here’s the URL. Footnote: Rumour has it that next year the event will be rebranded as My Oracle World – implemented entirely in Flash.   [...]

phpBB 3.0.6 has arrived…

Tim Hall - Fri, 2009-11-20 13:11

phpBB 3.0.6 has hit the streets. Happy upgrading.

Cheers

Tim…

Tricks for the New JSF Visual Editor in JDeveloper 11g PS1

Shay Shmeltzer - Fri, 2009-11-20 13:02
We did a lot of enhancements in the visual editor in the new JDeveloper 11g 11.1.1.2. I recorded this short 3 minute demo to show you a couple of the things that are a bit hidden, but can be useful... shay.shmeltzer http://blogs.oracle.com/shay
Categories: Development

Log Buffer #170: a Carnival of the Vanities for DBAs

Pythian Group - Fri, 2009-11-20 11:44

This is the 170th edition of Log Buffer, the weekly review of database blogs. Welcome. Let’s kick off this week with a double-helping of . . . 

SQL Server

There are lots of good technical posts this week. The SSIS Junkie has some observations and a straw poll on sort transform arbitration. He writes, “This post was prompted by a thread on the MSDN SSIS forum today where the poster was asking how he could replicate the behaviour of SSIS’s Sort transform using T-SQL, specifically he wanted to know how the Sort transform chooses what data to pass through when the ‘Remove Duplicates’ option is checked.”

Another poll, courtesy of Tibor Karaszi: do you perform log backup for the model database?

Eric Johnson has a lesson in looping through rows in a table in SSIS 2008, which begins, “When writing code against a SQL Server, as we usually are doing in SSIS Packages, you often need to iterate over all the rows in a table. This can be done using an SSIS Foreach Loop Container, but the how is not obvious.”

Simple-Talk’s Tony Davis wonders, Do Scalar UDFs give SQL Server a Bad Name? “Many developers seem to regard SQL Server as if it were a science-fiction alien planet where unsuspecting crew-members in blue jumpers occasionally die horribly; everything is suddenly unsafe, and potentially malicious: nothing really works properly and so any serious code should be kept well away from it. Is this developer ignorance, or is their fear justified?”

From Merrill Aldrich comes a trick question — part quattro. Spoiler: TPH is an evil trap. As a commenter says: “Very interesting, I’ve never heard this vehement an argument against TPH before.”

Thinking outside the box lets us in on how to tell if you are running on a virtual environment, with a handy little bit of code.

Kalen Delaney elucidates UPDATE Locks, “ . . . a hybrid of SHARED and EXCLUSIVE locks. [Contrary] to what you might think, UPDATE locks are not just acquired for UPDATE operations.”

Stephen Forte shows how SQL Server R2 Does SQL Azure.

Now that PASS 2009 in Seattle, Washington has passed, it’s time to fondly look back on it. Kendal Van Dyke shares his experiences and some photos in Looking Back – PASS Summit 2009 Day 4.

The Rambling DBA, Jonathan Kehayias does so with the benefits of attending PASS realized: “ . . . as a testament to the value of attending this conference the very first session I attended, diagnosed and provided information for a problem that has existed in one of my servers for many weeks but was impossible to diagnose unless you knew what you were looking at.”

Thomas LaRock, SQL Rockstar concurs: “If you want to grow your skills, then you need to connect, learn, and share with others. And there is no better place to do that than at PASS.”

Not that PASS was the only game in town. Just down the coast a bit, Baron Schwartz gives his recap of Portland OpenSQL Camp 2009.

Selena Marie Deckelmann reports that OpenSQLCamp was awesome!

PostgreSQL

Pavel Stehule has some news of a longtime plpgsql misfeature removed. He writes, “plpgsql is good language – simple, robust with good error diagnostic. But it had one bizarre behave. plpgsql connects two worlds – procedural ADA like code and SQL statements. Usually there are not problems. But there are one exception – collision of identifiers.”

In the latest in his Waiting for 8.5 series, Hubert Lubacziewski introduces and tests something new: TRIGGERS on columns.

MySQL

On code.openark.org, Shlomi Noach is surprised by questions or queries. He writes, “I was used to checking for the ‘questions’ global status variables . . .  So, for example, I could run com_select/questions to learn the SELECT ratio out of all queries.  . . .  Apparently, as of 5.0.72-5.0.76 & 5.1.31 this has changed. A new status variable was introduced, called ‘queries’.” What’s the difference? Is this good or bad? Shlomi and his readers kick it around.

Venu Anuganti also was surprised, in his case by InnoDB Tablespace Corruption: “When . . . InnoDB crashes, it automatically recovers during the next start by rolling back/forward based on what was pending and un-flushed/un-committed changes at the time of crash.  . . .  [On] one of the servers; we ran out of disk space . . . on data directory . . . and server was running for few hours in this mode . . .  [It] became un-available and not responding after a while. Only option left was to kill the server process and its PID along with cleaning the stuff to get the space back. After I (re)started the server . . .  the tablespace is corrupted.”

From Arnold Daniels comes a version of versioning MySQL data, which Arnold introduces thus: “ . . . You’re probably using a versioning control system . . . to safeguard your data. Advantages of using a VCS are that you can walk to the individual changes for a document, see who made each change and revert back to specific revision if needed. These are features which would also be nice for data stored in a database. With the use of triggers we can implement versioning for data stored in a MySQL db.” Example code follows.

On the MySQL Perfomance Blog, Morgan Tocker qualifies his earlier piece on why you don’t want to shard: “What I didn’t mention was that if you’ve established that you will need to eventually shard, is it better to just get it out of the way early? My answer is almost always no. That is to say I disagree with a statement I’ve been hearing recently; ’shard early, shard often’

Morgan also mentions that interviews for InfiniDB and TokuDB are next: “I’d like to announce that Robert Dempsey (InfiniDB storage engine) and Bradley C. Kuszmaul (TokuDB storage engine) have also accepted an interview. If you have any questions about either storage engine, please post them here by Friday 20th November.”

Here’s a new blog to watch, particularly if you’re new to MySQL or Drizzle: Kent Bozlinski’s Learning Drizzle. Kent says, “I’m not really scared of rain after living in Seattle for seven years. I am a little scared of sticking my neck out and writing about something which (for the moment) I know almost nothing about.” The post is Drizzle is Scary (A Little).

Oracle

Maybe you’ve already heard about the fabulous unpopularity of the new My Oracle Support. Daniel Fink comes back with some data and commentary on just that, with his My Oracle Support Survey Results.

Richard Foote asks, An index only performs how much work???, the result of looking into exactly why index rebuilds can improve performance so significantly.

Kerry Osborne gives a lesson on fixing bad index hints in SQL Profiles (automatically). He says, “With 10g and 11g, it appears the goal [or Outlines] has swung away from the “locking” concept and towards allowing the optimizer more flexibility.  . . . I must say that I find this decision to be irritating at best.  . . .  One of the main offenders in this regard is the use of a new format available for index hints as of 10g.”

Inside the Oracle Optimizer covers similar turf in answering to the question, What should I do with old hints in my workload?, or more specifically, “When moving from 10g to 11g, should hints in existing SQL be removed?”

Tom Kyte wants your opinions on comparative window functions: “ . . . they could be getting better in the near future.  . . . analytics [could be allowed] to access the current row value to be compared against any other row value in a defined window.  . . .  I’ve already supplied them with my feedback (which started with “this is an awesome idea”) – and you can too – by posting it here. They’ll be checking back to see what you say.”

If you like staying on top of fresh things, perhaps John Piwowar’s method of retrieving Oracle patches with wget would also appeal to you.

And that is all for now. If you think I’ve missed a worthwhile DB blog from this week, please mention it in a comment.

Log Buffer will be back in a week’s time. See you then!

Categories: DBA Blogs

Global Temporary Tables generate REDO and UNDO

ContractOracle - Fri, 2009-11-20 11:04
Many people believe that Global Temporary Tables don't generate REDO or UNDO.
They do generate REDO and UNDO, but not as much as permanent tables.

# First a GTT :-

SQL> create global temporary table source as select * from dba_source where rownum <>

Table created.

SQL> set autotrace on statistics
SQL> insert into source select * from dba_source where rownum <>

99 rows created.


Statistics
----------------------------------------------------------
1 recursive calls
8 db block gets
771 consistent gets
0 physical reads
564 redo size
830 bytes sent via SQL*Net to client
818 bytes received via SQL*Net from client
3 SQL*Net roundtrips to/from client
1 sorts (memory)
0 sorts (disk)
99 rows processed


# And now a permanent table.

SQL> drop table source;

Table dropped.

SQL>
SQL> create table source as select * from dba_source where rownum <>


Table created.

SQL> SQL> set autotrace on statistics;
SQL> insert into source select * from dba_source where rownum <>

99 rows created.


Statistics
----------------------------------------------------------
721 recursive calls
67 db block gets
1687 consistent gets
11 physical reads
14208 redo size
838 bytes sent via SQL*Net to client
818 bytes received via SQL*Net from client
3 SQL*Net roundtrips to/from client
13 sorts (memory)
0 sorts (disk)
99 rows processed
Categories: DBA Blogs

Seven A’s of Accomplishment

Chris Foot - Fri, 2009-11-20 11:00

One day I was thinking about the factors that lead to accomplishment.  In doing so, I came up with a few words that started with the letter “A”.  That led me to search for additional words that started with “A” and matched what I believe are the factors for accomplishment.  In this post, I will share what I came up with.  I plan to write a book about this one day.

I identified seven factors that I believe lead to accomplishing things in life.  That is why I ended up calling them the “Seven A’s of Accomplishment”:

  • Ambition
  • Attitude
  • Aptitude
  • Approach
  • Action
  • Absorption
  • Adaptiveness

The following is quick description of each of them:

Ambition

Ambition is the force behind goals and the fundamental driver of accomplishment.  Without ambition, nothing can happen.  You need to want something bad in order to attain it.  The more ambitious you are, the more likely you will accomplish your goals. It gives us energy to act and do what needs to be done in order to get what we want.   However, ambition alone will not lead to accomplishment.

Attitude

Accomplishment necessitates a certain attitude or way of thinking.  Without attitude, accomplishment becomes elusive. Attitude keeps us on track and helps us overcome the challenges we encounter on the path to accomplishment.

Aptitude

Aptitude is an individual’s ability to learn or do something.  You need several skills and abilities in order to accomplish.  Skills enable us to get things done.  There are several levels of skills that are critical to accomplishment.

Approach

Approach is the way you go about getting things accomplished.  It is akin to strategy.  It includes the steps we follow and the processes we perform to get what we want.

Action

Without action, there will be no light at the end of the tunnel.  We must act in order to accomplish.  Our ambition fuels us and gives us energy to move.  Our attitude helps us stay on course and maintain the energy ambition gives us.  Our approach gives us the direction and steps to follow.  Action takes us to our destination.

Absorption

No great accomplishment happens without our focus and great attention to our aim and to what it takes to get there.  We must absorb ourselves into whatever we seek to accomplish.

Adaptiveness

Rarely things go according to plan.  We must be able to adapt and to rethink the plan as we move forward.  Flexibility is critical to accomplishment.  That does not mean we give up on our main goals or aim.  It means adapting our attitude, approach and actions to the conditions and circumstances.  The vision and the goals fueling our ambition do not change.

And that’s the seven A’s for you!

The BEST is Yet to Come!

Epi Torres, CEO
RDBAELOGO


Seven A’s of Accomplishment is a post from: Remote DBA Experts

Performance Optimization with Global Entry. Or Not?

Cary Millsap - Fri, 2009-11-20 08:36
As I entered the 30-minute "U.S. Citizens" queue for immigration back into the U.S. last week, the helpful "queue manager" handed me a brochure. This is a great place to hand me something to read, because I'm captive for the next 30 minutes as I await my turn with the immigration officer at the Passport Control desk. The brochure said "Roll through Customs faster."

Ok. I'm listening.

Inside the brochure, the first page lays out the main benefits:
  • bypass the passport lines
  • no paper Customs declaration
  • in most major U.S. airports
Well, that's pretty cool. Especially as I'm standing only 5% deep in a queue with a couple hundred people in it. And look, there's a Global Entry kiosk right there with its own special queue, with nobody—nobody!—in it.

If I had this Global Entry thing, I'd have a superpower that would enable me to zap past the couple hundred people in front of me, and get out of the Passport Control queue right now. Fantastic.

So what does this thing cost? It's right there in the brochure:
  1. Apply online at www.globalentry.gov. There is a non-refundable $100 application fee. Membership is valid for five years. That's $20 a year for the queue-bypassing superpower. Not bad. Still listening.
  2. Schedule an in-person interview. Next, I have to book an appointment to meet someone at the airport for a brief interview.
  3. Complete the interview and enrollment. I give my interview, get my photo taken, have my docs verified, and that's it, I'm done.
So, all in all, it doesn't cost too much: a hundred bucks and probably a couple hours one day next month sometime.

What's the benefit of the queue-bypassing superpower? Well, it's clearly going to knock a half-hour off my journey through Passport Control. I immigrate three or four times per year on average, and today's queue is one of the shorter ones I've seen, so that's at least a couple hours per year that I'd save... Wow, that would be spectacular: a couple more hours each year in my family's arms instead of waiting like a lamb at the abattoir to have my passport controlled.

But getting me into my family's arms 30 minutes earlier is not really what happens. The problem is a kind of logic that people I meet get hung up in all the time. When you think about subsystem (or resource) optimization, it looks like your latency savings for the subsystem should go straight to your system's bottom line, but that's often not what happens. That's why I really don't care about subsystem optimization; I care about response time. I could say that a thousand times, but my statement is too abstract to really convey what I mean unless you already know what I mean.

What really happens in the airport story is this: if I had used Global Entry on my recent arrival, it would have saved me only a minute or two. Not half an hour, not even close.

It sounds crazy, doesn't it? How can a service that cuts half an hour off my Passport Control time not get me home at least a half hour earlier?

You'll understand once I show you a sequence diagram of my arrival. Here it is (at right). You can click the image to embiggen it, if you need.

To read this sequence diagram, start at the top. Time flows downward. This sequence diagram shows two competing scenarios. The multicolored bar on the left-hand side represents the timeline of my actual recent arrival at DFW Airport, without using the Global Entry service. The right-hand timeline is what my arrival would have looked like had I been endowed with the Global Entry superpower.

You can see at the very bottom of the timeline on the right that the time I would have saved with Global Entry is minuscule: only a minute or two.

The real problem is easy to see in the diagram: Queue for Baggage Claim is the great equalizer in this system. No matter whether I'm a Global Entrant or not, I'm going to get my baggage when the good people outside with the Day-Glo Orange vests send it up to me. My status in the Global Entry system has absolutely no influence over what time that will occur.

Once I've gotten my baggage, the Global Entry superpower would have again swung into effect, allowing me to pass through the zero-length queue at the Global Entry kiosk instead of waiting behind two families at the Customs queue. And that's the only net benefit I would have received.

Wait: there were only two families in the Customs queue? What about the hundreds of people I was standing behind in the Passport Control queue? Well, many of them were gone already (either they had hand-carry bags only, or their bags had come off earlier than mine). Many others were still awaiting their bags on the Baggage Claim carousel. Because bags trickle out of the baggage claim process, there isn't the huge all-at-once surge of demand at Customs that there is at Passport Control when a plane unloads. So the queues are shorter.

At any rate, there were four queues at Customs, and none of them was longer than three or four families. So the benefit of Global Entry—in exchange for the $100 and the time spent doing the interview—for me, this day, would have been only the savings of a couple of minutes.

Now, if—if, mind you—I had been able to travel with only carry-on luggage, then Global Entry would have provided me significantly more value. But when I'm returning to the U. S. from abroad, I'm almost never allowed to carry on any bag other than my briefcase. Furthermore, I don't remember ever clearing Passport Control to find my bag waiting for me at Baggage Claim. So the typical benefit to me of enrolling in Global Entry, unfortunately, appears to be only a fraction of the duration required to clear Customs, which in my case is almost always approximately zero.

The problem causing the low value (to me) of the Global Entry program is that the Passport Control resource hides the latency of the Baggage Claim resource. No amount of tuning upon the Passport Control resource will affect the timing of the Baggage In Hand milestone; the time at which that milestone occurs is entirely independent of the Passport Control resource. And that milestone—as long as it occurs after I queue for Baggage Claim—is a direct determinant of when I can exit the airport. (Gantt or PERT chart optimizers would say that Queue for Baggage Claim is on the critical path.)

How could a designer make the airport experience better for the customer? Here are a few ideas:
  • Let me carry on more baggage. This idea would allow me to trot right through Baggage Claim without waiting for my bag. In this environment, the value of Global Entry would be tremendous. Well, nice theory; but allowing more carry-on baggage wouldn't work too well in the aggregate. The overhead bins on my flight were already stuffed to maximum capacity, and we don't need more flight delays induced by passengers who bring more stuff onboard than the cabin can physically accommodate.
  • Improve the latency of the baggage claim process. The sequence diagram shows clearly that this is where the big win is. It's easy to complain about baggage claim, because it's nearly always noticeably slower than we want it to be, and we can't see what's going on down there. Our imaginations inform us that there's all sorts of horrible waste going on.
  • Use latency hiding to mask the pain of the baggage claim process. Put TV sets in the Baggage Claim area, and tune them to something interesting instead of infinite loops of advertising. At CPH, they have a Danish hot dog stand in the baggage claim area. They also have a currency exchange office in there. Excellent latency hiding ideas if you need a snack or some DKK walkin'-around-money.
Latency hiding is a weak substitute for improving the speed of the baggage claim process. The killer app would certainly be to make Baggage Claim faster. Note, however, that just making Baggage Claim a little bit faster wouldn't make the Global Entry program any more valuable. To make Global Entry any more valuable, you'd have to make Baggage Claim fast enough that your bag would be waiting for anyone who cleared the full Passport Control queue.

So, my message today: When you optimize, you must first know your goal. So many people optimize subsystems (resources) that they think are important, but optimizing subsystems is often not a path to optimizing what you really want. At the airport, I really don't give a rip about getting out of the Passport Control queue if it just means I'm going to be dumped earlier into a room where I'll have to wait until an affixed time for my baggage.

Once you know what your real optimization goal is (that's Method R step 1), then the sequence diagram is often all you need to get your breakthrough insight that either helps you either (a) solve your problem or (b) understand when there's nothing further that you can really do about it.

PyCon pre-favorites

Catherine Devlin - Fri, 2009-11-20 05:44
When I look over the PyCon 2010 talk list, I'd like to be at about half of them (a physical impossibility, until I master self-multiplexing). Still, these are the ones that I'll move heaven and earth to be at. What about you - what are your favorites?
Extending Java Applications with Jython
I'm hopeful that this can really move Jython from my "stuff I think is cool" box to my "stuff I use every day" box.
IronPython Tooling
This is going to cover development environments and tools for debugging and profiling... pretty much a necessity in the .NET world. I also hope to use the video of this talk in the future in talking to the hordes of programmers around here who live and breathe Visual Studio.
Python in the Browser
Silverlight is way too cool to leave to the C# kids.
Think Globally, Hack Locally - Teaching Python in Your Community
As a local group-leader type geek, I'd love to start some of these Hack Nights.
Dude, Where's My Database?
There were so many proposals for descriptions of non-relational databases - but this one really stands out because it looks at the huge picture, classifying databases by their broad category and highlighting what makes each category beneficial for particular purposes.
Sprox: data driven web development
I confess - I've fallen behind the TurboGears world lately. Nobody's demanded a dynamic web app of me for a while, and TG has moved too fast for me to keep track of it. When last I was involved, Sprox was just emerging. I hope this talk will help me catch up.
Revisioned Databases for MultiUser Editing
Revisioned databases are an interesting concept, and seeing how one was actually developed should warm my datageek heart.
Easy command-line applications with cmd and cmd2
Interactive command-line interfaces were good enough for ZORK, and they're good enough for you! cmd and cmd2 make them crazy-easy. (I'll get in trouble if I don't go to this one, since I'm the speaker.)
Dealing with unsightly data in the real world
Gathering data from disparate, chaotic sources is a big part of pretty much everybody's life. I'm eager for any new insights.
An Underwater Python: Tortuga the Python Powered Robot
because, deep down inside, people everywhere are the same; we all want to be loved, and Python-powered robot submarines.

Oracle Fusion Developer Guide by OraclePress at McGraw Hill 2010 sent to the printer

Frank Nimphius - Fri, 2009-11-20 05:06

Today I received a mail from Rachel, the copy editing coordinator at McGraw Hill, that Lynn Munsinger and my book “Oracle Fusion Developer Guide, Building Rich Internet Applications with Oracle ADF Business Components and Oracle ADF Faces” has been sent to the printer. This is good news because Lynn and I worked hard on keeping up with the tight release schedule.

Frank

RMAN backup-based duplicate database without connection to the source in 11GR2

OracleContractors - Fri, 2009-11-20 03:29

11g release 1 introduced the RMAN active database duplication feature, where you can duplicate a database without having to take a backup of the source database.

A new feature in 11g release 2 is the ability to use RMAN to duplicate a database without having to connect to the source database. At the time of writing, most of the RMAN documentation tends to refer you back to 10gR2 documents for backup-based restores, whilst 11gR2 documents tend to focus on active database duplication, so I thought that a blog on this topic could be of use.

This functionality would be useful if you have thought about using the 11g active database duplication feature, but are concerned about possible network performance issues during the process.

Another situation where this procedure could be used, is where you have been asked to create a copy of a database on an isolated test server, where connection to the source database is not possible.

As in previous Oracle versions, it is still possible to create a clone of the source database by just extracting the database files from the RMAN backuppieces using DBMS_BACKUP_RESTORE. (See my previous blog “Extracting database files from RMAN backuppieces using DBMS_BACKUP_RESTORE” for an example of this).  11gR2 introduces a much more straightforward method of cloning the database without a connection to the source database.

An example of this process is shown below.  In this scenario we’ll assume that the server that you’re duplicating the database to, has the same directory structure as the source server and that you want the cloned database to have the same name as the original source database.  The source database is using an SPFILE.  We’ll also assume that you’re not using a recovery catalog on the source or target servers, as this would probably be the situation if restoring to a remote test server.  The SID of the database is ORCL, so replace with your own SID where appropriate.

The cloned database needs to be on the same platform as the source database and also have 11gR2 installed.
WARNING/DISCLAIMER: Before running any of these commands, you should ensure that you have current backups of any databases on the server.  Refer to the more comprehensive Oracle support site notes and Oracle documentation before carrying out any work in a formal environment.  The author accepts no responsibility for any damage to your data, server or database, by carrying out the commands below.
 

1) Take a full backup of the source database. 
  ——————————————-
Our example database is running in archivelog mode, so we can take a hot backup.

a) create a directory to store the output from the backup.  (For this example, I created the directory /u02/oradata/backup_orcl ).
b) Set your environment to the required database. (e.g. by running . oraenv)
c) Run RMAN commands to take the backup.  We’ll specify an alternate location for the backups, otherwise they’ll just default to the flash recovery area (FRA).  Whilst you could use the contents of the FRA for the clone, there may be files from other database in the same shared area and there could also be files here from previous backups, which you don’t need for this clone.  Sending the backup to a separate location makes it easier to identify the files that you need.

rman

connect target
spool log to ‘/u02/oradata/backup_orcl/full_database_orcl.log’;
configure channel device type disk format ‘/u02/oradata/backup_orcl/orcl_%U’;
backup database plus archivelog;
exit

(You can run    tail -f /u02/oradata/backup_orcl/full_database_orcl.log   as the backup runs, if you wish to monitor progress).
2) Configure the environment on the destination server
   —————————————————
a) Create a password file in $ORACLE_HOME/dbs using the orapwd utility.
b) Configure the $ORACLE_HOME/network/admin/listener.ora file.  The only entries used for this work were:
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = /u01/opt/oracle/product/11gR2/db_1)
      (PROGRAM = extproc)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
  )
c) Configure the $ORACLE_HOME/network/admin/tnsnames.ora file.  The only entry added for this work was:
 

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

 

d) Create directories on the target server that are present on the source server. (e.g. archive destination, scripts, application directories, utl_file/dba_directories, flash recovery area, external table locations, database/redo log/controlfile/admin/diag directories, backup locations etc.)

e)  Create the $ORACLE_HOME/dbs/initSID.ora file for the duplicate database.  The only entry needed is:

db_name=’orcl’
No other information is required, as we’ll extract the source database SPFILE from the backup.
 

f)  Add an entry to /etc/oratab for the database.

g) Set your environment to the new database and then startup the clone instance.

sqlplus / as sysdba
startup nomount
exit

h) Run RMAN command to clone the database. (We don’t need to specify the database name or DBID, as these are obtained from the backups).

rman auxiliary /

DUPLICATE DATABASE TO orcl
  SPFILE
  BACKUP LOCATION ‘/u02/oradata/backup_orcl’
NOFILENAMECHECK;

exit

Note: Be careful when running any duplicates on the same host as the source database when specifying the NOFILENAMECHECK option. This option could mean that you over-write your source database files.
i) Finally, you will need to re-create a tempfile for your temporary tablespace.  From 10gR2, this would normally be created for you in a standard RMAN clone, but it is not re-created at present when using this method.

A tempfile is created, but it is not recognised as being part of the database - i.e. select file_name from dba_temp_files; returns the errors: “ORA-01157: cannot identify/lock data file X“   From the trace files it looks like there are some issues with the tempfile creation process. Sample errors are  “Cannot re-create tempfile dbf, the same name file exists“  and “ORA-03214: File Size specified is smaller than minimum required“. It seems that the file creation works, but the file created is too small to be usable at 8MB - the original tempfile was 29MB in this test database. 

This may be due to a bug, or due to the current design of this feature, or it could be due to the configuration of the test database used for this scenario. Fixing the issue is pretty straightforward - just drop and re-create the tempfile:

alter database tempfile ‘/u01/opt/oracle/oradata/orcl/temp01.dbf’ drop;
alter tablespace temp add tempfile ‘/u01/opt/oracle/oradata/orcl/temp01.dbf’ size 100M reuse autoextend on maxsize 5120M;

Other useful features of the duplicate process are that you can choose to exclude selected tablespaces and you can also choose to carry out a point-in-time duplicate of the source database.
References used: Oracle Support notes 228257.1, 259694.1, 452868.1, 452868.1, 568034.1, 374934.1,
Oracle Database Backup and Recovery User’s Guide 11g Release 2 (11.2) - ch 23: Duplicating a Database

Categories: APPS Blogs

Analysis of Oracle password expiry

ContractOracle - Fri, 2009-11-20 03:19
Oracle password expiry is managed by the profile limit PASSWORD_LIFE_TIME, but based on the user$ table attributes ASTATUS and EXPTIME.

SQL> connect a/a
Connected.
SQL> select username, account_status, expiry_date from dba_users where username = 'A';

USERNAME ACCOUNT_STATUS EXPIRY_DATE
------------------------------ -------------------------------- --------------------
A OPEN 08 MAY 2010 10:22:52

SQL> select name, astatus, ptime, exptime from sys.user$ where name = 'A';

NAME ASTATUS PTIME EXPTIME
------------------------------ ---------- -------------------- --------------------
A 0 09 NOV 2009 10:22:52

# So ASTATUS = O and EXPTIME are not set

SQL> ALTER PROFILE "DEFAULT" LIMIT PASSWORD_LIFE_TIME 1;

Profile altered.

SQL> ALTER PROFILE "DEFAULT" LIMIT PASSWORD_GRACE_TIME 7;

Profile altered.

SQL> connect a/a
ERROR:
ORA-28002: the password will expire within 7 days


Connected.
SQL> select username, account_status, expiry_date from dba_users where username = 'A';

USERNAME ACCOUNT_STATUS EXPIRY_DATE
------------------------------ -------------------------------- --------------------
A EXPIRED(GRACE) 27 NOV 2009 09:17:11

SQL> select name, astatus, ptime, exptime from sys.user$ where name = 'A';

NAME ASTATUS PTIME EXPTIME
------------------------------ ---------- -------------------- --------------------
A 2 09 NOV 2009 10:22:52 27 NOV 2009 09:17:11

# So after we login we find the ASTATUS=2 and EXPTIME is set

SQL> ALTER PROFILE "DEFAULT" LIMIT PASSWORD_LIFE_TIME UNLIMITED;

Profile altered.

SQL> connect a/a
ERROR:
ORA-28002: the password will expire within 7 days


Connected.

# But we see that after we remove the password lifetime, the account is still expired

SQL> select username, account_status, expiry_date from dba_users where username = 'A';

USERNAME ACCOUNT_STATUS EXPIRY_DATE
------------------------------ -------------------------------- --------------------
A EXPIRED(GRACE) 27 NOV 2009 09:17:11

SQL> select name, astatus, ptime, exptime from sys.user$ where name = 'A';

NAME ASTATUS PTIME EXPTIME
------------------------------ ---------- -------------------- --------------------
A 2 09 NOV 2009 10:22:52 27 NOV 2009 09:17:11

# and ASTATUS is still "2" and exptime is still set. So once expiry is set, changing the profile won't remove expiry.

SQL> alter user a identified by a;

User altered.

SQL> select username, account_status, expiry_date from dba_users where username = 'A';

USERNAME ACCOUNT_STATUS EXPIRY_DATE
------------------------------ -------------------------------- --------------------
A OPEN

SQL> select name, astatus, ptime, exptime from sys.user$ where name = 'A';

NAME ASTATUS PTIME EXPTIME
------------------------------ ---------- -------------------- --------------------
A 0 20 NOV 2009 09:19:11 27 NOV 2009 09:17:11

# When we change the password the PTIME is updated, and the ASTATUS is reset to O, but EXPTIME is not changed.

# Conclusion - password expiry is controlled by the PASSWORD_LIFE_TIME profile limit, is activated at login, depends on a combination of ASTATUS and EXPTIME, and is reset by a password change. Changing the profile will not change ASTATUS. Changing the password resets ASTATUS, PTIME, but not EXPTIME.
Categories: DBA Blogs

ODTUG Board - Elections

Look Smarter Than You Are - Fri, 2009-11-20 00:03
The elections are over for the ODTUG (Oracle Development Tools User Group) board of directors. Here are the new board members that will be serving in 2010-2011:They join the carry-over board members who were serving in 2009-2010:
  • John Jeunette
  • Barbara Morris
  • Marc de Oliveira
  • Mike Riley
What the keen eyed among you will immediately notice is that Tim Tow was not re-elected. Apparently, it was a very close election and Tim fell just a couple of votes shy. Oracle EPM fans should not be totally disheartened, though, because Mark Rittman was newly elected. Mark is well known in the EPM/BI community. He will do a fine job representing the EPM/BI/Hyperion needs on the board. I've known Mark for a couple of years and I can vouch that he's a decent human being. (I refuse to be friends with anyone who kicks puppies or kittens. Well, okay, I'll be friends with them on Facebook but not IRL. Point is, Mark doesn't kick any small mammals.)
Tim Tow will serve out the rest of his term through December of this year. I know I speak for not only myself but the entire Hyperion community when I say, thank you, Tim, for all the hard work you've put into ODTUG. Hyperion developers, administrators, and users finally have a place to call home again, and it was your tireless service that helped get us there. Sincerely, we appreciate it.
If you want to say thank you to Tim as well, nothing says you appreciate his service like buying a copy of Dodeca from AppliedOLAP.
Categories: BI & Warehousing

Deploying OBIEE on Sun

Abhinav Agarwal - Thu, 2009-11-19 23:55
This post is not exactly fresh on the heels of Oracle OpenWorld (OOW), but one presentation of note was OBIEE in a High Availability (HA) environment.The document DEPLOYING ORACLE® BUSINESS INTELLIGENCE ENTERPRISE EDITIONON SUN SYSTEMS was instrumental in getting to HA.