Linux下Oracle 11gR2开机自启动操作

Linux下的Oracle在安装结束后是处于运行状态的。开机重启机器后,Oracle不会像在Windows下那样将Oracle添加到Windows服务,在linux下需要手动启动Orcle服务

以oracle用户下,执行下面的命令 

进入sqlplus 

$ sqlplus /nolog 

以sysdba的身份连接到数据库,并启动Oracle数据库引擎 

SQL> conn /as sysdba 

SQL> startup 

退出sqlplus,运行Listener 

SQL> exit 

$ lsnrctl start 

这样就可以连接到Oracle数据库了。如果想用Oracle提供的EM来管理Oracle的话还需要启动EM控制台,运行如下命令:

$ emctl start dbconsole 

这样就可以通过:1158/em/来访问EM控制台了。

使用dbstart和dbstop来启动Oracle服务

安装过程中遇到的问题:

1,安装过程中遇到乱码:

这是因为oracle不支持中文造成的。你可以先使用命令 export LANG=en将环境临时换成英文,然后再安装。这个环境变量的修改只是临时的,重启后或者使用oracle用户登录时会自己 换回来的

2,如在安装过程中出现如下错误:

[INS-32031]Invalid inventory location

[INS-32033]Central Inventory location is not vritable

解决办法:修改/home/oracle_11的权限

chown -R oracle:oinstall /home/oracle_11就行

可能使用dbstart命令来启动数据库更方便一些,但初次安装完oracle之后使用dbstart命令会报这样的错误

ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener 

Usage: /u01/app/oracle/product/11.2/db/bin/dbstart ORACLE_HOME 

出现这样错误的原因是由于没有设置ORACLE_HOME_LISTNER的原因,我们查看一下dbstart这个文件

more  /home/oracle_11/app/oracle/product/11.2/db/bin/dbstart 

部分内容如下

# First argument is used to bring up Oracle Net Listener 

ORACLE_HOME_LISTNER=$1 

if [ ! $ORACLE_HOME_LISTNER ] ; then 

  echo "ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener" 

  echo "Usage: $0 ORACLE_HOME" 

else 

  LOG=$ORACLE_HOME_LISTNER/listener.log 

  # Set the ORACLE_HOME for the Oracle Net Listener, it gets reset to 

  # a different ORACLE_HOME for each entry in the oratab. 

  export ORACLE_HOME=$ORACLE_HOME_LISTNER 

解决方案就算将$ORACLE_HOME赋值给$ORACLE_HOME_LINTNER,保存,退出

再一次执行dbstart,但是没有反映,没有报错,如果我们需要使用dbstart,则需要在/etc/oratab这个文件中的实例最后的N改成Y,如下

orcl:/home/oracle_11/app/oracle/product/11.2/db:Y 

OK,保存,再试一下dbstart命令,返回结果如下

Processing Database instance "orcl": log file /home/oracle_11/app/oracle/product/11.2.0/db_1/startup.log 

dbshut进行同样的设置.这样,以后就可以在启动监听之后直接使用dbstart和dbshut命令来启动和关闭数据了

将Oracle服务添加到Linux开机启动项,以root用户建立/etc/rc.d/init.d/oradb脚本文件,文件内容如下:

#!/bin/bash 

# chkconfig: 2345 90 10 

export ORACLE_BASE=/home/oracle_11/app/ 

export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/db_1 

export ORACLE_SID=orcl 

export PATH=$PATH:$ORACLE_HOME/bin 

ORCL_OWN="oracle" 

# if the executables do not exist -- display error 

if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ] 

then 

   echo "Oracle startup: cannot start" 

   exit 1 

fi 

# depending on parameter -- start, stop, restart 

# of the instance and listener or usage display 

case "$1" in 

start) 

# Oracle listener and instance startup 

echo -n "Starting Oracle: " 

su - $ORCL_OWN -c "$ORACLE_HOME/bin/dbstart" 

touch /var/lock/subsys/oradb 

su - $ORCL_OWN -c "$ORACLE_HOME/bin/emctl start dbconsole" 

echo "OK" 

;; 

stop) 

# Oracle listener and instance shutdown 

echo -n "Shutdown Oracle: " 

su - $ORCL_OWN -c "$ORACLE_HOME/bin/emctl stop dbconsole" 

su - $ORCL_OWN -c "$ORACLE_HOME/bin/dbshut" 

rm -f /var/lock/subsys/oradb 

echo "OK" 

;; 

reload|restart) 

$0 stop 

$1 start 

;; 

*) 

echo "Usage: 'basename $0' start|stop|restart|reload" 

exit 1 

esac 

exit 0 

将该文件添加到开机启动

# chmod 755 /etc/rc.d/init.d/oradb 

# chkconfig --add oradb 

重启服务

# service oradb stop 

# service oradb start 

下次启动机器的时候,Oracle服务会随机器一起启动。

Oracle数据库安装、配置完成。

Tip:Oracle数据库的默认端口号:1521,Oracle提供的EM管理器默认端口号是1158。

卸载:

oracle在linux下安装时虽然很繁琐,但是卸载却异常简单,只要把相关文件删除即可!!!

oracle11g自带一个卸载批处理home/oracle/product/11.2.0/dbhome_1/deinstall/deinstall

运行该处理文件自动完成卸载oracle卸载工作,最后手动删除\app文件夹

在运行的过程中可能需要填写如下项:

指定要取消配置的所有单实例监听程序[LISTENER]: LISTENER

指定在此oracle主目录中配置的数据库名的列表[MYDATA,ORCL]:MYDATA,ORACL

是否仍要修改MYDATA,ORACL数据库的详细资料?[n]:n

CCR check is finished

是否继续[y-是,n-否]?[n]:y

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/176bf453fff8e9250ae88a05957613de.html