Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
29 views

Oracle Architecture Q&A

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views

Oracle Architecture Q&A

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

‭1. What is difference between oracle SID and Oracle service name?

‭ racle SID is the unique name that uniquely identifies your instance/database where as the‬
O
‭service name is the TNS alias can be same or different as SID.‬

‭ . What are the steps to install oracle on Linux system? List two kernel parameter that effect‬
2
‭oracle installation?‬

I‭nitially set up disks and kernel parameters, then create oracle user and DBA group, and finally‬
‭run installer to start the installation process. The SHMMAX & SHMMNI two kernel parameter‬
‭required to set before installation process.‬

‭ . What are bind variables?‬


3
‭With bind variable in SQL, oracle can cache queries in a single time in the SQL cache area.‬
‭This avoids a hard parse each time, which saves on various locking and latching resource we‬
‭use to check object existence and so on.‬

‭4. What is the difference between data block/extent/segment?‬

‭ data block is the smallest unit of logical storage for a database object. As objects grow they‬
A
‭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. What is the difference between PGA and UGA?‬

‭ hen you are running dedicated server then process information stored inside the process‬
W
‭global area (PGA) and when you are using shared server then the process information stored‬
‭inside user global area (UGA).‬

‭6. What is SGA? Define structure of shared pool component of SGA?‬

‭ he system global area is a group of shared memory area that is dedicated to oracle instance.‬
T
‭All oracle process uses the SGA to hold information. The SGA is used to store incoming data‬
‭and internal control information that is needed by the database. You can control the SGA‬
‭memory by setting the parameter db_cache_size, shared_pool_size and log_buffer.‬

‭ hared pool portion contain three major area:‬


S
‭Library cache (parse SQL statement, cursor information and execution plan),‬
‭data dictionary cache (contain cache, user account information, privilege user information,‬
‭segments and extent information,‬
‭data buffer cache for parallel execution message and control structure.‬
‭7. What is the difference between SMON and PMON processes?‬

‭ MON (System Monitor) performs recovery after instance failure, monitor temporary segments‬
S
‭and extents; clean temp segment, coalesce free space. It is mandatory process of DB and starts‬
‭by default.‬
‭PMON (Process Monitor) failed process resources. In shared server architecture monitor and‬
‭restarts any failed dispatcher or server process. It is mandatory process of DB and starts by‬
‭default.‬

‭8. What is a system change number (SCN)?‬

‭ CN is a value that is incremented whenever a dirty read occurs.‬


S
‭SCN is incremented whenever a deadlock occurs.‬
‭SCN is a value that keeps track of explicit locks.‬
‭SCN is a value that is incremented whenever database changes are made.‬

‭ . What is the main purpose of ‘CHECKPOINT’ in oracle database? How do you automatically‬
9
‭force the oracle to perform a checkpoint?‬

‭ checkpoint is a database event, which synchronize the database blocks in memory with the‬
A
‭datafiles on disk. It has two main purposes: To establish a data consistency and enable faster‬
‭database Recovery.‬

‭ he following are the parameter that will be used by DBA to adjust time or interval of how‬
T
‭frequently its checkpoint should occur in database.‬
‭LOG_CHECKPOINT_TIMEOUT = 3600; # Every one hour‬
‭LOG_CHECKPOINT_INTERVAL = 1000; # number of OS blocks.‬

‭10. What happens when we fire SQL statement in Oracle?‬

‭ irst it will check the syntax and semantics in library cache, after that it will create execution‬
F
‭plan.‬
‭If already data is in buffer cache it will directly return to the client.‬
‭If not it will fetch the data from datafiles and write to the database buffer cache after that it will‬
‭send server and finally server send to the client.‬

‭11. What is the use of large pool, which case you need to set the large pool?‬

‭ ou need to set large pool if you are using: MTS (Multi thread server) and RMAN Backups.‬
Y
‭Large pool prevents RMAN & MTS from competing with other sub system for the same memory.‬
‭RMAN uses the large pool for backup & restore when you set the DBWR_IO_SLAVES or‬
‭BACKUP_TAPE_IO_SLAVES parameters to simulate asynchronous I/O. If neither of these‬
‭parameters is enabled, then Oracle allocates backup buffers from local process memory rather‬
‭than shared memory. Then there is no use of large pool.‬
‭12. What does database do during the mounting process?‬

‭ hile mounting the database oracle reads the data from controlfile which is used for verifying‬
W
‭physical database files during sanity check. Background processes are started before mounting‬
‭the database only.‬

‭13. What are logfile states?‬

“‭ CURRENT” state means that redo records are currently being written to that group. It will be‬
‭until a log switch occurs. At a time there can be only one redo group current.‬
‭If a redo group containing redo’s of a dirty buffer that redo group is said to be ‘ACTIVE’ state. As‬
‭we know log file keep changes made to the data blocks then data blocks are modified in buffer‬
‭cache (dirty blocks). These dirty blocks must be written to the disk (RAM to permanent media).‬
‭And when a redolog group contains no redo records belonging to a dirty buffer it is in an‬
‭"INACTIVE" state. These inactive redolog can be overwritten.‬
‭One more state ‘UNUSED’ initially when you create new redo log group its log file is empty on‬
‭that time it is unused. Later it can be any of the above mentioned state.‬

‭14. What is log switch?‬

‭ he point at which oracle ends writing to one online redo log file and begins writing to another is‬
T
‭called a log switch. Sometimes you can force the log switch.‬
‭ALTER SYSTEM SWITCH LOGFILE;‬
‭How to check Oracle database version?‬
‭SQL> Select * from v$version;‬

‭15. Explain Oracle Architecture?‬

‭ racle Instance:‬
O
‭a means to access an Oracle database,always opens one and only one database and consists‬
‭of memory structures and background process.‬
‭Oracle server:‬
‭a DBMS that provides an open, comprehensive, integrated approach to information‬
‭management,Consists of an Instance and a database.‬
‭Oracle database:‬
‭a collection of data that is treated as a unit,Consists of Datafiles, Control files, Redo log files.‬
‭(optional param file, passwd file, archived log)‬

‭Instance memory Structures:‬

‭ ystem Global Area (SGA):‬


S
‭Allocated at instance startup, and is a fundamental component of an Oracle Instance.‬
‭ GA Memory structures:‬
S
‭Includes Shared Pool, Database Buffer Cache, Redo Log Buffer among others.‬
‭Shared Pool :‬
‭Consists of two key performance-related memory structures Library Cache and Data Dictionary‬
‭Cache.‬
‭Library Cache:‬
‭Stores information about the most recently used SQL and PL/SQL statements and enables the‬
‭sharing of commonly used statements.‬
‭Data Dictionary Cache :‬
‭Stores collection of the most recently used definitions in the database Includes db files, tables,‬
‭indexes, columns etc. Improves perf. During the parse phase, the server process looks at the‬
‭data dictionary for information to resolve object names and validate access.‬
‭Database Buffer Cache:‬
‭Stores copies of data blocks that have been retrieved from the datafiles. Everything done here.‬
‭Redo Log Buffer :‬
‭Records all changes made to the database data blocks, Primary purpose is recovery. Redo‬
‭entries contain information to reconstruct or redo changes.‬
‭User process:‬
‭Started at the time a database User requests connection to the Oracle server. requests‬
‭interaction with the Oracle server, does not interact directly with the Oracle server.‬
‭Server process:‬
‭Connects to the Oracle Instance and is Started when a user establishes a session.‬
‭fulfills calls generated and returns results.‬
‭Each server process has its own nonshared PGA when the process is started.‬
‭Server Process Parses and run SQL statements issued through the application, Reads‬
‭necessary data blocks from datafiles on disk into the shared database buffers of the SGA, if the‬
‭blocks are not already present in the SGA and Return results in such a way that the application‬
‭can process the information.‬
‭In some situations when the application and Oracle Database operate on the same computer, it‬
‭is possible to combine the user process and corresponding server process into a single process‬
‭to reduce system overhead.‬
‭Program Global Area (PGA):‬
‭Memory area used by a single Oracle server process.‬
‭Allocated when the server process is started, deallocated when the process is terminated and‬
‭used by only one process.‬
‭Used to process SQL statements and to hold logon and other session information.‬

‭ ackground processes:‬
B
‭Started when an Oracle Instance is started.‬
‭Background Processes Maintains and enforces relationships between physical and memory‬
‭structures‬
‭There are two types of database processes:‬
‭1. Mandatory background processes‬
‭.
2 Optional background processes‬
‭Mandatory background processes:‬
‭– DBWn, PMON, CKPT, LGWR, SMON‬
‭Optional background processes:‬
‭– ARCn, LMDn, RECO, CJQ0, LMON, Snnn, Dnnn, Pnnn, LCKn, QMNn‬
‭DBWn writes when:‬
‭• Checkpoint occurs‬
‭• Dirty buffers reach threshold‬
‭• There are no free buffers‬
‭• Timeout occurs‬
‭• RAC ping request is made‬
‭• Tablespace OFFLINE‬
‭• Tablespace READ ONLY‬
‭• Table DROP or TRUNCATE‬
‭• Tablespace BEGIN BACKUP‬
‭Log Writer (LGWR) writes:‬
‭• At commit‬
‭• When 1/3rd full‬
‭• When there is 1 MB of redo‬
‭• Every 3 seconds‬
‭• Before DBWn writes‬

‭ ystem Monitor (SMON) Responsibilities:‬


S
‭• Instance recovery‬
‭– Rolls forward changes in redo logs‬
‭– Opens database for user access‬
‭– Rolls back uncommitted transactions‬
‭• Coalesces free space‬
‭• Deallocates temporary segments.‬
‭Process Monitor (PMON) Cleans up after failed processes by:‬
‭• Rolling back the transaction‬
‭• Releasing locks‬
‭• Releasing other resources‬
‭• Restarting dead dispatchers‬
‭Checkpoint (CKPT) Responsible for:‬
‭• Signaling DBWn at checkpoints‬
‭• Updating datafile headers with checkpoint information‬
‭• Updating control files with checkpoint information‬
‭Archiver (ARCn)‬
‭• Optional background process‬
‭• Automatically archives online redo logs when ARCHIVELOG mode is set‬
‭• Preserves the record of all changes made to the database‬
‭16. Why do you run orainstRoot and ROOT.SH once you finalize the Installation?‬

‭ rainstRoot.sh needs to be run to change the Permissions and groupname to 770 and to dba.‬
o
‭Root.sh (ORACLE_HOME) location needs to be run to create a ORATAB in /etc/oratab or‬
‭/opt/var/oratab in Solaris and to copy dbhome, oraenv and coraenv to /usr/local/bin.‬
‭orainstRoot.sh‬
‭[root@oracle11g ~]# /u01/app/oraInventory/orainstRoot.sh‬
‭Changing permissions of /u01/app/oraInventory to 770.‬
‭Changing groupname of /u01/app/oraInventory to dba.‬
‭The execution of the script is complete‬
‭root.sh‬
‭[root@oracle11g ~]# /u01/app/oracle/product/11.1.0/db_1/root.sh‬
‭Running Oracle 11g root.sh script...‬
‭The following environment variables are set as:‬
‭ORACLE_OWNER= oracle‬
‭ORACLE_HOME= /u01/app/oracle/product/11.1.0/db_1‬
‭Enter the full pathname of the local bin directory: [/usr/local/bin]:‬
‭Copying dbhome to /usr/local/bin ...‬
‭Copying oraenv to /usr/local/bin ...‬
‭Copying coraenv to /usr/local/bin ...‬
‭Creating /etc/oratab file...‬
‭Entries will be added to the /etc/oratab file as needed by‬
‭Database Configuration Assistant when a database is created‬
‭Finished running generic part of root.sh script.‬
‭Now product-specific root actions will be performed.‬
‭Finished product-specific root actions.‬
‭For Oracle installation on unix/linux, we will be prompted to run a script 'root.sh' from the oracle‬
‭inventory directory.this script needs to run the first time only when any oracle product is installed‬
‭on the server.‬

‭17. Oracle Database 11g New Feature for DBAs?‬

‭ ) Automatic Diagnostic Repository [ADR]‬


1
‭2) Database Replay‬
‭3) Automatic Memory Tuning‬
‭4) Case sensitive password‬
‭5) Virtual columns and indexes‬
‭6) Interval Partition and System Partition‬
‭7) The Result Cache‬
‭8) ADDM RAC Enhancements‬
‭9) SQL Plan Management and SQL Plan Baselines‬
‭10) SQL Access Advisor & Partition Advisor‬
‭11) SQL Query Repair Advisor‬
‭ 2) SQL Performance Analyzer (SPA) New‬
1
‭13) DBMS_STATS Enhancements‬
‭14) The Result Cache‬
‭15) Total Recall (Flashback Data Archive)‬
‭Note: The above are only top new features, there are other features as well introduced in 11g‬
‭which will be included subsequently‬

‭ 8. What is the Difference Between Local Inventory and Global Inventory? What is oraInventory‬
1
‭?‬

‭ raInventory is repository (directory) which store/records oracle software products & their‬
o
‭oracle_homes location on a machine. This Inventory now a days in XML format and called as‬
‭XML Inventory where as in past it used to be in binary format & called as binary Inventory.‬
‭There are basically two kind of inventories,‬
‭One is Local Inventory (also called as Oracle Home Inventory) and other is Global Inventory‬
‭(also called as Central Inventory).‬

‭19. What is Global Inventory ?‬

‭ lobal Inventory holds information about Oracle Products on a Machine. These products can be‬
G
‭various oracle components like database, oracle application server, collaboration suite, soa‬
‭suite, forms & reports or discoverer server . This global Inventory location will be determined by‬
‭file oraInst.loc in /etc (on Linux) or /var/opt/oracle (solaris). If you want to see list of oracle‬
‭products on machine check for file inventory.xml under ContentsXML in oraInventory Please‬
‭note if you have multiple global Inventory on machine check all oraInventory directories)‬
‭You will see entry like‬
‭HOME NAME=”ORA10g_HOME” LOC=”/u01/oracle/10.2.0/db” TYPE=”O” IDX=”1?/‬

‭20. What is Local Inventory ?‬

I‭nventory inside each Oracle Home is called as local Inventory or oracle_home Inventory. This‬
‭Inventory holds information to that oracle_home only.‬

‭21. What is Oracle Home Inventory?‬

‭ racle home inventory or local inventory is present inside each Oracle home. It only contains‬
O
‭information relevant to a particular Oracle home. This file is located in the following location:‬
‭$ORACLE_HOME/inventory‬
‭It contains the following files and folders:‬
‭· Components File‬
‭· Home Properties File‬
‭· Other Folders‬

‭22. Can I have multiple Global Inventory on a machine ?‬


‭ uite common questions is that can you have multiple global Inventory and answer is YES you‬
Q
‭can have multiple global Inventory but if your upgrading or applying patch then change‬
‭Inventory Pointer oraInst.loc to respective location. If you are following single global Inventory‬
‭and if you wish to uninstall any software then remove it from Global Inventory as well.‬

‭23. What to do if my Global Inventory is corrupted ?‬

‭ o need to worry if your global Inventory is corrupted, you can recreate global Inventory on‬
N
‭machine using Universal Installer and attach already Installed oracle home by option‬
‭-attachHome‬
‭./runInstaller -silent -attachHome -invPtrLoc $location_to_oraInst.loc‬
‭ORACLE_HOME=”Oracle_Home_Location” ORACLE_HOME_NAME=”Oracle_Home_Name”‬
‭CLUSTER_NODES=”{}”‬

‭24. What is RESULT Cache?‬

‭11G Backgroung Processes?‬

‭ he following process are added in 11g as new background processes.‬


T
‭1 dbrm DB resource manager‬
‭2 dia0 Diagnosability process‬
‭3 fbda Flashback data archiver process‬
‭4 vktm Virtual Timekeeper‬
‭5 w000 Space Management Co-ordination process‬
‭6 smc0 Space Manager process‬
‭NOTE : The above six are mandatory processes.‬
‭But 11g has 56 new processes added which can be queried using‬

‭ 5. If any one of these 6 mandatory background processes is killed/not running, the instance will‬
2
‭be aborted ?‬

‭ ackground processes are started automatically when the instance is started.‬


B
‭Mandatory background processes are DBWn, LGWR, CKPT, SMON, PMON, and RECO. All‬
‭other processes are optional, will be invoked if that particular feature is activated.‬
‭If any one of these 6 mandatory background processes is killed/not running, the instance will be‬
‭aborted.‬
‭Any issues related to backgroud processes should be monitored and analyzed from the trace‬
‭files generated and the alert log.‬

‭26. Literal Vs. Bind Variables?‬

‭ 7. Select * from emp where dept=10; what level should i configure for better performance‬
2
‭Where Clause .... Literal or Bind Variables? Expalin?‬
‭28. What is a Baseline?‬

‭29. Incarnation? Explain in detail? Where the incarnation information will be stored?‬

‭30. Hard Parse Vs. Soft Parse?‬

‭31. What is semaphores, semaphores?‬

‭32. What is latch?‬

‭33. What is Enqueue?‬

‭34. What is SGA_TARGET and SGA_MAX_SIZE ?‬

You might also like