THE WORLD DISCUSSES #PYTHIAN ON TWITTER. HAVE A QUESTION? USE OUR HASHTAG AND ASK AWAY.

Pythian Dubai Office – Now Open

After landing (link), and a 5 day fiesta of arranging my long term apartment here, Pythian Dubai is now fully operational with me been the first employee here.

Here is a picture of the Pythian Dubai office:
Pythian Dubai Office

And the view from the window:
Window view from office

Next step, hire more people! We have 4 desks to fill. I feel a bit lonely here.

Pythian, in the Person of Christo, Lands in Dubai

Greetings from Dubai!

Internet City

It is indeed a different world here. I have a feeling I’ll like it even more over the next three months I am here on Pythian duties. I will be writing more, so stay tuned.

The photos above and below are, respectively, of Dubai Internet City, and Dubai Marina.

Dubai Marina on the Right

Pythian Goodies: The Answer to Free Memory, Swap, Oracle, and Everything

I gave this talk at the UKOUG, and I have received a few requests to post the slides online. Instead of just posting the PowerPoint I took some time to give the presentation again (internally here at Pythian) and this time we recorded the session and we are posting it here in a variety of formats. This is a bit of a departure from the typical Pythian Goodies, in that it is scripted, and there is a lot of content here in the whitepaper, but there hasn’t been a Goodie in a while so why not!

I’d love to hear from you, so please feel free to ask any follow-up questions to this post in the comments.

Abstract

Do I have enough memory? Why is my free memory so low? Am I swapping to disk? Can I increase my SGA (db cache) size? Can I add another instance to this server? Are my system resources used optimally? These are all questions that often haunt DBAs. This presentation is The Answer. It covers in detail the different types of memory, how to monitor memory, and how to optimally use it with Oracle. Multiple examples in the presentation demonstrate how certain actions on the database side cause different memory areas to be allocated and used on the OS side. Key underlying differences in operating systems approaches to managing memory will be highlighted, with special attention given to Linux, Solaris, and Windows. Using Linux as an example throughout, this presentation explains how to effectively use tools such as “top”, “vmstat” and “/proc/meminfo” to look into into a system’s allocation and use of memory.

Below you should see a flash video with me giving the session.

Download this presentation!
Powerpoint
IPod video (right-click and Save As . . .)
MP3 audio only

And below you will find the complete contents of the whitepaper. This is intended to be a good overall reference resource for how memory works in Oracle, using Linux as an example.

Read the rest of this entry . . .

Oracle 11g: The Perfection of a Masterpiece – Open World 2007

This was the presentation I gave at Open World 2007. It went pretty well, judging by how full the room was. I estimate more than 300 people attended.

Although the title may sound a bit like a sales pitch, the content is more substantial. It covers the features that are ready to use out-of-the-box, things that will make your life easier from day one, without any kind of “implementation” procedure. One-line changes do not count as implementation.

I was please to recognize a few of Pythian’s clients in the crowd. They came to see me after the session to say how much they liked it. Judging by how lively the audience was, especially in the wake of the big conference party, I would say most people enjoyed it.

I saw a few people take pictures of my slides, and had some ask me for the slides. As promised, here they are: 11g: The Perfection of a Masterpiece.

I will next be going to the UK Oracle User Group Conference in December giving my presentation on memory. I look forward to seeing you there.

Off to OpenWorld!

Just a quick note to say I’m leaving today for San Francisco to attend Oracle OpenWorld. I’ll be making my presentation on Thursday at 14:30, in Room 304. Look for IOUG: Oracle Database 11g –The Perfection of a Masterpiece (Session ID: S291070).

I’ll be posting more about my OOW adventures here, so please stay tuned.

I hope to see you there!

–Christo

Metalink Note on Datafile Recovery Will Corrupt Database

Thinking I had something new, I wrote this article about recovering deleted files. However, it turns out Frits Hoogland had already blogged about recovery of deleted files on linux, as Frits pointed out in a comment on my blog, where he also mentioned a metalink note on this matter.

The note ID is: 444749.1 “Retrieve deleted files on Unix / Linux using File Descriptors”. I went and looked into it and the procedure it describes.

Although it does explain how to recover the deleted file, this procedure will leave the database in an inconsistent state. It will corrupt your database. Queries will produce the wrong results randomly, depending on cache usage, how busy the database is, et cetera.

(Before you read the details, I would like to point out that this metalink note is not fully reviewed, as it states in the very beginning of the note:)

“This document is being delivered to you via Oracle Support’s Rapid Visibility (RaV) process, and therefore has not been subject to an independent technical review.”

Read the rest of this entry . . .

How to Recover Deleted Oracle Datafiles with No Downtime

So you have accidentally removed a datafile from your production database? First thing, DON’T PANIC! There’s an easy way to recover deleted datafiles, for as long as your database remains up. The procedure below works on linux, however this method conceivably can work for other platforms.

This procedure will even work if your database is in NOARCHIVELOG mode.

You may have reached this posting through Google, and in a rush to get the solution right away, so here it is.

The recovery is done in two phases.

Phase 1: instant recovery to prevent Oracle errors (like ORA-27041 “unable to open file”, ORA-01110, ORA-01116)

  1. Find the PID of DBWRITER for the right database.
    ps -ef | grep dbw0_SID_OF_YOUR_DB
    oracle   12272     1  0 10:55 ?        00:00:00 ora_dbw0_test
    oracle   12941 11501  0 12:36 pts/0    00:00:00 grep dbw0_test
    
  2. List the deleted file handles for that DBWRITER process.
    ls -l /proc/_PID_OF_DBWRITER/fd | grep deleted
    
    lrwx------  1 oracle oinstall 64 Oct 15 11:24 10 -> /home/oracle/product/10.2.0.2/dbs/lkinsttest (deleted)
    lrwx------  1 oracle oinstall 64 Oct 15 11:24 23 -> /ra5a/orabkp/test/TEST/datafile/o1_mf_lost_3k6xzjpm_.dbf (deleted)
     
  3. Create a symbolic link to your datafile with the original name.
    ln -s /proc/PID_OF_DBWRITER/fd/23 /ra5a/orabkp/test/TEST/datafile/o1_mf_lost_3k6xzjpm_.dbf

    That’s all. Now you are no longer going to get errors. However, if your database goes down now, you will lose that datafile for good.

Phase 2: restore the file
Read the rest of this entry . . .

How Will 11g Change Oracle Datacenters?

I am finally back from New York City, where I attended the official Oracle 11g launch.

The question that everyone is asking is, “When can I download it?”. The Linux release will be probably available towards the end of August, according to Oracle president Charles Phillips’s opening speech. 11g for other systems should arrive this quarter.

Now that availability of the download is out of the way, let’s focus on what 11g is all about.

The main message I got is that Oracle 11g is the consumer release. According to Mr. Phillips, what this means is that Oracle has listened to its clients and has worked in the areas that the consumers needed the most. The fact that Ari Kaplan, the president of the IOUG, was on stage during the launch speaks for itself. I see this as a major change in how Oracle is developing its database product, another proof that Oracle is serious about getting involved and listening to its user community.

As for what’s new in 11g, three major features come to mind: Read the rest of this entry . . .

Using Block Dumps to Read Uncommited Transactions

Or, Why is My Transaction So Big?

My team and I still use old-style rollback segments for one of my client’s 10g production databases. We just never found the need to switch to automatic undo management. There are a number of 1GB rollback segments. They are that size because they need to be able to support large transactions. At the same time, we don’t want to have transactions bigger than 1GB as this is an OLTP system.

For the past few weeks we’ve had a strange problem. One of the web calls would cause one of the rollback segments to become full by using 1GB of undo data. Eventually the session would do a rollback, but we couldn’t track just what was filling up the transaction.

We could have installed logminer and analyzed the redo logs, but I had a better idea that required less time.
Read the rest of this entry . . .

Oracle 10g Transparent Encryption: Not So Encrypted

I have been asked by a client to try out Oracle 10g’s transparent encryption. I’ve created the wallet, set it up into the sqlnet.ora file, and opened it. I initialized the certificate, created a test table, and encrypted a column with it.

Maybe you’ve done the same, and thought, “now my data is safe and encrypted”.

Are you sure? Did you check?

I did. And here’s what I found.
Read the rest of this entry . . .

Start NowWith Pythian - database design, management and emergency handling capabilities...

Live Updates

pythian: RT @FN_Press2: Schooner Information Technology Teams with Pythian to Deliver Advanced Support and High... http://finanznachrichten.de/20
more



Testimonials

  • Serge Racine

    DBA, Brookfield Energy

    We are very satisfied by the service given to us by Andre and Shakir in support of our recent data quality and reorganization initiative.... more



Social links powered by Ecreative Internet Marketing