162922963 DBA Interview Questions

  • Upload
    amey

  • View
    229

  • Download
    2

Embed Size (px)

Citation preview

  • 7/27/2019 162922963 DBA Interview Questions

    1/184

    http://sujeetdba.blogspot.in/p/dba-interview.html

    DBA INTERVIEW QUESTIONS & ANSWERS

    1.WHAT ARE THE RESPONSIBILITIES OF A DATABASE ADMINISTRATOR ?

    INSTALLING AND UPGRADING THE ORACLE SERVER AND APPLICATION TOOLS.ALLOCATING SYSTEM STORAGE AND PLANNING FUTURE STORAGEREQUIREMENTS FOR THE DATABASE SYSTEM. MANAGING PRIMARYDATABASE STRUCTURES (TABLESPACES) MANAGING PRIMARY OBJECTS(TABLE,VIEWS,INDEXES) ENROLLING USERS AND MAINTAINING SYSTEMSECURITY. ENSURING COMPLIANCE WITH ORALCE LICENSE AGREEMENTCONTROLLING AND MONITORING USER ACCESS TO THE DATABASE.MONITORING AND OPTIMIZING THE PERFORMANCE OF THE DATABASE.PLANNING FOR BACKUP AND RECOVERY OF DATABASE INFORMATION.MAINTAIN ARCHIVED DATA ON TAPE BACKING UP AND RESTORING THE

    DATABASE. CONTACTING ORACLE CORPORATION FOR TECHNICAL SUPPORT.

    2.EXPLAIN THE DIFFERENCE BETWEEN A HOT BACKUP AND A COLD BACKUPAND THE BENEFITS ASSOCIATED WITH EACH?A HOT BACKUP IS BASICALLY TAKING A BACKUP OF THE DATABASE WHILE ITIS STILL UP AND RUNNING AND IT MUST BE IN ARCHIVE LOG MODE. A COLDBACKUP IS TAKING A BACKUP OF THE DATABASE WHILE IT IS SHUT DOWNAND DOES NOT REQUIRE BEING IN ARCHIVE LOG MODE. THE BENEFIT OFTAKING A HOT BACKUP IS THAT THE DATABASE IS STILL AVAILABLE FORUSE WHILE THE BACKUP IS OCCURRING AND YOU CAN RECOVER THEDATABASE TO ANY POINT IN TIME. THE BENEFIT OF TAKING A COLD BACKUP

    IS THAT IT IS TYPICALLY EASIER TO ADMINISTER THE BACKUP ANDRECOVERY PROCESS. IN ADDITION, SINCE YOU ARE TAKING COLD BACKUPSTHE DATABASE DOES NOT REQUIRE BEING IN ARCHIVE LOG MODE AND THUSTHERE WILL BE A SLIGHT PERFORMANCE GAIN AS THE DATABASE IS NOTCUTTING ARCHIVE LOGS TO DISK.

    3. EXPLAIN THE DIFFERENCE BETWEEN A DATA BLOCK, AN EXTENT AND ASEGMENT?A DATA BLOCK IS THE SMALLEST UNIT OF LOGICAL STORAGE FOR ADATABASE OBJECT. AS OBJECTS GROW THEY TAKE CHUNKS OF ADDITIONALSTORAGE THAT ARE COMPOSED OF CONTIGUOUS DATA BLOCKS. THESE

    GROUPINGS OF CONTIGUOUS DATA BLOCKS ARE CALLED EXTENTS. ALL THEEXTENTS THAT AN OBJECT TAKES WHEN GROUPED TOGETHER ARECONSIDERED THE SEGMENT OF THE DATABASE OBJECT.

    4. COMPARE AND CONTRAST TRUNCATE AND DELETE FOR A TABLE?BOTH THE TRUNCATE AND DELETE COMMAND HAVE THE DESIRED OUTCOMEOF GETTING RID OF ALL THE ROWS IN A TABLE. THE DIFFERENCE BETWEENTHE TWO IS THAT THE TRUNCATE COMMAND IS A DDL OPERATION AND JUST

    http://sujeetdba.blogspot.in/p/dba-interview.htmlhttp://sujeetdba.blogspot.in/p/dba-interview.htmlhttp://sujeetdba.blogspot.in/p/dba-interview.htmlhttp://sujeetdba.blogspot.in/p/dba-interview.html
  • 7/27/2019 162922963 DBA Interview Questions

    2/184

    MOVES THE HIGH WATER MARK AND PRODUCES A NOW ROLLBACK. THEDELETE COMMAND, ON THE OTHER HAND, IS A DML OPERATION, WHICH WILLPRODUCE A ROLLBACK AND THUS TAKE LONGER TO COMPLETE.

    5. WHAT COMMAND WOULD YOU USE TO CREATE A BACKUP CONTROL FILE?

    ALTER DATABASE BACKUP CONTROL FILE TO TRACE.

    6. HOW WOULD YOU GO ABOUT INCREASING THE BUFFER CACHE HITRATIO?USE THE BUFFER CACHE ADVISORY OVER A GIVEN WORKLOAD AND THENQUERY THE V$DB_CACHE_ADVICE TABLE. IF A CHANGE WAS NECESSARYTHEN I WOULD USE THE ALTER SYSTEM SET DB_CACHE_SIZE COMMAND.

    7. EXPLAIN THE DIFFERENCE BETWEEN $ORACLE_HOME AND$ORACLE_BASE?ORACLE_BASE IS THE ROOT DIRECTORY FOR ORACLE. ORACLE_HOME

    LOCATED BENEATH ORACLE_BASE IS WHERE THE ORACLE PRODUCTSRESIDE.

    8. WHEN A USER PROCESS FAILS, WHAT BACKGROUND PROCESS CLEANS UPAFTER IT?

    PMON

    9. WHAT BACKGROUND PROCESS REFRESHES MATERIALIZED VIEWS?

    THE JOB QUEUE PROCESSES.

    10. HOW WOULD YOU DETERMINE WHAT SESSIONS ARE CONNECTED ANDWHAT RESOURCES THEY ARE WAITING FOR?

    USE OF V$SESSION AND V$SESSION_WAIT

    11. DESCRIBE WHAT REDO LOGS ARE?

    REDO LOGS ARE LOGICAL AND PHYSICAL STRUCTURES THAT ARE DESIGNEDTO HOLD ALL THE CHANGES MADE TO A DATABASE AND ARE INTENDED TOAID IN THE RECOVERY OF A DATABASE.

    12. HOW WOULD YOU FORCE A LOG SWITCH?

    ALTER SYSTEM SWITCH LOGFILE;

    13. NAME A TABLESPACE AUTOMATICALLY CREATED WHEN YOU CREATE ADATABASE?

    THE SYSTEM TABLESPACE.

    14. WHAT ARE THE MINIMUM PARAMETERS SHOULD EXIST IN THEPARAMETER FILE (INIT.ORA) ?DB NAME - MUST SET TO A TEXT STRING OF NO MORE THAN 8 CHARACTERS

  • 7/27/2019 162922963 DBA Interview Questions

    3/184

    AND IT WILL BE STORED INSIDE THE DATAFILES, REDO LOG FILES ANDCONTROL FILES AND CONTROL FILE WHILE DATABASE CREATION.DB_DOMAIN - IT IS STRING THAT SPECIFIES THE NETWORK DOMAIN WHERETHE DATABASE IS CREATED. THE GLOBAL DATABASE NAME IS IDENTIFIED BYSETTING THESE PARAMETERS

    (DB_NAME & DB_DOMAIN) CONTORL FILES - LIST OF CONTROL FILENAMES OFTHE DATABASE. IF NAME IS NOT MENTIONED THEN DEFAULT NAME WILL BEUSED.DB_BLOCK_BUFFERS - TO DETERMINE THE NO OF BUFFERS IN THE BUFFERCACHE IN SGA.PROCESSES - TO DETERMINE NUMBER OF OPERATING SYSTEM PROCESSESTHAT CAN BE CONNECTED TO ORACLE CONCURRENTLY. THE VALUE SHOULDBE 5 (BACKGROUND PROCESS) AND ADDITIONAL 1 FOR EACH USER.ROLLBACK_SEGMENTS - LIST OF ROLLBACK SEGMENTS AN ORACLEINSTANCE ACQUIRES AT DATABASE STARTUP. ALSO OPTIONALLYLICENSE_MAX_SESSIONS,LICENSE_SESSION_WARNING AND

    LICENSE_MAX_USERS.15. CAN ONE RENAME A TABLESPACE?

    NO, THIS IS LISTED AS ENHANCEMENT REQUEST 148742. WORKAROUND:EXPORT ALL OF THE OBJECTS FROM THE TABLESPACEDROP THE TABLESPACE INCLUDING CONTENTSRECREATE THE TABLESPACEIMPORT THE OBJECTS

    16. CAN ONE RESIZE TABLESPACES AND DATA FILES?

    ONE CAN MANUALLY INCREASE OR DECREASE THE SIZE OF A DATAFILE FROM

    ORACLE 7.2 USING THE COMMAND.ALTER DATABASE DATAFILE 'FILENAME2' RESIZE 100M;BECAUSE YOU CAN CHANGE THE SIZES OF DATAFILES, YOU CAN ADD MORESPACE TO YOUR DATABASE WITHOUT ADDING MORE DATAFILES. THIS ISBENEFICIAL IF YOU ARE CONCERNED ABOUT REACHING THE MAXIMUMNUMBER OF DATAFILES ALLOWED IN YOUR DATABASE.MANUALLY REDUCING THE SIZES OF DATAFILES ALLOWS YOU TO RECLAIMUNUSED SPACE IN THE DATABASE. THIS IS USEFUL FOR CORRECTINGERRORS IN ESTIMATIONS OF SPACE REQUIREMENTS.

    ALSO, DATAFILES CAN BE ALLOWED TO AUTOMATICALLY EXTEND IF MORESPACE IS REQUIRED. LOOK AT THE FOLLOWING COMMAND:

    CREATE TABLESPACE PCS_DATA_TSDATAFILE 'C:\ORA_APPS\PCS\PCSDATA1.DBF' SIZE 3MAUTOEXTEND ON NEXT 1M MAXSIZE UNLIMITEDDEFAULT STORAGE (INITIAL 10240NEXT 10240MINEXTENTS 1MAXEXTENTS UNLIMITEDPCTINCREASE 0)

  • 7/27/2019 162922963 DBA Interview Questions

    4/184

    ONLINEPERMANENT;

    17. WHY AND WHEN SHOULD I BACKUP MY DATABASE?

    BACKUP AND RECOVERY IS ONE OF THE MOST IMPORTANT ASPECTS OF A

    DBAS JOB. IF YOU LOSE YOUR COMPANY'S DATA, YOU COULD VERY WELLLOSE YOUR JOB. HARDWARE AND SOFTWARE CAN ALWAYS BE REPLACED,BUT YOUR DATA MAY BE IRREPLACEABLE!NORMALLY ONE WOULD SCHEDULE A HIERARCHY OF DAILY, WEEKLY ANDMONTHLY BACKUPS, HOWEVER CONSULT WITH YOUR USERS BEFOREDECIDING ON A BACKUP SCHEDULE. BACKUP FREQUENCY NORMALLYDEPENDS ON THE FOLLOWING FACTORS:. RATE OF DATA CHANGE/ TRANSACTION RATE. DATABASE AVAILABILITY/ CAN YOU SHUTDOWN FOR COLD BACKUPS?. CRITICALITY OF THE DATA/ VALUE OF THE DATA TO THE COMPANY. READ-ONLY TABLESPACE NEEDS BACKING UP JUST ONCE RIGHT AFTER YOU

    MAKE IT READ-ONLY. IF YOU ARE RUNNING IN ARCHIVELOG MODE YOU CAN BACKUP PARTS OF ADATABASE OVER AN EXTENDED CYCLE OF DAYS. IF ARCHIVE LOGGING IS ENABLED ONE NEEDS TO BACKUP ARCHIVED LOGFILES TIMEOUSLY TO PREVENT DATABASE FREEZES. ETC.CAREFULLY PLAN BACKUP RETENTION PERIODS. ENSURE ENOUGH BACKUPMEDIA (TAPES) ARE AVAILABLE AND THAT OLD BACKUPS ARE EXPIRED IN-TIME TO MAKE MEDIA AVAILABLE FOR NEW BACKUPS. OFF-SITE VAULTING IS

    ALSO HIGHLY RECOMMENDED.FREQUENTLY TEST YOUR ABILITY TO RECOVER AND DOCUMENT ALL

    POSSIBLE SCENARIOS. REMEMBER, IT'S THE LITTLE THINGS THAT WILL GETYOU. MOST FAILED RECOVERIES ARE A RESULT OF ORGANIZATIONALERRORS AND MISCOMMUNICATIONS.18. WHAT IS THE DIFFERENCE BETWEEN RESTORING AND RECOVERING?RESTORING INVOLVES COPYING BACKUP FILES FROM SECONDARY STORAGE(BACKUP MEDIA) TO DISK. THIS CAN BE DONE TO REPLACE DAMAGED FILESOR TO COPY/MOVE A DATABASE TO A NEW LOCATION.RECOVERY IS THE PROCESS OF APPLYING REDO LOGS TO THE DATABASE TOROLL IT FORWARD. ONE CAN ROLL-FORWARD UNTIL A SPECIFIC POINT-IN-TIME (BEFORE THE DISASTER OCCURRED), OR ROLL-FORWARD UNTIL THELAST TRANSACTION RECORDED IN THE LOG FILES. SQL> CONNECT SYS AS

    SYSDBASQL> RECOVER DATABASE UNTIL TIME '2001-03-06:16:00:00' USING BACKUPCONTROLFILE;

    19. WHEN CREATING A USER, WHAT PERMISSIONS MUST YOU GRANT TOALLOW THEM TO CONNECT TO THE DATABASE?GRANT THE CONNECT TO THE USER.

  • 7/27/2019 162922963 DBA Interview Questions

    5/184

    20. WHAT IS STATSPACK AND HOW DOES ONE USE IT?STATSPACK IS A SET OF PERFORMANCE MONITORING AND REPORTINGUTILITIES PROVIDED BY ORACLE FROM ORACLE8I AND ABOVE. STATSPACKPROVIDES IMPROVED BSTAT/ESTAT FUNCTIONALITY, THOUGH THE OLDBSTAT/ESTAT SCRIPTS ARE STILL AVAILABLE. FOR MORE INFORMATION

    ABOUT STATSPACK, READ THE DOCUMENTATION IN FILE$ORACLE_HOME/RDBMS/ADMIN/SPDOC.TXT.INSTALL STATSPACK:CD $ORACLE_HOME/RDBMS/ADMINSQLPLUS "/ AS SYSDBA" @SPDROP.SQL -- INSTALL STATSPACK -SQLPLUS "/ AS SYSDBA" @SPCREATE.SQL-- ENTER TABLESPACE NAMESWHEN PROMPTEDUSE STATSPACK:SQLPLUS PERFSTAT/PERFSTATEXEC STATSPACK.SNAP; -- TAKE A PERFORMANCE SNAPSHOTSEXEC STATSPACK.SNAP;

    O GET A LIST OF SNAPSHOTSSELECT SNAP_ID, SNAP_TIME FROM STATS$SNAPSHOT;@SPREPORT.SQL -- ENTER TWO SNAPSHOT ID'S FOR DIFFERENCE REPORTOTHER STATSPACK SCRIPTS:. SPPURGE.SQL - PURGE A RANGE OF SNAPSHOT ID'S BETWEEN THESPECIFIED BEGIN AND END SNAP ID'S. SPAUTO.SQL - SCHEDULE A DBMS_JOB TO AUTOMATE THE COLLECTION OFSTATPACK STATISTICS. SPCREATE.SQL - INSTALLS THE STATSPACK USER, TABLES AND PACKAGEON A DATABASE (RUN AS SYS).. SPDROP.SQL - DEINSTALL STATSPACK FROM DATABASE (RUN AS SYS). SPPURGE.SQL - DELETE A RANGE OF SNAPSHOT ID'S FROM THE DATABASE. SPREPORT.SQL - REPORT ON DIFFERENCES BETWEEN VALUES RECORDEDIN TWO SNAPSHOTS. SPTRUNC.SQL - TRUNCATES ALL DATA IN STATSPACK TABLES

    21. HOW DO YOU ADD A DATA FILE TO A TABLESPACE?

    ALTER TABLESPACE ADD DATAFILE SIZE

    22. WHAT IS SAVE POINT?

    FOR LONG TRANSACTIONS THAT CONTAIN MANY SQL STATEMENTS,INTERMEDIATE MARKERS OR SAVEPOINTS CAN BE DECLARED WHICH CAN BEUSED TO DIVIDE A TRANSACTION INTO SMALLER PARTS. THIS ALLOWS THEOPTION OF LATER ROLLING BACK ALL WORK PERFORMED FROM THECURRENT POINT IN THE TRANSACTION TO A DECLARED SAVEPOINT WITHINTHE TRANSACTION.23. WHAT IS MEAN BY PROGRAM GLOBAL AREA (PGA)?IT IS AREA IN MEMORY THAT IS USED BY A SINGLE ORACLE USER PROCESS.

    24. HOW DOES ONE MANAGE ORACLE DATABASE USERS?

  • 7/27/2019 162922963 DBA Interview Questions

    6/184

    ORACLE USER ACCOUNTS CAN BE LOCKED, UNLOCKED, FORCED TO CHOOSENEW PASSWORDS, ETC. FOR EXAMPLE, ALL ACCOUNTS EXCEPT SYS ANDSYSTEM WILL BE LOCKED AFTER CREATING AN ORACLE9IDB DATABASEUSING THE DB CONFIGURATION ASSISTANT (DBCA). DBA'S MUST UNLOCKTHESE ACCOUNTS TO MAKE THEM AVAILABLE TO USERS.

    LOOK AT THESE EXAMPLES:ALTER USER SCOTT ACCOUNT LOCK -- LOCK A USER ACCOUNTALTER USER SCOTT ACCOUNT UNLOCK; -- UNLOCKS A LOCKED USERSACCOUNTALTER USER SCOTT PASSWORD EXPIRE; -- FORCE USER TO CHOOSE A NEWPASSWORD

    25. HOW DOES ONE TUNE ORACLE WAIT EVENTS?

    SOME WAIT EVENTS FROM V$SESSION_WAIT AND V$SYSTEM_EVENT VIEWS:

    EVENT NAME: TUNING RECOMMENDATION:

    DB FILESEQUENTIAL READ

    TUNE SQL TO DO LESS I/O. MAKE SURE ALL OBJECTS AREANALYZED. REDISTRIBUTE I/O ACROSS DISKS.

    BUFFER BUSYWAITS

    INCREASE DB_CACHE_SIZE (DB_BLOCK_BUFFERS PRIOR TO9I)/ ANALYZE CONTENTION FROM SYS.V$BH

    LOG BUFFERSPACES

    INCREASE LOG_BUFFER PARAMETER OR MOVE LOG FILESTO FASTER DISKS

    26. CAN ONE MONITOR HOW FAST A TABLE IS IMPORTED?

    IF YOU NEED TO MONITOR HOW FAST ROWS ARE IMPORTED FROM A RUNNINGIMPORT JOB, TRY ONE OF THE FOLLOWING METHODS:METHOD 1:

    SELECT SUBSTR(SQL_TEXT,INSTR(SQL_TEXT,'INTO "'),30) TABLE_NAME,ROWS_PROCESSED,ROUND((SYSDATE-TO_DATE(FIRST_LOAD_TIME,'YYYY-MM-DDHH24:MI:SS'))*24*60,1) MINUTES,TRUNC(ROWS_PROCESSED/((SYSDATE-TO_DATE(FIRST_LOAD_TIME,'YYYY-MM-DD HH24:MI:SS'))*24*60)) ROWS_PER_MINFROM SYS.V_$SQLAREAWHERE SQL_TEXT LIKE 'INSERT %INTO "%'

    AND COMMAND_TYPE = 2AND OPEN_VERSIONS > 0;FOR THIS TO WORK ONE NEEDS TO BE ON ORACLE 7.3 OR HIGHER (7.2 MIGHT

    ALSO BE OK). IF THE IMPORT HAS MORE THAN ONE TABLE, THIS STATEMENTWILL ONLY SHOW INFORMATION ABOUT THE CURRENT TABLE BEINGIMPORTED.CONTRIBUTED BY OSVALDO ANCAROLA, BS. AS. ARGENTINA.METHOD 2:USE THE FEEDBACK=N IMPORT PARAMETER. THIS COMMAND WILL TELL IMPTO DISPLAY A DOT FOR EVERY N ROWS IMPORTED.

  • 7/27/2019 162922963 DBA Interview Questions

    7/184

    27. CAN ONE IMPORT TABLES TO A DIFFERENT TABLESPACE?

    ORACLE OFFERS NO PARAMETER TO SPECIFY A DIFFERENT TABLESPACE TOIMPORT DATA INTO. OBJECTS WILL BE RE-CREATED IN THE TABLESPACETHEY WERE ORIGINALLY EXPORTED FROM. ONE CAN ALTER THIS BEHAVIOURBY FOLLOWING ONE OF THESE PROCEDURES: PRE-CREATE THE TABLE(S) INTHE CORRECT TABLESPACE:. IMPORT THE DUMP FILE USING THE INDEXFILE= OPTION. EDIT THE INDEXFILE. REMOVE REMARKS AND SPECIFY THE CORRECTTABLESPACES.. RUN THIS INDEXFILE AGAINST YOUR DATABASE, THIS WILL CREATE THEREQUIRED TABLES IN THE APPROPRIATE TABLESPACES. IMPORT THE TABLE(S) WITH THE IGNORE=Y OPTION.CHANGE THE DEFAULT TABLESPACE FOR THE USER:

    . REVOKE THE "UNLIMITED TABLESPACE" PRIVILEGE FROM THE USER

    . REVOKE THE USER'S QUOTA FROM THE TABLESPACE FROM WHERE THEOBJECT WAS EXPORTED. THIS FORCES THE IMPORT UTILITY TO CREATETABLES IN THE USER'S DEFAULT TABLESPACE.. MAKE THE TABLESPACE TO WHICH YOU WANT TO IMPORT THE DEFAULTTABLESPACE FOR THE USER. IMPORT THE TABLE.

    28. WHAT IS SQL*LOADER AND WHAT IS IT USED FOR?

    SQL*LOADER IS A BULK LOADER UTILITY USED FOR MOVING DATA FROMEXTERNAL FILES INTO THE ORACLE DATABASE. ITS SYNTAX IS SIMILAR TO

    THAT OF THE DB2 LOAD UTILITY, BUT COMES WITH MORE OPTIONS.SQL*LOADER SUPPORTS VARIOUS LOAD FORMATS, SELECTIVE LOADING, ANDMULTI-TABLE LOADS.

    29. WHAT IS RMAN?RECOVERY MANAGER IS A TOOL THAT: MANAGES THE PROCESS OFCREATING BACKUPS AND ALSO MANAGES THE PROCESS OF RESTORINGAND RECOVERING FROM THEM.

    30. WHAT IS HIT RATIO?

    IT IS A MEASURE OF WELL THE DATA CACHE BUFFER IS HANDLING REQUESTSFOR DATA. HIT RATIO = (LOGICAL READS - PHYSICAL READS - HITS MISSES)/LOGICAL READS.

    31. WHY USE RMAN?

    NO EXTRA COSTS ITSAVAILABLE FREE

  • 7/27/2019 162922963 DBA Interview Questions

    8/184

    RMAN INTRODUCED IN ORACLE 8 IT HAS BECOME SIMPLER WITHNEWER VERSIONS AND EASIER THAN USER MANAGED BACKUPS

    PROPER SECURITY

    YOU ARE 100% SURE YOUR DATABASE HAS BEEN BACKED UP.

    ITS CONTAINS DETAIL OF THE BACKUPS TAKEN ETC IN ITS CENTRAL

    REPOSITORY

    FACILITY FOR TESTING VALIDITY OF BACKUPS ALSO COMMANDS LIKECROSSCHECK TO CHECK THE STATUS OF BACKUP.

    FASTER BACKUPS AND RESTORES COMPARED TO BACKUPS WITHOUTRMAN

    RMAN IS THE ONLY BACKUP TOOL WHICH SUPPORTS INCREMENTALBACKUPS.

    ORACLE 10G HAS GOT FURTHER OPTIMIZED INCREMENTAL BACKUPWHICH HAS RESULTED IN IMPROVEMENT OF PERFORMANCE DURING BACKUP

    AND RECOVERY TIME

    PARALLEL OPERATIONS ARE SUPPORTED

    BETTER QUERYING FACILITY FOR KNOWING DIFFERENT DETAILS OFBACKUP

    NO EXTRA REDO GENERATED WHEN BACKUP IS TAKEN..COMPARED TOONLINE

    BACKUP WITHOUT RMAN WHICH RESULTS IN SAVING OF SPACE IN HARDDISK

    RMAN AN INTELLIGENT TOOL

    MAINTAINS REPOSITORY OF BACKUP METADATA

    REMEMBERS BACKUP SET LOCATION

    KNOWS WHAT NEED TO BACKED UP

    KNOWS WHAT IS REQUIRED FOR RECOVERY

    KNOWS WHAT BACKUPS ARE REDUNDANT

    UNDERSTANDING THE RMAN ARCHITECTUREAN ORACLE RMAN COMPRISES OF RMAN EXECUTABLE THIS COULD BEPRESENT AND FIRED EVEN THROUGH CLIENT SIDE TARGET DATABASE THISIS THE DATABASE WHICH NEEDS TO BE BACKED UP .RECOVERYCATALOG RECOVERY CATALOG IS OPTIONAL OTHERWISE BACKUP DETAILS

    ARE STORED IN TARGET DATABASE CONTROLFILE .IT IS A REPOSITORY OF INFORMATION QUERIED AND UPDATED BY RECOVERYMANAGERIT IS A SCHEMA OR USER STORED IN ORACLE DATABASE. ONE SCHEMA CANSUPPORT MANY DATABASESIT CONTAINS INFORMATION ABOUT PHYSICAL SCHEMA OF TARGET DATABASEDATAFILE AND ARCHIVE LOG ,BACKUP SETS AND PIECES RECOVERYCATALOG IS A MUST IN FOLLOWING SCENARIOS. IN ORDER TO STORE SCRIPTS . FOR TABLESPACE POINT IN TIME RECOVERYMEDIA MANAGEMENT SOFTWARE

  • 7/27/2019 162922963 DBA Interview Questions

    9/184

  • 7/27/2019 162922963 DBA Interview Questions

    10/184

    ORACLE ENHANCEMENT FOR RMAN IN 10 G FLASH RECOVERY AREARIGHT NOW THE PRICE OF HARD DISK IS FALLING. MANY DBA ARE TAKINGORACLE DATABASE BACKUP INSIDE THE HARD DISK ITSELF SINCE IT RESULTSIN LESSER MEAN TIME BETWEEN RECOVERABILITY.

    THE NEW PARAMETER INTRODUCED ISDB_RECOVERY_FILE_DEST = /ORACLE/FLASH_RECOVERY_AREABY CONFIGURING THE RMAN RETENTION POLICY THE FLASH RECOVERYAREA WILL AUTOMATICALLY DELETE OBSOLETE BACKUPS AND ARCHIVELOGS THAT ARE NO LONGER REQUIRED BASED ON THAT CONFIGURATIONORACLE HAS INTRODUCED NEW FEATURES IN INCREMENTAL BACKUP

    CHANGE TRACKING FILEORACLE 10G HAS THE FACILITY TO DELIVER FASTER INCREMENTALS WITHTHE IMPLEMENTATION OF CHANGED TRACKING FILE FEATURE.THIS WILLRESULTS IN FASTER BACKUPS LESSER SPACE CONSUMPTION AND ALSO

    REDUCES THE TIME NEEDED FOR DAILY BACKUPS

    INCREMENTALLY UPDATED BACKUPSORACLE DATABASE 10G INCREMENTALLY UPDATES BACKUP FEATURESMERGES THE IMAGE COPY OF A DATAFILE WITH RMAN INCREMENTALBACKUP. THE RESULTING IMAGE COPY IS NOW UPDATED WITH BLOCKCHANGES CAPTURED BY INCREMENTAL BACKUPS.THE MERGING OF THEIMAGE COPY AND INCREMENTAL BACKUP IS INITIATED WITH RMAN RECOVERCOMMAND. THIS RESULTS IN FASTER RECOVERY.

    BINARY COMPRESSION TECHNIQUE REDUCES BACKUP SPACE USAGE BY 50-75%.

    WITH THE NEW DURATION OPTION FOR THE RMAN BACKUP COMMAND, DBASCAN WEIGH BACKUP PERFORMANCE AGAINST SYSTEM SERVICE LEVELREQUIREMENTS. BY SPECIFYING A DURATION, RMAN WILL AUTOMATICALLYCALCULATE THE APPROPRIATE BACKUP RATE; IN ADDITION, DBAS CANOPTIONALLY SPECIFY WHETHER BACKUPS SHOULD MINIMIZE TIME ORSYSTEM LOAD.NEW FEATURES IN OEM TO IDENTIFY RMAN RELATED BACKUP LIKE BACKUPPIECES, BACKUP SETS AND IMAGE COPY

    ORACLE 9I NEW FEATURES PERSISTENT RMAN CONFIGURATIONA NEW CONFIGURE COMMAND HAS BEEN INTRODUCED IN ORACLE 9I , THATLETS YOU CONFIGURE VARIOUS FEATURES INCLUDING AUTOMATICCHANNELS, PARALLELISM ,BACKUP OPTIONS, ETC.THESE AUTOMATIC ALLOCATIONS AND OPTIONS CAN BE OVERRIDDEN BYCOMMANDS IN A RMAN COMMAND FILE.

    CONTROLFILE AUTO BACKUPS

  • 7/27/2019 162922963 DBA Interview Questions

    11/184

    THROUGH THIS NEW FEATURE RMAN WILL AUTOMATICALLY PERFORM ACONTROLFILE AUTO BACKUP. AFTER EVERY BACKUP OR COPY COMMAND.

    BLOCK MEDIA RECOVERYIF WE CAN RESTORE A FEW BLOCKS RATHER THAN AN ENTIRE FILE WE ONLY

    NEED FEW BLOCKS.WE EVEN DONT NEED TO BRING THE DATA FILE OFFLINE.SYNTAX FOR IT AS FOLLOWSBLOCK RECOVER DATAFILE 8 BLOCK 22;

    CONFIGURE BACKUP OPTIMIZATIONPRIOR TO 9I WHENEVER WE BACKED UP DATABASE USING RMAN OURBACKUP ALSO USED TAKE BACKUP OF READ ONLY TABLE SPACES WHICHHAD ALREADY BEEN BACKED UP AND ALSO THE SAME WITH ARCHIVE LOGTOO.NOW WITH 9I BACKUP OPTIMIZATION PARAMETER WE CAN PREVENT REPEAT

    BACKUP OF READ ONLY TABLESPACE AND ARCHIVE LOG. THE COMMAND FORTHIS IS AS FOLLOWS CONFIGURE BACKUP OPTIMIZATION ONARCHIVE LOG FAILOVERIF RMAN CANNOT READ A BLOCK IN AN ARCHIVED LOG FROM ADESTINATION. RMAN AUTOMATICALLY ATTEMPTS TO READ FROM ANALTERNATE LOCATION THIS IS CALLED AS ARCHIVE LOG FAILOVER

    THERE ARE ADDITIONAL COMMANDS LIKEBACKUP DATABASE NOT BACKED UP SINCE TIME '31-JAN-2002 14:00:00'DO NOT BACKUP PREVIOUSLY BACKED UP FILES(SAY A PREVIOUS BACKUP FAILED AND YOU WANT TO RESTART FROM WHEREIT LEFT OFF).SIMILAR SYNTAX IS SUPPORTED FOR RESTORESBACKUP DEVICE SBT BACKUP SET ALL COPY A DISK BACKUP TO TAPE(BACKING UP A BACKUP

    ADDITIONALLY IT SUPPORTS. BACKUP OF SERVER PARAMETER FILE. PARALLEL OPERATION SUPPORTED. EXTENSIVE REPORTING AVAILABLE. SCRIPTING. DUPLEX BACKUP SETS. CORRUPT BLOCK DETECTION. BACKUP ARCHIVE LOGS

    PITFALLS OF USING RMANPREVIOUS TO VERSION ORACLE 9I BACKUPS WERE NOT THAT EASY WHICHMEANS YOU HAD TO ALLOCATE A CHANNEL COMPULSORILY TO TAKEBACKUP YOU HAD TO GIVE A RUN ETC . THE SYNTAX WAS A BIT COMPLEXRMAN HAS NOW BECOME VERY SIMPLE AND EASY TO USE..IF YOU CHANGED THE LOCATION OF BACKUP SET IT IS COMPULSORY FOR

  • 7/27/2019 162922963 DBA Interview Questions

    12/184

    YOU TO REGISTER IT USING RMAN OR WHILE YOU ARE TRYING TO RESTOREBACKUP IT RESULTED IN HANGING SITUATIONSTHERE IS NO METHOD TO KNOW WHETHER DURING RECOVERY DATABASERESTORE IS GOING TO FAIL BECAUSE OF MISSING ARCHIVE LOG FILE.COMPULSORY MEDIA MANAGEMENT ONLY IF USING TAPE BACKUP

    INCREMENTAL BACKUPS THOUGH USED TO CONSUME LESS SPACE USED TOBE SLOWER SINCE IT USED TO READ THE ENTIRE DATABASE TO FIND THECHANGED BLOCKS AND ALSO THEY HAVE DIFFICULT TIME STREAMING THETAPE DEVICE. .CONSIDERABLE IMPROVEMENT HAS BEEN MADE IN 10G TO OPTIMIZE THE

    ALGORITHM TO HANDLE CHANGED BLOCK.

    OBSERVATION :-INTRODUCED IN ORACLE 8 IT HAS BECOME MORE POWERFUL AND SIMPLERWITH NEWER VERSION OF ORACLE 9 AND 10 G. SO IF YOU REALLY DON'TWANT TO MISS SOMETHING CRITICAL PLEASE START USING RMAN.

    1. WHAT HAPPENS WHEN YOU RUN ALTER DATABASE OPEN RESETLOGS ?THE CURRENT ONLINE REDO LOGS ARE ARCHIVED, THE LOG SEQUENCENUMBER IS RESET TO 1, NEW DATABASE INCARNATION IS CREATED, ANDTHE ONLINE REDO LOGS ARE GIVEN A NEW TIME STAMP AND SCN.

    2. IN WHAT SCENARIOS OPEN RESETLOGS REQUIRED ?

    AN ALTER DATABASE OPEN RESETLOGS STATEMENT IS REQUIRED AFTERINCOMPLETE RECOVERY (POINT IN TIME RECOVERY) OR RECOVERY WITH ABACKUP CONTROL FILE.

    3. WHAT IS SCN (SYSTEM CHANGE NUMBER) ?

    THE SYSTEM CHANGE NUMBER (SCN) IS AN EVER-INCREASING VALUE THATUNIQUELY IDENTIFIES A COMMITTED VERSION OF THE DATABASE AT A POINTIN TIME. EVERY TIME A USER COMMITS A TRANSACTION ORACLE RECORDS ANEW SCN IN REDO LOGS.

    ORACLE USES SCNS IN CONTROL FILES DATAFILE HEADERS AND REDORECORDS. EVERY REDO LOG FILE HAS BOTH A LOG SEQUENCE NUMBER ANDLOW AND HIGH SCN. THE LOW SCN RECORDS THE LOWEST SCN RECORDEDIN THE LOG FILE WHILE THE HIGH SCN RECORDS THE HIGHEST SCN IN THELOG FILE.

    4. WHAT IS DATABASE INCARNATION ?

  • 7/27/2019 162922963 DBA Interview Questions

    13/184

    DATABASE INCARNATION IS EFFECTIVELY A NEW VERSION OF THEDATABASE THAT HAPPENS WHEN YOU RESET THE ONLINE REDO LOGSUSING ALTER DATABASE OPEN RESETLOGS;.

    DATABASE INCARNATION FALLS INTO FOLLOWING CATEGORY CURRENT,

    PARENT, ANCESTOR AND SIBLING

    I) CURRENT INCARNATION : THE DATABASE INCARNATION IN WHICH THEDATABASE IS CURRENTLY GENERATING REDO.

    II) PARENT INCARNATION : THE DATABASE INCARNATION FROM WHICH THECURRENT INCARNATION BRANCHED FOLLOWING AN OPEN RESETLOGSOPERATION.

    III) ANCESTOR INCARNATION : THE PARENT OF THE PARENT INCARNATION ISAN ANCESTOR INCARNATION. ANY PARENT OF AN ANCESTOR INCARNATION IS

    ALSO AN ANCESTOR INCARNATION.

    IV) SIBLING INCARNATION : TWO INCARNATIONS THAT SHARE A COMMONANCESTOR ARE SIBLING INCARNATIONS IF NEITHER ONE IS AN ANCESTOR OFTHE OTHER.

    5. HOW TO VIEW INCARNATION HISTORY OF DATABASE ?

    USING SQL> SELECT * FROM V$DATABASE_INCARNATION;USING RMAN>LIST INCARNATION;

    HOWEVER, YOU CAN USE THE RESET DATABASE TO INCARNATION COMMANDTO SPECIFY THAT SCNS ARE TO BE INTERPRETED IN THE FRAME OFREFERENCE OF ANOTHER INCARNATION.

    FOR EXAMPLE MY CURRENT DATABASE INCARNATION IS 3 AND NOW I HAVEUSEDFLASHBACK DATABASE TO SCN 3000;THEN SCN 3000 WILL BE SEARCH INCURRENT INCARNATION WHICH IS 3. HOWEVER IF I WANT TO GET BACK TOSCN 3000 OF INCARNATION 2 THEN I HAVE TO USE,

    RMAN> RESET DATABASE TO INCARNATION 2;RMAN> RECOVER DATABASE TO SCN 3000;

    1. GIVE ONE METHOD FOR TRANSFERRING A TABLE FROM ONE SCHEMA TOANOTHER?ANSWER: THERE ARE SEVERAL POSSIBLE METHODS, EXPORT-IMPORT,CREATE TABLE... AS SELECT, OR COPY.2. WHAT IS THE PURPOSE OF THE IMPORT OPTION IGNORE? WHAT IS IT?SDEFAULT SETTING?

  • 7/27/2019 162922963 DBA Interview Questions

    14/184

    LEVEL: LOWEXPECTED ANSWER: THE IMPORT IGNORE OPTION TELLS IMPORT TO IGNORE"ALREADY EXISTS" ERRORS. IF IT IS NOT SPECIFIED THE TABLES THAT ALREADYEXIST WILL BE SKIPPED. IF IT IS SPECIFIED, THE ERROR IS IGNORED AND THETABLES DATA WILL BE INSERTED. THE DEFAULT VALUE IS N.

    3. YOU HAVE A ROLLBACK SEGMENT IN A VERSION 7.2 DATABASE THAT HASEXPANDED BEYOND OPTIMAL, HOW CAN IT BE RESTORED TO OPTIMAL?LEVEL: LOWEXPECTED ANSWER: USE THE ALTER TABLESPACE ..... SHRINK COMMAND.4. IF THE DEFAULT AND TEMPORARY TABLESPACE CLAUSES ARE LEFT OUTOF A CREATE USER COMMAND WHAT HAPPENS? IS THIS BAD OR GOOD?WHY?LEVEL: LOWEXPECTED ANSWER: THE USER IS ASSIGNED THE SYSTEM TABLESPACE AS ADEFAULT AND TEMPORARY TABLESPACE. THIS IS BAD BECAUSE IT CAUSES USEROBJECTS AND TEMPORARY SEGMENTS TO BE PLACED INTO THE SYSTEM TABLESPACERESULTING IN FRAGMENTATION AND IMPROPER TABLE PLACEMENT (ONLY DATADICTIONARY OBJECTS AND THE SYSTEM ROLLBACK SEGMENT SHOULD BE INSYSTEM).5. WHAT ARE SOME OF THE ORACLE PROVIDED PACKAGES THAT DBASSHOULD BE AWARE OF?LEVEL: INTERMEDIATE TO HIGHEXPECTED ANSWER: ORACLE PROVIDES A NUMBER OF PACKAGES IN THE FORM OFTHE DBMS_ PACKAGES OWNED BY THE SYS USER. THE PACKAGES USED BY DBASMAY INCLUDE: DBMS_SHARED_POOL, DBMS_UTILITY, DBMS_SQL, DBMS_DDL,DBMS_SESSION, DBMS_OUTPUT AND DBMS_SNAPSHOT. THEY MAY ALSO TRY TO

    ANSWER WITH THE UTL*.SQL OR CAT*.SQL SERIES OF SQL PROCEDURES. THESECAN BE VIEWED AS EXTRA CREDIT BUT AREN?T PART OF THE ANSWER.6. WHAT HAPPENS IF THE CONSTRAINT NAME IS LEFT OUT OF ACONSTRAINT CLAUSE?LEVEL: LOWEXPECTED ANSWER: THE ORACLE SYSTEM WILL USE THE DEFAULT NAME OFSYS_CXXXX WHERE XXXX IS A SYSTEM GENERATED NUMBER. THIS IS BAD SINCE ITMAKES TRACKING WHICH TABLE THE CONSTRAINT BELONGS TO OR WHAT THECONSTRAINT DOES HARDER.7. WHAT HAPPENS IF A TABLESPACE CLAUSE IS LEFT OFF OF A PRIMARYKEY CONSTRAINT CLAUSE?

    LEVEL: LOWEXPECTED ANSWER: THIS RESULTS IN THE INDEX THAT IS AUTOMATICALLYGENERATED BEING PLACED IN THEN USERS DEFAULT TABLESPACE. SINCE THIS WILLUSUALLY BE THE SAME TABLESPACE AS THE TABLE IS BEING CREATED IN, THIS CANCAUSE SERIOUS PERFORMANCE PROBLEMS.8. WHAT IS THE PROPER METHOD FOR DISABLING AND RE-ENABLING APRIMARY KEY CONSTRAINT?

  • 7/27/2019 162922963 DBA Interview Questions

    15/184

    LEVEL: INTERMEDIATEEXPECTED ANSWER: YOU USE THE ALTER TABLE COMMAND FOR BOTH. HOWEVER,FOR THE ENABLE CLAUSE YOU MUST SPECIFY THE USING INDEX AND TABLESPACECLAUSE FOR PRIMARY KEYS.9. WHAT HAPPENS IF A PRIMARY KEY CONSTRAINT IS DISABLED AND THEN

    ENABLED WITHOUT FULLY SPECIFYING THE INDEX CLAUSE?LEVEL: INTERMEDIATEEXPECTED ANSWER: THE INDEX IS CREATED IN THE USER?S DEFAULT TABLESPACE

    AND ALL SIZING INFORMATION IS LOST. ORACLE DOESN?T STORE THISINFORMATION AS A PART OF THE CONSTRAINT DEFINITION, BUT ONLY AS PART OFTHE INDEX DEFINITION, WHEN THE CONSTRAINT WAS DISABLED THE INDEX WASDROPPED AND THE INFORMATION IS GONE.10. (ON UNIX) WHEN SHOULD MORE THAN ONE DB WRITER PROCESS BEUSED? HOW MANY SHOULD BE USED?LEVEL: HIGHEXPECTED ANSWER: IF THE UNIX SYSTEM BEING USED IS CAPABLE OF

    ASYNCHRONOUS IO THEN ONLY ONE IS REQUIRED, IF THE SYSTEM IS NOT CAPABLEOF ASYNCHRONOUS IO THEN UP TO TWICE THE NUMBER OF DISKS USED BY ORACLENUMBER OF DB WRITERS SHOULD BE SPECIFIED BY USE OF THE DB_WRITERSINITIALIZATION PARAMETER.11. YOU ARE USING HOT BACKUP WITHOUT BEING IN ARCHIVELOG MODE,CAN YOU RECOVER IN THE EVENT OF A FAILURE? WHY OR WHY NOT?LEVEL: HIGHEXPECTED ANSWER: YOU CAN?T USE HOT BACKUP WITHOUT BEING IN ARCHIVELOGMODE. SO NO, YOU COULDN?T RECOVER.12. WHAT CAUSES THE "SNAPSHOT TOO OLD" ERROR? HOW CAN THIS BE

    PREVENTED OR MITIGATED?LEVEL: INTERMEDIATEEXPECTED ANSWER: THIS IS CAUSED BY LARGE OR LONG RUNNING TRANSACTIONSTHAT HAVE EITHER WRAPPED ONTO THEIR OWN ROLLBACK SPACE OR HAVE HAD

    ANOTHER TRANSACTION WRITE ON PART OF THEIR ROLLBACK SPACE. THIS CAN BEPREVENTED OR MITIGATED BY BREAKING THE TRANSACTION INTO A SET OFSMALLER TRANSACTIONS OR INCREASING THE SIZE OF THE ROLLBACK SEGMENTS

    AND THEIR EXTENTS.13. HOW CAN YOU TELL IF A DATABASE OBJECT IS INVALID?LEVEL: LOWEXPECTED ANSWER: BY CHECKING THE STATUS COLUMN OF THE DBA_, ALL_ OR

    USER_OBJECTS VIEWS, DEPENDING UPON WHETHER YOU OWN OR ONLY HAVEPERMISSION ON THE VIEW OR ARE USING A DBA ACCOUNT.14. A USER IS GETTING AN ORA-00942 ERROR YET YOU KNOW YOU HAVEGRANTED THEM PERMISSION ON THE TABLE, WHAT ELSE SHOULD YOUCHECK?LEVEL: LOWEXPECTED ANSWER: YOU NEED TO CHECK THAT THE USER HAS SPECIFIED THE FULL

  • 7/27/2019 162922963 DBA Interview Questions

    16/184

    NAME OF THE OBJECT (SELECT EMPID FROM SCOTT.EMP; INSTEAD OF SELECT EMPIDFROM EMP;) OR HAS A SYNONYM THAT POINTS TO THE OBJECT (CREATE SYNONYMEMP FOR SCOTT.EMP;)15. A DEVELOPER IS TRYING TO CREATE A VIEW AND THE DATABASEWON?T LET HIM. HE HAS THE "DEVELOPER" ROLE WHICH HAS THE "CREATE

    VIEW" SYSTEM PRIVILEGE AND SELECT GRANTS ON THE TABLES HE ISUSING, WHAT IS THE PROBLEM?LEVEL: INTERMEDIATEEXPECTED ANSWER: YOU NEED TO VERIFY THE DEVELOPER HAS DIRECT GRANTS ON

    ALL TABLES USED IN THE VIEW. YOU CAN?T CREATE A STORED OBJECT WITHGRANTS GIVEN THROUGH VIEWS.16. IF YOU HAVE AN EXAMPLE TABLE, WHAT IS THE BEST WAY TO GETSIZING DATA FOR THE PRODUCTION TABLE IMPLEMENTATION?LEVEL: INTERMEDIATEEXPECTED ANSWER: THE BEST WAY IS TO ANALYZE THE TABLE AND THEN USE THEDATA PROVIDED IN THE DBA_TABLES VIEW TO GET THE AVERAGE ROW LENGTH

    AND OTHER PERTINENT DATA FOR THE CALCULATION. THE QUICK AND DIRTY WAYIS TO LOOK AT THE NUMBER OF BLOCKS THE TABLE IS ACTUALLY USING AND RATIOTHE NUMBER OF ROWS IN THE TABLE TO ITS NUMBER OF BLOCKS AGAINST THENUMBER OF EXPECTED ROWS.17. HOW CAN YOU FIND OUT HOW MANY USERS ARE CURRENTLY LOGGEDINTO THE DATABASE? HOW CAN YOU FIND THEIR OPERATING SYSTEM ID?LEVEL: HIGHEXPECTED ANSWER: THERE ARE SEVERAL WAYS. ONE IS TO LOOK AT THE

    V$SESSION OR V$PROCESS VIEWS. ANOTHER WAY IS TO CHECK THECURRENT_LOGINS PARAMETER IN THE V$SYSSTAT VIEW. ANOTHER IF YOU ARE ON

    UNIX IS TO DO A "PS -EF|GREP ORACLE|WC -L? COMMAND, BUT THIS ONLY WORKSAGAINST A SINGLE INSTANCE INSTALLATION.18. A USER SELECTS FROM A SEQUENCE AND GETS BACK TWO VALUES, HISSELECT IS:SELECT PK_SEQ.NEXTVAL FROM DUAL;WHAT IS THE PROBLEM?LEVEL: INTERMEDIATEEXPECTED ANSWER: SOMEHOW TWO VALUES HAVE BEEN INSERTED INTO THE DUALTABLE. THIS TABLE IS A SINGLE ROW, SINGLE COLUMN TABLE THAT SHOULD ONLYHAVE ONE VALUE IN IT.19. HOW CAN YOU DETERMINE IF AN INDEX NEEDS TO BE DROPPED AND REBUILT?

    LEVEL: INTERMEDIATEEXPECTED ANSWER: RUN THE ANALYZE INDEX COMMAND ON THE INDEX TO

    VALIDATE ITS STRUCTURE AND THEN CALCULATE THE RATIO OFLF_BLK_LEN/LF_BLK_LEN+BR_BLK_LEN AND IF IT ISN?T NEAR 1.0 (I.E. GREATERTHAN 0.7 OR SO) THEN THE INDEX SHOULD BE REBUILT. OR IF THE RATIOBR_BLK_LEN/ LF_BLK_LEN+BR_BLK_LEN IS NEARING 0.3.

    TUNING INTERVIEW QUESTIONS

  • 7/27/2019 162922963 DBA Interview Questions

    17/184

    1. A table-space has a table with 30 extents in it. Is this bad? Why or whynot.Level: IntermediateExpected answer: Multiple extents in and of themselves aren?t bad. However if you also

    have chained rows this can hurt performance.2. How do you set up table-spaces during an Oracle installation?Level: LowExpected answer: You should always attempt to use the Oracle Flexible Architecturestandard or another partitioning scheme to ensure proper separation of SYSTEM,ROLLBACK, REDO LOG, DATA, TEMPORARY and INDEX segments.3. You see multiple fragments in the SYSTEM table-space, what should youcheck first?Level: LowExpected answer: Ensure that users don?t have the SYSTEM tablespace as theirTEMPORARY or DEFAULT tablespace assignment by checking the DBA_USERS view.4. What are some indications that you need to increase theSHARED_POOL_SIZE parameter?Level: IntermediateExpected answer: Poor data dictionary or library cache hit ratios, getting error ORA-04031. Another indication is steadily decreasing performance with all other tuningparameters the same.5. What is the general guideline for sizing db_block_size anddb_multi_block_read for an application that does many full table scans?Level: HighExpected answer: Oracle almost always reads in 64k chunks. The two should have a

    product equal to 64 or a multiple of 64.6. What is the fastest query method for a table?Level: IntermediateExpected answer: Fetch by rowid7. Explain the use of TKPROF? What initialization parameter should be turnedon to get full TKPROF output?Level: HighExpected answer: The tkprof tool is a tuning tool used to determine cpu and executiontimes for SQL statements. You use it by first setting timed_statistics to true in theinitialization file and then turning on tracing for either the entire database via thesql_trace parameter or for the session using the ALTER SESSION command. Once the

    trace file is generated you run the tkprof tool against the trace file and then look at theoutput from the tkprof tool. This can also be used to generate explain plan output.8. When looking at v$sysstat you see that sorts (disk) is high. Is this bad orgood? If bad -How do you correct it?Level: IntermediateExpected answer: If you get excessive disk sorts this is bad. This indicates you need to

  • 7/27/2019 162922963 DBA Interview Questions

    18/184

    tune the sort area parameters in the initialization files. The major sort are parameter isthe SORT_AREA_SIZe parameter.9. When should you increase copy latches? What parameters control copylatches?Level: high

    Expected answer: When you get excessive contention for the copy latches as shown bythe "redo copy" latch hit ratio. You can increase copy latches via the initializationparameter LOG_SIMULTANEOUS_COPIES to twice the number of CPUs on yoursystem.10. Where can you get a list of all initialization parameters for your instance?How about an indication if they are default settings or have been changed?Level: LowExpected answer: You can look in the init.ora file for an indication of manually setparameters. For all parameters, their value and whether or not the current value is thedefault value, look in the v$parameter view.11. Describe hit ratio as it pertains to the database buffers. What is thedifference between instantaneous and cumulative hit ratio and which shouldbe used for tuning?Level: IntermediateExpected answer: The hit ratio is a measure of how many times the database was ableto read a value from the buffers verses how many times it had to re-read a data valuefrom the disks. A value greater than 80-90% is good, less could indicate problems. Ifyou simply take the ratio of existing parameters this will be a cumulative value since thedatabase started. If you do a comparison between pairs of readings based on somearbitrary time span, this is the instantaneous ratio for that time span. Generallyspeaking an instantaneous reading gives more valuable data since it will tell you what

    your instance is doing for the time it was generated over.12. Discuss row chaining, how does it happen? How can you reduce it? Howdo you correct it?Level: highExpected answer: Row chaining occurs when a VARCHAR2 value is updated and thelength of the new value is longer than the old value and won?t fit in the remainingblock space. This results in the row chaining to another block. It can be reduced bysetting the storage parameters on the table to appropriate values. It can be correctedby export and import of the effected table.13. When looking at the estat events report you see that you are gettingbusy buffer waits. Is this bad? How can you find what is causing it?

    Level: highExpected answer: Buffer busy waits could indicate contention in redo, rollback or datablocks. You need to check the v$waitstat view to see what areas are causing theproblem. The value of the "count" column tells where the problem is, the "class"column tells you with what. UNDO is rollback segments, DATA is data base buffers.

  • 7/27/2019 162922963 DBA Interview Questions

    19/184

    14. If you see contention for library caches how can you fix it?Level: IntermediateExpected answer: Increase the size of the shared pool.15. If you see statistics that deal with "undo" what are they really talkingabout?

    Level: IntermediateExpected answer: Rollback segments and associated structures.16. If a tablespace has a default pctincrease of zero what will this cause (inrelationship to the smon process)?Level: HighExpected answer: The SMON process won?t automatically coalesce its free spacefragments.

    17. If a tablespace shows excessive fragmentation what are some methodsto defragment the tablespace? (7.1,7.2 and 7.3 only)Level: HighExpected answer: In Oracle 7.0 to 7.2 The use of the 'alter session set events'immediate trace name coalesce level ts#';? command is the easiest way to defragmentcontiguous free space fragmentation. The ts# parameter corresponds to the ts# valuefound in the ts$ SYS table. In version 7.3 the ?alter tablespace coalesce;? is best. If thefree space isn?t contiguous then export, drop and import of the tablespace contentsmay be the only way to reclaim non-contiguous free space.18. How can you tell if a tablespace has excessive fragmentation?Level: IntermediateIf a select against the dba_free_space table shows that the count of a tablespacesextents is greater than the count of its data files, then it is fragmented.

    19. You see the following on a status report:redo log space requests 23redo log space wait time 0Is this something to worry about? What if redo log space wait time is high? How canyou fix this?Level: IntermediateExpected answer: Since the wait time is zero, no. If the wait time was high it mightindicate a need for more or larger redo logs.20. What can cause a high value for recursive calls? How can this be fixed?Level: HighExpected answer: A high value for recursive calls is cause by improper cursor usage,

    excessive dynamic space management actions, and or excessive statement re-parses.You need to determine the cause and correct it By either relinking applications to holdcursors, use proper space management techniques (proper storage and sizing) orensure repeat queries are placed in packages for proper reuse.21. If you see a pin hit ratio of less than 0.8 in the estat library cache reportis this a problem? If so, how do you fix it?Level: Intermediate

  • 7/27/2019 162922963 DBA Interview Questions

    20/184

    Expected answer: This indicate that the shared pool may be too small. Increase theshared pool size.22. If you see the value for reloads is high in the estat library cache report isthis a matter for concern?Level: Intermediate

    Expected answer: Yes, you should strive for zero reloads if possible. If you seeexcessive reloads then increase the size of the shared pool.23. You look at the dba_rollback_segs view and see that there is a largenumber of shrinks and they are of relatively small size, is this a problem?How can it be fixed if it is a problem?Level: HighExpected answer: A large number of small shrinks indicates a need to increase the sizeof the rollback segment extents. Ideally you should have no shrinks or a small numberof large shrinks. To fix this just increase the size of the extents and adjust optimalaccordingly.24. You look at the dba_rollback_segs view and see that you have a largenumber of wraps is this a problem?Level: HighExpected answer: A large number of wraps indicates that your extent size for yourrollback segments are probably too small. Increase the size of your extents to reducethe number of wraps. You can look at the average transaction size in the same view toget the information on transaction size.25. In a system with an average of 40 concurrent users you get the following from aquery on rollback extents:ROLLBACK CUR EXTENTS--------------------- --------------------------

    R01 11R02 8R03 12R04 9SYSTEM 4

    You have room for each to grow by 20 more extents each. Is there a problem? Shouldyou take any action?Level: IntermediateExpected answer: No there is not a problem. You have 40 extents showing and anaverage of 40 concurrent users. Since there is plenty of room to grow no action isneeded.

    26. You see multiple extents in the temporary tablespace. Is this a problem?Level: IntermediateExpected answer: As long as they are all the same size this isn?t a problem. In fact, itcan even improve performance since Oracle won?t have to create a new extent when auser needs one.

    INSTALLATION/CONFIGURATION INTERVIEW QUESTIONS

  • 7/27/2019 162922963 DBA Interview Questions

    21/184

    1. Define OFA.Level: LowExpected answer: OFA stands for Optimal Flexible Architecture. It is a method ofplacing directories and files in an Oracle system so that you get the maximum flexibilityfor future tuning and file placement.

    2. How do you set up your tablespace on installation?Level: LowExpected answer: The answer here should show an understanding of separation of redoand rollback, data and indexes and isolation os SYSTEM tables from other tables. Anexample would be to specify that at least 7 disks should be used for an Oracleinstallation so that you can place SYSTEM tablespace on one, redo logs on two(mirrored redo logs) the TEMPORARY tablespace on another, ROLLBACK tablespace onanother and still have two for DATA and INDEXES. They should indicate how they willhandle archive logs and exports as well. As long as they have a logical plan forcombining or further separation more or less disks can be specified.3. What should be done prior to installing Oracle (for the OS and the disks)?Level: LowExpected Answer: adjust kernel parameters or OS tuning parameters in accordancewith installation guide. Be sure enough contiguous disk space is available.4. You have installed Oracle and you are now setting up the actual instance.You have been waiting an hour for the initialization script to finish, whatshould you check first to determine if there is a problem?Level: Intermediate to highExpected Answer: Check to make sure that the archiver isn?t stuck. If archive logging isturned on during install a large number of logs will be created. This can fill up yourarchive log destination causing Oracle to stop to wait for more space.

    5. When configuring SQLNET on the server what files must be set up?Level: IntermediateExpected answer: INITIALIZATION file, TNSNAMES.ORA file, SQLNET.ORA file6. When configuring SQLNET on the client what files need to be set up?Level: IntermediateExpected answer: SQLNET.ORA, TNSNAMES.ORA7. What must be installed with ODBC on the client in order for it to work withOracle?Level: IntermediateExpected answer: SQLNET and PROTOCOL (for example: TCPIP adapter) layers of thetransport programs.

    8. You have just started a new instance with a large SGA on a busy existingserver. Performance is terrible, what should you check for?Level: IntermediateExpected answer: The first thing to check with a large SGA is that it isn?t beingswapped out.

  • 7/27/2019 162922963 DBA Interview Questions

    22/184

    9. What OS user should be used for the first part of an Oracle installation (onUNIX)?Level: lowExpected answer: You must use root first.10. When should the default values for Oracle initialization parameters be

    used as is?Level: LowExpected answer: Never11. How many control files should you have? Where should they be located?Level: LowExpected answer: At least 2 on separate disk spindles. Be sure they say on separatedisks, not just file systems.12. How many redo logs should you have and how should they be configuredfor maximum recoverability?Level: IntermediateExpected answer: You should have at least three groups of two redo logs with the twologs each on a separate disk spindle (mirrored by Oracle). The redo logs should not beon raw devices on UNIX if it can be avoided.13. You have a simple application with no "hot" tables (i.e. uniform IO andaccess requirements). How many disks should you have assuming standardlayout for SYSTEM, USER, TEMP and ROLLBACK tablespaces?Expected answer: At least 7, see disk configuration answer above.

    DATA MODELER INTERVIEW QUESTIONS

    1. Describe third normal form?Level: Low

    Expected answer: Something like: In third normal form all attributes in an entity arerelated to the primary key and only to the primary key2. Is the following statement true or false:"All relational databases must be in third normal form"Why or why not?Level: IntermediateExpected answer: False. While 3NF is good for logical design most databases, if theyhave more than just a few tables, will not perform well using full 3NF. Usually someentities will be denormalized in the logical to physical transfer process.3. What is an ERD?Level: Low

    Expected answer: An ERD is an Entity-Relationship-Diagram. It is used to show theentities and relationships for a database logical model.4. Why are recursive relationships bad? How do you resolve them?Level: Intermediate

    A recursive relationship (one where a table relates to itself) is bad when it is a hardrelationship (i.e. neither side is a "may" both are "must") as this can result in it notbeing possible to put in a top or perhaps a bottom of the table (for example in the

  • 7/27/2019 162922963 DBA Interview Questions

    23/184

    EMPLOYEE table you couldn?t put in the PRESIDENT of the company because he hasno boss, or the junior janitor because he has no subordinates). These type ofrelationships are usually resolved by adding a small intersection entity.

    5. What does a hard one-to-one relationship mean (one where the

    relationship on both ends is "must")?Level: Low to intermediateExpected answer: This means the two entities should probably be made into oneentity.6. How should a many-to-many relationship be handled?Level: IntermediateExpected answer: By adding an intersection entity table7. What is an artificial (derived) primary key? When should an artificial (orderived) primary key be used?Level: Intermediate

    Expected answer: A derived key comes from a sequence. Usually it is used when aconcatenated key becomes too cumbersome to use as a foreign key.8. When should you consider denormalization?Level: IntermediateExpected answer: Whenever performance analysis indicates it would be beneficial to doso without compromising data integrity.

    ORACLE CONCEPTS AND ARCHITECTURE DATABASE STRUCTURES

    1. What are the components of physical database structure of Oracle database?

    Oracle database is comprised of three types of files. One or more datafiles, two aremore redo log files, and one or more control files.

    2. What are the components of logical database structure of Oracledatabase?

    There are tablespaces and database's schema objects.3. What is a tablespace?A database is divided into Logical Storage Unit called tablespaces. A tablespace is used

    to grouped related logical structures together.

    4. What is SYSTEM tablespace and when is it created?Every Oracle database contains a tablespace named SYSTEM, which is automaticallycreated when the database is created. The SYSTEM tablespace always contains thedata dictionary tables for the entire database.7. What are Schema Objects?

  • 7/27/2019 162922963 DBA Interview Questions

    24/184

    Schema objects are the logical structures that directly refer to the database's data.Schema objects include tables, views, sequences, synonyms, indexes, clusters,database triggers, procedures, functions packages and database links.8. Can objects of the same schema reside in different tablespaces?Yes.

    9. Can a tablespace hold objects from different schemes?Yes.10. What is Oracle table?A table is the basic unit of data storage in an Oracle database. The tables of adatabase hold all of the user accessible data. Table data is stored in rows and columns.11. What is an Oracle view?

    A view is a virtual table. Every view has a query attached to it. (The query is a SELECTstatement that identifies the columns and rows of the table(s) the view uses.)12. Do a view contain data?Views do not contain or store data.13. Can a view based on another view?

    Yes.14. What are the advantages of views?- Provide an additional level of table security, by restricting access to a predetermined

    set of rows and columns of a table.- Hide data complexity.- Simplify commands for the user.- Present the data in a different perspective from that of the base table.- Store complex queries.15. What is an Oracle sequence?

    A sequence generates a serial list of unique numbers for numerical columns of a

    database's tables.16. What is a synonym?

    A synonym is an alias for a table, view, sequence or program unit.17. What are the types of synonyms?There are two types of synonyms private and public.18. What is a private synonym?Only its owner can access a private synonym.19. What is a public synonym?

    Any database user can access a public synonym.20. What are synonyms used for?- Mask the real name and owner of an object.

    - Provide public access to an object- Provide location transparency for tables, views or program units of a remote

    database.- Simplify the SQL statements for database users.21. What is an Oracle index?

  • 7/27/2019 162922963 DBA Interview Questions

    25/184

    An index is an optional structure associated with a table to have direct access to rows,which can be created to increase the performance of data retrieval. Index can becreated on one or more columns of a table.22. How are the index updates?Indexes are automatically maintained and used by Oracle. Changes to table data are

    automatically incorporated into all relevant indexes.23. What are clusters?Clusters are groups of one or more tables physically stores together to share commoncolumns and are often used together.24. What is cluster key?The related columns of the tables in a cluster are called the cluster key.25. What is index cluster?

    A cluster with an index on the cluster key.26. What is hash cluster?

    A row is stored in a hash cluster based on the result of applying a hash function to therow's cluster key value. All rows with the same hash key value are stores together ondisk.27. When can hash cluster used?Hash clusters are better choice when a table is often queried with equality queries. For

    such queries the specified cluster key value is hashed. The resulting hash key valuepoints directly to the area on disk that stores the specified rows.28. What is database link?

    A database link is a named object that describes a "path" from one database toanother.

    29. What are the types of database links?

    Private database link, public database link & network database link.30. What is private database link?Private database link is created on behalf of a specific user. A private database link can

    be used only when the owner of the link specifies a global object name in a SQLstatement or in the definition of the owner's views or procedures.31. What is public database link?Public database link is created for the special user group PUBLIC. A public database

    link can be used when any user in the associated database specifies a global objectname in a SQL statement or object definition.32. What is network database link?Network database link is created and managed by a network domain service. A

    network database link can be used when any user of any database in the networkspecifies a global object name in a SQL statement or object definition.33. What is data block?Oracle database's data is stored in data blocks. One data block corresponds to aspecific number of bytes of physical database space on disk.34. How to define data block size?

  • 7/27/2019 162922963 DBA Interview Questions

    26/184

    A data block size is specified for each Oracle database when the database is created. Adatabase users and allocated free database space in Oracle data blocks. Block size isspecified in init.ora file and cannot be changed latter.35. What is row chaining?In circumstances, all of the data for a row in a table may not be able to fit in the same

    data block. When this occurs, the data for the row is stored in a chain of data block(one or more) reserved for that segment.36. What is an extent?

    An extent is a specific number of contiguous data blocks, obtained in a single allocationand used to store a specific type of information.37. What is a segment?

    A segment is a set of extents allocated for a certain logical structure.38. What are the different types of segments?Data segment, index segment, rollback segment and temporary segment.39. What is a data segment?Each non-clustered table has a data segment. All of the table's data is stored in theextents of its data segment. Each cluster has a data segment. The data of every tablein the cluster is stored in the cluster's data segment.40. What is an index segment?Each index has an index segment that stores all of its data.41. What is rollback segment?

    A database contains one or more rollback segments to temporarily store "undo"information.42. What are the uses of rollback segment?To generate read-consistent database information during database recovery and torollback uncommitted transactions by the users.

    43. What is a temporary segment?Temporary segments are created by Oracle when a SQL statement needs a temporarywork area to complete execution. When the statement finishes execution, thetemporary segment extents are released to the system for future use.44. What is a datafile?Every Oracle database has one or more physical data files. A database's data files

    contain all the database data. The data of logical database structures such as tablesand indexes is physically stored in the data files allocated for a database.45. What are the characteristics of data files?

    A data file can be associated with only one database. Once created a data file can'tchange size. One or more data files form a logical unit of database storage called a

    tablespace.46. What is a redo log?The set of redo log files for a database is collectively known as the database redo log.47. What is the function of redo log?The primary function of the redo log is to record all changes made to data.48. What is the use of redo log information?

  • 7/27/2019 162922963 DBA Interview Questions

    27/184

    The information in a redo log file is used only to recover the database from a system ormedia failure prevents database data from being written to a database's data files.49. What does a control file contains?- Database name- Names and locations of a database's files and redolog files.

    - Time stamp of database creation.50. What is the use of control file?

    When an instance of an Oracle database is started, its control file is used to identifythe database and redo log files that must be opened for database operation to proceed.It is also used in database recovery.

    RMAN INTERVIEW QUESTIONS

    1. What is RMAN ?Recovery Manager (RMAN) is a utility that can manage your entire Oracle backup and

    recovery activities.Which Files must be backed up?Database Files (with RMAN)Control Files (with RMAN)Offline Redolog Files (with RMAN)INIT.ORA (manually)Password Files (manually)2. When you take a hot backup putting Tablespace in begin backup mode,

    Oracle records SCN # from header of a database file. What happens whenyou issue hot backup database in RMAN at block level backup? How doesRMAN mark the record that the block has been backed up ? How does RMAN

    know what blocks were backed up so that it doesn't have to scan themagain?In 11g, there is Oracle Block Change Tracking feature. Once enabled; this new 10gfeature records the modified since last backup and stores the log of it in a block changetracking file. During backups RMAN uses the log file to identify the specific blocks thatmust be backed up. This improves RMAN's performance as it does not have to scanwhole datafiles to detect changed blocks.Logging of changed blocks is performed by the CTRW process which is alsoresponsible for writing data to the block change tracking file. RMAN uses SCNs on theblock level and the archived redo logs to resolve any inconsistencies in the datafilesfrom a hot backup. What RMAN does not require is to put the tablespace in BACKUP

    mode, thus freezing the SCN in the header. Rather, RMAN keeps this information ineither your control files or in the RMAN repository (i.e., Recovery Catalog).3. What are the Architectural components of RMAN?1.RMAN executable2.Server processes3.Channels4.Target database5.Recovery catalog database (optional)

  • 7/27/2019 162922963 DBA Interview Questions

    28/184

    6.Media management layer (optional)7.Backups, backup sets, and backup pieces4. What are Channels?

    A channel is an RMAN server process started when there is a need to communicate withan I/O device, such as a disk or a tape. A channel is what reads and writes RMAN

    backup files. It is through the allocation of channels that you govern I/O characteristicssuch as:

    Type of I/O device being read or written to, either a disk or an sbt_tapeNumber of processes simultaneously accessing an I/O deviceMaximum size of files created on I/O devicesMaximum rate at which database files are readMaximum number of files open at a time

    5. Why is the catalog optional?Because RMAN manages backup and recovery operations, it requires a place to storenecessary information about the database. RMAN always stores this information in thetarget database control file. You can also store RMAN metadata in a recovery catalogschema contained in a separate database. The recovery catalogschema must be stored in a database other than the target database.6. What does complete RMAN backup consist of ?

    A backup of all or part of your database. This results from issuing an RMAN backupcommand. A backup consists of one or more backup sets.

    7. What is a Backup set?A logical grouping of backup files -- the backup pieces -- that are created when youissue an RMAN backup command. A backup set is RMAN's name for a collection of files

    associated with a backup. A backup set is composed of one or more backup pieces.

    8. What is a Backup piece?A physical binary file created by RMAN during a backup. Backup pieces are written toyour backup medium, whether to disk or tape. They contain blocks from the targetdatabase's datafiles, archived redo log files, and control files. When RMAN constructs abackup piece from datafiles, there are a several rules that it follows:

    A datafile cannot span backup sets A datafile can span backup pieces as long as it stays within one backup set Datafiles and control files can coexist in the same backup sets Archived redo log files are never in the same backup set as datafiles or control files

    RMAN is the only tool that can operate on backup pieces. If you need to restore a filefrom an RMAN backup, you must use RMAN to do it. There's no way for you tomanually reconstruct database files from the backup pieces. You must use RMAN torestore files from a backup piece.9. What are the benefits of using RMAN?

    1. Incremental backups that only copy data blocks that have changed since the lastbackup.

  • 7/27/2019 162922963 DBA Interview Questions

    29/184

    2. Tablespaces are not put in backup mode, thus there is noextra redo log generationduring online backups.3. Detection of corrupt blocks during backups.4. Parallelization of I/O operations.5. Automatic logging of all backup and recovery operations.

    6. Built-in reporting and listing commands.2.

    GENERAL BACKUP AND RECOVERY QUESTIONS

    1. Why and when should I backup my database?

    Backup and recovery is one of the most important aspects of a DBA's job. If you lose

    your company's data, you could very well lose your job. Hardware and software canalways be replaced, but your data may be irreplaceable!

    Normally one would schedule a hierarchy of daily, weekly and monthly backups,however consult with your users before deciding on a backup schedule. Backupfrequency normally depends on the following factors:

    * Rate of data change/ transaction rate* Database availability/ Can you shutdown for cold backups?* Criticality of the data/ Value of the data to the company* Read-only tablespace needs backing up just once right after you make it read-only

    * If you are running in archivelog mode you can backup parts of a database over anextended cycle of days

    * If archive logging is enabled one needs to backup archived log files timeously toprevent database freezes

    * Etc.

    Carefully plan backup retention periods. Ensure enough backup media (tapes) areavailable and that old backups are expired in-time to make media available for newbackups. Off-site vaulting is also highly recommended.

    Frequently test your ability to recover and document all possible scenarios. Remember,it's the little things that will get you. Most failed recoveries are a result of organizationalerrors and miscommunication.

    2. What strategies are available for backing-up an Oracle database?The following methods are valid for backing-up an Oracle database:

  • 7/27/2019 162922963 DBA Interview Questions

    30/184

    * Export/Import - Exports are "logical" database backups in that they extract logicaldefinitions and data from the database to a file. See the Import/ Export FAQ for moredetails.

    * Cold or Off-line Backups - shut the database down and backup up ALL data, log,

    and control files.

    * Hot or On-line Backups - If the database is available and in ARCHIVELOG mode,set the tablespaces into backup mode and backup their files. Also remember to backupthe control files and archived redo log files.

    * RMAN Backups - while the database is off-line or on-line, use the "rman" utility tobackup the database.

    It is advisable to use more than one of these methods to backup your database. Forexample, if you choose to do on-line database backups, also cover yourself by doingdatabase exports. Also test ALL backup and recovery scenarios carefully. It is better tobe safe than sorry.

    Regardless of your strategy, also remember to backup all required software libraries,parameter files, password files, etc. If your database is in ARCHIVELOG mode, you alsoneed to backup archived log files.

    3. What is the difference between online and offline backups?

    A hot (or on-line) backup is a backup performed while the database is open and

    available for use (read and write activity). Except for Oracle exports, one can only doon-line backups when the database is ARCHIVELOG mode.

    A cold (or off-line) backup is a backup performed while the database is off-line andunavailable to its users. Cold backups can be taken regardless if the database is in

    ARCHIVELOG or NOARCHIVELOG mode.

    It is easier to restore from off-line backups as no recovery (from archived logs) wouldbe required to make the database consistent. Nevertheless, on-line backups are lessdisruptive and don't require database downtime.

    Point-in-time recovery (regardless if you do on-line or off-line backups) is only availablewhen the database is in ARCHIVELOG mode.

    4.What is the difference between restoring and recovering?Restoring involves copying backup files from secondary storage (backup media) to

    disk. This can be done to replace damaged files or to copy/move a database to a newlocation.

  • 7/27/2019 162922963 DBA Interview Questions

    31/184

    Recovery is the process of applying redo logs to the database to roll it forward. Onecan roll-forward until a specific point-in-time (before the disaster occurred), or roll-forward until the last transaction recorded in the log files.

    SQL> connect SYS as SYSDBA

    SQL> RECOVER DATABASE UNTIL TIME '2001-03-06:16:00:00' USING BACKUPCONTROLFILE;

    RMAN> run {set until time to_date('04-Aug-2004 00:00:00', 'DD-MON-YYYY HH24:MI:SS');restore database;recover database;

    }

    5. My database is down and I cannot restore. What now?This is probably not the appropriate time to be sarcastic, but, recovery without backups

    are not supported. You know that you should have tested your recovery strategy, andthat you should always backup a corrupted database before attempting torestore/recover it.

    Nevertheless, Oracle Consulting can sometimes extract data from an offline databaseusing a utility called DUL (Disk UnLoad - Life is DUL without it!). This utility reads datain the data files and unloads it into SQL*Loader or export dump files. Hopefully you'llthen be able to load the data into a working database.

    Note that DUL does not care about rollback segments, corrupted blocks, etc, and can

    thus not guarantee that the data is not logically corrupt. It is intended as an absolutelast resort and will most likely cost your company a lot of money!

    DUDE (Database Unloading by Data Extraction) is another non-Oracle utility that can beused to extract data from a dead database.

    6. How does one backup a database using the export utility?Oracle exports are "logical" database backups (not physical) as they extract data and

    logical definitions from the database into a file. Other backup strategies normally back-up the physical data files.

    One of the advantages of exports is that one can selectively re-import tables, howeverone cannot roll-forward from an restored export. To completely restore a database froman export file one practically needs to recreate the entire database.

    Always do full system level exports (FULL=YES). Full exports include more informationabout the database in the export file than user level exports. For more informationabout the Oracle export and import utilities, see the Import/ Export FAQ.

  • 7/27/2019 162922963 DBA Interview Questions

    32/184

    7. How does one put a database into ARCHIVELOG mode?The main reason for running in archivelog mode is that one can provide 24-houravailability and guarantee complete data recoverability. It is also necessary to enable

    ARCHIVELOG mode before one can start to use on-line database backups.

    Issue the following commands to put a database into ARCHIVELOG mode:

    SQL> CONNECT sys AS SYSDBASQL> STARTUP MOUNT EXCLUSIVE;SQL> ALTER DATABASE ARCHIVELOG;SQL> ARCHIVE LOG START;SQL> ALTER DATABASE OPEN;

    Alternatively, add the above commands into your database's startup command script,and bounce the database.

    The following parameters needs to be set for databases in ARCHIVELOG mode:

    log_archive_start = TRUElog_archive_dest_1 = 'LOCATION=/arch_dir_name'log_archive_dest_state_1 = ENABLElog_archive_format = %d_%t_%s.arc

    NOTE 1: Remember to take a baseline database backup right after enabling archivelogmode. Without it one would not be able to recover. Also, implement an archivelog

    backup to prevent the archive log directory from filling-up.

    NOTE 2:' ARCHIVELOG mode was introduced with Oracle 6, and is essential fordatabase point-in-time recovery. Archiving can be used in combination with on-line andoff-line database backups.

    NOTE 3: You may want to set the following INIT.ORA parameters when enablingARCHIVELOG mode: log_archive_start=TRUE, log_archive_dest=..., andlog_archive_format=...

    NOTE 4: You can change the archive log destination of a database on-line with the

    ARCHIVE LOG START TO 'directory'; statement. This statement is often used to switcharchiving between a set of directories.

    NOTE 5: When running Oracle Real Application Clusters (RAC), you need to shut downall nodes before changing the database to ARCHIVELOG mode. See the RAC FAQ formore details.[edit] I've lost an archived/online REDO LOG file, can I get my DB back?

  • 7/27/2019 162922963 DBA Interview Questions

    33/184

    The following INIT.ORA/SPFILE parameter can be used if your current redologs arecorrupted or blown away. It may also be handy if you do database recovery and one ofthe archived log files are missing and cannot be restored.

    NOTE: Caution is advised when enabling this parameter as you might end-up losingyour entire database. Please contact Oracle Support before using it.

    _allow_resetlogs_corruption = true

    This should allow you to open the database. However, after using this parameter yourdatabase will be inconsistent (some committed transactions may be lost or partiallyapplied).

    Steps:

    * Do a "SHUTDOWN NORMAL" of the database* Set the above parameter* Do a "STARTUP MOUNT" and "ALTER DATABASE OPEN RESETLOGS;"* If the database asks for recovery, use an UNTIL CANCEL type recovery and apply

    all available archive and on-line redo logs, then issue CANCEL and reissue the "ALTERDATABASE OPEN RESETLOGS;" command.

    * Wait a couple of minutes for Oracle to sort itself out* Do a "SHUTDOWN NORMAL"* Remove the above parameter!* Do a database "STARTUP" and check your ALERT.LOG file for errors.

    * Extract the data and rebuild the entire database

    USER MANAGED BACKUP AND RECOVERY

    This section deals with user managed, or non-RMAN backups.

    1. How does one do off-line database backups?

    Shut down the database from sqlplus or server manager. Backup all files to secondarystorage (eg. tapes). Ensure that you backup all data files, all control files and all log

    files. When completed, restart your database.

    Do the following queries to get a list of all files that needs to be backed up:

    select name from sys.v_$datafile;select member from sys.v_$logfile;select name from sys.v_$controlfile;

  • 7/27/2019 162922963 DBA Interview Questions

    34/184

    Sometimes Oracle takes forever to shutdown with the "immediate" option. Asworkaround to this problem, shutdown using these commands:

    alter system checkpoint;

    shutdown abortstartup restrictshutdown immediate

    Note that if your database is in ARCHIVELOG mode, one can still use archived log filesto roll forward from an off-line backup. If you cannot take your database down for acold (off-line) backup at a convenient time, switch your database into ARCHIVELOGmode and perform hot (on-line) backups.

    2.How does one do on-line database backups?

    Each tablespace that needs to be backed-up must be switched into backup mode beforecopying the files out to secondary storage (tapes). Look at this simple example.

    ALTER TABLESPACE xyz BEGIN BACKUP;! cp xyzFile1 /backupDir/

    ALTER TABLESPACE xyz END BACKUP;

    It is better to backup tablespace for tablespace than to put all tablespaces in backupmode. Backing them up separately incurs less overhead. When done, remember tobackup your control files. Look at this example:

    ALTER SYSTEM SWITCH LOGFILE; -- Force log switch to update control fileheaders

    ALTER DATABASE BACKUP CONTROLFILE TO '/backupDir/control.dbf';

    NOTE: Do not run on-line backups during peak processing periods. Oracle will writecomplete database blocks instead of the normal deltas to redo log files while in backupmode. This will lead to excessive database archiving and even database freezes.

    3. My database was terminated while in BACKUP MODE, do I need torecover?

    If a database was terminated while one of its tablespaces was in BACKUP MODE(ALTER TABLESPACE xyz BEGIN BACKUP;), it will tell you that media recovery isrequired when you try to restart the database. The DBA is then required to recover thedatabase and apply all archived logs to the database. However, from Oracle 7.2, onecan simply take the individual datafiles out of backup mode and restart the database.

    ALTER DATABASE DATAFILE '/path/filename' END BACKUP;

  • 7/27/2019 162922963 DBA Interview Questions

    35/184

    One can select from V$BACKUP to see which datafiles are in backup mode. Thisnormally saves a significant amount of database down time. See script end_backup2.sqlin the Scripts section of this site.

    From Oracle9i onwards, the following command can be used to take all of the datafilesout of hotbackup mode:

    ALTER DATABASE END BACKUP;

    This command must be issued when the database is mounted, but not yet opened.

    4.Does Oracle write to data files in begin/hot backup mode?

    When a tablespace is in backup mode, Oracle will stop updating its file headers, but willcontinue to write to the data files.

    When in backup mode, Oracle will write complete changed blocks to the redo log files.Normally only deltas (change vectors) are logged to the redo logs. This is done toenable reconstruction of a block if only half of it was backed up (split blocks). Becauseof this, one should notice increased log activity and archiving during on-line backups.

    To solve this problem, simply switch to RMAN backups.

    RMAN BACKUP AND RECOVERY

    This section deals with RMAN backups:

    1. What is RMAN and how does one use it?

    Recovery Manager (or RMAN) is an Oracle provided utility for backing-up, restoring andrecovering Oracle Databases. RMAN ships with the database server and doesn't requirea separate installation. The RMAN executable is located in your ORACLE_HOME/bindirectory.

    In fact RMAN, is just a Pro*C application that translates commands to a PL/SQL

    interface. The PL/SQL calls are stallically linked into the Oracle kernel, and does notrequire the database to be opened (mapped from the ?/rdbms/admin/recover.bsq file).

    RMAN can do off-line and on-line database backups. It cannot, however, write directlyto tape, but various 3rd-party tools (like Veritas, Omiback, etc) can integrate with RMANto handle tape library management.

  • 7/27/2019 162922963 DBA Interview Questions

    36/184

    RMAN can be operated from Oracle Enterprise Manager, or from command line. Hereare the command line arguments:

    Argument Value Description-----------------------------------------------------------------------------

    target quoted-string connect-string for target databasecatalog quoted-string connect-string for recovery catalognocatalog none if specified, then no recovery catalogcmdfile quoted-string name of input command filelog quoted-string name of output message log filetrace quoted-string name of output debugging message log fileappend none if specified, log is opened in append modedebug optional-args activate debuggingmsgno none show RMAN-nnnn prefix for all messagessend quoted-string send a command to the media managerpipe string building block for pipe namestimeout integer number of seconds to wait for pipe input-----------------------------------------------------------------------------

    Here is an example:

    [oracle@localhost oracle]$ rmanRecovery Manager: Release 10.1.0.2.0 - ProductionCopyright (c) 1995, 2004, Oracle. All rights reserved.

    RMAN> connect target;

    connected to target database: ORCL (DBID=1058957020)

    RMAN> backup database;...

    2. How does one backup and restore a database using RMAN?

    The biggest advantage of RMAN is that it only backup used space in the database.RMAN doesn't put tablespaces in backup mode, saving on redo generation overhead.RMAN will re-read database blocks until it gets a consistent image of it. Look at this

    simple backup example.

    rman target sys/*** nocatalogrun {allocate channel t1 type disk;backupformat '/app/oracle/backup/%d_t%t_s%s_p%p'

  • 7/27/2019 162922963 DBA Interview Questions

    37/184

    (database);release channel t1;

    }

    Example RMAN restore:

    rman target sys/*** nocatalogrun {allocate channel t1 type disk;# set until time 'Aug 07 2000 :51';restore tablespace users;recover tablespace users;release channel t1;

    }

    The examples above are extremely simplistic and only useful for illustrating basicconcepts. By default Oracle uses the database controlfiles to store information aboutbackups. Normally one would rather setup a RMAN catalog database to store RMANmetadata in. Read the Oracle Backup and Recovery Guide before implementing anyRMAN backups.

    Note: RMAN cannot write image copies directly to tape. One needs to use a third-partymedia manager that integrates with RMAN to backup directly to tape. Alternatively onecan backup to disk and then manually copy the backups to tape.

    3. How does one backup and restore archived log files?

    One can backup archived log files using RMAN or any operating system backup utility.Remember to delete files after backing them up to prevent the archive log directoryfrom filling up. If the archive log directory becomes full, your database will hang! Lookat this simple RMAN backup scripts:

    RMAN> run {2> allocate channel dev1 type disk;3> backup4> format '/app/oracle/archback/log_%t_%sp%p'5> (archivelog all delete input);

    6> release channel dev1;7> }

    The "delete input" clause will delete the archived logs as they are backed-up.

    List all archivelog backups for the past 24 hours:

  • 7/27/2019 162922963 DBA Interview Questions

    38/184

    RMAN> LIST BACKUP OF ARCHIVELOG FROM TIME 'sysdate-1';

    Here is a restore example:

    RMAN> run {

    2> allocate channel dev1 type disk;3> restore (archivelog low logseq 78311 high logseq 78340 thread 1 all);4> release channel dev1;5> }

    4. How does one create a RMAN recovery catalog?

    Start by creating a database schema (usually called rman). Assign an appropriatetablespace to it and grant it the recovery_catalog_owner role. Look at this example:

    sqlplus sysSQL> create user rman identified by rman;SQL> alter user rman default tablespace tools temporary tablespace temp;SQL> alter user rman quota unlimited on tools;SQL> grant connect, resource, recovery_catalog_owner to rman;SQL> exit;

    Next, log in to rman and create the catalog schema. Prior to Oracle 8i this was done byrunning the catrman.sql script.

    rman catalog rman/rman

    RMAN> create catalog tablespace tools;RMAN> exit;

    You can now continue by registering your databases in the catalog. Look at thisexample:

    rman catalog rman/rman target backdba/backdbaRMAN> register database;

    One can also use the "upgrade catalog;" command to upgrade to a new RMAN release,or the "drop catalog;" command to remove an RMAN catalog. These commands need to

    be entered twice to confirm the operation.

    5. How does one integrate RMAN with third-party Media Managers?

    The following Media Management Software Vendors have integrated their mediamanagement software with RMAN (Oracle Recovery Manager):

  • 7/27/2019 162922963 DBA Interview Questions

    39/184

    * Veritas NetBackup - http://www.veritas.com/* EMC Data Manager (EDM) - http://www.emc.com/* HP OMNIBack/ DataProtector - http://www.hp.com/* IBM's Tivoli Storage Manager (formerly ADSM) - http://www.tivoli.com/storage/* EMC Networker - http://www.emc.com/

    * BrightStor ARCserve Backup - http://www.ca.com/us/data-loss-prevention.aspx* Sterling Software's SAMS:Alexandria (formerly from Spectralogic) -

    http://www.sterling.com/sams/* SUN's Solstice Backup - http://www.sun.com/software/whitepapers/backup-n-

    storage/* CommVault Galaxy - http://www.commvault.com/* etc...

    The above Media Management Vendors will provide first line technical support (andinstallation guides) for their respective products.

    A complete list of supported Media Management Vendors can be found at:http://www.oracle.com/technology/deploy/availability/htdocs/bsp.htm

    When allocating channels one can specify Media Management spesific parameters. Hereare some examples:

    Netbackup on Solaris:

    allocate channel t1 type'SBT_TAPE' PARMS='SBT_LIBRARY=/usr/openv/netbackup/bin/libobk.so.1';

    Netbackup on Windows:

    allocate channel t1 type 'SBT_TAPE' send "NB_ORA_CLIENT=client_machine_name";

    Omniback/ DataProtector on HP-UX:

    allocate channel t1 type 'SBT_TAPE' PARMS='SBT_LIBRARY=/opt/omni/lib/libob2oracle8_64bit.sl';

    or:

    allocate channel 'dev_1' type 'sbt_tape' parms'ENV=OB2BARTYPE=Oracle8,OB2APPNAME=orcl,OB2BARLIST=machinename_orcl_archlogs)';

    6. How does one clone/duplicate a database with RMAN?

  • 7/27/2019 162922963 DBA Interview Questions

    40/184

    The first step to clone or duplicate a database with RMAN is to create a new INIT.ORAand password file (use the orapwd utility) on the machine you need to clone thedatabase to. Review all parameters and make the required changed. For example, setthe DB_NAME parameter to the new database's name.

    Secondly, you need to change your environment variables, and do a STARTUPNOMOUNT from sqlplus. This database is referred to as the AUXILIARY in the scriptbelow.

    Lastly, write a RMAN script like this to do the cloning, and call it with "rman cmdfiledupdb.rcv":

    connect target sys/secure@origdbconnect catalog rman/rman@catdbconnect auxiliary /

    run {set newname for datafile 1 to '/ORADATA/u01/system01.dbf';set newname for datafile 2 to '/ORADATA/u02/undotbs01.dbf';set newname for datafile 3 to '/ORADATA/u03/users01.dbf';set newname for datafile 4 to '/ORADATA/u03/indx01.dbf';set newname for datafile 5 to '/ORADATA/u02/example01.dbf';

    allocate auxiliary channel dupdb1 type disk;set until sequence 2 thread 1;

    duplicate target database to dupdblogfileGROUP 1 ('/ORADATA/u02/redo01.log') SIZE 200k REUSE,GROUP 2 ('/ORADATA/u03/redo02.log') SIZE 200k REUSE;

    }

    The above script will connect to the "target" (database that will be cloned), therecovery catalog (to get backup info), and the auxiliary database (new duplicate DB).Previous backups will be restored and the database recovered to the "set until time"specified in the script.

    Notes: the "set newname" commands are only required if your datafile names willdifferent from the target database.

    The newly cloned DB will have its own unique DBID.7. Can one restore RMAN backups without a CONTROLFILE and RECOVERYCATALOG?

  • 7/27/2019 162922963 DBA Interview Questions

    41/184

    Details of RMAN backups are stored in the database control files and optionally aRecovery Catalog. If both these are gone, RMAN cannot restore the database. In such asituation one must extract a control file (or other files) from the backup pieces writtenout when the last backup was taken. Let's look at an example:

    Let's take a backup (partial in our case for ilustrative purposes):

    $ rman target / nocatalogRecovery Manager: Release 10.1.0.2.0 - 64bit ProductionCopyright (c) 1995, 2004, Oracle. All rights reserved.

    connected to target database: ORCL (DBID=1046662649)using target database controlfile instead of recovery catalog

    RMAN> backup datafile 1;

    Starting backup at 20-AUG-04allocated channel: ORA_DISK_1channel ORA_DISK_1: sid=146 devtype=DISKchannel ORA_DISK_1: starting full datafile backupsetchannel ORA_DISK_1: specifying datafile(s) in backupsetinput datafile fno=00001 name=/oradata/orcl/system01.dbfchannel ORA_DISK_1: starting piece 1 at 20-AUG-04channel ORA_DISK_1: finished piece 1 at 20-AUG-04piece handle=

    /flash_recovery_area/ORCL/backupset/2004_08_20/o1_mf_nnndf_TAG20040820T1532

    56_0lczd9tf_.bkp comment=NONEchannel ORA_DISK_1: backup set complete, elapsed time: 00:00:45channel ORA_DISK_1: starting full datafile backupsetchannel ORA_DISK_1: specifying datafile(s) in backupsetincluding current controlfile in backupsetincluding current SPFILE in backupsetchannel ORA_DISK_1: starting piece 1 at 20-AUG-04channel ORA_DISK_1: finished piece 1 at 20-AUG-04piece handle=

    /flash_recovery_area/ORCL/backupset/2004_08_20/o1_mf_ncsnf_TAG20040820T153256_0lczfrx8_.bkp comment=NONE

    channel ORA_DISK_1: backup set complete, elapsed time: 00:00:04Finished backup at 20-AUG-04[/code]

    Now, let's destroy one of the control files:

    SQL> show parameters CONTROL_FILESNAME TYPE VALUE

  • 7/27/2019 162922963 DBA Interview Questions

    42/184

    ------------------------------------ ----------- ------------------------------control_files string /oradata/orcl/control01.ctl,

    /oradata/orcl/control02.ctl,/oradata/orcl/control03.ctl

    SQL> shutdown abort;

    ORACLE instance shut down.SQL> ! mv /oradata/orcl/control01.ctl /tmp/control01.ctl

    Now, let's see if we can restore it. First we need to start the databaase inNOMOUNT mode:

    SQL> startup NOMOUNTORACLE instance started.

    Total System Global Area 289406976 bytesFixed Size 1301536 bytes

    Variable Size 262677472 bytesDatabase Buffers 25165824 bytesRedo Buffers 262144 bytes

    Now, from SQL*Plus, run the following PL/SQL block to restore the file:

    DECLAREv_devtype VARCHAR2(100);v_done BOOLEAN;v_maxPieces NUMBER;

    TYPE t_pieceName IS TABLE OF varchar2(255) INDEX BY binary_integer;v_pieceName t_pieceName;

    BEGIN-- Define the backup pieces... (names from the RMAN Log file)v_pieceName(1) :=

    '/flash_recovery_area/ORCL/backupset/2004_08_20/o1_mf_ncsnf_TAG20040820T153256_0lczfrx8_.bkp';v_pieceName(2) :=

    '/flash_recovery_area/ORCL/backupset/2004_08_20/o1_mf_nnndf_TAG20040820T153256_0lczd9tf_.bkp';

    v_maxPieces := 2;

    -- Allocate a channel... (Use type=>null for DISK, type=>'sbt_tape' for TAPE)v_devtype := DBMS_BACKUP_RESTORE.deviceAllocate(type=>NULL, ident=>'d1');

    -- Restore the first Control File...DBMS_BACKUP_RESTORE.restoreSetDataFile;

  • 7/27/2019 162922963 DBA Interview Questions

    43/184

    -- CFNAME mist be the exact path and filename of a controlfile taht was backed-upDBMS_BACKUP_RESTORE.restoreControlFileTo(cfname=>'/app/oracle/oradata/orcl/co

    ntrol01.ctl');

    dbms_output.put_line('Start restoring '||v_maxPieces||' pieces.');FOR i IN 1..v_maxPieces LOOPdbms_output.put_line('Restoring from piece '||v_pieceName(i));DBMS_BACKUP_RESTORE.restoreBackupPiece(handle=>v_pieceName(i),

    done=>v_done, params=>null);exit when v_done;

    END LOOP;

    -- Deallocate the channel...DBMS_BACKUP_RESTORE.deviceDeAllocate('d1');

    EXCEPTIONWHEN OTHERS THEN

    DBMS_BACKUP_RESTORE.deviceDeAllocate;RAISE;

    END;/

    Let's see if the controlfile was restored:

    SQL> ! ls -l /oradata/orcl/control01.ctl-rw-r----- 1 oracle dba 3096576 Aug 20 16:45 /oradata/orcl/control01.ctl[/code]

    We should now be able to MOUNT the database and continue recovery...

    SQL> ! cp /oradata/orcl/control01.ctl /oradata/orcl/control02.ctl

    SQL> ! cp /oradata/orcl/control01.ctl /oradata/orcl/control03.ctl

    SQL> alter database mount;

    SQL> recover database using backup controlfile;ORA-00279: change 7917452 generated at 08/20/2004 16:40:59 needed for thread 1

    ORA-00289: suggestion :/flash_recovery_area/ORCL/archivelog/2004_08_20/o1_mf_1_671_%u_.arcORA-00280: change 7917452 for thread 1 is in sequence #671

    Specify log: {=suggested | filename | AUTO | CANCEL}/oradata/orcl/redo02.logLog applied.

  • 7/27/2019 162922963 DBA Interview Questions

    44/184

    Media recovery complete.

    Database altered.

    SQL> alter database open resetlogs;

    Database altered.

    DBA Professional focused Interview Questions-Answers:

    1. Explain the difference between a hot backup and a cold backup and the benefits

    associated with each.?

    A hot backup is basically taking a backup of the database while it is still up and running and

    it must be in archive log mode. A cold backup is taking a backup of the database while it isshut down and does not require being in archive log mode. The benefit of taking a hot

    backup is that the database is still available for use while the backup is occurring and you

    can recover the database to any point in time. The benefit of taking a cold backup is that it

    is typically easier to administer the backup and recovery process. In addition, since you are

    taking cold backups the database does not require being in archive log mode and thus

    there will be a slight performance gain as the database is not cutting archive logs to disk.

    2. You have just had to restore from backup and do not have any control files. How would

    you go about bringing up this database?

    I would create a text based backup control file, stipulating where on disk all the data files

    where and then issue the recover command with the using backup control file clause.

    3. How do you switch from an init.ora file to a spfile?

    Issue the create spfile from pfile command.

    4. Explain the difference between a data block, an extent and a segment.?

    A data block is the smallest unit of logical storage for a database object. As objects grow

    they take chunks of additional storage that are composed of contiguous data blocks. These

    groupings of contiguous data blocks are called extents. All the extents that an object takes

    when grouped together are considered the segment of the database object.

    5. Give two examples of how you might determine the structure of the table DEPT.?

    Use the describe command or use the dbms_metadata.get_ddl package.

    6. Where would you look for errors from the database