共计 3581 个字符,预计需要花费 9 分钟才能阅读完成。
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
更多 Oracle 相关信息见 Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-07/133615.htm