I passed today (March 27, 2002) the fifth and final test in the "Certified Oracle8 DBA" series. I got 58 of 62 questions right (93%), but 43 (69%) would have sufficed. The passing score may actually vary, if Oracle believes that the questions are relatively hard, they lower the passing score. I thought that a few questions were not really fair, but because one is allowed to make quite a lot of mistakes, this is not really important for the outcome of the exam. Also, networking is probably an area where many successful DBAs have only experience with with only part of the Oracle tools, this might also be a reason why the required score is not very high. At least in theory, a good and experienced DBA should be able to pass the exams with only very little preparation. But of course, it increases the chances to prepare for all areas covered in the exam. After I moved to Germany, I had many other things to do at my new university, this is why I didn't try to pass the exam earlier. Also, I didn't felt very experienced in networking, this is not my main area of specialization. But in retrospective, with 2-3 weeks of concentrated preparation, I could have done it earlier. It was only necessary to set a date. I probably would have waited longer, but in this case Oracle set the date for me: The Oracle8 certification exams are not offered after March 31. If one already has passed some Oracle8 DBA exams, one can use them for the Oracle8i certification, if one passes the missing exams in the 8i version and passes in addition the Oracle8i upgrade exam (so one needs 6 exams instead of 5). Oracle announced this last October, if I remember correctly, and sent an email to everybody who has taken some of the exams, so there was time to prepare for and pass the remaining exams. I prepared as follows: - I had some experience with the basic client-server networking when installing Oracle Designer (e.g. I knew the file tnsnames.ora quite well). - I read the corresponding Chapters in the "Certified Oracle8 DBA" book by Couchman, but they didn't help me: Basically they are of the form "click here, then enter that", but they didn't explain enough of the concepts and foundations. On the other hand, after I had learnt the things, I read them again on the last day before the exam, and then it was nice to see the screenshots of Net8 Assistant, which I otherwise hadn't used much (I prefer to change the configuration files manually, but the Net8 Assistant s part of the exam. For the other exams, the book by Couchman has helped me more, maybe because I knew more already when I read it. - I bought the book "Oracle8i Networking 101", and I tried several times to read it, but it didn't help me. There is too much text for the information content - I am always busy and I want to get as much as possible new information for the time spent on reading. But this book contains a lot of real world comparisons and stories, which would be nice if they would be more related or funny, but the way they are, they were neither interesting nor helpful (for me personally). Well, ok, the stories about Oracle in the old days were very interesting for me, so at least the first chapter was worth its money and the time spent reading it. - The University of Giessen participates in the Oracle Academic Initiative, which is not expensive ($1000-2000 per year), and gives the students the possibility to copy the licenced software. The university can also buy packages with the transparencies used in Oracle training courses, and the notes for the instructor. We bought the Oracle Networking course materials, and it was quite nice and helpful to read them. They are certainly a good introduction, although they do not contain all the details. - Finally, I read the manual, and this was actually the best book on the topic. After I read it, I felt much better prepared. Of course, I can't say whether I would have been able to understand it, if I had read it earlier, but when I read it, it seemed clear and concise. (Well, some things are repeated over and over again, because it is a manual, that does not necessarily have to be read sequentially, but with some experience, you can skip that). - During all the time, I tried the practice tests from Selftest Software. One can buy about 260 example questions for $99. An unpleasant surprise was that the example tests I bought in Pittsburgh two years ago refused to run because they were too old. It is true that Selftest Software recommends to buy only questions for exams one wants to pass in the next year, but it wasn't sufficiently clear to me that the program refuses to run if the time has expired. Well, they said that I could call customer support and get an update for $5 (if I remember correctly). Of course, it is also possible to switch the date back on your computer. By the way, if your university participates in the Oracle Academic Initiative, there is a big discount for the practice tests (50%) and the exams (40%). If your university does not participate in the OAI, you should become a member in the Oracle Technology Network, they give sometimes discounts for the exams. Also, after you bought one practice test from Selftest Software, you also get sometimes discount offers. I think that the practice tests are an important part of the preparation, although the percentage of unfair questions was somewhat higher than in the real exam, and the explanations are very short and of little help. The explanations could certainly be done much better. But anyhow, it was helpful, and I will buy practice tests also for future exams. In my test, the number of questions in the different sections was as follows (I think that it can vary slightly): 1. Overview: 5 questions This means e.g. that you should know that a two-tier network consists only of client and server, whereas a three-tier network consists of client, agent,and server (I think that the name "agent" is not standard, many people also talk about "application server"). You should now that an n-tier network can be used to solve performance problems in a simple client-server network. You should also know which Oracle tool to use for which problem. Oracle tools that are covered in the exam are: Net8, Listener, Client (e.g. SQL*Plus), Oracle Names, Oracle Connection Manager, Advanced Networking Option (e.g. for Security), Dedicated Servers, Prespawned Servers, Multithreaded Server/Dispatchers, Net8 Assistant, Oracle Intelligent Agent (for Enterprise Manager), the control utilites for Listener, Oracle Names, Connection Manager. 2. Basic Net8 Architecture: 5 questions [I made one error here] Oracle expects that you know which of the different Net8 layers is responsible for doing what, one also must learn a lot of abbreviations here: OCI, NI, NN, NA, NS, NT, NR, OPA, OPI, ... 3. Basic Net8 Server Side Configuration: 10 questions This probably means mainly the configuration of the listener.ora file, although sometimes init.ora and sqlnet.ora are also needed. One must be able to read the contents of the configuration files, it does not suffice if one only knows how to do the configuration with the Net8 Assistant (although that is also required). I remember about 3-4 quesions that showed the contents of configuration files (also tnsnames.ora). But in any case, one understands things better if one knows how these files are structured. There were also questions about parameter names: A strange thing in listener.ora is that the name of the listener is appended to the parameter names, e.g. LOG_FILE_X for the listener X. The default listener is called LISTENER. If I remeber correctly, one question was about the name of the default listener, and then the next question said "... the default listener LISTENER ...". Such things happened several times, and since one can move back and forth through the questions, it might be helpful. But the name of the default listener I would have known anyway. For one question, I would have felt better if I had known the parameters that are necessary for the SPX protocol. I had only experience with the TCP protocol configuration (Hostname and Port). 4. Basic Net8 Client Side Configuration: 10 questions One must of course know the different naming methods that can be used to resolve a connect string/net service name/connect identifier to a connect descriptor (which contains the real network address). E.g. local naming with the tnsnames.ora file (called TNSNAMES in the Net8 Assistant), host naming (which doesn't really give the connect descriptor, one must know the restrictions), Oracle Names server, external naming (e.g. NIS). As metioned before, one should be able to read the configuration file syntax, and the tnsnames.ora file is especially important. Several of the questions were also of the type "In which configuration file is this information stored?" 5. Usage and Configuration of Oracle Names: 7 questions Oracle Names is needed only when one has many databases (in one manual was written 20) and/or the database location etc. changes frequently. Basically, Oracle Names stores the information in the tnsnames.ora file centrally, so that one does not need to update every client when one e.g. adds more listeners, or moves to a multithreaded server, etc. But in a standard university setting, there is no need for Oracle Names. Oracle Names is quite similar to the Domain Name System in the internet, so if one knows that, it already helps. One must know e.g. regions, region database, client cache, and of course the names control utility and its commands. It was also strange to me that if one does not use a region database, the server has only a "cache" in which it keeps its information. Also the reorder_ns command and the names server discovery might be interesting. 6. Usage and Configuration of Intelligent Agent for OEM: 3 questions [1 error] The intelligent agent is used to inform a remote Oracle Enterprise manager about events (like the database crashed, tablespace is full, etc.) and in order to control jobs. One should know the configuration files, and that they are recreated if they are missing (if if they become corrupted, one can simply delete them). What I didn't know was which file is always recreated when the intelligent agent starts. Also, one must know that the intelligent agent is controlled with the listener control utility LSNRCTL, and that the commands are dbsnmp_start, dbsnmp_status, dbsnmp_stop. SNMP is the simple network management protocol, but if I understood correctly, Oracle Enterprise Manager does not use it in order to communicate with the intelligent agent. 7. Usage and Configuration of the Multithreaded Server: 8 questions [1 error] Here one must know the configuration of dispatchers and shared servers with the corresponding init.ora parameters (MTS_DISPATCHERS is most important). The practice tests also contained a lot of questions of the form, what happens after X in the sequence of events from the client sending a request until it receives the answer. I do not know exactly what my error was. Maybe I should have known what MTS_SERVERS=0 means, there was also a strange question about what happens when a client that is connected to a shared server is idle for a long time - but as far as I know, clients are never connected to shared servers, it all goes through a dispatcher, and different requests by the same client can be processed by different shared servers. 8. Usage and Configuration of Connection Manager: 5 questions Connection Manager is a kind of gateway or filewall. E.g. a client can connect to it via protocol A, and it forwards the data to the server using protocol B. One can also define rules which client can connect to which database on which server via the connection manager (this of course only helps if there is no direct network connection to the server - users can define there own tnsnames.ora files [a file in the current working directory takes precedece over the file in the standard system directory] or even enter the connect descriptor as the connect string. As always, there are questions about what a tool does or not does, and the connection manager can e.g. not look at the user identities, only at the network addresses of their computers. There was a question about a parameter name in the configuration file. Of course, one must also know the connection manager control utility. I learnt in the last minute that if one defines access rules, but no rule matches, the connection is refused. If one does not define access rules, all connections are permitted. 9. Troubleshoot the Network Environment: 4 questions Here one must know the logging and tracing parameters. Also, the TNSPING utility is useful, and the connection test in the Net8 Assistant (or really the Service Name Wizard). I have used TNSPING several times, but when reading the manual, I also learnt that one can get a more verbose output with a parameter in sqlnet.ora, and that TNSPING does not actually connect to the database, only that there is a listener (or maybe not even that?). I also found an Oracle "traceroute" program mentioned in the manual, as well as the utility "oerr" to print error messages and additional information for error numbers. You should also know the trace assistant and that it only nicely formats and summerizes the information in the trace files, but does not itself tracing. When one sets tracing to "SUPPORT", one can see the actual contents of the packages that are exchanged, I will certainly try this sometimes. 10. Security in the Network Environment: 5 questions [1 Error] Security is mainly done with the Oracle Advanced Networking Option (without it, Oracle sends data in clear text over the network). One can use different encryption algorithms, and should know that a longer key makes encryption stronger. One question where I felt unsecure was about the possibility or impossibility to encrypt data only in one direction (from client to server). The Oracle advanced networking option can also make sure that data is not altered on its way fom the client to the server and vice versa by using an MD5 hash algorithm. There was another question where I felt unsecure about making sure that the sequence of the packages is not modified (well, maybe that was only the distracting part of the question). The Oracle Advanced networking option also has several user identification mechanisms and supports single sign-on when one has to contact several different servers. One also must be able to classify certain security breaches as violation of authentication, authorisation, data privacy, or data integrity. One should know Oracle Security Server.