一次Oracle修改最大连接数,导致oracle重启后无法登陆实例
这是一次本地压力测试,由于默认Oracle 10g的数据库最大连接数是150。但是要程序的压力测试要用到300。
于是我参考网上资料,执行下面两行命令,修改最大连接数后,重启oracle服务器,就发生了错误提示oracle无法登陆。
step 1: 修改最大连接数
# 查询 当前最大连接数
select value from v$parameter where name = 'processes'
# 修改 最大连接数 alter system set processes = 1000 scope = spfile
重启完电脑之后,原来oracle正常登陆的管理页面,提示错误恢复页面如下
step 2: 重新检查和修复问题
通过oracle服务器上的安装目录的ora配置文件,修改相关参数
D:\oracle\product\10.1.0\admin\ORA10DBS01\pfile\init.ora.08201701227
主要修改的参数,主要如下
备注:
参数 processes = 最大连接数,和你的硬件性能有关。
参数 sessions = processes *1.1 +5 , 和上面参数processes一起设置,对数据库的并发处理能力有关。
参数 pga_aggregate_target = 发数量*4M,这里我们根据 参数sessions * 4M 计算得到1600M。
# Part 1 # processes=150 processes=300 sessions=335
# pga_aggregate_target=25165824
pga_aggregate_target=1600M
step 3: 重新启动数据库
当我们设置完Part 1的三个参数后,保存ora配置文件,并且用sqlplus命令行启动,如下命令
# 单击cmd窗口,输入 CMD >> sqlplus /nolog # 用sydba身份连接 SQL > connect /as sysdba # 启动oracle实例 SQL > startup # 检查提示错误信息 SQL > ORA-00371: not enough shared pool memory, should be atleast 132663296 bytes
根据上面启动报错的提示,我们可知,还需要设置pool memery参数,如下
# Part 2 # large_pool_size=8388608 # shared_pool_size=83886080 large_pool_size=132663296 shared_pool_size=1326632960
step 4: 最后,成功启动数据
修改完上面ora文件中的part 1和part 2参数之后,第一次必须用sqlplus命令行重新启动数据库,操作如下
# 单击cmd窗口,输入 CMD >> sqlplus /nolog # 用sydba身份连接 SQL > connect /as sysdba # 下面init.ora文件来自你实际安装oracle实例的配置文件目录 SQL > startup pfile='D:\oracle\product\10.1.0\admin\ORA10DBS01\pfile\init.ora.08201701227' # 检查数据库信息 SQL > show parameter process
step 5, 问题修复,成功登陆界面如下
http://ora10dbs01:5500/em