使用pfile启动Oracle,解决如ora-27102等启动报错问题

使用pfile启动Oracle,解决如ora-27102等启动报错问题

系统信息

  • 操作系统:Red Hat Enterprise Linux Server release 6.6 (Santiago)
  • ORACLE版本:11.2.0.4.0

错误出现始末

测试环境oracle所在虚拟机使用生产环境的虚拟机模板,分配了所在物理机的所有内存(64G),调小虚拟机分配的内存后,重启报错,报错信息如下。

ORA-27102: out of memory
Linux-x86_64 Error: 28: No space left on device

原因分析和思路

根据提示和错误出现操作前的操作,可知oracle中配置分配了系统能够分配的最大内存。Oracle的内存设置项有SGA和PGA,将对应配置调小即可。由于ORACLE已经无法启动,所以使用修改pfile并利用pfile启动的方式。

操作步骤

  • 登陆到oracle所在的用户
    • su - oracle
  • 使用本地用户登陆sqlplus
    • sqlplus / as sysdba(sqlplus /nolog;conn / as sysdba)
  • 创建pfile
    • create pfile from spfile;
  • 打开pfile,pfile一般再$ORACLE_HOME/dbs
    • vim /u01/oracle/product/11.2.0/db/dbs/inittestdb.ora,文件如下
testdb.__java_pool_size=134217728
testdb.__large_pool_size=67108864
testdb.__oracle_base='/u01/oracle'#ORACLE_BASE set from environment
testdb.__pga_aggregate_target=2147483648
testdb.__sga_target=2147483648
testdb.__shared_io_pool_size=0
testdb.__shared_pool_size=2818572288
testdb.__streams_pool_size=67108864
*.audit_file_dest='/u01/oracle/admin/testdb/adump'
*.audit_trail='db'
*.compatible='11.2.0.4.0'
*.control_files='/u02/oradata/testdb/testdb/control01.ctl','/u02/oradata/testdb/testdb/control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='testdb'
*.diagnostic_dest='/u01/oracle'
*.nls_language='AMERICAN'
*.nls_territory='AMERICA'
*.open_cursors=300
*.pga_aggregate_target=2147483648
*.processes=3000
*.remote_login_passwordfile='EXCLUSIVE'
*.sessions=3305
*.sga_target=2147483648
  • 修改.sga_target,.pga_aggregate_target,testdb.__pga_aggregate_target,testdb.__sga_target的值为2147483648

  • 编辑后保存

  • 重新连接数据库
    • sqlplus / as sysdba
  • 使用pfile启动
    • startup pfile=’/u01/oracle/product/11.2.0/db/dbs/inittestdb.ora’
  • 将pfile中的改动写入spfile
    • create spfile from pfile;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值