oracle SGA,PGA 内存分配,急.....

zhouhaochen 2010-02-03 02:24:04
我现有一台2G内存的服务器 就装了个oracle我想调优一下

我把sga的共享池由原来的48M调到200M 提示我不能分配,因没有过多的内存给于分配(ora-04033),这是为什么啊?

1:
哪位直接帮我写出来哪个地方要写多少数值吧!!感谢 感谢了

数据库刚开始是往里写数据,大约写60W的数据,以后就是在这60W的数据中提取符合条件的进行循环测试!最后再做个web操作这个表!
现在导进去了一个附表,有40W左右的数据,
2:
现在 数据文件system01.dbf,example01.dbf,users01.dbf,xdb01.dbf,temp01.dbf 全都是已使用99%多,这个我是不是挨着个改一下就可以啊?

急.......谢谢
...全文
186 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhouhaochen 2010-02-03
  • 打赏
  • 举报
回复
遇到好人了 呵 多谢 
suiziguo

(GuidingStar坚挺旗舰)

结帐....  再有不会的给你发信息 哈
suiziguo 2010-02-03
  • 打赏
  • 举报
回复
alter system set SGA_MAX_SIZE= nnnnM scope=spfile;

ALTER SYSTEM SET SHARED_POOL_SIZE=200M scope=spfile;

重启数据库。

注意:SGA_MAX_SIZE最好不要超过你总内存的60%,你的情况,最好不要超过1.2G。
另外,
suiziguo 2010-02-03
  • 打赏
  • 举报
回复
所瑞,应该是

SELECT 'alter database datafile '''||file_name||''' resize 1000m;' FROM dba_data_files
UNION
SELECT 'alter database tempfile '''||file_name||''' resize 1000m;' FROM dba_temp_files;
suiziguo 2010-02-03
  • 打赏
  • 举报
回复
SELECT 'alter database datafile '''||file_name||''' resize 1000m;' FROM dba_data_files
UNION
SELECT 'alter database datafile '''||file_name||''' resize 1000m;' FROM dba_temp_files;

把上面的结果保存为一个脚本,并把其中的1000m分别改成你想设置的SIZE,然后在sqlplus里运行之。一次可以搞掂。

至于更改SGA的问题,是你的其他组件占用了SGA内存,所以shared pool无法拓展,增加SGA_MAX_SIZE和shared pool size,scope=spfile,然后重启数据库
zhouhaochen 2010-02-03
  • 打赏
  • 举报
回复
我的是oracle 9i  我用是enterprise manage control 做更改 
suiziguo 2010-02-03
  • 打赏
  • 举报
回复
非常迷糊,请把你更改SGA的步骤说说。

2 可以用脚本来改。批量处理管理工作。但是一般这些表空间数据文件自动拓展的吧。描述的一清楚,解决的一迅速。
_JeffreyWu 2010-02-03
  • 打赏
  • 举报
回复
友情UP

3,490

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧