修改SGA必须保持的原则:1.sga_target不能大于sga_max_size,可以设置为相等。
2.SGA加上PGA等其他进程占用的内存总数必须小于操作系统的物理内存。
做如下操作前,必须备份dbs目录下的所有文件。
方法一:直接SQL命令行修改:
SQL>alter system set sga_target=1024m scope=spfile;
SQL>alter system set sga_max_size=1024m scope=spfile;
(如果spfile文件不存在,需先创建create spfile from pfile;)
alter system set sga_target=12g scope=spfile;
alter system set sga_max_size=12g scope=spfile;
然后
SQL>shutdown immediate
SQL>startup
SQL>show sga; 即可看到SGA的大小已经被修改
方法二:通过EM修改:
以SYS登陆到EM:管理->(数据库配置)所有初始化参数—>SPFile->
在此界面可以直接定义sga_target与sga_max_size
然后重启数据库即可!
文章出处:http://www.diybl.com/course/7_databases/oracle/Oracleshl/200866/123114.html
cmd下部分操作:,oracle 10.2.0g
SQL> conn sys/rezin as sysdba
已连接。
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 1073741824 bytes
Fixed Size 1253124 bytes
Variable Size 696254716 bytes
Database Buffers 369098752 bytes
Redo Buffers 7135232 bytes
数据库装载完毕。
数据库已经打开。
SQL> show sga;
Total System Global Area 1073741824 bytes ---原来大小
Fixed Size 1253124 bytes
Variable Size 696254716 bytes
Database Buffers 369098752 bytes
Redo Buffers 7135232 bytes
SQL> alter system set sga_target=300m scope=spfile;
系统已更改。
SQL> alter system set sga_max_size=280m scope=spfile;
系统已更改。
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 314572800 bytes ---修改后的大小
Fixed Size 1248720 bytes
Variable Size 96469552 bytes
Database Buffers 209715200 bytes
Redo Buffers 7139328 bytes
数据库装载完毕。
数据库已经打开。
本文来自CSDN博客,原文:http://blog.csdn.net/djs00717/archive/2009/02/13/3886744.aspx
分享到:
相关推荐
Oracle 修改 SGA 参数无法启动的解决办法 Oracle 中的 SGA(System Global Area)是一块共享内存区域,是 Oracle 实例的核心组件之一。SGA 中存储了数据库的控制信息、用户会话信息、锁信息、缓存信息等。修改 SGA ...
当需要调整 SGA 大小以优化数据库性能时,需要遵循一定的步骤。下面将详细介绍如何更改 Oracle SGA 的大小,以及在出现问题时如何恢复到初始设置。 1. **查询 SGA 参数**: 在命令行中,使用 `sqlplus` 登录到...
此外,某些操作系统本身也有限制数据库可以使用的内存大小,管理员在修改SGA大小时必须考虑这些限制,避免超出操作系统允许的范围。 总结来说,修改Oracle的SGA配置后,如果数据库无法启动,管理员需要按照以下步骤...
3. 自动内存管理:Oracle 9i引入了自动内存管理特性,可以自动调整SGA大小。但手动调整可能更精确,特别是对于大型或复杂系统。 4. 实时调优:SGA调整不是一次性的任务,而是一个持续的过程。随着业务的变化,可能...
#### SGA大小估算 SGA的大小取决于数据库的工作负载类型。对于高并发的OLTP系统,SGA的大小通常会设置得较大,以减少磁盘I/O操作。而在数据仓库环境中,可能更侧重于数据的快速查询,因此SGA中的数据缓冲区可能会...
##### 修改SGA和PGA参数 如果需要调整`SGA`和`PGA`的大小,可以执行以下命令: ```sql SQL> ALTER SYSTEM SET SGA_TARGET=8000M SCOPE=SPFILE; SQL> ALTER SYSTEM SET PGA_AGGREGATE_TARGET=2000M SCOPE=SPFILE; ```...
4. 手工修改创建的 pfile 文件,将 sga_max_size 修改为较小的值,不要超过 1.7G(注:pfile 中是字节)。 5. 使用startup pfile='/home/oracle/admin/orcl/pfile/init.ora.3320136127',强制 oracle 从指定的 pfile...
6. 修改SGA大小以利用更多内存。可以通过增加如`pga_aggregate_target`或`shared_pool_size`等参数的值来实现。 7. 重新启动服务器,以应用所做的更改。 8. 内存虚拟磁盘法是另一种策略,它涉及到在虚拟磁盘上设置...
- 可以在线修改SGA_TARGET的值,而不需要重启数据库。 #### 六、SGA 配置的最佳实践 1. **Buffer Cache**: - 根据业务需求调整DB_CACHE_SIZE的大小。 - 保持足够的大小以减少磁盘I/O操作。 2. **Shared Pool...
- 适用场景:当需要执行实例级别的维护任务时使用,例如修改SGA大小等。 2. **MOUNT**:在此状态下,数据库已经读取了控制文件并加载了数据库的结构信息,但数据文件尚未打开。可以查看到关于数据文件、日志文件等...
**解决方案**: 通过修改 `/etc/sysctl.conf` 文件中的 `vm.mmap_min_addr` 参数,可以调整内核为进程预留的地址空间范围,从而支持更大的 SGA。 **用途**: 当需要扩展 SGA 大小时,此方法特别有用,尤其是在需要...
根据系统类型、DB版本和OS内存自动计算Oralce建议的memory_target、SGA和PGA大小
- **V$SGA_TARGET_ADVICE**:帮助管理员评估调整SGA大小对数据库性能的影响。 通过这些视图,管理员可以实时监测SGA的状态,并据此做出合理的调整,以达到最优的数据库性能。例如,`V$SHARED_POOL_ADVICE`可以帮助...
从Oracle 9i开始,可以在运行时动态修改SGA参数,而在Oracle 10g及更高版本中,可以直接修改SGA的当前内存值。 了解和正确管理SGA对于优化Oracle数据库的性能至关重要。通过监控SGA的使用情况,适时调整相关参数,...
合理地配置SGA大小对于优化数据库性能至关重要。 另一方面,PGA是每个Oracle服务器进程或后台进程私有的内存区域。它主要包括: 1. 用户会话信息:如会话状态、变量、游标等。 2. 解析的SQL语句和执行计划:每个...
在 Windows 操作系统上运行 Oracle 数据库时,可能会遇到关于 SGA(共享全局区)大小的限制问题。特别是在早期版本的 32 位 Windows 操作系统中,由于地址空间的限制,Oracle 数据库在 SGA 大小方面受到了一定的约束...
调整SGA大小通常涉及修改Oracle的初始化参数文件(init.ora或spfile),增加`sga_target`或`sga_max_size`的值。重启数据库实例后,调整才会生效。同时,可能需要降低其他内存组件(如PGA或Large Pool)的大小,...