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> 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> 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:<n|y>:</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]