oracle数据库服务器(内存减小导致Oracle启动不了,解决方法)
2016-03-21 10:39
621 查看
原因:由于机器使用阿里云服务器,初期内存较大,所以选择中途降配,由8G减少到4G,降配完成后,数据库无法正常启动,报以下错误
ORA-00845: MEMORY_TARGET not supported on this system
经过查资料了解其原理后
发现:
原因可能:ORACLE MEMORY_TARGET参数设置超过了oracle服务器本身内存、或超过了现在服务器空闲内存(就是oracle启动时无法获取设置的内存),或者 超过了/dev/shm的大小/. 这些都有可能造成以上错误、
问题确认:
确认为oracle MEMORY_TARGET参数设置SGA大于操作系统的空闲内存,超过了/dev/shm的大小
解决:
修改MEMORY_TARGET的值为合适的范围之内(如果是正式环境切oracle需要设置MEMORY_TARGET的内存,需要增加服务器内存,本初不讨论)1.备份现有spfile文件
2.使用spfile创建pfile(spfile为二进制文本,不可直接修改),修改pfile后,重新生成spfile
4.mount数据库
本文出自 “crazy_sir” 博客,请务必保留此出处http://douya.blog.51cto.com/6173221/1753362
ORA-00845: MEMORY_TARGET not supported on this system
经过查资料了解其原理后
发现:
原因可能:ORACLE MEMORY_TARGET参数设置超过了oracle服务器本身内存、或超过了现在服务器空闲内存(就是oracle启动时无法获取设置的内存),或者 超过了/dev/shm的大小/. 这些都有可能造成以上错误、
问题确认:
确认为oracle MEMORY_TARGET参数设置SGA大于操作系统的空闲内存,超过了/dev/shm的大小
解决:
修改MEMORY_TARGET的值为合适的范围之内(如果是正式环境切oracle需要设置MEMORY_TARGET的内存,需要增加服务器内存,本初不讨论)1.备份现有spfile文件
cp init.ora.715201510237 init.ora.715201510237_bak
2.使用spfile创建pfile(spfile为二进制文本,不可直接修改),修改pfile后,重新生成spfile
SQL> create pfile from spfile; File created.修改pfile参数*.memory_target=104857600(此处的值小于 操作系统的空闲内存,小于/dev/shm的大小)
SQL> create spfile from pfile; File created. 确认后,启动oracle3,如果以上完成后,还无法正常startup,
SQL> startup pfile=/app/oracle/admin/orcl/pfile/init.ora.103201271612 SQL> alter system set memory_max_target=1258M scope=both; alter system set memory_max_target=1258200M scope=both * ERROR at line 1: ORA-02095: specified initialization parameter cannot be modified SQL> alter system set memory_max_target=1258M scope=spfile; alter system set memory_max_target=1258M scope=spfile * ERROR at line 1: ORA-32001: write to SPFILE requested but no SPFILE is in use//spfile文件可能不存在 SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down SQL> startup nomount ORA-01078: failure in processing system parameters LRM-00109: could not open parameter file '/app/oracle/product/11.2.0/dbhome_2/dbs/initorcl.ora' #------------------------------spfile不存在 #-----------------------------spfile位置:$ORACLE_HOME/dbs/init[ORACLE_SID].ora #-----------------------------名字格式为:initORACLE_SID.ora [oracle@h1 dbhome_2]$ cd /app/oracle/admin/orcl/pfile/ [oracle@h1 pfile]$ ls init.ora.103201271612 [oracle@h1 pfile]$echo $ORACLE_SID orcl #-------------------查看环境变量$ORACLE_SID [oracle@h1 pfile]$ cp init.ora.103201271612 /app/oracle/product/11.2.0/dbhome_2/dbs [oracle@h1 pfile]$ cd /app/oracle/product/11.2.0/dbhome_2/dbs [oracle@h1 dbs]$ mv init.ora.103201271612 initorcl.ora #------------------------------更改名字格式为:initORACLE_SID.ora
4.mount数据库
[oracle@h1 dbs]$ sqlplus "/as SYSDBA" SQL*Plus: Release 11.2.0.1.0 Production on Sun Nov 4 16:59:09 2012 Copyright (c) 1982, 2009, Oracle. All rights reserved. Connected to an idle instance. SQL> startup mount ORACLE instance started. Total System Global Area 1219260416 bytes Fixed Size 2212856 bytes Variable Size 738200584 bytes Database Buffers 469762048 bytes Redo Buffers 9084928 bytes Database mounted. SQL> SQL> show parameter memory_target; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ memory_target big integer 1168M SQL> show parameter memory_max_target; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ memory_max_target big integer 1168M SQL> SQL> alter system set memory_max_target=1G scope=spfile; alter system set memory_max_target=1G scope=spfile * ERROR at line 1: ORA-32001: write to SPFILE requested but no SPFILE is in use SQL> show parameter spfile; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ spfile string #------------------重建spfile SQL> create spfile from pfile; File created. SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. SQL> startup ORACLE instance started. Total System Global Area 1219260416 bytes Fixed Size 2212856 bytes Variable Size 738200584 bytes Database Buffers 469762048 bytes Redo Buffers 9084928 bytes Database mounted. Database opened. SQL> show parameter spfile; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ spfile string /app/oracle/product/11.2.0/dbh ome_2/dbs/spfileorcl.ora SQL> alter system set memory_max_target=1G scope=spfile; System altered. SQL> alter system set memory_target=1G scope=both; System altered. SQL> alter system set memory_max_target=1332M scope=both; alter system set memory_max_target=1332M scope=both * ERROR at line 1: ORA-02095: specified initialization parameter cannot be modified SQL> alter system set memory_max_target=1332M scope=spfile; System altered. ------------------------------- SQL> shutdown immediate Database closed. Database dismounted. ORACLE instance shut down. SQL> startup ORACLE instance started. Total System Global Area 1402982400 bytes Fixed Size 2213296 bytes Variable Size 922749520 bytes Database Buffers 469762048 bytes Redo Buffers 8257536 bytes Database mounted. Database opened. SQL> show parameter memory_max_target; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ memory_max_target big integer 1344M SQL> show parameter memory_target; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ memory_target big integer 1G SQL> -----------------------finish
本文出自 “crazy_sir” 博客,请务必保留此出处http://douya.blog.51cto.com/6173221/1753362
相关文章推荐
- oracle表查询语句优化
- Oracle 连接池配置
- Oracle 连接池配置
- Mysql,Oracle,Java数据类型对应
- Oracle环境变量NLS_LANG
- oracle的sqlldr的使用总结
- Oracle 10g bigfile表空间简介
- SQL Server,Oracle,DB2索引建立语句的对比
- MySQL,Oracle,SQL Server——选取前10条——语法差异
- Oracle 11g 学习2——SQLPlus命令
- 创建Oracle数据库
- oracle 表空间(数据文件)满了后 修改表空间大小
- Oracle 函数
- oracle user account locked
- Oracle导出导入数据库的方式
- oracle trunc()函数的使用
- Oracle 11g服务器监听配置
- oracle rman 数据备份
- oracle11R2 log_archive_format
- ORACLE之搭建DG(COPY数据文件方式)