修改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
数据库装载完毕。
数据库已经打开。
SQL>