设为首页 收藏本站
查看: 443|回复: 0

[经验分享] oracle数据库服务器(内存减小导致Oracle启动不了,解决方法)

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-3-22 08:44:52 | 显示全部楼层 |阅读模式
原因:由于机器使用阿里云服务器,初期内存较大,所以选择中途降配,由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文件

1
cp  init.ora.715201510237  init.ora.715201510237_bak




2.使用spfile创建pfile(spfile为二进制文本,不可直接修改),修改pfile后,重新生成spfile
1
2
SQL> create pfile from spfile;
File created.



修改pfile参数*.memory_target=104857600(此处的值小于 操作系统的空闲内存,小于/dev/shm的大小)

1
2
3
SQL> create spfile from pfile;
File created.
确认后,启动oracle



3,如果以上完成后,还无法正常startup,
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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数据库
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
  
  
  
  
[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



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-194061-1-1.html 上篇帖子: Oracle 11g ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务 下篇帖子: Oracle Study之-AIX6.1构建Oracle 10gR2 RAC oracle 服务器 Oracle 数据库
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表