野钓雄英 發表於 2023-9-2 00:00:00

centos 6.5 oracle开机自启动的环境配置详解

<p>
        <strong>centos 6.5 oracle开机自启动的环境配置详解</strong></p>
<p>
        环境:centos 6.5 + oracle 11g</p>
<p>
        自启动之前问题</p>
<p>
        虚拟机里的oracle环境,每次重启完系统,用plsql developer连接,先是报错:</p>
<p>
        <strong>无tns监听程序</strong></p>
<p>
        解决方法是切换到系统的oracle用户,执行lsnrctl start,但是执行之前,因为oracle_home环境变量没有生效,还要是环境变量文件生效,步骤如下:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_663283">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">$ </code><code class="bash functions">source</code> <code class="bash plain">.bash_profile </code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                         </div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain">$ </code><code class="bash functions">echo</code> <code class="bash plain">$oracle_home</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash plain">/home/oracle/app/oracle/product/11</code><code class="bash plain">.2.0</code><code class="bash plain">/dbhome_1</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                         </div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="bash plain">$ lsnrctl start</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        启动完成后,再次连接,又报错:</p>
<p>
        <img style="max-width:100%!important;height:auto!important;"title="centos 6.5 oracle开机自启动的环境配置详解" alt="centos 6.5 oracle开机自启动的环境配置详解" src="https://zhuji.jb51.net/uploads/img/202305/c55d35e08e6a4e081984921ef998d1cb.jpg"></p>
<p>
        oracle没有启动。启动步骤如下:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_146517">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                        <div class="line number8 index7 alt1">
                                                                8</div>
                                                        <div class="line number9 index8 alt2">
                                                                9</div>
                                                        <div class="line number10 index9 alt1">
                                                                10</div>
                                                        <div class="line number11 index10 alt2">
                                                                11</div>
                                                        <div class="line number12 index11 alt1">
                                                                12</div>
                                                        <div class="line number13 index12 alt2">
                                                                13</div>
                                                        <div class="line number14 index13 alt1">
                                                                14</div>
                                                        <div class="line number15 index14 alt2">
                                                                15</div>
                                                        <div class="line number16 index15 alt1">
                                                                16</div>
                                                        <div class="line number17 index16 alt2">
                                                                17</div>
                                                        <div class="line number18 index17 alt1">
                                                                18</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">$ sqlplus </code><code class="bash plain">/nolog</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                         </div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain">sql*plus: release 11.2.0.1.0 production on wed oct 19 14:29:10 2016</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                         </div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="bash plain">copyright (c) 1982, 2009, oracle. all rights reserved.</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                         </div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="bash plain">sql&gt; conn / as sysdba</code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="bash plain">connected to an idle instance.</code>
</div>
                                                                <div class="line number9 index8 alt2">
                                                                        <code class="bash plain">sql&gt; startup</code>
</div>
                                                                <div class="line number10 index9 alt1">
                                                                        <code class="bash plain">oracle instance started.</code>
</div>
                                                                <div class="line number11 index10 alt2">
                                                                         </div>
                                                                <div class="line number12 index11 alt1">
                                                                        <code class="bash plain">total system global area 776646656 bytes</code>
</div>
                                                                <div class="line number13 index12 alt2">
                                                                        <code class="bash plain">fixed size         2217384 bytes</code>
</div>
                                                                <div class="line number14 index13 alt1">
                                                                        <code class="bash plain">variable size       490736216 bytes</code>
</div>
                                                                <div class="line number15 index14 alt2">
                                                                        <code class="bash plain">database buffers     281018368 bytes</code>
</div>
                                                                <div class="line number16 index15 alt1">
                                                                        <code class="bash plain">redo buffers        2674688 bytes</code>
</div>
                                                                <div class="line number17 index16 alt2">
                                                                        <code class="bash plain">database mounted.</code>
</div>
                                                                <div class="line number18 index17 alt1">
                                                                        <code class="bash plain">database opened.</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        <strong>配置自启动</strong></p>
<p>
        下面把上述过程都配置成开机启动。</p>
<p>
        环境变量生效</p>
<p>
        可能是因为我的oracle用户不是桌面登录的,是从终端su切换过来的,.bash_profile文件没有运行。我把文件里的内容写入.bashrc文件后,重启就可以了。</p>
<p>
        tns监听以及oracle服务自启动</p>
<p>
        编辑: /etc/oratab文件,把最后一行的n改成y</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_675172">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                        <div class="line number8 index7 alt1">
                                                                8</div>
                                                        <div class="line number9 index8 alt2">
                                                                9</div>
                                                        <div class="line number10 index9 alt1">
                                                                10</div>
                                                        <div class="line number11 index10 alt2">
                                                                11</div>
                                                        <div class="line number12 index11 alt1">
                                                                12</div>
                                                        <div class="line number13 index12 alt2">
                                                                13</div>
                                                        <div class="line number14 index13 alt1">
                                                                14</div>
                                                        <div class="line number15 index14 alt2">
                                                                15</div>
                                                        <div class="line number16 index15 alt1">
                                                                16</div>
                                                        <div class="line number17 index16 alt2">
                                                                17</div>
                                                        <div class="line number18 index17 alt1">
                                                                18</div>
                                                        <div class="line number19 index18 alt2">
                                                                19</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash comments"># this file is used by oracle utilities. it is created by root.sh</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash comments"># and updated by the database configuration assistant when creating</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash comments"># a database.</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                         </div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="bash comments"># a colon, ':', is used as the field terminator. a new line terminates</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="bash comments"># the entry. lines beginning with a pound sign, '#', are comments.</code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="bash comments">#</code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="bash comments"># entries are of the form:</code>
</div>
                                                                <div class="line number9 index8 alt2">
                                                                        <code class="bash comments">#  $oracle_sid:$oracle_home:&lt;n|y&gt;:</code>
</div>
                                                                <div class="line number10 index9 alt1">
                                                                        <code class="bash comments">#</code>
</div>
                                                                <div class="line number11 index10 alt2">
                                                                        <code class="bash comments"># the first and second fields are the system identifier and home</code>
</div>
                                                                <div class="line number12 index11 alt1">
                                                                        <code class="bash comments"># directory of the database respectively. the third filed indicates</code>
</div>
                                                                <div class="line number13 index12 alt2">
                                                                        <code class="bash comments"># to the dbstart utility that the database should , "y", or should not,</code>
</div>
                                                                <div class="line number14 index13 alt1">
                                                                        <code class="bash comments"># "n", be brought up at system boot time.</code>
</div>
                                                                <div class="line number15 index14 alt2">
                                                                        <code class="bash comments">#</code>
</div>
                                                                <div class="line number16 index15 alt1">
                                                                        <code class="bash comments"># multiple entries with the same $oracle_sid are not allowed.</code>
</div>
                                                                <div class="line number17 index16 alt2">
                                                                        <code class="bash comments">#</code>
</div>
                                                                <div class="line number18 index17 alt1">
                                                                        <code class="bash comments">#</code>
</div>
                                                                <div class="line number19 index18 alt2">
                                                                        <code class="bash plain">orcl:</code><code class="bash plain">/home/oracle/app/product/11</code><code class="bash plain">.2.0</code><code class="bash plain">/dbhome_1</code><code class="bash plain">:y</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        <strong>路径可能不同</strong></p>
<p>
        编辑 /etc/rc.local 文件,增加 最后两行:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_430635">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                        <div class="line number8 index7 alt1">
                                                                8</div>
                                                        <div class="line number9 index8 alt2">
                                                                9</div>
                                                        <div class="line number10 index9 alt1">
                                                                10</div>
                                                        <div class="line number11 index10 alt2">
                                                                11</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash preprocessor bold">#!/bin/sh</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash comments">#</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash comments"># this script will be executed *after* all the other init scripts.</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash comments"># you can put your own initialization stuff in here if you don't</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="bash comments"># want to do the full sys v style init stuff.</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                         </div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="bash functions">touch</code> <code class="bash plain">/var/lock/subsys/local</code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="bash plain">service smb restart</code>
</div>
                                                                <div class="line number9 index8 alt2">
                                                                        <code class="bash functions">su</code> <code class="bash plain">- oracle -c </code><code class="bash string">'lsnrctl start'</code>
</div>
                                                                <div class="line number10 index9 alt1">
                                                                        <code class="bash functions">su</code> <code class="bash plain">- oracle -c </code><code class="bash string">'dbstart'</code>
</div>
                                                                <div class="line number11 index10 alt2">
                                                                        <code class="bash functions">su</code> <code class="bash plain">- oracle -c </code><code class="bash string">'emctl start dbconsole'</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        dbstart是数据库自带的启动脚本,我们只要加到rc.local中让它开机调用就可以了。但是还需要编辑一下它。修改dbstart的oracle_home_listner,使其指向$oracle_home:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_315816">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash comments"># first argument is used to bring up oraclenet listener</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">oracle_home_listner=$oracle_home</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        重启虚拟机,发现plsql developer可以直接连接上了。</p>
<p>
        感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!</p>
<p>
        原文链接:http://blog.csdn.net/pony_maggie/article/details/52874667</p>
頁: [1]
查看完整版本: centos 6.5 oracle开机自启动的环境配置详解