Free DBA & Apps DBA Training

Downloads

Wednesday, August 27, 2008

As I’m an Oracle Certified Professional on multiple tracks i.e. Oracle Database 10g/9i/8i, Oracle Database 10g RAC Expert Certified, and Oracle 11i E-Business Suite (Application) DBA.  So, I have been asked many times in the OTN Forums and by the emails from my blog viewers that "How do you prepare for the certification exams?"  And "what advice/tips/suggestions do you have for the certification candidates?" 

Even if I have answered to those questions many times, this time, I wanted to have my advice/tips/suggestions posted in my blog for the certification candidates. 

01) In addition to any available book in the market for OCA/OCP preparation, I would strongly advice and suggest using Oracle Student Guides/Oracle ILT Materials for your OCA/OCP preparation. 

02) Most of the theoretical and logical questions in the real exam are asked from these guides/materials concepts or chapters. 

03) These student guides are more simplified and very easy to understand, and have very précised and handy information. 

04) The information or concepts of Oracle Student Guides/Oracle ILT Materials have been abstracted, prepared, and developed using the bunch of Oracle Documentations. 

06) After finishing thoroughly reading these guides, as many times as you can, till you get the concepts from this materials, the next step is preparing the practice exams, before you take up the real exam. 

07) In my opinion and my experience in writing OCP Exams, the practice exams of Self Test Software and Transcender are highly recommended for preparing the OCA/OCP/OCE Exams. 

08) This will give you the similar look and feel, and the pattern of the real exam, and helps you manage in real exam. 

09) All most of all the practice questions from these test engines (Self Test Software and Transcender) are developed and derived from Oracle Student Guides/Oracle ILT Materials Concepts. 

10) Never mug up the practice exam questions and answers, instead try understanding the question and the answer, if needed for any syntax or command sort of questions, do the paper work i.e write the question, syntax or command, and answers in the paper to remember and understand. 

11) Concisely what I would suggest is, read the Oracle Student Guides/ILT Materials meticulously as much as you can and do more practice the questions of the test engines (Self Test Software and Transcender) for your Oracle Certification Exam Preparation. 

In my blog, there is a post already available on how to perform a full database export using the new and enhanced feature of Oracle Database 10g Export Utility, Data Pump – expdp/impdp.  However, I’m still being requested, by my blog viewers and OTN forum users, to place a procedure on how to perform a full database export using traditional export utility – exp/imp.  However, this is not the complete informative post for export/import utility; so, please refer the Oracle Documents links specified at the end of this post. 

Before starting off with the steps, to perform the export at the database level, let’s have clear understanding on the following questions. 

Can I perform or consider the export of my database as a backup approach? 

Absolutely *NO*, because, the import can be done only up to the time the export was originally taken, i.e. the export dump cant be used to import until the point in time (up-to-date) and will not be imported the updates after the export done.  This is not acceptable for Production Databases.  So, never treat that, taking the export of the database is part of backup strategy of your Production database.  In fact, a couple of other approaches are available to perform the backup of your database using the following ways – Cold Backup (Shutdown/Copy/Startup), Hot Backup (ALETER TABLESPACE ….BEGIN/END BACKUP), and RMAN backup methods. 

Situations: When and why to perform a full database export. 

* Export/import is only the possible way to construct a similar database on remote servers regardless of Operating System compatibility i.e. cross platform (Export on Linux and Import on Windows Systems).*  To migrate the database from one Operating System to another i.e. (Linux/Unix to Windows), and to upgrade the database from one version to another i.e. 8i-9i or 9i-10g, but not vice versa.*  If you are on Oracle 10g, above two points can be possible, using RMAN Convert Commands i.e. to construct or move a database from one OS to another OS i.e. Cross platform.*  When there is a requirement to clone a database on another test or development server, then take a full database mode export dump and create a database with the similar settings of target database, and import the dump in source database. 

Simple Steps: how to perform a full database export using export utility. 

* Use either system user or any other database user who has the EXP_FULL_DATABASE privilege.*  Set the NLS_LANG environment variable according the database character set and language details. SQL> select * from nls_database_parameters2 where parameter in ('NLS_LANGUAGE','NLS_TERRITORY','NLS_CHARACTERSET');

Here the sqlplus command parameters are very much available for viewing by all operating system users on the same host computer; as a result, password entered on the command line could be exposed to other users, as below. 

So, there might be a chance for an intruder to know the user id and password, and can connect to the database using that credentials. 

Then, following is the secure and best way of connecting SQL * Plus where the password is not exposed on the command line. 

$ sqlplus apps@proddbEnter password: ****

Or, even not to expose the username and connecting string. 

$ sqlplusEnter user-name: apps@proddbEnter password: ****

Or

$ sqlplus /nologSQL> connect apps@proddbEnter password: ****

And also, do not use the password while invoking Export/Import Utility using exp/imp command line, and for any other command line utilities which you think the password will be exposed to others. 

On Microsoft Windows, the command recall feature (the Up arrow) remembers user input across command invocations. 

For example, if you use the CONNECT APPS/password notation in SQL*Plus, exit, and then press the Up arrow to repeat the CONNECT command, the command recall feature discloses the connect string and shows the password.  So, it is advice *NOT* to pass the password while connecting to SQL * Plus on windows as well. 

Saturday, August 23, 2008

I have been asked many times about the Cloning and Refresh process of Oracle Database by emails of blog readers and the users of the Oracle Technology Network (OTN) Forums. 

Even though the information about Cloning and Refreshing a Database process available over web widely or has already been discussed.  Here, in this post, I would like to explain and provide the information on the following Questions about Cloning and Refreshing of a Database with my simple terms. 

Terms used in this post:Source System - the system to be cloned - ProductionTarget System - the newly created (or cloned) system – Non ProductionProduction Database – PRODTest Database – TESTDevelopment Database - DEVWhat is a Database Clone? 

* A database clone is an activity/procedure which is performed by every DBA on regular basis or when there is a requirement or request to do so from the different departments i.e. Test/Development teams. 

* Cloning is nothing but creating a copy of production system in to a test or development environment.  i.e. Having an exact image of production database in test area. 

* Cloning is a procedure for preparing and creating a test or development servers with the copy of Oracle production database for testing upgrades, migrating an existing system to new hardware. 

* A cloning process includes a copy of Oracle Home (Directories and Binaries) backup and Database (Database related files) backup to prepare the instance on another server. 

* Though, it is possible to clone a database on the same server, Oracle doesn’t suggest to clone a database on the same server, where the production database is running. 

What is a Database Refresh? 

* A Database Refresh is also referred to as a database clone.  However, we don’t clone Oracle Home rather we clone the Database as refresh. 

* Refreshing a database is something like applying the changes or updates of production database to the database where the database is already cloned.  i.e. let’s say you have cloned a database a month back, and now you are asked for doing refresh of a database, then you will perform the backup of database and prepare the clone the instance again on test server.  This is nothing but refreshing. 

* Refreshing of a particular table, group of tables, schema, or tablespace will be done using traditional export/import, transportable Tablespaces, or data pump methods. 

* When an Oracle patch is applied on Production System, or in doubt, you have to prepare and clone the database again with the copy of Oracle Home (Directories and Binaries) Backup and Database (Database related files) Backup to prepare the instance. 

* The difference between Cloning and Refreshing is that cloning process includes Oracle Home and database Clone; where as Refreshing process only includes database clone. 

* If seen, the words, Clone and Refresh are used interchangeably for the sake of convenient. 

When and why we Clone a Database? 

* Generally production (PROD) database is cloned for various reasons and needs i.e. for something to be tested or something to be developed later those to be moved to production. 

* It’s normal and quite common thing is that whenever there is any change or update to be performed and do not know the impact or effect after applying it on production (PROD), it’s required to be applied and tested on *NON* production database first (TEST or DEV), after the confirmation of change success, given by the users, then the changes will be moved to production. 

* A Cloned test instance (TEST) for testing team/environment is exclusively used for testing the changes or issues which will be come severe on Production.  Oracle Support gives the solution as fix when there is an issue in the database, so this fix needs to perform or apply on test/development databases. 

* A Cloned development instance (DEV) for development team/environment is used for developing the new changes and then deploying the same on Production. 

* A Cloned patch instance is used for patching to know the impact and the time required to apply the same on Production. 

How to clone an Oracle Database and different ways of cloning. 

There are many possible methods available for cloning a database, but each of them has pros and cons, and significance.  Following are the methods. 

Using Cold (Offline) Backup:

This is an easy and simple method to perform a clone of a database.  This method requires your production database (PROD) needs to be shutdown gracefully, and take the backup of the database related files i.e. Data files, Control files, Redo Log files, using Operating System commands i.e. cp or copy.  This is not possible where your PROD database is running 24/7 and should be available continuously for users. 

For syntax and the series of steps to perform the clone using cold backup, refer the following URLs from the reference. 

Cloning can also be performed using RMAN Backups and RMAN commands and it’s also an easy method to perform so.  The RMAN DUPLICATE command is used to perform the clone.  Until Oracle 9i, to clone the database, it is required to be the Source and Target systems should have the same OS i.e. it is not possible to clone across the platform.  But as workaround, using export/import can be cloning the database across the platforms.  But starting from Oracle 10g the RMAN capabilities have improved immensely.  Cross platform cloning/duplicating a database can be done using RMAN CONVERT commands. 

For syntax and the series of steps to perform the clone using RMAN Commands, refer the following URLs from the reference. 

* Do *NOT* set the clone database name as good as production database Name. 

* It’s *NOT* mandatory to have the initialization parameter values of cloned instance similar to Production Instance. 

* It is *NOT* mandatory to have the cloned instance in Archive log mode.  Because unnecessarily archive log files are generated, which consume the hard disk space?  If at all, the cloned instance crashed and need to be recovered, it can easily be again cloned from the production. 

* After the clone, change the system users passwords i.e. SYS & SYSTEM, and for any critical users passwords. 

* Disable the jobs which are not required to be run in the cloned instance. 

* Change any application users tables from the cloned database which are still referring the Production Database i.e. Server IP, Port Details, Printer Details etc,

Note:245262.1 - Subject: Create a Duplicate Database with NOCATALOG on Same NodeNote:458450.1 - Subject: Steps to Manually Clone a DatabaseNote:388431.1 - Subject: Creating a Duplicate Database on a New Host. 

Conclusion: These are only my views and outlines about cloning and need *NOT* to be the same with others or Oracle.  One individual can still follow their cloning procedure documents which are there in place with them.  I strongly suggest one to do the changes first in the test/development before doing it on Production.  And also, use Oracle Documentations and Metalink Support for any kind of help. 

Hope that this post helps you in understanding the Cloning and Refreshing activity of a database. 

Thursday, August 21, 2008

The Editor of 'Oracle Certification Professionals' blog - http://ebizocp.blogspot.com/ , had a Questions & Answers Session with me and published in his blogspot. 

The series of Questions asked as below. 

Q#1: Hi Sabdar, on behalf of the OCP blog readers we are delighted to have you today as our featured Oracle Expert.  Please tell us something about you, your background and professional experience. 

Q#2: New Oracle technologies are being introduced every year.  Which technologies excite you most?  What is your advice to Oracle professionals for adopting them? 

Q#3: You are an Oracle Certified Professional on multiple tracks.  How do you prepare for the certification exams? 

Q#4: You are a very active member on the Oracle Technology Network Certification forum.  Do you think certification plays an important role in the Oracle community?  What advice/tips/suggestions do you have for the certification candidates? 

Q#5: Your blog is one of the most popular Oracle blogs.  Please tell our blog readers what topics do you discuss on your blog? 

Q#6: Can you please let us know one habit that has contributed most to your professional success? 

Take a look at the below URL where I had already answered to the Questions asked above. 

Monday, August 18, 2008

I found a very good blog (http://ebizocp.blogspot.com/) for them those who preparing for Oracle OCA/OCP/OCE, and seeking advice/suggestion/help in how to prepare for Oracle Certification.  Mr. Mohan Dutt (OCP Advisor) is the owner of this blog.  He is doing a fantastic job by collecting the wonderful and very useful information related to Oracle Certifications, and the people opinion, experience on the certifications. 

Those who are already certified in Oracle Database 10g/11g DBAOrThose who are *NOT* certified already,* They may first need to under go one training i.e. Complete one of the approved instructor-led online or in-class courses for either the Oracle University or from the Oracle Authorized Centers,* Write the exam 1Z0-048 - Oracle Database 10g R2: RAC for Administrators.*  Submit the Hands On Course Requirement Form

I have gone through all the ILT (Instructor Led Training) materials of the course “Oracle Database 10g: RAC for Administrators Release 2” which my friend has done this course from Oracle University.  These guides have helped me greatly in passing this exam, as all of the questions came from these materials topics.  I would strongly recommend and suggest referring the Oracle Instructor Led Training Books/Student Guides/Course Materials on Oracle 10g RAC and also Oracle Documentations. 

• Settings the Load balancing and failover clauses in the TNS entry, and remote logging parameters.• Configuring ASM Redundancy Levels i.e. High, Normal and External.• Adding and enable redo log groups on new node of the cluster. ( remember the order of steps to perform)• Undo Tablespaces in RAC.• In what situations, we migrated from single• Checking OCR Resource status and checking the relevant logs.• Storage types which supports FRA (Flash Recovery Area).• Post steps after the cluster database creation.• Backing up the OCR and Voting Disks and recovering them (remember the order of steps to perform)• ASM Instance Parameters.• Benefits and implication of RAC.• Utilities to verify Cluster and OCR Disks.• Different Oracle Homes locations i.e. ORACLE_HOME,ORA_CRS_HOME,ORACLE_BASE• Tools you use for patching on RAC environments.• Using crsctl, srvctl, crs_stat with different attributes.• Moving from non-rac database to RAC instances. ( remember the order of steps to perform)• Debugging CRS, modifying services• Views to find the interconnect latencies.• Difference processes of RAC.• Removing and Adding the node in the cluster (remember the order of steps to perform)• Location of server callout and notification scripts.• Enable debugging for CRS, patching and rolling patch on RAC.