日期:2014-05-16  浏览次数:20341 次

Oracle中内存分配以及常有的一些问题

1、Oracle在Windows下分配sga_max_size虚拟内存的最大是2G,可以通过设置use_indirect_data_buffers参数来突破这一限制!

2、修改Oracle中的sga_max_size时需在修改语句alter system set sga_max_size=1024M后面加上一句scope=spfile;否者会提示错误:ORA-02095: 无法修改指定的初始化参数 ,因为这个参数不能直接进行内存修改,加上scope=spfile就可以了,然后重启数据库生效!

3、查看sga虚拟内存的分配情况: show parameter sga;

4、查看当前的连接数: select count(*) from v$session;

5、查看并发连接数: select count(*) from v$session where status = 'ACTIVE';

6、查看最大连接数: show parameter processes;

7、修改最大连接数: alter system set processes = 500 scope = spfile;

8、查看共享内存: show parameter shared_pool;

9、查看数据缓存: show parameter db_cache;

10、修改共享内存:alter system set shared_pool_size =200M scope=spfile;

11、修改数据缓存:alter system set db_cache_size =250M scope=spfile;

12、oracle\ora92\database\OraDim.Log查看错误日志

13、oracle\admin\orcl\pfile\init.ora初始化文件

14、修改内存未使用use_indirect_data_buffers参数来突破限制,而超过了1.7G的话,就会启动不了数据库实例,登录的时候会提示:ora-01034 oracle not available ora-27101 shared memory realm does not exist ,这个问题的解决方法为将内存改回来:

1、在oracle/admin/orcl/pfile目录下找到之前的init.ora文件,新建也可以

2、打开CMD后执行(1)c:/sqlplus nolog;(2)c:/conn sys/sys as sysdba

3、执行oracle/ora92/dbs/目录下的initdw.ora文件sql:/startup pfile = d:/oracle/ora92/dbs/initdw.ora;

4、create spfile from pfile;

5、然后重启oracle服务就可以了!