SlideShare a Scribd company logo
1 of 14
MEMORY MANAGEMENT
IN ORACLE
BY DAVIN.J.ABRAHAM
1701310002/M.TECH DB/SRMU
BASIC MEMORY STRUCTURES
• The basic memory structures associated with Oracle Database include:
• Software code areas
• Software code areas are portions of memory used to store code that is being run or can be run. Oracle
Database code is stored in a software area that is typically at a different location from users' programs—a more
exclusive or protected location.
• System global area (SGA)
• The SGA is a group of shared memory structures, known as SGA components, that contain data and control
information for one Oracle Database instance. The SGA is shared by all server and background processes.
Examples of data stored in the SGA include cached data blocks and shared SQL areas.
• Program global area (PGA)
• A PGA is a memory region that contains data and control information for a server process. It is nonshared
memory created by Oracle Database when a server process is started. Access to the PGA is exclusive to the
server process. There is one PGA for each server process. Background processes also allocate their own PGAs.
The total memory used by all individual PGAs is known as the total instance PGA memory, and the collection of
individual PGAs is referred to as the total instance PGA, or just instance PGA. You use database initialization
parameters to set the size of the instance PGA, not individual PGAs.
RECOMMENDATION
• Memory management involves maintaining optimal sizes for the Oracle database instance memory
structures as demands on the database change. The memory that must be managed is the system
global area (SGA) memory and the instance program global area (instance PGA) memory. The instance
PGA memory is the collection of memory allocations for all individual PGAs.
• Oracle Database supports various memory management methods, which are chosen by initialization
parameter settings. Oracle recommends that you enable the automatic memory management method.
ABOUT AUTOMATIC MEMORY MANAGEMENT
• Oracle has made great strides in simplifying memory management over the last few versions of the database.
• Oracle 9i automated PGA management by introducing PGA_AGGREGATE_TARGET parameter.
• Oracle 10g continued this trend by automating SGA management using the SGA_TARGET parameter.
• Oracle 11g takes this one step further by allowing you to allocate one chunk of memory, which Oracle uses to
dynamically manage both the SGA and PGA.
• The simplest way to manage instance memory is to allow the Oracle Database instance to automatically
manage and tune it for you.
• To do so (on most platforms), you set only a target memory size initialization parameter (MEMORY_TARGET)
and optionally a maximum memory size initialization parameter (MEMORY_MAX_TARGET).
• The instance then tunes to the target memory size, redistributing memory as needed between the system
global area (SGA) and the instance program global area (instance PGA). Because the target memory
initialization parameter is dynamic, you can change the target memory size at any time without restarting the
database.
• The maximum memory size serves as an upper limit so that you cannot accidentally set the target memory
size too high, and so that enough memory is set aside for the Oracle Database instance in case you do want to
increase total instance memory in the future. Because certain SGA components either cannot easily shrink or
must remain at a minimum size, the instance also prevents you from setting the target memory size too low.
• If you create your database with Database Configuration Assistant (DBCA) and choose the basic installation
option, automatic memory management is enabled. If you choose advanced installation, Database
Configuration Assistant (DBCA) enables you to select automatic memory management.
ORACLE DATABASE MEMORY MANAGEMENT MODES
Memory Management Mode For You Set Oracle Database Automatically Tunes
Automatic memory management SGA and PGA  Total memory target size for the
Oracle instance
 (Optional) Maximum memory size for
the Oracle instance
 Total SGA size
 SGA component sizes
 Instance PGA size
 Individual PGA sizes
Automatic shared memory management
(Automatic memory management
disabled)
ENABLING AUTOMATIC MEMORY MANAGEMENT
• If you did not enable automatic memory management upon database creation (either by selecting the
proper options in DBCA or by setting the appropriate initialization parameters for the CREATE
DATABASE SQL statement), you can enable it at a later time. Enabling automatic memory management
involves a shutdown and restart of the database.
1. Start SQL*Plus and connect to the database as SYSDBA.
2. Calculate the minimum value for MEMORY_TARGET as follows:
• Determine the current sizes of SGA_TARGET and PGA_AGGREGATE_TARGET by entering the following SQL*Plus command:
• SHOW PARAMETER TARGET
• SQL*Plus displays the values of all initialization parameters with the string TARGET in the
parameter name.
• NAME TYPE VALUE
• ------------------------------ ------------- ---------------
• archive_lag_target integer 0
• db_flashback_retention_target integer 1440
• fast_start_io_target integer 0
• fast_start_mttr_target integer 0
• memory_max_target big integer 0
• memory_target big integer 0
• pga_aggregate_target big integer 90M
• sga_target big integer 272M
a. Run the following query to determine the maximum instance PGA allocated since the database
was started:
a. select value from v$pgastat where name='maximum PGA allocated';
b. Compute the maximum value between the query result from step 2b
and PGA_AGGREGATE_TARGET. Add SGA_TARGET to this value.
c. memory_target (m) = sga_target + max(pga_aggregate_target, maximum PGA allocated)
For example, if SGA_TARGET is 272M and PGA_AGGREGATE_TARGET is 90M as shown above, and if the
maximum PGA allocated is determined to be 120M, then MEMORY_TARGET should be at least 392M (272M
+ 120M).
3. Choose the value for MEMORY_TARGET that you want to use.
4. This can be the minimum value that you computed in step 2, or you can choose to use a larger value if
you have enough physical memory available.
5. For the MEMORY_MAX_TARGET initialization parameter, decide on a maximum amount of memory
that you would want to allocate to the database for the foreseeable future. That is, determine the
maximum value for the sum of the SGA and instance PGA sizes. This number (n) can be larger than or the
same as the MEMORY_TARGET value that you chose in the previous step.
5. Do one of the following:
• If you started your Oracle Database instance with a server parameter file, which is the default if you created
the database with the Database Configuration Assistant (DBCA), enter the following command:
• ALTER SYSTEM SET MEMORY_MAX_TARGET = nM SCOPE = SPFILE;
5. where n is the value that you computed in Step 4.
6. The SCOPE = SPFILE clause sets the value only in the server parameter file, and not for the running instance.
You must include this SCOPE clause because MEMORY_MAX_TARGET is not a dynamic initialization parameter.
7. If you started your instance with a text initialization parameter file, manually edit the file so that it
contains the following statements:
• memory_max_target = nM
• memory_target = mM
8. where n is the value that you determined in Step 4, and m is the value that you determined in step 3.
Note:
• In a text initialization parameter file, if you omit the line for MEMORY_MAX_TARGET and include a value
forMEMORY_TARGET, the database automatically sets MEMORY_MAX_TARGET to the value
of MEMORY_TARGET. If you omit the line for MEMORY_TARGET and include a value
for MEMORY_MAX_TARGET, the MEMORY_TARGET parameter defaults to zero. After startup, you can
then dynamically change MEMORY_TARGET to a nonzero value, provided that it does not exceed the
value of MEMORY_MAX_TARGET.
9. Shut down and restart the database.
If you started your Oracle Database instance with a server parameter file, enter the following commands:
ALTER SYSTEM SET MEMORY_TARGET = nM;
ALTER SYSTEM SET SGA_TARGET = 0;
ALTER SYSTEM SET PGA_AGGREGATE_TARGET = 0;
where n is the value that you determined in step 3.
Note
• The preceding steps instruct you to
set SGA_TARGET and PGA_AGGREGATE_TARGET to zero so that the sizes of
the SGA and instance PGA are tuned up and down as required, without
restrictions. You can omit the statements that set these parameter values to
zero and leave either or both of the values as positive numbers. In this case,
the values act as minimum values for the sizes of the SGA or instance PGA.
THANK YOU

More Related Content

What's hot

Kevin Kempter PostgreSQL Backup and Recovery Methods @ Postgres Open
Kevin Kempter PostgreSQL Backup and Recovery Methods @ Postgres OpenKevin Kempter PostgreSQL Backup and Recovery Methods @ Postgres Open
Kevin Kempter PostgreSQL Backup and Recovery Methods @ Postgres Open
PostgresOpen
 
Oracle backup and recovery
Oracle backup and recoveryOracle backup and recovery
Oracle backup and recovery
Yogiji Creations
 
Oracle db architecture
Oracle db architectureOracle db architecture
Oracle db architecture
Simon Huang
 

What's hot (20)

Kevin Kempter PostgreSQL Backup and Recovery Methods @ Postgres Open
Kevin Kempter PostgreSQL Backup and Recovery Methods @ Postgres OpenKevin Kempter PostgreSQL Backup and Recovery Methods @ Postgres Open
Kevin Kempter PostgreSQL Backup and Recovery Methods @ Postgres Open
 
Oracle backup and recovery
Oracle backup and recoveryOracle backup and recovery
Oracle backup and recovery
 
MySQL Performance Schema in Action
MySQL Performance Schema in ActionMySQL Performance Schema in Action
MySQL Performance Schema in Action
 
Oracle_Multitenant_19c_-_All_About_Pluggable_D.pdf
Oracle_Multitenant_19c_-_All_About_Pluggable_D.pdfOracle_Multitenant_19c_-_All_About_Pluggable_D.pdf
Oracle_Multitenant_19c_-_All_About_Pluggable_D.pdf
 
Oracle RDBMS architecture
Oracle RDBMS architectureOracle RDBMS architecture
Oracle RDBMS architecture
 
SQL Server High Availability and Disaster Recovery
SQL Server High Availability and Disaster RecoverySQL Server High Availability and Disaster Recovery
SQL Server High Availability and Disaster Recovery
 
Oracle architecture
Oracle architectureOracle architecture
Oracle architecture
 
Oracle RAC 12c Practical Performance Management and Tuning OOW13 [CON8825]
Oracle RAC 12c Practical Performance Management and Tuning OOW13 [CON8825]Oracle RAC 12c Practical Performance Management and Tuning OOW13 [CON8825]
Oracle RAC 12c Practical Performance Management and Tuning OOW13 [CON8825]
 
Oracle architecture with details-yogiji creations
Oracle architecture with details-yogiji creationsOracle architecture with details-yogiji creations
Oracle architecture with details-yogiji creations
 
Redo log
Redo logRedo log
Redo log
 
How to find what is making your Oracle database slow
How to find what is making your Oracle database slowHow to find what is making your Oracle database slow
How to find what is making your Oracle database slow
 
AIOUG-GroundBreakers-Jul 2019 - 19c RAC
AIOUG-GroundBreakers-Jul 2019 - 19c RACAIOUG-GroundBreakers-Jul 2019 - 19c RAC
AIOUG-GroundBreakers-Jul 2019 - 19c RAC
 
SQL Monitoring in Oracle Database 12c
SQL Monitoring in Oracle Database 12cSQL Monitoring in Oracle Database 12c
SQL Monitoring in Oracle Database 12c
 
MAA Best Practices for Oracle Database 19c
MAA Best Practices for Oracle Database 19cMAA Best Practices for Oracle Database 19c
MAA Best Practices for Oracle Database 19c
 
Ms sql server architecture
Ms sql server architectureMs sql server architecture
Ms sql server architecture
 
Database backup and recovery
Database backup and recoveryDatabase backup and recovery
Database backup and recovery
 
Understanding oracle rac internals part 1 - slides
Understanding oracle rac internals   part 1 - slidesUnderstanding oracle rac internals   part 1 - slides
Understanding oracle rac internals part 1 - slides
 
Oracle MAA (Maximum Availability Architecture) 18c - An Overview
Oracle MAA (Maximum Availability Architecture) 18c - An OverviewOracle MAA (Maximum Availability Architecture) 18c - An Overview
Oracle MAA (Maximum Availability Architecture) 18c - An Overview
 
Resize sga
Resize sgaResize sga
Resize sga
 
Oracle db architecture
Oracle db architectureOracle db architecture
Oracle db architecture
 

Viewers also liked (7)

Inside the jvm
Inside the jvmInside the jvm
Inside the jvm
 
Memory: Structures and Processes
Memory: Structures and ProcessesMemory: Structures and Processes
Memory: Structures and Processes
 
Improv Rules for the Workplace. #INBOUND13
Improv Rules for the Workplace.  #INBOUND13Improv Rules for the Workplace.  #INBOUND13
Improv Rules for the Workplace. #INBOUND13
 
Lecture2 oracle ppt
Lecture2 oracle pptLecture2 oracle ppt
Lecture2 oracle ppt
 
Strategic marketing ppt @ mba
Strategic marketing ppt @ mbaStrategic marketing ppt @ mba
Strategic marketing ppt @ mba
 
Positive attitude ppt
Positive attitude pptPositive attitude ppt
Positive attitude ppt
 
Marketing Strategy
Marketing StrategyMarketing Strategy
Marketing Strategy
 

Similar to Memory management in oracle

Memory management in oracle 11g r2
Memory management in oracle 11g r2Memory management in oracle 11g r2
Memory management in oracle 11g r2
Pankaj Mandal
 
Oracle 12 c new-features
Oracle 12 c new-featuresOracle 12 c new-features
Oracle 12 c new-features
Navneet Upneja
 
2713897 oracle-unix-oracle
2713897 oracle-unix-oracle2713897 oracle-unix-oracle
2713897 oracle-unix-oracle
sivacse09
 
ORACLE 12C-New-Features
ORACLE 12C-New-FeaturesORACLE 12C-New-Features
ORACLE 12C-New-Features
Navneet Upneja
 
Oracle Database 12c features for DBA
Oracle Database 12c features for DBAOracle Database 12c features for DBA
Oracle Database 12c features for DBA
Karan Kukreja
 

Similar to Memory management in oracle (20)

Memory management in oracle 11g r2
Memory management in oracle 11g r2Memory management in oracle 11g r2
Memory management in oracle 11g r2
 
Les 13 memory
Les 13 memoryLes 13 memory
Les 13 memory
 
Webcenter application performance tuning guide
Webcenter application performance tuning guideWebcenter application performance tuning guide
Webcenter application performance tuning guide
 
8 tune tusc
8 tune tusc8 tune tusc
8 tune tusc
 
Oracle 12 c new-features
Oracle 12 c new-featuresOracle 12 c new-features
Oracle 12 c new-features
 
Huge pages
Huge pagesHuge pages
Huge pages
 
2713897 oracle-unix-oracle
2713897 oracle-unix-oracle2713897 oracle-unix-oracle
2713897 oracle-unix-oracle
 
How to increase memory_target
How to increase memory_targetHow to increase memory_target
How to increase memory_target
 
PostgreSQL Hangout Parameter Tuning
PostgreSQL Hangout Parameter TuningPostgreSQL Hangout Parameter Tuning
PostgreSQL Hangout Parameter Tuning
 
Demystifying Amazon Sagemaker (ACD Kochi)
Demystifying Amazon Sagemaker (ACD Kochi)Demystifying Amazon Sagemaker (ACD Kochi)
Demystifying Amazon Sagemaker (ACD Kochi)
 
Sap memory management ,workload and performance analysis.pptx
Sap memory management ,workload and performance analysis.pptxSap memory management ,workload and performance analysis.pptx
Sap memory management ,workload and performance analysis.pptx
 
Oracle 11g step by step installation on windows
Oracle 11g step by step installation on windowsOracle 11g step by step installation on windows
Oracle 11g step by step installation on windows
 
Oracle Database Backup
Oracle Database BackupOracle Database Backup
Oracle Database Backup
 
515689311-Postgresql-DBA-Architecture.pptx
515689311-Postgresql-DBA-Architecture.pptx515689311-Postgresql-DBA-Architecture.pptx
515689311-Postgresql-DBA-Architecture.pptx
 
ORACLE 12C-New-Features
ORACLE 12C-New-FeaturesORACLE 12C-New-Features
ORACLE 12C-New-Features
 
Magento e commerce performance optimization
Magento e commerce performance optimizationMagento e commerce performance optimization
Magento e commerce performance optimization
 
Open sap cst1_week_2_all_slides
Open sap cst1_week_2_all_slidesOpen sap cst1_week_2_all_slides
Open sap cst1_week_2_all_slides
 
Oracle Database 12c features for DBA
Oracle Database 12c features for DBAOracle Database 12c features for DBA
Oracle Database 12c features for DBA
 
Why oracle data guard new features in oracle 18c, 19c
Why oracle data guard new features in oracle 18c, 19cWhy oracle data guard new features in oracle 18c, 19c
Why oracle data guard new features in oracle 18c, 19c
 
Amazon SageMaker를 통한 대용량 모델 훈련 방법 살펴보기 - 김대근 AWS AI/ML 스페셜리스트 솔루션즈 아키텍트 / 최영준...
Amazon SageMaker를 통한 대용량 모델 훈련 방법 살펴보기 - 김대근 AWS AI/ML 스페셜리스트 솔루션즈 아키텍트 / 최영준...Amazon SageMaker를 통한 대용량 모델 훈련 방법 살펴보기 - 김대근 AWS AI/ML 스페셜리스트 솔루션즈 아키텍트 / 최영준...
Amazon SageMaker를 통한 대용량 모델 훈련 방법 살펴보기 - 김대근 AWS AI/ML 스페셜리스트 솔루션즈 아키텍트 / 최영준...
 

Recently uploaded

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Recently uploaded (20)

Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

Memory management in oracle

  • 1. MEMORY MANAGEMENT IN ORACLE BY DAVIN.J.ABRAHAM 1701310002/M.TECH DB/SRMU
  • 2. BASIC MEMORY STRUCTURES • The basic memory structures associated with Oracle Database include: • Software code areas • Software code areas are portions of memory used to store code that is being run or can be run. Oracle Database code is stored in a software area that is typically at a different location from users' programs—a more exclusive or protected location. • System global area (SGA) • The SGA is a group of shared memory structures, known as SGA components, that contain data and control information for one Oracle Database instance. The SGA is shared by all server and background processes. Examples of data stored in the SGA include cached data blocks and shared SQL areas. • Program global area (PGA) • A PGA is a memory region that contains data and control information for a server process. It is nonshared memory created by Oracle Database when a server process is started. Access to the PGA is exclusive to the server process. There is one PGA for each server process. Background processes also allocate their own PGAs. The total memory used by all individual PGAs is known as the total instance PGA memory, and the collection of individual PGAs is referred to as the total instance PGA, or just instance PGA. You use database initialization parameters to set the size of the instance PGA, not individual PGAs.
  • 3.
  • 4. RECOMMENDATION • Memory management involves maintaining optimal sizes for the Oracle database instance memory structures as demands on the database change. The memory that must be managed is the system global area (SGA) memory and the instance program global area (instance PGA) memory. The instance PGA memory is the collection of memory allocations for all individual PGAs. • Oracle Database supports various memory management methods, which are chosen by initialization parameter settings. Oracle recommends that you enable the automatic memory management method.
  • 5. ABOUT AUTOMATIC MEMORY MANAGEMENT • Oracle has made great strides in simplifying memory management over the last few versions of the database. • Oracle 9i automated PGA management by introducing PGA_AGGREGATE_TARGET parameter. • Oracle 10g continued this trend by automating SGA management using the SGA_TARGET parameter. • Oracle 11g takes this one step further by allowing you to allocate one chunk of memory, which Oracle uses to dynamically manage both the SGA and PGA. • The simplest way to manage instance memory is to allow the Oracle Database instance to automatically manage and tune it for you. • To do so (on most platforms), you set only a target memory size initialization parameter (MEMORY_TARGET) and optionally a maximum memory size initialization parameter (MEMORY_MAX_TARGET). • The instance then tunes to the target memory size, redistributing memory as needed between the system global area (SGA) and the instance program global area (instance PGA). Because the target memory initialization parameter is dynamic, you can change the target memory size at any time without restarting the database. • The maximum memory size serves as an upper limit so that you cannot accidentally set the target memory size too high, and so that enough memory is set aside for the Oracle Database instance in case you do want to increase total instance memory in the future. Because certain SGA components either cannot easily shrink or must remain at a minimum size, the instance also prevents you from setting the target memory size too low. • If you create your database with Database Configuration Assistant (DBCA) and choose the basic installation option, automatic memory management is enabled. If you choose advanced installation, Database Configuration Assistant (DBCA) enables you to select automatic memory management.
  • 6.
  • 7. ORACLE DATABASE MEMORY MANAGEMENT MODES Memory Management Mode For You Set Oracle Database Automatically Tunes Automatic memory management SGA and PGA  Total memory target size for the Oracle instance  (Optional) Maximum memory size for the Oracle instance  Total SGA size  SGA component sizes  Instance PGA size  Individual PGA sizes Automatic shared memory management (Automatic memory management disabled)
  • 8. ENABLING AUTOMATIC MEMORY MANAGEMENT • If you did not enable automatic memory management upon database creation (either by selecting the proper options in DBCA or by setting the appropriate initialization parameters for the CREATE DATABASE SQL statement), you can enable it at a later time. Enabling automatic memory management involves a shutdown and restart of the database. 1. Start SQL*Plus and connect to the database as SYSDBA. 2. Calculate the minimum value for MEMORY_TARGET as follows: • Determine the current sizes of SGA_TARGET and PGA_AGGREGATE_TARGET by entering the following SQL*Plus command: • SHOW PARAMETER TARGET
  • 9. • SQL*Plus displays the values of all initialization parameters with the string TARGET in the parameter name. • NAME TYPE VALUE • ------------------------------ ------------- --------------- • archive_lag_target integer 0 • db_flashback_retention_target integer 1440 • fast_start_io_target integer 0 • fast_start_mttr_target integer 0 • memory_max_target big integer 0 • memory_target big integer 0 • pga_aggregate_target big integer 90M • sga_target big integer 272M a. Run the following query to determine the maximum instance PGA allocated since the database was started: a. select value from v$pgastat where name='maximum PGA allocated'; b. Compute the maximum value between the query result from step 2b and PGA_AGGREGATE_TARGET. Add SGA_TARGET to this value. c. memory_target (m) = sga_target + max(pga_aggregate_target, maximum PGA allocated)
  • 10. For example, if SGA_TARGET is 272M and PGA_AGGREGATE_TARGET is 90M as shown above, and if the maximum PGA allocated is determined to be 120M, then MEMORY_TARGET should be at least 392M (272M + 120M). 3. Choose the value for MEMORY_TARGET that you want to use. 4. This can be the minimum value that you computed in step 2, or you can choose to use a larger value if you have enough physical memory available. 5. For the MEMORY_MAX_TARGET initialization parameter, decide on a maximum amount of memory that you would want to allocate to the database for the foreseeable future. That is, determine the maximum value for the sum of the SGA and instance PGA sizes. This number (n) can be larger than or the same as the MEMORY_TARGET value that you chose in the previous step.
  • 11. 5. Do one of the following: • If you started your Oracle Database instance with a server parameter file, which is the default if you created the database with the Database Configuration Assistant (DBCA), enter the following command: • ALTER SYSTEM SET MEMORY_MAX_TARGET = nM SCOPE = SPFILE; 5. where n is the value that you computed in Step 4. 6. The SCOPE = SPFILE clause sets the value only in the server parameter file, and not for the running instance. You must include this SCOPE clause because MEMORY_MAX_TARGET is not a dynamic initialization parameter. 7. If you started your instance with a text initialization parameter file, manually edit the file so that it contains the following statements: • memory_max_target = nM • memory_target = mM 8. where n is the value that you determined in Step 4, and m is the value that you determined in step 3.
  • 12. Note: • In a text initialization parameter file, if you omit the line for MEMORY_MAX_TARGET and include a value forMEMORY_TARGET, the database automatically sets MEMORY_MAX_TARGET to the value of MEMORY_TARGET. If you omit the line for MEMORY_TARGET and include a value for MEMORY_MAX_TARGET, the MEMORY_TARGET parameter defaults to zero. After startup, you can then dynamically change MEMORY_TARGET to a nonzero value, provided that it does not exceed the value of MEMORY_MAX_TARGET. 9. Shut down and restart the database. If you started your Oracle Database instance with a server parameter file, enter the following commands: ALTER SYSTEM SET MEMORY_TARGET = nM; ALTER SYSTEM SET SGA_TARGET = 0; ALTER SYSTEM SET PGA_AGGREGATE_TARGET = 0; where n is the value that you determined in step 3.
  • 13. Note • The preceding steps instruct you to set SGA_TARGET and PGA_AGGREGATE_TARGET to zero so that the sizes of the SGA and instance PGA are tuned up and down as required, without restrictions. You can omit the statements that set these parameter values to zero and leave either or both of the values as positive numbers. In this case, the values act as minimum values for the sizes of the SGA or instance PGA.