The System Global Area in an Oracle database is the area in memory to facilitate the transfer of information between users. It holds the most recently requested structural information between users. It holds the most recently requested structural information about the database. The structure is database buffers, dictionary cache, redo log buffer and shared pool area.
What is a shared pool?
The data dictionary cache is stored in an area in SGA called the shared pool. This will allow sharing of parsed SQL statements among concurrent users.
What is mean by Program Global Area (PGA)?
It is area in memory that is used by a single Oracle user process.
What is a data segment?
Data segment are the physical areas within a database block in which the data associated with tables and clusters are stored.
Due to insufficient shared pool size. Monitor the ratio of the reloads takes place while executing SQL statements. If the ratio is greater than 1 then increase the SHARED_POOL_SIZE.
Database Logical & Physical Architecture
What is Database Buffers?
Database buffers are cache in the SGA used to hold the data blocks that are read from the data segments in the database such as tables, indexes and clusters DB_BLOCK_BUFFERS parameter in INIT.ORA decides the size.
What is dictionary cache?
Dictionary cache is information about the database objects stored in a data dictionary table.
What is meant by recursive hints?
Number of times processes repeatedly query the dictionary table is called recursive hints. It is due to the data dictionary cache is too small. By increasing the SHARED_POOL_SIZE parameter we can optimize the size of data dictionary cache.
Changes made to the records are written to the on-line redo log files. So that they can be used in roll forward operations during database recoveries. Before writing them into the redo log files, they will first brought to redo log buffers in SGA and LGWR will write into files frequently. LOG_BUFFER parameter will decide the size.
How will you swap objects into a different table space for an existing database?
- Export the user
- Perform import using the command imp system/manager file=export.dmp indexfile=newrite.sql. This will create all definitions into newfile.sql.
- Drop necessary objects.
- Run the script newfile.sql after altering the tablespaces.
- Import from the backup for the necessary objects.
- SYSTEM: Data dictionary tables.
- DATA: Standard operational tables.
- DATA2: Static tables used for standard operations
- INDEXES: Indexes for Standard operational tables.
- INDEXES1: Indexes of static tables used for standard operations.
- TOOLS: Tools table.
- TOOLS1: Indexes for tools table.
- RBS: Standard Operations Rollback Segments,
- RBS1,RBS2: Additional/Special Rollback segments.
- TEMP: Temporary purpose tablespace
- TEMP_USER: Temporary tablespace for users.
- USERS: User tablespace.
How will you force database to use particular rollback segment?
SET TRANSACTION USE ROLLBACK SEGMENT rbs_name.