你好,游客 登录 注册 搜索
背景:
阅读新闻

Ubuntu 12.04(amd64)安装完Oracle 11gR2后各种问题解决方法

[日期:2013-06-17] 来源:Linux社区  作者:wuwenrui2010 [字体: ]

上一篇介绍了怎么在Ubuntu上面安装Oracle数据库(见 http://www.linuxidc.com/Linux/2013-06/86154.htm),整个安装过程还算顺利,但有些步骤没有执行成功,或者直接选择啦忽略,这可能导致安装完之后,不能正常使用,出现很多小问题。下面一一介绍。
 
1、找不到命令,无论是lsnrctl 还是sqlplus,都提示:未找到命令。原因是环境变量没有设置,打开/etc/profile文件,加入ORACLE_HOME这个环境变量。并将相关命令bin放到PATH后面。下面是profile文件部分内容:

export ORACLE_HOSTNAME=localhost
export JAVA_HOME=/opt/jdk1.6.0_43
export JRE_HOME=/opt/jdk1.6.0_43/jre
export ORACLE_HOME=/opt/oracle/app/oracle/product/11.2.0/dbhome_1
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$ORACLE_HOME/bin
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib/tools.jar:$JAVA_HOME%/lib/dt.jar:$JAVA_HOME/lib:$JRE_HOME/lib

上述操作应该有root权限才行,之后执行 source /etc/profile ,使该文件生效。注意回到oracle用户(su oracle)后,还要执行一次 source /etc/profile,才可以生效,可以通过执行 echo $PATH 来查看相关命令是否添加成功。
 

2、经过步骤1之后,执行 lsnrctl start 启动监听服务,然后 sqlplus / as sysdba 出现,
 
ERROR:
 ORA-12162: TNS:net service name is incorrectly specified
 

错误原因不详,但是解决方法是在终端执行    export  ORACLE_SID=orcl  (或者将orcl固定在环境变量中,步骤同1),从解决方法也可以猜出问题所在了吧。
 
后出现
 
ERROR:
 ORA-12514: TNS:listener does not currently know of service requested in connect
 descriptor
 

解决方法:
 
修改$ORACLE_HOME\network\admin\listener.ora文件
加上
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = 你的数据库名称)
      (ORACLE_HOME = D:\oracle\product\10.1.0\db_1)
    )
  )
上面SID_NAME=orcl,然后重启lisener服务,就ok了。


之后顺利进入sqlplus环境,通过startup命令启动数据库。
 
3、无法通过网页进入em,相关服务未启动。在终端执行 emctl start dbconsole 后,出现
 
OC4J Configuration issue. /opt/oracle/app/oracle/product/11.2.0/dbhome_1/oc4j/j2ee/OC4J_DBConsole_wwr-ThinkPad-Edge_orcl not found.
 

但是这个文件夹确实存在啊!可见提示的错误信息未必是问题的真正原因。接下来
 
 emca -config dbcontrol db -repos recreate  出现如下信息:
 
oracle@wwr-ThinkPad-Edge:~$ emca -config dbcontrol db -repos recreate
 

EMCA 开始于 2013-6-14 20:59:58
 EM Configuration Assistant, 11.2.0.0.2 正式版
 版权所有 (c) 2003, 2005, Oracle。保留所有权利。
 

输入以下信息:
 数据库 SID: orcl
 监听程序端口号: 1521
 监听程序 ORACLE_HOME [ /opt/oracle/app/oracle/product/11.2.0/dbhome_1 ]: /bin/lsnrctl
 SYS 用户的口令: 
 DBSNMP 用户的口令: 
 SYSMAN 用户的口令: 
 通知的电子邮件地址 (可选):
 通知的发件 (SMTP) 服务器 (可选):
 -----------------------------------------------------------------
 

已指定以下设置
 

数据库 ORACLE_HOME ................ /opt/oracle/app/oracle/product/11.2.0/dbhome_1
 

本地主机名 ................ wwr-ThinkPad-Edge
 监听程序 ORACLE_HOME ................ /bin/lsnrctl
 监听程序端口号 ................ 1521
 数据库 SID ................ orcl
 通知的电子邮件地址 ...............
 通知的发件 (SMTP) 服务器 ...............
 

-----------------------------------------------------------------
 是否继续? [是(Y)/否(N)]: y
 2013-6-14 21:01:53 oracle.sysman.emcp.EMConfig perform
 信息: 正在将此操作记录到 /opt/oracle/app/oracle/cfgtoollogs/emca/orcl/emca_2013_06_14_20_59_58.log。
 2013-6-14 21:01:54 oracle.sysman.emcp.EMConfig perform
 严重: 监听程序未启动或数据库服务未注册到该监听程序。启动该监听程序并注册数据库服务, 然后重新运行 EM Configuration Assistant。
 有关详细资料, 请参阅 /opt/oracle/app/oracle/cfgtoollogs/emca/orcl/emca_2013_06_14_20_59_58.log 中的日志文件。
 无法完成配置。 有关详细资料, 请参阅 /opt/oracle/app/oracle/cfgtoollogs/emca/orcl/emca_2013_06_14_20_59_58.log 中的日志文件。
 

接着百度“严重: 监听程序未启动或数据库服务未注册到该监听程序。启动该监听程序并注册数据库服务, 然后重新运行 EM Configuration Assistant。”,找到如下解决方法
 
在终端执行,export ORACLE_HOSTNAME=localhost  ,即设置ORACLE_HSOTNAME这个环境变量的值为localhost,再次启动em相关服务(emctl start dbconsole),成功从网页进入em。

linux
相关资讯       Ubuntu安装Oracle 11g 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款