EBS Oracle库问题之变更oracle process数

早上遇到一套环境数据库突然不能连接,应用也无法连接,查询alert_PROD.log发现连接数超过最高200,于是最快的方式是增加process连接数。先关闭应用,此时去关闭的时候已经提示不能连上数据库,于是通过ps -fu applprod,把相应的进程都kill掉。然后连上数据库的服务器,sqlplus方式连接去关闭数据库。其实这个时候关闭后会将大部分的进程释放掉,这个时候去启动应用应该可以正常启动,但是考虑到200的process数太小,还是决定增大。于是按照下面方式进行:

遇到在增加ebs Oracle process数据的时候错误,解决方式:

1、show parameter spfile;

2、create parameter pfile;

3、shutdown immediate;

4、startup;

5、alter system set processes=800 scope=spfile;

6、shutdown immediate;

7、重启数据库、重启应用。

参考:

调整数据库SGA区的大小

默认安装完毕后,数据库的SGA的大小是1G。根据电脑内存大小和下面的表格作适当的调整。

数据库初始化参数建议值

Parameter Name Development or Test Instance 11-100 Users 101-500 Users 501-1000 Users 1001-2000 Users
processes 200 200 800 1200 2500
sessions 400 400 1600 2400 5000
sga_target 1G 1G 2G 3G 14G
shared_pool_size (csp) N/A N/A N/A 1800M 3000M
shared_pool_reserved_size(csp) N/A N/A N/A 180M 300M
shared_pool_size (no csp) 400M 600M 800M 1000M 2000M
shared_pool_reserved_size(no csp) 40M 60M 80M 100M 100M
pga_aggregate_target 1G 2G 4G 10G 20G
Total Memory Required ~ 2 GB ~ 3 GB ~ 6 GB ~ 13 GB ~ 34 GB

以数据库用户oraprod登录,修改Oracle数据库的初始化文件

/u01/oracle/PROD/db/tech_st/11.1.0/dbs/initPROD.ora

备份文件initPROD.ora

cd /u01/oracle/PROD/db/tech_st/11.1.0/dbs/

cp initPROD.ora initPROD.ora.bak_<替换为修改日期>

vi initPROD.ora

修改如下内容

processes          = 800     ###默认值200

sessions           = 1600    ###默认值400

sga_target         = 2G      ###默认值1G

shared_pool_size   = 800M    ###默认值400M

shared_pool_reserved_size = 80M ###默认值40M

pga_aggregate_target     = 4G   ###默认值 1G

因为我的内存有64G,所以把这两个参数扩大了点。根据实际情况,如果你只有1G内存的话,建议你把这两个参数都调整成512M或更小。

1、关应用;
2、关数据库;
3、数据库用户:
cd $ORACLE_HOME/dbs
cp initPROD.ora initPROD.ora.bak20190703
vi initPROD.ora
找到具体指标:
processes = 800 ###默认值200
sessions = 1600 ###默认值400
sga_target = 2G ###默认值1G
shared_pool_size = 800M ###默认值400M
shared_pool_reserved_size = 80M ###默认值40M
pga_aggregate_target = 4G ###默认值 1G

保存后。
4、启动数据库;
5、启动应用。