Professional Documents
Culture Documents
Physical Structure Logical Structure SGA / PGA Background Processes Backup Methods Computer Science Database CS01 Administrative Tasks
Physical Structures
Datafiles (*.dbf)
The datafiles contain all the database data. The data of logical database structures, such as tables and indexes, is physically stored in the datafiles allocated for a database.
Every Oracle database has a control file. A control file contains entries that specify the physical structure of the database such as Database name and the Names and locations of datafiles and redo log files.
The primary function of the redo log is to record all changes made to data. If a failure prevents modified data from being permanently written to the datafiles, then the changes can be obtained from the redo log, so work is never lost.
Oracle automatically archives log files when the database is in ARCHIVELOG mode. This prevents oracle from overwriting the redo log files before they have been safely archived to another location.
Parameter files contain a list of configuration parameters for that instance and database.
Each server and background process can write to an associated trace file. When an internal error is detected by a process, it dumps information about the error to its trace file. The alert log of a database is a chronological log of messages and errors.
Logical Structures
Tablespaces
A database is divided into logical storage units called tablespaces, which group related logical structures together. One or more datafiles are explicitly created for each tablespace to physically store the data of all logical structures in a tablespace.
At the finest level of granularity, Oracle database data is stored in data blocks. One data block corresponds to a specific number of bytes of physical database space on disk. The standard block size is specified by the DB_BLOCK_SIZE initialization parameter.
Extents
The next level of logical database space is an extent. An extent is a specific number of contiguous data blocks, obtained in a single allocation, used to store a specific type of information.
Segments
Above extents, the level of logical database storage is a segment. A segment is a set of extents allocated for a certain logical structure. The different types of segments are :
Data segment stores table data Index segment stores index data Temporary segment temporary space used during SQL execution Rollback Segment stores undo information
Schema Overview
A schema is a collection of database objects. A schema is owned by a database user and has the same name as that user. Schema objects are the logical structures that directly refer to the database's data. Schema objects include structures like tables, views, and indexes.
Oracle Instance
An Oracle database server consists of an Oracle database and an Oracle instance. Every time a database is started, a system global area (SGA) is allocated and Oracle background processes are started. The combination of the background processes and memory buffers is called an Oracle instance.
Database buffers store the most recently used blocks of data. The set of database buffers in an instance is the database buffer cache. The buffer cache contains modified as well as unmodified blocks. Because the most recently (and often, the most frequently) used data is kept in memory, less disk I/O is necessary, and performance is improved.
The redo log buffer stores redo entriesa log of changes made to the database. The redo entries stored in the redo log buffers are written to an online redo log, which is used if database recovery is necessary. The size of the redo log is static.
The shared pool contains shared memory constructs, such as shared SQL areas. A shared SQL area is required to process every unique SQL statement submitted to a database. A shared SQL area contains information such as the parse tree and execution plan for the corresponding statement.
This database background process performs instance recovery at the start of the database. SMON also cleans up temporary segments that are no longer in use and recovers dead transactions skipped during crash and instance recovery because of file-read or offline errors. It coalesces i.e. combines contiguous free extents into larger free extents.
This database background process cleans up failed user processes. PMON is responsible for releasing the lock i.e. cleaning up the cache and freeing resources that the process was using. Its effect can be seen when a process holding a lock is killed.
This background process is responsible for managing the contents of the data block buffer cache and dictionary cache. DBWR performs batch writes of changed block. Since Oracle uses write-ahead logging, DBWR does not need to write blocks when a transaction commits. In the most common case, DBWR writes only when more data needs to be read into the system global area and too few database buffers are free. The least recently used data is written to the datafiles first. Although there is only one SMON and one PMON process running per database instance, one can have multiple DBWR processes running at the same time. Note the number of DBWR processes running is set via the DB_WRITER_PROCESSES.
This background process manages the writing of the contents of the redo log buffer to the online redo log files. LGWR writes the log entries in batch form. The Redo log buffers entries always contain the most up-to-date status of the database.
Archiver - ARCH
The Archiver process reads the redo log files once Oracle has filled them and writes a copy of the used redo log files to the specified archive log destination(s). Actually, for most databases, ARCH has no effect on the overall system performance. On some large database sites, however, archiving can have an impact on system performance.
Checkpoint - CKPT
All modified information in database buffer in the SGA is written to the datafiles by a database write process (DBWR). This event indicates a checkpoint. The checkpoint process is responsible for signaling DBWR at checkpoints and updating all of the datafiles and control files of the database.
Recover - RECO
Job queue processes are used for batch processing. They run user jobs. They can be viewed as a scheduler service that can be used to schedule jobs as PL/SQL statements or procedures on an Oracle instance. Given a start date and an interval, the job queue processes try to run the job at the next occurrence of the interval.
Sun e4500 8GB Ram 8 x 400mhz CPU 32GB Disk for Oracle 4mm DAT DDS3 Tape Backup
SYSTEM holds all system tables INDEX01 user indexes USERS01 user tables USERS02 user tables (faculty) RBS rollback segments
Backup Methods
The only way to make a consistent whole database backup is to shut down the database with the NORMAL, IMMEDIATE, or TRANSACTIONAL options and make the backup while the database is closed. Advantage : No recovery is required after datafiles are restored quicker restore Disadvantage : No access to database during backup time (depends on size/system speed)
If the database must be up and running 24 hours a day, seven days a week, then you have no choice but to perform inconsistent backups of the whole database. A backup of online datafiles is called an online backup. This requires that you run your database in ARCHIVELOG mode. Advantage : Database remains open during backup Disadvantage : Large databases may have performance impact during backup, recovery takes longer and is slightly more complex
Logical backups are exports of schema objects, like tables and stored procedures, into a binary file. Oracle utilities are used to move Oracle schema objects in and out of Oracle. Not recommended for backup of a whole database, but useful for backing up individual objects or schemas or moving data into another database
Administrative Tasks
Daily Checks
Check database availability Check logs / trace files Check free space / resources Check for invalid objects Check for broken jobs Verify backup
Weekly Tasks
Collect statistics (database job) Archive / delete log files Run performance reports (statspack)
Others
Applying patches Database upgrades New Database installations Creating user accounts
More Information
http://www.oracle.com/pls/db102/
http://asktom.oracle.com/ http://www.oracle.com/technology//index.html
http://www.oracle.com/technology/software/index.html
This Document