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
这样就可以通过http://localhost: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
: