免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1306 | 回复: 0
打印 上一主题 下一主题

[Hive] [Archived move] ORA-01102 during startup [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-19 13:56 |只看该作者 |倒序浏览
<DIV><SPAN class=Apple-style-span style="WORD-SPACING: 0px; FONT: medium 文泉驿正黑; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate; orphans: 2; widows: 2; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><SPAN class=Apple-style-span style="FONT-SIZE: 17px; COLOR: rgb(51,51,51); LINE-HEIGHT: 23px; FONT-FAMILY: arial, verdana, sans-serif; TEXT-ALIGN: left">
<P style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 10px 0px; LINE-HEIGHT: 1.6em; PADDING-TOP: 0px">After installed Oracle 10g on CentOS 5.4, I startup the Oracle, I met this problem:<BR style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"><BR style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px">ORA-01102: cannot mount database in EXCLUSIVE mode<BR style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"></P>
<P style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 10px 0px; LINE-HEIGHT: 1.6em; PADDING-TOP: 0px">After googling find this post:<BR style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"><A style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(60,108,146); PADDING-TOP: 0px; BORDER-BOTTOM: rgb(221,221,221) 1px solid; TEXT-DECORATION: none; outline-style: none; outline-width: initial; outline-color: initial" href="http://www.orafaq.com/forum/t/40030/0/">http://www.orafaq.com/forum/t/40030/0/</A></P>
<P style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 10px 0px; LINE-HEIGHT: 1.6em; PADDING-TOP: 0px">This analysis and solution works for me:<BR style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"><BR style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px">A database is started in EXCLUSIVE mode by default. Therefore, the<BR style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px">ORA-01102 error is misleading and may have occurred due to one of the<BR style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px">following reasons:</P>
<P style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 10px 0px; LINE-HEIGHT: 1.6em; PADDING-TOP: 0px">- there is still an "sgadef.dbf" file in the "ORACLE_HOME/dbs"<BR style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px">directory<BR style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px">- the processes for Oracle (pmon, smon, lgwr and dbwr) still exist<BR style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px">- shared memory segments and semaphores still exist even though the<BR style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px">database has been shutdown<BR style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px">- there is a "ORACLE_HOME/dbs/lk" file</P>
<P style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 10px 0px; LINE-HEIGHT: 1.6em; PADDING-TOP: 0px">The "lk" and "sgadef.dbf" files are used for locking shared memory.<BR style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px">It seems that even though no memory is allocated, Oracle thinks memory is<BR style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px">still locked. By removing the "sgadef" and "lk" files you remove any knowledge<BR style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px">oracle has of shared memory that is in use. Now the database can start.</P>
<P style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 10px 0px; LINE-HEIGHT: 1.6em; PADDING-TOP: 0px">POSSIBLE SOLUTION:<BR style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px">Verify that the database was shutdown cleanly by doing the following:</P>
<P style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 10px 0px; LINE-HEIGHT: 1.6em; PADDING-TOP: 0px">1. Verify that there is not a "sgadef.dbf" file in the directory<BR style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px">"ORACLE_HOME/dbs".</P>
<P style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 10px 0px; LINE-HEIGHT: 1.6em; PADDING-TOP: 0px">% ls $ORACLE_HOME/dbs/sgadef.dbf</P>
<P style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 10px 0px; LINE-HEIGHT: 1.6em; PADDING-TOP: 0px">If this file does exist, remove it.</P>
<P style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 10px 0px; LINE-HEIGHT: 1.6em; PADDING-TOP: 0px">% rm $ORACLE_HOME/dbs/sgadef.dbf</P>
<P style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 10px 0px; LINE-HEIGHT: 1.6em; PADDING-TOP: 0px">2. Verify that there are no background processes owned by "oracle"</P>
<P style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 10px 0px; LINE-HEIGHT: 1.6em; PADDING-TOP: 0px">% ps -ef | grep ora_ | grep $ORACLE_SID</P>
<P style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 10px 0px; LINE-HEIGHT: 1.6em; PADDING-TOP: 0px">If background processes exist, remove them by using the Unix<BR style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px">command "kill". For example:</P>
<P style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 10px 0px; LINE-HEIGHT: 1.6em; PADDING-TOP: 0px">% kill -9</P>
<P style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 10px 0px; LINE-HEIGHT: 1.6em; PADDING-TOP: 0px">3. Verify that no shared memory segments and semaphores that are owned<BR style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px">by "oracle" still exist</P>
<P style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 10px 0px; LINE-HEIGHT: 1.6em; PADDING-TOP: 0px">% ipcs -b</P>
<P style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 10px 0px; LINE-HEIGHT: 1.6em; PADDING-TOP: 0px">If there are shared memory segments and semaphores owned by "oracle",<BR style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px">remove the shared memory segments</P>
<P style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 10px 0px; LINE-HEIGHT: 1.6em; PADDING-TOP: 0px">% ipcrm -m</P>
<P style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 10px 0px; LINE-HEIGHT: 1.6em; PADDING-TOP: 0px">and remove the semaphores</P>
<P style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 10px 0px; LINE-HEIGHT: 1.6em; PADDING-TOP: 0px">% ipcrm -s</P>
<P style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 10px 0px; LINE-HEIGHT: 1.6em; PADDING-TOP: 0px">NOTE: The example shown above assumes that you only have one<BR style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px">database on this machine. If you have more than one<BR style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px">database, you will need to shutdown all other databases<BR style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px">before proceeding with Step 4.</P>
<P style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 10px 0px; LINE-HEIGHT: 1.6em; PADDING-TOP: 0px">4. Verify that the "$ORACLE_HOME/dbs/lk" file does not exist</P>
<P style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 10px 0px; LINE-HEIGHT: 1.6em; PADDING-TOP: 0px">5. Startup the instance</P></SPAN></SPAN></DIV>
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP