April 2002 Archives

Jonathan Gennick

AddThis Social Bookmark Button

Recently, one of our readers sent us the following note:

Why are all your C/C++ Books soooo old? They don’t really cover the actual development in C++ (e.q. Templates / STL / C++ Standard Library) and seem all
a bit outdated (Lint <=> SPLint).

The C/C++ Language is one essential fundament of the OpenSource Movement, so why do you keep it in this dusted area?

Why indeed? It actually warms my heart to see this question asked, because it means people are interested. If you look at our current C and C++ offerings, it’s clear that for whatever reason, we’ve neglected that topic area. Our most recent C/C++ book was published in 1999, and most date back well before that year. I think the main reason we haven’t done much with C and C++ is that for several years we haven’t had an editor specifically targeting that topic area. That situation has now changed. One of my personal priorities is to build up our C and C++ publishing program. In the near future, you can look forward to the following:

  • A revised edition of Steve Oualline’s Practical C++
  • C++ In A Nutshell by Ray Lischner
  • An English translation of our C Pocket Reference (which is C - kurz and gut in the original German)

I just spent several days at Software Development West in San Jose, and much of that time I spent sitting in on sessions related to C++. These sessions were well-attended! In spite of all the hype and press given to newer languages such as Java and C#, it’s clear to me that there’s still a strong base of C++ developers.

Recently, I’ve been reading several of Ray Lischner’s chapters related to templates. I used to program in C, but never in C++, so up until now I’ve never had the chance to learn about templates. I must say that I’m very impressed with what I’ve learned so far. Templates are exciting! and powerful! Why weren’t templates around when I was a programmer? Sigh…

Do you program in C or C++? If so, I’d like to ask you a favor. Write to me, at jgennick@oreilly.com, or use the feedback link below, and let me know your thoughts as to which C and C++ topics we should be covering with new books. I’m also interested in any opinions you might have of our current books, whether good or bad. I look forward to hearing from you.

We want to hear from you. How do you see the future of C and C++? What C and C++ topics are deserving of books?

Stephen Andert

AddThis Social Bookmark Button

The last afternoon started with Brownies with the Board. This is a good chance to ask the members of the board your deepest, darkest questions . . . about IOUG or the conference. Some things are better left in the dark. They shared information on each of their areas of expertise. I found the following information interesting:

-There were 2,263 total attendees this year including attendees, exhibitors and speakers out of about 10,000 IOUG members.

-The GAP program (Grassroots Alliance Partners) is working with local user groups. This will help make the Oracle community stronger by strengthening the local groups as well as the IOUG.

There was a question on room size and number of handouts compared to the number of people. Some sessions were held in a small room and people were turned away. Other sessions were held in very large rooms with a lot of empty seats. The board said that one way they are trying to get a better handle on expected session size and that if the members use the web planner for the conference, the committee can get a better idea on appropriate room size and number of handouts. I used the planner a bit, but I would have finalized my planning with it if I had realized they could use that information to plan better.

The closing general session is the Oracles of Oracle session that Ian Abramson called the dessert to a great meal. This is an opportunity for the audience to ask for the panelists’ opinions on various Oracle topics large and small. This panel was made up of the following experts:

-Michael Abbey
-Mark Kerzner
-John King
-Rich Niemiec
-Tim Quinlin
-Marlene Theriault
-George Trujillo

Some of the questions that were asked along with the answer(s) are here. Some answers shown here are a consensus, while others are from individual members.

Q: What do dba’s need to know about Java?

A: Remember PL/SQL? Java is growing in use-learn or be eaten

Q: With all of the 9i self-managing features - what’s next?

A: Self-management will be de-emphasized over the next couple years

A: Beginners will use self-managing features.

A: DBA’s will use self-managing features for test & dev to free up time for more production tuning and more in-depth mgmt.

Q: How do you get new tips & techniques?

A: Try & figure out how you can use new features.

A: Ask “I wonder what would happen if…” & then try it

A: Metalink

A: Read, read, read

A: Submit a presentation

Q: What is the future of PL/SQL?

A: Will probably be around for a long time

A: There are over 1 million lines of PL/SQL code in Oracle Applications

Q: Is Oracle on Linux becoming more accepted?

A: Yes.

A: Yes as a development environment, less for production.

A: More so in the rest of the world than in North America.

Q: How is security in Oracle 9i?

A: One area of danger is with clients passing passwords in clear text. You can’t protect
your database against network sniffers.

A: Read the “How I Broke Into Your Database.” paper on www.ioug.org.

Marlene Theriault has claimed to be retiring after this conference. So this session was her last bow. Will she stay retired or make a triumphant return? Only time will tell. I know that many of us owe a great deal to her for the knowledge that she has shared over the years and she will always be welcome at our events. Thank you Marlene! I hope your trip to Tijuana was fun.

With the terrorist threat last fall and the economic slump that we have been seeing and experiencing, I was curious to see how this year’s conference compared to last year. One thing that I noticed and many people that I talked to agreed was that the exhibit floor was much smaller this year. In spite of that, I felt that most the vendors I wanted to get information from were there and had the right people available to answer questions or explain their technology. The Oracle 9i demonstration was very well put together and explained clearly what the new features were and how they could be used.

I liked the birds of a feather idea for the tables at lunch and there were plenty of tables available which was good. An idea that surfaced at Brownies with the Board was to have regional tables as well as topical tables so people could find and meet others geographically near them.

While the attendance numbers were only down a bit from last year, the general feeling was that there were a lot less people. I think this is because the layout and size of the conference center handled the crowd well.

I can say that I didn’t sit through any session where I didn’t learn something. Many sessions I attended provided me with more than a couple tools, techniques and tips that I am taking back to work.

You get out of most things what you put into them. I feel this is the best opportunity to learn more about Oracle. In fact, this conference will likely be the only training I attend this year. If you went to Live! 2002 and don’t feel you got your money’s worth, that I ask what you put into it. Did you read abstracts to see which sessions would benefit you most? Did you plan your day? Did you take notes? Did you attend sessions about topics outside your “normal” responsibilities in order to learn about new or diffirent technologies?

I know I enjoyed sharing this week with you and I hope you enjoyed my updates from the conference. If you did, please let me know at s_andert@msn.com.

What do you think of conferences like IOUG Live?

Stephen Andert

AddThis Social Bookmark Button

Wow! I made it through all of the education sessions without my brain exploding. I’m bringing so many ideas back to work that I will be very busy testing and implementing the new ideas I’ve heard and seen here this week.

Top 10 Tips for Oracle SQL Tuning by Dan Hotka had a lot of good information to use in daily tuning activities. He explained when nested loop joins may be preferred over merge scan joins. He showed a sample of tkprof output and what to look for. When considering adding an index, think about the impact it will have on insert and update performance. He had other good information and rading his whitepaper is a good way to get the information if you couldn’t make it to this session.

Karen Kappler covered some of the new 9i Automatic Database Management Capabilities. Some new 9i features will be helpful to the new DBA’s that get dropped into supporting a production system with less than complete training or in the case of relatively small or non-mission-critical databases i.e. Oracle Managed Files. Other features promise to take away some of the dirty work of a dba as using Automatic Undo Management instead of Rollback Segments promises to avoid the dreaded ORA-1555 Snapshot too old. I think real-world testing has yet to prove that but it still bears looking into.

Wei Huang had some interesting information in his presentation Tuning I/O for Better Performance. He explained why the SAME approach (Stripe And Mirror Everything) has weaknesses. He also explained why setting certain parameters like DB_FILE_MULTIBLOCK_READ_COUNT needs to be done with knowledge of the underlying file system. Again reading his white paper is a good idea for more information.

I’ll wrap things up tomorrow with some notes and thoughts about the final sessions today and some overall conference notes.

Stephen Andert

AddThis Social Bookmark Button

Building A Presentation For IOUG Live! - Becoming the Next Rich Niemiec was an informational session. Stephen P Karniotis explained the process and criteria that go into becoming a presenter. Some of the information he gave also applies to becoming a better presenter for any type of event. Besides picking a topic of broad interest, some of the other recommendations Stephen had were to phrase your objectives in terms of what your audience can expect to gain from your presentation and to make sure your abstract is complete and 100% accurate. I expect the information that I gained from this session will help increase my chances of becoming a presenter next year.

Gaja’s presentation Proactive Oracle Storage Management (POSM) - A Method To Predictable System Performance has been called possum by some, but this was no varmint of a presentation! I would like to have been joined by some systems administration folks for this session. I think the knowledge contained in this presentation will help systems administrators to better understand the specific challenges in dealing with Oracle databases.

He said to make sure file system (or operating system) block size same as db block size and referred to a replacement of the 80-20 Rule. The 90-10 I/O Rule for Oracle is that less than 10% of the objects (seqments) in the db causes 90% of the I/O bottlenecks. This explains why Gaja repeatedly said that if we only remembered one thing from this session it was that we need to deal with I/O contention at the object level, NOT AT THE FILE LEVEL. If you start moving aroung hot files, you could end up playinq “musical chairs” with your data files with no improvement in performance.

Kirtikumar Deshpande’s presentation Oracle Wait Events In A Nutshell gave a solid base on the Wait Interface. For people new to Wait Events, he covered why and how to use them to diagnose performance problems. This was a great presentation that gave a great overview of this important new strategy for tuning.

Another presentation later in the day really should have been named Oracle Wait Events part II as it was the logical continuation of Kirti’s presentation. Richmond Shee presented his paper Got Waits? A Wait-Based Approach To Tuning and Optimization where he showed how to use the wait information Kirti introduced to solve the underlying problem. This presentation gave a overview on what causes specific wait events.

Bruce McCartney presented Introduction to ORATCL. TCL stands for Tool Command Language and ORATCL is an extension to TCL. It is a command language that can perform some of the same functions as shell, Perl and Python. Some of the benefits of using TCL instead of these alternatives are:

-Portable across operating systems

-Robust (includes error handling)

-Flexible and extensible

-Free

Bruce was convincing enough that I started thinking about some tasks that I could use this for to help make some processes more flexible and simple.

Tim Quinlan’s presentation Advanced SQL Tips for Developers and DBA’s was so popular earlier this week, that it was added to the schedule again today. Tim covered a lot of material on everything DBMS_PROFILER to help tuning to new 9i features like median and merge. This was a great presentation that I hope to glean information from to share with the developers that work with.

Talking with people between sessions is always a great part of conferences. Several conversations I have had this week have ended up with me pulling my PDA out to jot down someone’s e-mail address to ask them for more information or to send them information that I have at home. This user group approach to information sharing is part of what makes our community so strong.

Tomorrow is the last day of the conference and on Friday I’ll post my perspectives in a conference summary.

Stephen Andert

AddThis Social Bookmark Button

The first speaker at the General Session today was Philip May. Philip is the General Manager of the Oracle Business Unit at Hewlett-Packard. This morning, he talked about the close cooperation between HP & Oracle up to the executive level.

He cited a couple of benchmarks that show HP is faster (at query processing) than Sun & IBM. Their tests show Oracle 9i RAC on HP achieves near linear scalability.

He had a demonstration showing HP Service Guard with TAF (Transparent Application Failover) as well as one without TAF. They appeared to work as expected and TAF looks like a valuable feature that could help provide the high-availability that many businesses require.

Rene Bonvanie was the other General Session presenter today. He is the Vice President of 9iAS and Oracle Technology Network (OTN) at Oracle. He wants to know how to improve OTN. He asked for feedback at rene.bonvanie@oracle.com. If you haven’t been to otn (otn.oracle.com), go take a look.

Rene stated that their testing shows that 9iAS is faster than .NET which would it make it a good choice for any Application Server. He did a demonstration on making db objects available to a portal. Also, he showed how easy it is to convert PL/SQL packages to a service that can be used on a portal.

As far as today’s educational sessions, I again wish I could be in several places at once. During one time slot, I elected to attend session 515 which was presented by Craig Shallahamer. This presentation called Oracle Response Time Analysis was outstanding and complemented other sessions that focus on Wait Events. Craig defines Response Time as the sum of Wait Time and Service Time. Focusing exclusively on Wait Events might cause you to overlook a Service Time that is out-of-line indicating a CPU-related problem. Craig showed how looking at certain events you can easily track down the root cause of a problem.

I talked to somone in one of the other sessions that I wanted to go to (Michael Abbey’s presentation Stand By Your Standby) and heard that it was good as well. I’ll have to review the whitepaper on that one when I get home.

The quick tip Q44 by Bill Schott called 4 Steps to a Healthy Standby Database was another great session. Bill has been working with standby databases for a couple years and the school of hard knocks has taught him quite a few lessons which he shared with us. One of the things he mentioned was that by monitoring the unrecoverable_time from v$datafile, you can detect a problem that could prevent you from accessing your standby database if needed in an emergency.

He also provided a step-by-step process for when you need to add a datafile to the primary. One trick is to create the file small since you need to copy it over to the standby. Also, a file resize operation is handled automatically by the standby, so that process won’t require any additional manual intervention to maintain the integrity of the standby database.

There was also a presentation called bulding a Simple SQL Interface to any LDAP Server. Stephane Faroult presented this and gave a good overview on accessing any LDAP server (not just OID). I also picked his brain to get some thoughts on some question I am running into on planning a conversion from tnsnames.ora files to LDAP.

The Big Bash is always a popular event. This year, the event was held at SeaWorld. in spite of some chilly temperatures, there were a fair number of brave souls that rode ShipWreck Rapids and a large number of people sat in the “Soak Zone” for Shamu’s House of Douse. I stayed dry other than putting my hands in the dolphin tank to pet them.

Tomorrow looks like another full day of running from session to session and trying to get a few more minutes on the exhibit floor to get some additional information and maybe spend a few minutes in the bookstore.

Stephen Andert

AddThis Social Bookmark Button

The day started off with Rich Niemiec presenting some awards followed by a few guests sharing some inside stories. Bruce Scott (Oracle versions 1-3) let us in on the much guessed at story of scott/tiger. The tiger in question was his daughters cat. Kuassi Mensah (Oracle version 4-6) and Andrew Mendelsohn (Oracle version 7-9) were also there and shared some interesting stories.

The opening general session was presented by Vince Gayman from Compaq. The scheduled speaker, Don Jenkins, was unable to make it due to HP merger-related activities.

Vince stated that Compaq strengths include storage systems, fault-tolerance and their global reach. Also, he listed their strengths as an Oracle database server environment. Some of these strengths are:

-clustering from ProLiant (Linux & Windows) to ES40 (Tru64 unix)

-simplification of new node istallation

-call either hotline for support (Compaq or Oracle)

The next speaker at the opening general session was Dr Roger von Oech with a presentation called “A Whack on the Side of the Head” where he talked about how to stimulate creative thinking.

If a picture is worth 1000 words, then I hope the IOUG web site gets a picture from this session posted. Four of the board members were pulled from the audience and given a special piece of headwear to illustrate the four different “hats” that people can put on to maximize their creativity.

- EXPLORER

- ARTIST

- JUDGE

- WARRIOR

Later, at the Oracle booth, I watched the 9i database overview. I think there are many enhancements that have the potential to be very beneficial. Some of the key ones that I thought were promising are:

- sql apply to standby - allows standby to be available while in recovery mode

- switchover/switchback - makes is easier to switch back to the primary database after failing over

- reduced PL/SQL recompilation time

- Oracle streams - information transfer even from other RDBMS

- RMAN enhancements - controls the amount of archived logs restored during recovery

- enhanced tuning- Estimated cost AND actual cost are kept

- security - increased sys & system accountability

In the afternoon, Andrew Mendelsohn from Oracle added to the information I received from the booth. Oracle is using 9i (including release 2) in production situations, so they are “eating their own cooking”, which should be a comforting factor when considering your own rollout.

Some key high availability features are:

-RAC (lets you scale efficiently even w/o modifying the application)

-Data Guard (standby db w/sql apply can add indexes, materialized views, etc.)

-Flashback Query

-Dynamic Reconfiguration

-Online Redefinition

Andy also participated in a couple demos:

-converting from RBS to Automatic Undo Management

-flashback query

-resumable sessions.

-converting to locally managed tablespaces ONLINE

I think these demos gave a good feel for how some of the new features work and they made me think of some things to start to play with as my company starts to investigate 9i.

Session 512 was Craig A Shallahamer’s presentation on “Oracle’s Touch Count Data Block Buffer Algorithm”
This is a new buffer cache algorithm that replaces the multiple buffer pools which were developed to enhance the MLRU algorithm (Modified Least Recently Used). The MLRU was an enhancement to the LRU algorithm (Least Recently Used).

Craig has done a lot of digging around to get a better understanding of how this new algorithm works. From how Craig explained it, it looks like this algorithm could be a more efficient way of keeping the “popular” data blocks in the buffer cache even when large table scans or large index range scans are performed.

This is a fairly new feature in Oracle and the associated init parameters are still officially undocumented. As such, great care should be taken to understand how they work before you start modifying them.

This was an interesting session and future research combined with some documentation from Oracle should allow more opportunities for buffer cache tuning.

Throughout the day, I ran into people I met last year, people I know through my local user group (AZORA) as well as meeting some new people.

Overall, today was an information-filled day with a lot of opportunities for networking with other Oracle professionals. Tomorrow promises to be more of the same and I can’t wait.

Stephen Andert

AddThis Social Bookmark Button

Greetings from San Diego, the site of this year’s IOUG-A Live! conference.

My day today consisted mainly of attending Gaja Krishna Vaidyanatha’s University Seminar “Oracle Performance Management - A Radical Approach” which presented new ways to tune a database. The radical part is this process is done WITHOUT USING A SINGLE CACHE-HIT RATIO!

“Hi. My name is Stephen and I suffer from CTD.” Gaja coined the acronym CTD for Compulsive Tuning Disorder. It is a common malady among Oracle DBA’s. Today I heard a recommendation that before you start tuning, you should establish a baseline so you know when you can stop tuning, go home and get reaquainted with your family & friends. Yet another RADICAL thought presented today.

One way to look at your system is to use the Oracle provided BSTAT/ESTAT (STATSPACK is much better if you are on Oracle 8i). The output from these tools can be uploaded to www.oraperf.com for easier analysis.

Tuning using wait events can be seen as daunting since there are hundreds of wait events. Gaja said to start by looking a the “Dirty Dozen” wait events & then over time learn how to deal with more.

Gaja coauthored a book called Oracle Performance Tuning 101 that shows how to use wait events for tuning. I have used this book very successfully to help in troubleshooting performance problems.

I think the format of the University session is a great way to learn. In addition to a knowledgeable presenter, the audience is made up of people with real experience who participate in discussions that add a lot of value.

After class, a group of people from the oracle-l mailing list got together. Some were faces that I remembered from last year at IOUG and others were names I knew that I finally got to put faces to.

Marlene Theriault led about 20 of us that gathered there to a Thai restaurant for food, drinks and discussion. I know I didn’t get everyone’s name, but besides Marlene, some of those that were there (in no particular order) Rachel Carmichael, Kirti Deshpande, Jim Howerton, Gaja Vaidyanatha, Alex Feinstein, Tony Aponte, Brian McGraw, Stephan Faroult, John Beresniewicz, Peter Robson. Meeting some of these people in person for the first time was fun. Getting re-acquainted with others is always fun. Amazingly, there was even some discussions that didn’t involve Oracle.

This year is promising to be a conference full of learning opportunities. If my brain stops throbbing from everything I learned today, I should be able to learn alot this conference. Unfortunately, with Oracle, the more I learn, the more I find I have to learn.

Stephen Andert

AddThis Social Bookmark Button

After overcoming transportation challenges Sunday evening, I was able to get checked in for the conference before they closed for the evening. The shuttle service the next day and for the rest of the conference was much smoother.

On Monday morning, the opening keynote speaker, Don Jenkins from Compaq, had some information on how Compaq’s clustering efforts were making their platform (Tru64 unix) the best place to run Oracle 9i RAC (Real Application Clusters). Some of the benefits he listed were:

-Transparent node failover

-Load balancing

-Simpler management

Personally, I thought that their recommendation to use more smaller machines instead of fewer large machines to enhance scalability was interesting from a company that makes some of the big boxes.

The presentation titled “Top DBA SQL Scripts Transformed into PL/SQL Proactive Monitoring Routines” at first appeared to be covering things that I was already doing. Then the presenter explained how to maximize the benefits of scheduling these jobs in the database with procedures instead of using sql scripts from cron. The biggest benefits I saw were the ability to log errors for all jobs to a single table and the ability to log the start and end times to monitor the execution times for trend analysis.

Gaja’s Mini Lesson on Myths and Folklore about Oracle 8i Performance Tuning was one of the best sessions I attended. The myths that he presented I had heard and read about as fact. He gave some very specific instructions on how to tune using the “Wait Interface”. If you are responsible for tuning Oracle databases, I strongly suggest you read up on the “Wait Interface”.

One of the most popular sessions was by IOUG president, Rich Niemiec. “Performance Tuning used by the Experts; Others will require Oxygen!” was so popular that they had to add a second time slot for him to present it again to accomodate the several hundred that couldn’t get in the room the first time.

Another great part of the conference was meeting people from the mailing list/discussion groups. The mailing list get together was a lot of fun. Meeting authors of books I have read is also fun as you get to know the other side of them. (The non-computer geek side!)

As you can guess, I am eagerly awaiting this year’s IOUG-A Live! 2002 event next week in San Diego, CA. I will be bringing you some of the highlights on a daily basis. If you have questions that you would like answered, please send them to me and I will do my best to search out experts to get the answers.