Monday, April 20, 2009
News galore
I understand there is to be 'round two' in November ... I'll be back!
As enjoyable and fulfilling as that was, I need to sit back and absorb the really big news.
While in Chile, I had the opportunity to have dinner with two people I respect a lot in the Oracle world - Tim Hall and Graham Wood. Graham was there for the Exadata launch, and that took us to the topic of storage and storage vendors. I mentioned in passing that "If Sun is being sold anyway, I'd think there would be no better buyer than Oracle." (The discussion, as so often happens, turned down a side path to RAC and interconnect and the like.) Indeed, I see many, many positives for the industry and very few (if any) negatives to the deal.
For all those doubting Thomases, I have to point to the Peoplesoft, Siebel, Hyperion acquisitions to form a definitive statement about Oracle's ability to make M&A work in this industry.
Needless to say, on first blush I am excited.
Wednesday, April 01, 2009
Morgan's Library
One of the most important resources for me is Dan Morgan's library of information about Oracle SQL, PL/SQL and various features.
I am pleased to note that Dan has a new URL for his library. http://www.morganslibrary.com/ which promises to provide even more great information.
Sunday, September 28, 2008
Mommy ... it's over*
Oracle Open World is over for another year. This one has been rather interesting and very special for me for a lot of reasons, not the least being this was my first as an ACE Director.
There are a lot of thanks to hand out
- to Justin for being the energy and brains of OTN;
- to Lillian and Vikki for herding the cats called ACEs and ACE Directors;
- to Lewis for getting the Birds of a Feather session going;
- to Eddie and Tim and Mark and Dan and Mogens and ... for mentoring;
- to Oracle Open World team for the great show;
- to all those I've inadvertently insulted by leaving your names out;
and to each and every one who introduced yourselves and chatted with me.
As always, I learned a lot about Oracle and the Oracle community, and leave wanting more. I spent much more time networking than ever, which simply confirmed how great of a community this really is.
I already have some tentative invitations to speak or teach and hope to see and meet more of you through the year.
Saturday, September 27, 2008
Unravelling an Oracle hardware mystery
Of course, I took a look at Kevin Closson's blog and related 'FAQ' at http://kevinclosson.wordpress.com/ and that is giving me some ideas of the Exadata capabilities.
I also started to read some of the materials at OTN. And the relevant pages at Oracle.com. And the Oracle online price list. (Note to Oracle: it is not easy to find the Exadata info from OTN home page. And there is no entry at all in the Oracle Store.)
Some up front observations:
1) The Exadata is a storage machine, independent of the HP-Oracle Database Machine;
2) The HP-Oracle Database machine is a specific packaging of server and Exadata storage;
3) The size and price point of Exadata Storage server indicates it could reach into the mid-size business market;
4) Oracle still uses 'interesting' pricing.
My previous comment about not being applicable to my region was based on my reaction to the price and configuration of the full-blown HP-Oracle Database Machine. Not quite correct ...
From the announcement on Wednesday, and the side conversations, I managed to totally lose sight of point 1. Indeed, Oracle has announced they are in the disk storage business - a natural outgrowth of their foray into file systems and disk storage management with OCFS and ASM.
The size ranges for Exadata will indeed introduce some interesting issues. It is indeed valid for mid-range business and may even reach into the upper small-sized business. However, every mid-size company I deal with is looking at reducing the storage footprint, as well as reducing the number of storage vendors. Hardware sales is a different process, and requires a completely different sales relationship and entry point to the organization - Oracle really needs to look to third parties like Edmonton's Interdynamix if they want to be successful in that market.
My point about interesting pricing is taken from the referenced price list. Oracle sells the storage using either 300GB SAS drives or 1TB SATA drives. The amusing (or distressing) concern is that Oracle charges a simple hardware price for the 'shelf' including the 12 disk drives, but then has a software charge per disk in that shelf. Unless I totally misinterpret that pricing doc - possible, as I'm sitting in the airport waiting for my name to be called on standby.
Thursday, September 25, 2008
Keynote ..
Like Tim Hall, I am underwhelmed by the announcement. I'm certain there is a use for this, but this is nearly irrelevant in the small to medium market - and in Canada, the bulk of the potential Oracle customers are in the small to medium business class.
Similarly underwhelming, I note that the conference seems to have emphasized everything but database. (As compared to previous years, I don;t remember being told what the portion of Oracle revenue comes from database.)
Indeed, in a separate briefing, we were told about middle tier enhancements that provide zero-latency and infinite scalability, making the 'unscalable and slow database' effectively obsolete. I'm waiting for the announcement of sub-zero response times and virtual persistence that does not need any data store at all.
Wednesday, September 24, 2008
SQLDeveloper, APEX,, Modelling, Oh My ...
I've used Oracle*SDE and Designer, ERwin, and other ER modelling tools. These tools did not make life easier when doing the initial design. In fact, they often slowed me down, as I can usually stream-of-consciousness code faster than design and code. But nearly all (of my) code eventually needs upgrading or troubleshooting, and SOC coding is a royal pain to debug, since I probably can not remember how or why I did something. So I learned from experience that I should design first, then code.
Emphasis on 'should' - the sheer weight of most of the modeling tools encouraged a prototype first, or SOC programming, attitude.
SQLDeveloper, based on the JDeveloper's extensible framework, is an exciting product. Fairly easy to use, SQLDev is definitely in conflict with Oracle's traditional NUIs (Non-Intuitive User Interfaces).
In this session, we got a heads up for a graphical ER tool extension to SQL Developer, including relational and multi-dimensional modeling. With a distributable 'viewer', and eventually a database-based repository. Some subset of the demoed features should be in public beta 'Real Soon Now'.
When I worked for Oracle, a number of us were privileged to use the ARIA project built on an early internal release of HTML-DB. So when Oracle released HTML-DB as a 'feature' of Oracle8i that peaked my interest, especially as a possible replacement and consolidation for the myriad of small Access, FoxPro, DBase personal databases that was proliferating. Unfortunately, Portals were the flavour of the year, and it seemed that HTML-DB was sidetracked as the Oracle Portal took precedence.
Fortunately Oracle came to their senses
The SQLDeveloper extensions - such as those which understand Application Express and that provide ER modeling - have helped make SQL Developer one of my favorite database access tools in Oracle. Between SQL Developer and APEX, I suspect I could spend a lot of my life learning features and futures such as the ability to use the Oracle Forms XML definitions to initialize new applications, and unit testing made simple (with check-boxes to define limit testing), and ...
I'm looking forward to the day when SQL Developer includes extensions to administer Oracle Warehouse Builder.
For now, I'll be keeping a closer eye to Eddie Awad's blog at http://awads.net/wp/ and Sue Harper's at http://sueharper.blogspot.com
Tuesday, September 23, 2008
Day two ... expanding horizons
I've been using my iPod Touch to keep up with email and web access. My calendar, my schedule for Open World, my customers, even my web cam from home - all on the iPod. The network here is pretty loaded and things can be slow. So, based on some reading about iPod Touch performance challenges, last night I started the upgrade to my iPod Touch. Due to the hotel network, that aborted. This morning, I come to Moscone Center early to complete the install. As an official blogger, I have access to the Press Room and Blogger's Lounge, which is where I decided to do the upgrade. About 45 minutes before my first session for the day is to start.
What I did not realize - there was a press Q&A scheduled around Social CRM and the changes in CRM over the past several years, including the latest things introduced by Oracle. Of course my upgrade - with dire warnings about not unplugging before it's complete - is running during the Q&A. So I listened in.
Interesting topic, and I was surprised to find out how close the topic is to the heart of this techie. Social CRM, in a nutshell, is a simple expansion of the Birds of a Feather concept we all have used for ages - people like to deal with, socialize with, and trust, people who have similar interests. So why not use CRM-oriented data mining to help customers meet relevant customers, as well as help companies understandf what is indeed relevant to customers. I found this interesting because I am both a customer who loves to meet other like-minded customers to share ideas, and because I am a techie who may be asked to manage the the mining tools and the database from which this is mined. I suspect DBAs will be asked about this stuff in the near future.
After that session, I headed over to Marriott and enjoyed Tom Kyte's keynote. Tom's theme was one some of us are very familiar with - the best way to do anything in Oracle depends on the real question. As always, Tom's ideas got me to thinking, especially in two areas: today's best practices can easily become tomorrow's myths, so retest our facts frequently; and yesterday's myths could easily become today's best practices.
Tom's presentation fits in nicely with somethings I've blogged about and frequently presented about - ROT or Rules Of Thumb. Every Rule Of thumb is based on (often unstated) assumptions and when those assumptions are violated, the result is a pile of rot. The assumptions that forced us away from things last version might no longer be valid due to changes in technology. Or the assumptions that caused us to use certain techniques yesterday might no longer be valid - such as having few users, few schemas and relatively small data sets, potentially encouraging separation of index from data to simulate manual striping for performance ... as compared to ASM, logical volume management, disk striping and SAME invalidating that entirely in most situations.
It was certainly nice to see Tom again.
After Tom's session, I headed over to iDevelop Hands-On session for APEX. Due to a logistic mix-up during registation, I managed to lose my Develop track access and could not preregister. So I ended up in the stand-by line for the session. The cutoff to get was the young lady in front of me. So I wandered over to my second choice. a session on SQL Developer and Migration Workshop.
I'd seen the Migration Workbench back in 2001 and 2002. Recently a number of customers have indicated they might need consolidation from a number of different databases. Migration Workbench has finally found a good home under the SQL Developer umbrella. And the demos by Oracle, and the supporting presentation by Finra, certainly opened my eyes. Even more to go home and study. I hope someone get to writing an APress OAK Table book around SQL Developer soon.
After that, I headed over to the Moscone West demoground and got a lot more information about Beehive. I'm still trying to frame my own interpretation about Beehive, as compared to other Oracle products such as WebCenter and others. I need to digest this before I blog about it, but I am definitely looking at that product more seriously. Much more as time goes on, but for now I'd say Beehive is Oracle's only 'consolidated Collaboration Content Server', whereas WebCenter and Portal are 'content consolidators' which could also present Beehive content.
Still to come - something about the OTN Welcome party last night, and the OTN ACE get together tonight. After all, Oracle Open World is all about meeting people ... and regardless of how convenient it is, face to face is still the best form of Social CRM.
(Speaking of which ... where are you Hector Madrid?)
Monday, September 22, 2008
Plans of mice and men
I did just that. I carefully went through the schedule and decided what was most interesting or most important. Put that on my schedule. Signed up for the Information Overload DVD pack to make sure I get all the information I'm missing.
Well, like so many best laid plans of mice and men ... the schedule has gone out the window already. The news about Beehive interested me so much, I decided to visit the Beehive booth at the demo grounds. As a Collab Suite customer who prefers to run a Linux OpenSUSE/KDE desktop, I wanted to see what the future holds.
On the way, I ran into the WebCache group. Good news - they demoed filter rules for the cache. So in addition to LBR, we can look forward to intelligent request handling, including source IP blocking and request redirects. And it sounds like they will confirm to the Oracle management BLAF (Basic Look and Feel) when the admin is handled through the newer releases of Grid Control. From discussions with the booth teach, in the future it will hopefully be possible to assign admin for WebCache separately, which would be a bonus. Traditionally (in my geography) the App Server admin is defaulted to DBA or a general Web Server admin. This change means we could assign the cache admin to a network administrator, which might make more sense for some customers.
I finally worked my way to the Beehive booth, where I learned some exciting news - Beehive does not depend on Outlook. It works with Thunderbird, and some of the team apparently has been using Linux desktops and 'all sorts of front ends'. The only piece of the old Collab Suite still to come is the web conference - aka web desktop - and that should not be that far down the road.
Even though it's officially one-person company, collaboration is still important - CEO, accountant, legal, temps, customers all need access, and simple EMail and unified client OS and environment is simply not enough.
Time to start looking at Beehive seriously.
Monday morning
Like last year, Judy Sims welcomed us to the opening keynote. She described some of the changes based on the feedback from last year. Wow - the improvements are amazing. Oracle really does listen, from balancing between greening the conference vs usability (conference book is about 1/2 the size and weight from last year ... saved 965 trees over last year) to dedicated exhibition hall time and more Unconference sessions.
Highlights from Charles Phillips' keynote: "A year of Innovation" "$3B investment in R&D" "50 acquisitions in 44 months" "84K employees" "Complete. Open. Integrated." "Being number 1 helps Oracle help us [customers] by being able to invest."
Keys in the Vertical Apps are: Define solution map by industry and buy/build to that map and then standardize the integration through Application Integration Architecture. Think "Packaged Applications of the 90s become Packaged Integrations of the new millennium"
Keys in the Horizontal apps (Fins, CRM) are: Get feedback from customer
Keys in Middleware: FMW 10gR3 & EPM 11gR1. Going forward, more integration with BEA. Announcing JDeveloper 11g, ADF 11g, TopLink 11g available this week. Announcing FMW on the Amazon Cloud. Announcing Beehive to replace(?) Collaboration Suite.
Beehive is a ground-up communication/coordination/collaboration server. (Collaboration Suite, in spite of it's tremendous promise, was one of the most difficult to set-up and administer products in the Oracle toolchest. Beehive is supposed to be pre-integrated.)
Beehive looks very interesting and should be extremely useful, especially when the desktop sharing capability is released. It includes automatic IPR and security, so deleting or removing access to a file will be enforced even for remote copies.
After the install and administer issues, the biggest headache I had with Collab Suite was the dependence on Microsoft product. The Charles/Chuck demo so far only shows using Microsoft Outlook as the client. If Oracle truly believes in Linux, they need to show support for Linux desktops - I run KDE and most classes I teach use gnome - so I'll be asking about that in the demogrounds.
The discussions around Database (new options, such as the "Times ten" cache), Infrastucture (innovation around Linux with BTRFS and CFS, VM and Enterprise Manager) flew by.
The final announcement is "My Oracle Support", which seems to be a Flash-based, Web 2.0 version of Metalink, is now available. Since this is personalized suupport, there should be a lot of interest in this area.
Seemingly in keeping with the theme of integration, NetApp's keynote is appended to the end of the opening. The theme of that presentation is 'innovation in tech' - very interesting discussion around technology innovation helping ROI. Key ideas: overprovisioning, deduplication, thin cloning. From a ROI perspective the topic of the presentation was interesting. From the number of people heading out during the talk, I note that Open World still cuts across many parts of the customer base - honestly, how many techs care about business cases.
Summary ... the obvious theme is 'progressive innovation'. (Which may not make for much spectacular splash.) The one take-away for me is it's time to look when I'll upgrade my Collab Suite licenses to Beehive.
Sunday, September 21, 2008
Things Oracle May or May Not Announce
Most of the announcements will end up with a strong ROI component. Going forward I think I'll be spending a fair amount of virtual ink looking at Return on Investment and why Admins (SysAdmins, DBAs, JEE Admins, etc.) should be interested in the topic.
Oracle released database patchset 11.1.0.7 last week. Note to self: look at the new graphical Explain Plan in depth. It promises to be very very important for performance analysis.
On a more fun note, I finally met face to face with a few of the many OTN heroes. After many pleasant discussions on OTN forums and email, and threats to get together for a glass of wine or two, I got to meet Nicolas Gasparato. And Rob van Wijk. And ... I stop there, or I'll have listed hundred of names by the end of the week.
Today was the first time Lewis Cunningham, Tim Hall, Mark Rittman, Eddie Awad, Brown Bradley, Arup Nanda and I could meet before our Birds of a Feather session (#S300480) on Thursday at 10:30. I am really looking forward to that.
Tomorrow will be a busy day!
Ahhhh ... San Francisco
And I'm here - again. My 3rd Open World as an independent. I can't remember how many I attended while at Oracle, DLGL or Nortel. (Perhaps I should set up a database - APEX should make it easy.)
This year I'll be blogging about my experience here. Hopefully several times a day.
First off, Kudos to the Open World registration team who made the arrangements to get me here. I arrived yesterday afternoon on a direct flight from Edmonton. The flight was pleasant and - surprise - the plane and the bags all arrived at the same time. Got to the hotel and the check-in process was flawless. (You would be surprised at the number of times I have glitches at hotel check-in.) Met with Dan Morgan (Morgan's Library at www.psoug.org) and a few more Oracle ACE Directors.
Took the bus from the Hilton over to the Moscone Center this morning to check in and get my registration package. So far everything looks just like it did last year. Same party tent, same registration process (but without the snags from last year), same location for the OTN Lounge, and the bookstore (which will probably get me to buy a lot of stuff, same as last year). So a lot is already familiar.
On the agenda for today - get my iPod tied in to the hotel network and the Oracle conference Wifi so I blog and get my emails without carrying the laptop. Attend some IOUG sessions. Meet with a lot of the ACEs and ACE Directors.
If you are here, check out the OTN lounge. I'll be there for a fair bit, and I hope to meet a number of people I've chatted with, emailed, and met on the Forums.
This promises to be fun ...
Saturday, July 19, 2008
PSOUG Oracle Days is over for another year
The one challenge with this kind of conference - and it'll be a nightmare at Oracle Open World - is deciding what to attend. I started with 2 days of intense discussion about indexes by Richard Foote, but had to pass on classes by Jeremiah Wilton (http://www.ora-600.net/), Kyle Hailey (http://www.perfvision.com/) and the dynamic duo of Cary Millsap and Karen Morton (http://method-r.com/).
Talk about flattery - one person admitted to thinking twice about my presentation on Oracle Spatial before coming to his senses and attending Tom Kyte's "Worst Practices" session. Can't blame him, as I would have loved to attend Tom's session myself.
Thursday and Friday were filled with keynotes and breakout sessions. As usual, the hot topic of the day is governance, but there were some interesting announcements by Pillar (ASM compatible storage) and IBM's z10 mainframe taking the cost effective Oracle-on-Linux discussion to the net level.
One Thursday and Friday I managed to attend sessions by Kyle and Jeremiah (but I collided with Richard's high level Index session). These guys have it together - I highly recommend listening to them if you get a chance.
Bottom line is a big thanks to the PSOUG, especially Dan Morgan and Jack and Chris, as well as the sponsors and speakers. I've already got this on my calendar for next year.
Sunday, July 06, 2008
Why do they always ask for version information?
A general hint for all of you who want to learn by installing Oracle product on your computer ...
It may be a surprise that Microsoft has different versions and different editions of Windows. Each version has different internals. Each edition has different capabilities.
When Oracle programs are written and released, they expect certain internals (DLLs, registry layout, etc.) and certain capabilities (supporting applications, such as security administration)
If you try to install Oracle product on a Windows version that is too old or too new, Oracle may not be able to call the operating system properly. So installing Oracle 8i database 8.1.7 on Windows XP Professional may not work, and installing any Oracle database version lower than 10.2.0.3 on Vista will not work.
(All right, technically Express Edition is at version 10.2.0.1 - but it was modified to work with Vista and a lot of the incompatible features are not included in XE.)
If you try to install Oracle product on a Windows Edition that is too limited, you may encounter problems because of Windows capabilities being missing, turned off, or just being limited. So installing Oracle 9i or 10g Database on Windows XP Home may or may not work (or some aspects may not work) partially because some features require security settings that are not exposed in XP Home. This seems to be especially true of the Vista Home vs Vista Business editions.
Please mention the version & edition of Windows! (And the product, version and edition of Oracle!)
Saturday, June 28, 2008
Some thought about Oracle Certification
1) Where to find out about (exams, certification, requirements, etc.)
Go to http://education.oracle.com or http://otn.oracle.com and look for the Certification link. Check the menu bar on the right edge. Or (same place) click here
2) Problems with the certification process
If you have written the exams and done all the other things right, but still have not received your certification kit - look through the FAQ., You can find it under the Support menu on the certification page. If you have any otrher questions about the process - look there as well. If you honestly can't find the answer, then ask in the Oracle Forum for Certification at http://forums.oracle.com
3) Why Certify?
Two main reasons that I can come up with
- prove to yourself and others that you understand the basics of the topic
- help get a job
4) Is it worth it?
Yes.
The process of certification, when followed, forces a person to look at relevant material. Sometimes it is a review, but sometimes it is new to them. That is a good thing. And supports 'Why Certify' reason #1.
And No.
Unfortunately there are people who cheat. When cheaters get hired, their employer often gets cheated and is left with the wrong impression of the quality of certification. Then everyone who has certification is suspect. That invalidates 'Why Certify' reason #2 - for everyone.
And, (whether true or not is totally irrelevant and not something I will debate) there is a perception in some areas that vendor certifications are simply money-grabs. As far as I can tell, this perception crosses ALL vendor certifications.
5) Which certification should I get?
Only you can answer that. You need to assess whether you are an architect, a developer or an operations person.
- Database Administrators, App Server Administrators, System Administrators, Functional or Application administrators are involved in long term operations, often years at a time. They keep the machinery of business moving, and hopefully keep it oiled and running efficiently. Good administrators will keep up with technology changes but will mainly study and expand their knowledge of internals.
- Developers and Architects are involved in changing the direction of the business. Projects can be measured in days, weeks and months and these people specialize in change. Good developers and architects will learn how to introduce change more efficiently, but also need to learn how that change integrated and affects existing systems. A good knowledge of internals is important here as well.Reviewing the exam and certification requirements may help you decide.
First step is to be honest about your ability. An honestly achieved certificate will help you self-assess your ability.
Finding a fitting job may be tough. You may need to use the same research skills you learned in getting your certificate in finding an appropriate job. You need to find out which jobs are available - through contacts, friends, local user groups, news papers. Then you need to apply for those jobs, and tailor each application to explain why you are the best person for that specific job. Finally, if you don;t get the job, you should find out why and use that information to make the next application better.
7) Where do I get information, tests, books, brain dumps, and so on
First, lets be clear. Getting certified is not supposed to be easy. It is supposed to provide you with the knowledge that you will need to do your job professionally. If it was that easy, your job would not be worth that much.
And remember that cheaters who are caught will lose their certification and perhaps lose their chance at any certification in the industry. Using Brain Dumps is considered cheating. Using Gunners is considered cheating. Passing an exam based on purely memorized material without understanding the material is as bad as cheating in the long run.
Now that's out of the way, here are some ideas:
- You can get books related to nearly each exam. Oracle Press and Sybex are some of the better known publishers. You can find these books at many local bookstores as well as many online bookstores such as http://www.amazon.com If you use an online store, try searching for the exam number, such as 1Z0-001 as found on the site listed under the first question above.
- Join a local users group. Not only will that help you with getting a job, but many professionals are willing to lend or sell their study books.
- Get the exam requirements (see #1) and learn to search, especially in the online documentation at http://otn.oracle.com (see Documentation) or http://docs.oracle.com or http://tahiti.oracle.com
- Search in the forums. Go to the relevant forum (don't simply pick the first one available) and use the search capability. If you can't find anything ask for help understanding. Explain what you want to learn and explain what you currently understand. Ask for pointers in the documentation. Ask for additional reasons. (But search first ...)
Keep reminding yourself "If it was that easy, your job would not be worth that much."
8) The Hands-On Course is so expensive. Do I need to spend [ insert value here ]?
Basically, it's Oracle's certification process, and they require all of us to attend instructor-led course[s] before getting OCP, OCE or OCM certificates. (Upgrades are generally exempt.) In many ways, it is simply Oracle's way of ensuring we are exposed to a wide variety of information.
And I'm not going to debate the obvious responses about money grab ... There are many ways of meeting the requirement and some are not that expensive. Consider it a challenge and a sign of a serious OCP candidate to have met the hands-on requirement within budget.
Friday, June 27, 2008
Where to look for XML-DB info
You might want to start the online tutorials. (http://www.oracle.com/technology/obe/start/index.html) Drill into the Database 10g tutorials and go to the Extended Data management ones at the end.
You also might want to start at the XML-DB portal to see whether they have any demos or samples. All product portals start at OTN (http://otn.oracle.com), go into the product family (Product [left edge] > Database), then into the feature set (Content Management sounds like a good guess) and finally to the component (XMLDB) and see whether there are any discussions, white papers (venter area) or samples and tutorials (right edge)
Or you might want to look at the XML technology portal to see whether they have any demos or samples. All technology portals start on OTN at http://otn.oracle.com, go to the Technology Centers (Technology [left edge]), select Technology header if the area is not immediately visible, go to the XML Tech Center, see if there are some discus edge)sion papers or Sample Code (right edge)
Barring that, you could use a web search for "load xml into oracle" and perhaps select the first link that pops up (Loading A Large Xml Document Into The Database)
Or you could go to a book store such as Amazon, search for "Oracle XML" and buy a book like
- "Oracle Database 10g XML & SQL: Design, Build, & Manage XML Applications in Java, C, C++, & PL/SQL (Osborne ORACLE Press Series) by Mark Scardina, Ben Chang, and Jinyu Wang (Paperback - May 31, 2004)"
or my favorite
- "Building Oracle XML Applications by Steve Muench (Paperback - Oct 2, 2000) - Illustrated"
Saturday, April 05, 2008
Want help with an Oracle listener problem?
For us to troubleshoot the problem properly, please provide the following information:
1) Windows
Tell us the operating system (Windows XP Home, Windows XP Professional, Vista Ultimate, Vista Business) ... PLUS service pack information! You can get the appropriate information from the Control Panel > System
Tell us how many ORACLE_HOMEs you have. Several ways to find out, one being to go to the SERVICES (Control Panle > Administration Tools > Services) and simply looking for entries that start with 'Oracle' and end with 'TNSLIstener'
Copy/paste the listener.ora to the forum - You can ignore the samples, but be aware that you may have several. If you have more than one search for all the listener.ora files on your system.
We need basic Computer naming and IP/interface information. From the command line (Start > Run > cmd)
- hostname
- echo %COMPUTERNAME%
- ipconfig /all
- route print
And we need to understand what your listener thinks it is doing, so provide a copy paste of the output (also form the command line) for
- lsnrctl status
- IP interface config (Windows: ipconfig /all, route print; Linux: ifconfig; route)
2) Similar information from Linux would be
Linux distro (RedHat EL4 Update 5, Ubuntu 6.10 Server, SUSE 10.1, Fedora8, etc.), and especially useful is the output from
- uname -a
We need basic Computer naming and IP/interface information. From the command line
- hostname
- /sbin/ifconfig
- /sbin/route
- set | grep -i ora
- . oraenv (that is a dot space) and answer with aan ORACLE_SID from the above oratab
- . oracle_env.sh (if you are using XE)
- lsnrctl status
If you provide that information up front, we won't have to ask for it
Sunday, March 16, 2008
"I'm a volunteer, not a dentist"
I spend a lot of time responding on Oracle forums. One consistent frustration is that we apparently need to be dentists - getting operating system and product version information is like pulling split teeth (both painful and tedious).
When asking a question, the combination of operating system edition and service pack AND Oracle edition and patch are very important pieces of information. A number of us volunteers are now starting to ignore questions that miss these basics.
I) Microsoft product
Very quickly, here is my perspective of 'What is Windows', or 'What do I need to help you'.
- Windows is Microsoft's brand name. It covers a lot of families of products.
- Windows NT, Windows 2000, Windows XP, Windows Vista are Microsoft Windows product family names.
- Each family has 'configurations' or 'editions' (which have Service Packs)
- Windows XP comes in Professional, Media Center, Home and Mobile Editions
- Windows Vista comes in several Editions Home Basic, Home Premium, Business, Enterprise and Ultimate Editions
- and so on.
II) For Oracle
Similar thing with Oracle
- Oracle is Oracle Corporation's overloaded brand name and trademark
- Oracle {product} {family} is Oracle's product brand name
- These product brands may be divided into releases
- Then we have Editions which gets us to a product that may be used (and patched)
- Oracle Database 10g,
- Oracle Database 11g,
- Oracle Collab Suite 10g,
- Oracle Business Intelligence 10g,
- Oracle Application Server 10g
- Oracle Database 10g Release 2
- Oracle Database 10g Release 2 Express Edition,
- Oracle Database 10g Release 2 Standard Edition One
- Oracle Database 10g Release 2 Standard Edition
- Oracle Database 10g Release 2 Enterprise Edition
- Oracle Database 10g Release 2 Personal Edition
III) Linux product
The naming conventions for Linux are much more nebulous. Simply put, the information I need when responding to a Linux question is
- Vendor (optional, may be implied with community projects)
- Distribution
- Release
- Kernel release (from uname -r)
- Userid under which the problem occurs (root, oracle-owner, other)
So I would want to see "Using oracle on OpenSUSE 10.3 - 2.6.18.8-0.7-default"
Wednesday, March 12, 2008
More Oracle Networking troubleshooting - ORA-12514
It is easy to get confused about the TNSNAMES.ORA because it can be found with the LISTENER.ORA file. This is mainly because there are a bunch of client tools on the machine, such as sqlplus, sqlload (and even the database when it uses database links).
The first step is on the server side: determine whether the listener is running and how it is running. To do that,
- enter the command line 'lsnrctl status'
- if the listener is not up, start it
- check host for which the listener is listening
- if not correct, fix the the LISTENER.ORA
- this is a common problem when using DHCP (esp. Windows)
- check port (on that host) on which the listener is listening
- if not correct, fix the the LISTENER.ORA
- check whether the listener knows of a service for the database
- if the listener does not know about the service, start the database, or register the database using sqlplus DBA command 'alter system register;'
- the database may be configured to support many services (see my blog)
Now you are ready to connect using
sqlplus user/password@alias
The second step, and this is repeated at each client that has a problem) is to check the TNSNAMES.ORA (using the output of lsnrctl status as reference)
- find the a entry that starts with 'alias = Descrip...' (DESCRIPTION might be on a separate line)
- if no entry, add one
- enter it manually if you know the syntax, OR (preferred)
- using netca (Start > ... > Ora ...> Network Configuration Assistant
- verify the entry's ADDRESS points to the correct host (HOST = xyz)
- common issue causing 12514, esp. when server has DHCP
- should match the host name from the listener record above
- verify the entry's ADDRESS points to the correct port (PORT = 1521)
- should match the port number from the listener record above
- verify the entry's ADDRESS points to a known service (SERVICE = my_database)
- should match a service from the listener record above
If that still does not work, check the SQLNET.ORA to see whether there is a DEFAULT_DOMAIN= record. If there is, append the value to your alias in the TNSNAMES.ORA
Sunday, March 09, 2008
Rename the database? WHY?
However, there are a few legitimate reasons for wanting a different name. And a few easy workarounds that just might do the trick.
If all you want is a connection to the database other than connecting using @XE, here are two fairly easy ways:
1) Create a new alias in TNSNAMES.ORA
2) Create a new database service for XE
Demo time ... I want to connect to XE using 'sqlplus test/test@test'
Before
C:\temp>sqlplus test/test@test
SQL*Plus: Release 10.2.0.1.0 - Production on Tue Mar 4 07:30:42 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
ERROR:
ORA-12154: TNS:could not resolve the connect identifier specified
Enter user-name:
Solution
1) Create a new alias in TNSNAMES.ORA on the client ... TEST is the alias, XE is the SERVICE for the database
TEST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = FCC003L)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = XE)
)
)
and the above yields
C:\temp>sqlplus test/test@test
SQL*Plus: Release 10.2.0.1.0 - Production on Tue Mar 4 07:30:36 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
SQL> exit
Disconnected from Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
The above will work quite nicely for any client that connects to the database using a TNS alias. But it still assumes the database service (often mistakenly called the SID) is XE. So let's go to variation 2)
2) Create a new database service for XE
Since Oracle8i, every database registers the services it wishes to provide with the listener. We can have up to 100 services coming out of one database. There are a few internal services, every Advanced Queue gets it's own service, there is one default service that matches the database name/SID. And we can add some ourself.
So let's ADD a service
a) add the service to the database
C:\temp>sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Tue Mar 4 07:18:46 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
SQL> show parameter service_names
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
service_names string XE
SQL> alter system set service_names='XE,TEST';
System altered.
SQL> alter system register;
System altered.
SQL> show parameter service_names
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
service_names string XE,TEST
SQL> exit
b) Verify it is known to the listener
C:\temp>lsnrctl status
LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 04-MAR-2008 07:19
:42
Copyright (c) 1991, 2005, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC_FOR_XE)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ
ction
Start Date 04-MAR-2008 07:17:41
Uptime 0 days 0 hr. 2 min. 1 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Default Service XE
Listener Parameter File C:\oracle\app\oracle\product\10.2.0\server\network\adm
in\listener.ora
Listener Log File C:\oracle\app\oracle\product\10.2.0\server\network\log
\listener.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC_FOR_XEipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=FCC003L)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=8080))(Presentation=
HTTP)(Session=RAW))
Services Summary...
Service "CLRExtProc" has 1 instance(s).
Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "PLSExtProc" has 1 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "TEST" has 1 instance(s).
Instance "xe", status READY, has 1 handler(s) for this service...
Service "XEXDB" has 1 instance(s).
Instance "xe", status READY, has 1 handler(s) for this service...
Service "XE_XPT" has 1 instance(s).
Instance "xe", status READY, has 1 handler(s) for this service...
Service "xe" has 1 instance(s).
Instance "xe", status READY, has 1 handler(s) for this service...
The command completed successfully
c) Update the tnsnames.ora
TEST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = FCC003L)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = TEST)
)
)
d) Verify
SQL*Plus: Release 10.2.0.1.0 - Production on Tue Mar 4 07:30:36 2008
C:\temp>sqlplus test/test@test
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to: Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
SQL> exit
Disconnected from Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
Services are the basis for resource management and are critical for future instance consolidation in which we collapse multiple single-instance databases into one instance that can service [sic] many applications.
Another prerequisite to instance consolidation is the use of CURRENT_SCHEMA as described in an earlier blog.
Friday, February 15, 2008
Quotes about quotes
Since tracking those quote marks is a pain here is a trick I've used in the past:
Write my statement using a caret (shift 6 or ^) in place of the quote around the literal, and using regular single quotes inside the literal. Of course, if a carat is supposed to be in the string, us another character - even a letter will do.
INSERT INTO ABC VALUES ( ^This is a 'quoted' string with several 'quote' marks.^, ^'quoted at start and end'^);
Then edit it to turn every single quote into two quotes so the literal handler will see those as quotes
INSERT INTO ABC VALUES ( ^This is a ''quoted'' string with several ''quote'' marks.^, ^''quoted at start and end''^);
And finally edit it to turn the caret into a single quote
INSERT INTO ABC VALUES ( 'This is a ''quoted'' string with several ''quote'' marks.', '''quoted at start and end''');
as in
C:\temp>sqlplus test/test
SQL*Plus: Release 10.2.0.1.0 - Production on Fri Feb 15 13:03:49 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
SQL> drop table abc;
Table dropped.
SQL> create table abc ( s1 varchar2(256), s2 varchar2(256));
Table created.
SQL> INSERT INTO ABC VALUES ( 'This is a ''quoted'' string with several ''quote'
' marks.', '''quoted at start and end''');
1 row created.
SQL> select * from abc;
S1
--------------------------------------------------------------------------------
S2
--------------------------------------------------------------------------------
This is a 'quoted' string with several 'quote' marks.
'quoted at start and end'
Of course, these days in Oracle I'd use the quote operator which uses the syntax
q'{delimiter}string{delimiter}'
as in
INSERT INTO ABC VALUES ( q'#This is a 'quoted' string with several 'quote' marks.#', q'!'quoted at start and end'!');
as in
SQL> delete from abc;
1 row deleted.
SQL>
SQL> INSERT INTO ABC VALUES ( q'#This is a 'quoted' string with several 'quote'
marks.#', q'!'quoted at start and end'!');
1 row created.
SQL> select * from abc;
S1
--------------------------------------------------------------------------------
S2
--------------------------------------------------------------------------------
This is a 'quoted' string with several 'quote' marks.
'quoted at start and end'
Monday, January 21, 2008
Thinking through an ORA-12514
Oracle has a wonderful explanation of each message, including this one for the ORA-12514. In a nutshell, the user is requesting a connection to a specific service, but the listener has no idea how to find that service.
Let's take a quick and very high level, look at the connection process as it pertains to this problem:
1) listener gets started on the service to listen on a specific port for a specific host name or IP address. This is configured in the $ORACLE_HOME/network/admin/listener.ora
Note that hostname/IP and port are in that file. You change the hostname (as happens with DHCP) and the file is no longer valid.
2) Database gets started and registers itself to the listener. Until the database registers itself, the listener does not currently know of the requested service
If the database gets started before the listener, it may be necessary to force registration by using the DBA's 'ALTER SYSTEM REGISTER' command.
The database uses the initialization parameter LOCAL_LISTENER to either point directly to the listener or to a TNSNAMES.ORA entry that points to the listener. (The default value for LOCAL_LISTENER is null which means 'local host on port 1521.)
If the host name changes or the port changes, the database may not be able to 'find' the listener at which time, the listener does not currently know of the requested service
3) The user then attempts to connect using the user's client. The user generally specifies an alias (to look up an entry into the client's TNSNAMES.ORA) or a connection description (which looks like an entry in TNSNAMES.ORA)
The description lists a host, a port and a service. If the system can get to the host (via IP, via /etc/hosts name, or via DNS resilution) and find the listener listening on the port, it asks the listener for a connection to that service.
If that service is registrered, all is well. Otherwise if the service is not registered, or an unregistered service is requested, the listener does not currently know of the requested service
So the problem can be in one of 3 areas:
1) listener is not configured right (but it is started, otherwise we get a 'no listener' message)
2) database is not started or is not registering correctly to the listener
3) user is asking for a non-existant service (possibly a typo)
Sunday, January 06, 2008
Breakpoint, or is that Checkpoint?
I know. I'd been a frequent poster on the comp.databases.oracle.* newsgroups - the original forums. Totally addicted. There is a certain adrenaline rush to watching for a new post and creating a reasonable response.
I never did feel quite comfortable with the original bulletin board systems. But when the hotels and airports blocked the newsgroup port, apparently under the assumption that all we really want is mail and http, I got heavy into the Oracle Forums. Lately, though, I've been on the Oracle Forums too much. I'm responding too quickly. Not checking my facts properly. Making novice mistakes.
So it's time to take a break. Not quit ... I doubt that I could quit totally. But take a break.
Perhaps it's just a checkpoint. I plan on using the time to collect and organize a lot of my notes. Review and reinforce what I know, correct my assumptions and fallacies, and enhance the 'good enough to get it working' knowledge. There is enough for a book - or two. But it's got to be checked. And verified. And will be before I post again.
Besides, I have a few other things coming up. My paying jobs - consulting, training and singing - beckon with contracts that will keep me very busy for the next few months. And we (Edmonton Opera) are putting on Mozart's Requiem soon and Falstaff at the end of April, so I better learn my parts.
Thursday, December 27, 2007
What are Oracle Statistics?
Oracle can do things in several different ways. For example, select might be done by table scan or by using indexes. It uses statistics - a variety of counts and averages and other numbers - to figure out the best way to do things.
It does the figuring automatically, using the Cost Based Optimizer. Your job is to make sure the numbers are good enough for that optimizer to work properly.
To get information about statistics (all links to 10gR2 docs):
General overview of statistics is found scattered in the Oracle Database Concepts manual. For 10g Release 2, Chapters 13 gives an overview, Chapter 15 gives details related to Table segments, Chapter 16 is about Index segments, Chapter 21 talks about automatic admin tasks.
The preferred tool for collecting statistics used to be the ANALYZE command. Over the past few releases, the DBMS_STATS package in the PL/SQL Packages and Types reference has taken over the statistics functions, and left the ANALYZE command with more mundane 'health check' work like analyzing chained rows and the like.
The definitve reference for using statistics is Chapter 14 "Managing Optimizer Statistics" of the Performance Tuning Guide manual.
As always, Dan Morgan has a great demo for DBMS_STATS at the Puget Sound Oracle User's Group web site in Morgan's library.
As well, Jonathan Lewis has some great hints and advice, although he still has not had a chance to classify that and it's getting stored under the Misc topics.
I have to admit some surprise that neither Howard Rogers nor Richard Foote has an in-depth discussion around DBMS_STATS, although both refer to statistics in their various articles and responses.
They may simply be leaving the details to Tom Kyte's discussion around the package.
Wednesday, December 26, 2007
Oracle Synonyms are unnecessary - Part 1
Basically, synonyms are aliases or alternate names, of an object. The use is well documented but ... I find that synonyms can lead to
- security risks (inevitably by granting everything to public) and
- future-resistant administration (namespace collisions requiring separate instances)
The biggest use of synonyms seems to be to "make the schema qualifier go away in the SQL statement". For those cases, use the session-based current_schema capability. Here is a quick demo:
1) Create a new user r2 with next-to-no privileges, other than to connect.
2) Create a table in schema TEST and make it available to the new user
C:\temp>sqlplus system/oracle
SQL*Plus: Release 10.2.0.1.0 - Production on Wed Dec 26 14:31:46 2007
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
SQL> create user r2 identified by r2;
User created.
SQL> grant create session to r2;
Grant succeeded.
SQL> connect test/test
Connected.
SQL> create table x ( x number );
Table created.
SQL> create table x ( x number );
Table created.
SQL> grant select on x to r2;
Grant succeeded.
SQL> insert into x values (3);
1 row created.
3) Log on as the new user and select from the table
SQL> connect r2/r2Using current_schema basically tells the system to use 'test' as the current schema, eliminating the need to create synonyms.
Connected.
SQL> alter session set current_schema=test;
Session altered.
SQL> desc x
Name Null? Type
----------------------------------------- -------- ----------------------------
X NUMBER
SQL> select * from x;
X
----------
3
SQL> insert into x values (4);
insert into x values (4)
*
ERROR at line 1:
ORA-01031: insufficient privileges
It is a basic session command, so it is available for all applications.
Friday, August 31, 2007
How to get help with Oracle - Part 3
There are 141 books in the Oracle Database 11g book set. And there are 183 in the Oracle Application Server 10g Release 2 (10.1.2.x) boot set. These include Javadoc. How should one approach the documentation?
The key is to use them as a resource set, not as a book that must be read. Get familiar with the concept of the contents and then you can generally find the information when it relevant. Here is the way I do it
1) Chose your Portal
- http://tahiti.oracle.com
- http://docs.oracle.com
- http://otn.oracle.com > Documentation (same as previous link)
I use Docs directly, and have most of the product and version portals bookmarked. Currently Tahiti is missing the documentation set for the Enterprise Manager, but I'm convinced Oracle will change that!
2) Print out the master book list
The titles themselves are pretty meaningful so it's worth while getting familiar with them. For a few weeks after a new release, I've got a copy of each posted above my computer monitor, which I skim for 2-3 minutes a few times a day. That's all it takes to get get the idea of what is available.
3) Start with the basics.
Whether you are a developer or a user, you need to understand the Concepts. But you really do not need all of them to start. The
a) Read Chapter 1 of the Concepts manual
b) Read, or skim, the Licensing manual (for database it's only 2 chapters)
c) Read Chapter 1 of the manual in the stream you need
Database Developer
8i, 9i, 10g: Database Application Developer's Guide - Fundamentals
11g: Advanced Application Developer's Guide
Database Administrator
all: Database Administrator's manual
Application Server Developer and Admnistrator
all: Application Server Administrator's Guide
I now print the table of contents for the Concepts manual and the manual just mentioned. Same approach and same reasoning as with the book list.
And then, after all this, I look at / study / print the table of contents of the SQL Reference manual. It has a lot of information, including some that ends up being relevant to app server administrators.
4) Specialize your knowledge
Now we have the introduction to the concepts, an introduction of the stream and the list of books. So we can decide what is next on the list.
In general Oracle seems to use the following titles
- Licensing Manual answers the daily 'is it included' question;
- Installation Guide is a 'How To' for installation;
- Administrator's Guide is a post-install 'How To' manual;
- User's Guide or Developer's Gude is a mini-Concepts, often with examples;
- Reference Manual drills into syntax and permitted parameters;
There are a few variations on the theme, but after a week or two, they actually become obvious.
So from this point on, and regardless of what we need to understand, I find it's always the same approach:
- look in the Table of Contents of the Concepts manual
- get an overview of the topic in the Concepts manual
- identify several keywords from the overview
- see whether the Concepts has a more in-depth chapter or
- use the Book List to find the User Guide relevant to the topic
- use the table of contents to get feel for the book
- dig into detail in that book
- use the Book List to find the Reference manual
5) Keep up to date
With each release, Oracle provides a "New Features" document to give a high level overview of the new areas, and a "What's New since the last release" section at the beginning of each manual.
I make a point of reading the New Features manual end-to-end for a new release. The Concepts gets a pretty thorough work-over, after which I use the same process as described before to hit the "What's New" sections on-demand.
But WHY?????
I constantly hear that Oracle is expensive. I totally disagree - I honestly believe that Oracle is NOT expensive. It's lack of understanding in the product, the features, the capabilities that makes an Oracle project appear expensive. I think that lack of knowledge is expensive.
Ignorance, with a deep pocket book, is bliss. Ignorance, without an unlimited budget, is simply painful.
So I dedicate at least 1 hour a day to reading Oracle manuals simply to help my customers get the best bang for their buck.
Monday, August 27, 2007
What happened to 9i's OEM
What is Oracle Enterprise Manager
OEM, Oracle Enterprise Manager, is a family of products designed to help monitor and administer Oracle products and other technology.
Some of the products in the 'family' include
Oracle8i Enterprise Manager
Oracle9i OEM [database] Console
Oracle9i OEM Management Server
Oracle10g Database Control
Oracle10g Application Server Control
Oracle10g Grid Control
In Oracle9i database, we used Oracle9i OEM [database] Console in either standalone or management server mode.
The successor to Oracle9i OEM [database] Console in standalone mode is Oracle10g Database Control
In Oracle9i database, the Management Server mode used
- a central repository,
- a central management server and
- database agents,
and this was accessed by
- Oracle9i OEM [database] Console in management server mode
In Oracle 10g, we now have additional products that are manageable using the Enterprise Manager family, and these are all visible through the Grid Control. From a database point of view, the Grid Control is successor to the Oracle9i Management Server stuff above
The Grid Control is a set of software that consists of
- a central repository,
- a central management server and
- host agents,
and is accessed by
- a web browser
The Packs
For many releases now, Oracle has been extending the functionality with add-on Packs. These packs are available at an extra cost. Two points about the cost:
1) In most cases, the packs are licensed against the product being monitored - not against Enterprise Manager;
2) The cost can often be justified, or at least offset, if one realistically looks at the scripts that are written and maintained (and re-maintained for every version and for every instance being administered). If one does not value their time, then the packs are expensive!
Although the Enterprise Manager controls are fairly useful without the Packs, the Packs make the difference. At the very least, the Diagnostics Pack is a real blessing in any multi-host, multi-product, multi-instance environment.
Gotchas
1) I really do not like the behaviour of the Application Server Control and Grid Control towards the Oracle Forms and Oracle Reports. As soon as Forms and/or Reports are included in the App Server, the Grid Control (10.2.0.2) shows 'down' even though all components are up. And the discovery of Reports servers feels like we are dealing with a poor and almost unwelcome cousin.
2) In 10g, the default behaviour is to turn on all Packs. But these cost extra money! So any Packs not used should be turned off by going to the Setup link in top right corner of any control, clicking on Management Pack Access, and turning the pack access off in the resulting page. After the access is off, the Enteprerise Manager will not provide access to the functionality - in most cases the functionality will not even appear.
3) The 10g Release 3 is actually only a major patch to 10g Release 2. That means you need to install 10gR2 and upgrade - there is no fresh 10gR3 install.
More Information
Several places to get more information:
1) As always, start at OTN
Overview: http://www.oracle.com/technology/products/oem/index.html
Self Help: http://www.oracle.com/technology/products/oem/tutorials/index.html
2) Docs (from http://docs.oracle.com)
Documentation: http://download.oracle.com/docs/cd/B16240_01/welcome.html
and each product has it's own section as well
3) Education (from http://education.oracle.com)
Oracle U offers an excellent ILT course "Oracle Enterprise Manager 10g Grid Control Release 2"
4) Pricing and Licensing
Use of database as Grid Control Repository is in Chapter 1 of the Database Licensing manual.
General Enterprise Manager Licensing Information
Pricing at http://store.oracle.com
My conclusion
The Oracle Enterprise Manager 10g is a pretty powerful family of tools. It is well worth learning. As with all tools of this sort, if you don;t spend the time to learn it well, you will simply not get the most out of it.
I've had no end of discussion with others about how product X does the same thing (in this area) or product Y has a better or more intuitive interface. Go for it - obviously those people have invested the time to learn those other products.
But, especially with the Extensibility capability and the number of new capabilities and packs, I suggest the Oracle Enterprise Manager is something to seriously investigate. (If investigation means 'click, click, click, it does not work', then it simply will not work for you
Sunday, August 26, 2007
How to get help with Oracle - Part 2
OTN - Oracle Technology Network
The best place for a technical person to start is with the Oracle Technology Network reference site. OTN should be your Portal to Oracle. It points to a huge amount of information. Unfortunately Oracle periodically changes the layout, so the locations described may not be accurate when you look at it. But in the 8 years I've been using it, OTN has not changed in content.
The following is a brief guide to what is there and when you should look at it.
1) The subject menu (usually at top of page) gives quick access to
- Getting Started
- Quick start guides, tips, and things you absolutely need to know as a beginner ... or a beginner to that area of Oracle.
- Downloads
- Everyone's favorite area, with the new and improved "yes, you can use this software for personal education" notice that clarifies the license
- Documentation
- A quick link to http://docs.oracle.com - if you have never been there, go there NOW!
- Forums
- The interactive community (that wsa the subject to my previous post)
- Articles
- The best source of Oracle-related 'How To' documents this side of APress
- Sample Code
- For those who believe in Pattern-based programming, this is the place
- Tutorials
- Learn Oracle by Example. These are self-guided, self-paced tutorials
The Products mini-portals are the source for overviews, white papers and relevant information. A great place to get an idea of WHY I want to use something, and then get additional information about how to use it.
Each mini-portal has it's own preferred layout, but they tend to be reasonably consistent
- left edge to get you back to the OTN portal
- center to drill into the product by topic
- right edge to get to other resources (docs, video, forums, events, how-to and tutorials, etc)
So if I have a question about the general way a feature - say Advanced Queue - works, I'll go down the Products > Database > Integration > Advanced Queue info.
The trick here is to be patient enough to go down 2 or 3 sub-folders or portals.
3) The Technology mini-portal menu (left side)
Same idea as the Product mini-portal, but oriented towards solutions (technology) rather than products. That allows the mini-portals to call in information across products,
4) The Community mini-portals and links (left side)
There are a lot of human resources available to help with Oracle. This is the place to look!
Pricing and licensing
Oracle Pricing and Licensing seems to be a mystery. It's not really. There are only a few ways to license Oracle products. And there are only a few basic rules to follow:
1) All Oracle products are owned by Oracle. To use them we need permission. That permission is called 'licensing'.
Oracle has a number of different licenses that cover different kinds of use. In some use-cases we need to pay to get permission, and in others we can use the product without added payment.
2) Most Oracle technology can be freely downloaded from the Download link at OTN (see above).
When we download, we agree to a specific license. Oracle's download site has several licenses, but most give us the right to use the software for prototyping and learning.
However, if the software goes into production we need to have a 'right to use in production' license - some of those are also free.
Remember to read the license before you agree to it. It is a contract!!!
3) Patches are available from Metalink and access to Metalink always requires a support agreement. The support agreement is linked to a formal 'right to use in production' license and a fee will be involved.
Access to Metalink has it's own contract. Part of that contract says I can not provide you patches. You need your own Metalink account.
4) A 'right to use in production' license is obtained from Oracle, usually from the sales rep or
from the Oracle Store at http://store.oracle.com . You know you need this kind of license if you or your company will face either revenue loss or increased expense should you be asked to remove the Oracle software.
The general licensing rules are fairly well documented at http://www.oracle.com/corporate/pricing/index.html
The two tricks I have noticed with licensing:
1) Don't assume discounts when you budget, unless you know (in writing) that you will get those discount;
2) Don't try to cut license count with "only use the following features'" arguments - they may work for size of discount, but not for number of licenses.
My favorite links (missing a few, I'm sure)
General info:
Oracle TechNet http://otn.oracle.com
OraFAQ http://www.orafaq.com/
Docs http://docs.oracle.com
Tricks http://www.psoug.org
Gurus portal http://www.oaktable.net/main.jsp
Database details from the gurus:
Julian Dyke http://juliandyke.com/
Pete Finnigan http://www.petefinnigan.com
Tom Kyte http://asktom.oracle.com
Jonathan Lewis http://www.jlcomp.demon.co.uk/
Howard Rogers http://www.dizwell.com
Oracle and Linux:
Ivan Kartik http://ivan.kartik.sk/
Werner Puschitz http://www.puschitz.com
The quality and information provided by these sites is the main reasons why I have not published much myself! (Why duplicate good work?)
Monday, August 13, 2007
How to get help with Oracle - Part 1
Some people get help very quickly, whereas others simply don't get help at all.
There are a few very, very consistent things I've observed. I'll probably expand this over the next few blogs as well.
Realize that the people helping are volunteers from all possible industries. That means there is a very good chance they have experience that even Oracle may not have. However, that also means they have jobs, and are probably doing this in their spare time.
Respondents appreciate the little things that make their lives easier and allow us to get at a solution faster. Conversely, a number of us will simply quit or ignore some requests when there is insufficient information.
a) make the title interesting
I see about 250 forum questions a day. I respond to about 30 of them. The decision to respond is often based on the title.
b) use a proper language
I will respond in German, attempt to understand questions posed in French, Spanish or Italian and respond in English - if the post looks like there has been some effort put into the post.
People who use IM-speak often can't be bothered to use a proper keyboard or to type all the keys. That generally leaves me with the impression they would not even be bothered to attempt a solution. (I also wonder how many IM-speakers are keying the question during a test ...) So I simply will not respond.
c) tell them the operating system, in a reasonable amount of detail.
I've had some discussions that have taken up to 10 posts before we've found out that the person is trying to get the Oracle 10g Database Control working on Microsoft Windows XP Home. Unless you can figure out a way to access the security settings behind the scenes to turn on things like 'Log on as batch job', this simply ain't going to happen.
There are times when operating system is not relevant. In which case the operatinig system reference is 'any operating system'
Note the word size (32 bit, 64 bit) as that can make a huge difference, especially if you are looking for performance help. Occasnionally the patch level may be of interest, especially if things appear to work differently after applying the patch.
Windows is not Windows is NOT Windows. Windows XP and Windows Vista are not enough of a description. It's Windows XP Profession Edition SP2, or Windows XP Media Center, or Windows Vista Business Edition.
Linux is not Linux is not Linux. The kernel is the same. The distro is different. And ity's the distro that gets certified. And it's the distro that causes differences and causes difficulties. There are at least 12 different flavours of 'Red Hat', 8 different Fedoras, several different SuSE Linux variants including the OpenSUSE and SLES variants.
(Apparently some people have not caught on that different editions and distros are out there for a reason.)
d) tell them the product, including Edition, version and patch level.
Oracle uses a fairly consistent version numbering scheme, as described in Chapter 1 of the Database Administrator guide. It's very important for respondents to know the version. It may seem silly, but there are a lot of people who have not grasped the idea that things actually change between versions.
e) tell them the exact error message
Paraphrasing simply doesn't work. Cut and paste a console session or the actual error message is the ONLY way.
f) tell them what you have tried
I lose interest very quickly when I find out - in the 7th post - that they have already tried that but did not tell us.
g) tell them WHY
One of the most common mistakes is to assume the solution and then fight tooth and nail to obtain that solution. If you tell us what you are trying to do, and why, we may come up with alternatives. Funny thing is that many of us have already tried and failed at exactly the same thing as you are trying. And then redefined the problem and succeeded.
One of the rewards for helping is getting to tell the world about those hard-fought solutions, and the reason why they work.
and finally (for now)
PLEASE explain why you absolutely must put an unsupported version of Oracle on the absolutely latest version of the operating system. In other words, please help us understand why that operating system had to be upgraded if you are not planning on upgrading the rest of the environment.
--------------
Usual disclaimer - trademarks, such as Oracle, are the property of their respective owners. I own nothing other than ideas, and even some of those are not originally mine. My hat is off to the originators of those ideas - whoever you may be.
Thursday, January 19, 2006
First post
For now, I expect there will be nothing relevant here for a while.
Update:
It's a year later. I've decide that, for now, the content will be oriented toward getting new DBAs up to speed.
My plan is to start with a road map of 'what is Oracle', 'how to get help with Oracle', and clarify some of the more confusing basics that I see crop up regularly in the comp.databases.oracle.* newsgroups and in the http://forums.oracle.com forums.
