免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 10433 | 回复: 5
打印 上一主题 下一主题

[求助] Oracle-XE 11g 连接失败! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-02-21 07:26 |只看该作者 |倒序浏览
本帖最后由 BlueSky_Yu84 于 2014-02-21 07:35 编辑

    系统环境:Fedora 20 64bit
    Oracle版本:Oracle-XE 11gR2

    SQL Plus连接数据库正常,但是SQL Developer 4.0无法连接数据库

[xiaoyu@seals ~]$ lsnrctl start

LSNRCTL for Linux: Version 11.2.0.2.0 - Production on 21-FEB-2014 07:02:50

Copyright (c) 1991, 2011, Oracle.  All rights reserved.

Starting /u01/app/oracle/product/11.2.0/xe/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 11.2.0.2.0 - Production
System parameter file is /u01/app/oracle/product/11.2.0/xe/network/admin/listener.ora
Log messages written to /u01/app/oracle/diag/tnslsnr/seals/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC_FOR_XE)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC_FOR_XE)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.2.0 - Production
Start Date                21-FEB-2014 07:02:50
Uptime                    0 days 0 hr. 2 min. 7 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Default Service           XE
Listener Parameter File   /u01/app/oracle/product/11.2.0/xe/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/seals/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC_FOR_XE)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))
Services Summary...
Service "XE" has 1 instance(s).
  Instance "XE", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully

[xiaoyu@seals ~]$ sudo /etc/init.d/oracle-xe start
[sudo] password for xiaoyu:
Starting oracle-xe (via systemctl):                        [  OK  ]

[xiaoyu@seals ~]$ sqlplus sys/password as sysdba

SQL*Plus: Release 11.2.0.2.0 Production on Fri Feb 21 07:22:37 2014

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup
ORACLE instance started.

Total System Global Area 1068937216 bytes
Fixed Size                    2233344 bytes
Variable Size                  616565760 bytes
Database Buffers          444596224 bytes
Redo Buffers                    5541888 bytes
Database mounted.
Database opened.
SQL> conn scott/tiger
Connected.
SQL> select table_name from user_tables;

TABLE_NAME
------------------------------
BONUS
DEPT
EMP
SALGRADE

SQL>

------------------------------------------------------------------------------------------------------------------------------------------------------------------
/u01/app/oracle/product/11.2.0/xe/network/admin/listener.ora文件内容:
# listener.ora Network Configuration File:

SID_LIST_LISTENER =
   (SID_LIST =
     (SID_DESC =
       (SID_NAME = XE) //原来是(SID_NAME = PLSExtProc),不过SQL Developer显示:Status : Failure -Test failed: Listener refused the connection with the following error:ORA-12505, TNS:listener does not currently know of SID given in connect descriptor

       (ORACLE_HOME = /u01/app/oracle/product/11.2.0/xe)
       (PROGRAM = extproc)
     )
   )

LISTENER =
   (DESCRIPTION_LIST =
     (DESCRIPTION =
       (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
       (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
     )
   )

DEFAULT_SERVICE_LISTENER = (XE)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
tnsnames.ora文件内容:
# tnsnames.ora Network Configuration File:

XE =
   (DESCRIPTION =
     (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
     (CONNECT_DATA =
       (SERVER = DEDICATED)
       (SERVICE_NAME = XE)
     )
   )

EXTPROC_CONNECTION_DATA =
   (DESCRIPTION =
     (ADDRESS_LIST =
       (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
     )
     (CONNECT_DATA =
       (SID = XE) //原来是(SID = PLSExtProc)
       (PRESENTATION = RO)
     )
   )
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
.bashrc文件内容
export TMP=/tmp;
export TMPDIR=$TMP;
export ORACLE_HOSTNAME=localhost;
export ORACLE_UNQNAME=DB11G;
export ORACLE_BASE=/u01/app/oracle;
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/xe;
export ORACLE_SID=XE;
export NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh`;
export ORACLE_TERM=xterm;
export PATH=/usr/sbinPATH;
export PATH=$ORACLE_HOME/binPATH;
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
export CLASSPATH=$ORACLE_HOME/JREORACLE_HOME/jlibORACLE_HOME/rdbms/jlib;

if [ $USER = "oracle" ]; then
   if [ $SHELL = "/bin/ksh" ]; then
      ulimit -p 16384
      ulimit -n 65536
   else
      ulimit -u 16384 -n 65536
   fi
fi
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
目前SQL Developer (Version 4.0)
显示:

没觉得哪里有问题啊!会不会是Oracle SQL Developer 自身有bug啊???

另外再问:同样的环境,在安装Oracle 11gR2 Enterprise版本的时候,到最后总是有Database Configuration Net Assistance Fail。虽然可以选择跳过,不过数据库基本就起不来了。想问的是:Oracle安装的时候,HOSTNAME 是不是可以任意指定啊?需要可访问的域名吗?网上有说Database Configuration Net Assistance可以安装后手动启动,怎么启动?什么命令?

论坛徽章:
7
天蝎座
日期:2013-08-16 23:19:32丑牛
日期:2014-01-08 09:20:14寅虎
日期:2014-01-11 11:03:44午马
日期:2014-04-28 11:02:40天秤座
日期:2014-05-16 23:24:24摩羯座
日期:2014-07-20 10:46:04卯兔
日期:2014-08-08 15:21:41
2 [报告]
发表于 2014-02-22 16:03 |只看该作者
日志报什么错误

论坛徽章:
0
3 [报告]
发表于 2014-02-22 18:26 |只看该作者
回复 2# www_xylove


    同样的连接参数,SQL Developer在windows里就连接正常。

    至于Enterprise版本里,Net Configuration Assistant Fails,我再去装一遍看看。这个服务可以手动启动吗?

    多谢版主回复!

论坛徽章:
0
4 [报告]
发表于 2014-02-22 22:12 |只看该作者
回复 2# www_xylove


    现在Oracle Enterprise安装是成功了,没有什么错误,不过安装后起不来啊...


    lsnrctl start

    LSNRCTL> status
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 12.1.0.1.0 - Production
Start Date                22-FEB-2014 21:38:18
Uptime                    0 days 0 hr. 18 min. 7 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /ora01/app/oracle/product/12.1.0/db_1/network/admin/listener.ora
Listener Log File         /ora01/app/oracle/diag/tnslsnr/seals/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=seals.com)(PORT=1521)))
The listener supports no services
The command completed successfully
LSNRCTL> start
TNS-01106: Listener using listener name LISTENER has already been started
是不是说LISTENER已经成功启动了?不过那个红色的字体有点可疑啊...

sqlplus /nolog
[oracle@seals ~]$ sqlplus /nolog

SQL*Plus: Release 12.1.0.1.0 Production on Sat Feb 22 22:03:57 2014

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

SQL> startup nomount
SP2-0642: SQL*Plus internal error state 2133, context 24324:0:0
Unsafe to proceed
ORA-24324: service handle not initialized
是不是跟上面那个The listener supports no services有关啊

[oracle@seals ~]$ sqlplus / as sysdba

SQL*Plus: Release 12.1.0.1.0 Production on Sat Feb 22 22:05:22 2014

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup nomount
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/ora01/app/oracle/product/12.1.0/db_1/dbs/initORA12C.ora'

ls $ORACLE_HOME/dbs
core_8760  hc_orcl.dat  init.ora  orapworcl  spfileorcl.ora
确实没有那个文件,文件里因该是什么内容?需要/可以手工创建吗?

[oracle@seals ~]$ ipcs -b

------ Message Queues --------
key        msqid      owner      perms      used-bytes   messages   

------ Shared Memory Segments --------
key        shmid      owner      perms      bytes      nattch     status      
0x00000000 163840     xiaoyu     600        393216     2          dest         
0x00000000 196609     xiaoyu     600        393216     2          dest         
0x00000000 229378     xiaoyu     600        393216     2          dest         
0x00000000 327683     xiaoyu     600        393216     2          dest         
0x00000000 425988     xiaoyu     600        524288     2          dest         
0x00000000 11304965   xiaoyu     600        524288     2          dest         
0x00000000 4587526    xiaoyu     600        393216     2          dest         
0x00000000 917511     xiaoyu     600        393216     2          dest         
0x00000000 1081352    xiaoyu     600        393216     2          dest         
0x00000000 4685833    xiaoyu     600        524288     2          dest         
0x00000000 4849674    xiaoyu     600        393216     2          dest         
0x00000000 1343500    xiaoyu     600        524288     2          dest         
0x00000000 2752526    xiaoyu     600        393216     2          dest         
0x00000000 2850831    xiaoyu     600        4194304    2          dest         
0x00000000 2883600    xiaoyu     600        393216     2          dest         
0x00000000 11075602   xiaoyu     600        1048576    2          dest         

------ Semaphore Arrays --------
key        semid      owner      perms      nsems   
没有有关Oracle的

Oracle .bashrc设置如下:

# Oracle Settings
export TMP=/tmp

export ORACLE_HOSTNAME=seals.com
export ORACLE_UNQNAME=ORA12C
export ORACLE_BASE=/ora01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.1.0/db_1
export ORACLE_SID=ORA12C

PATH=/usr/sbinPATHORACLE_HOME/bin

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
export CLASSPATH=$ORACLE_HOME/jlibORACLE_HOME/rdbms/jlib;

笔记本学习环境,那个ORACLE_HOSTNAME=seals.com当然是无法访问的,不过,应该不是这个问题吧?

论坛徽章:
0
5 [报告]
发表于 2014-02-24 16:16 |只看该作者
你安装的时候环境变量是否配置正确,同时你的主机名一定要保证在安装之后不要随意更改,否则监听就算是启动了,你的数据库也是用不了的

论坛徽章:
0
6 [报告]
发表于 2014-03-06 11:09 |只看该作者
还是自己回一下自己的帖子吧:
不能连接的原因就出在:The listener supports no services
解决办法:
SQL>alter system register;
$lsnrctl status
Service "orcl" has 1 instance(s).
  Instance "ORA12C", status READY, has 1 handler(s) for this service...
Service "orclXDB" has 1 instance(s).
  Instance "ORA12C", status READY, has 1 handler(s) for this service...
Service "pdborcl" has 1 instance(s).
  Instance "ORA12C", status READY, has 1 handler(s) for this service...
The command completed successfully
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP