在Linux VM中安装Oracle数据库

我正在尝试在虚拟机中设置Oracle数据库服务器(目前仅用于testing目的)。

我正在使用的设置:

  • VirtualBox的
  • NAT模式下的networking适配器(redirect端口22-> 22,80-> 80,1521-> 1521,8080-> 8080)
    • 如果可能,我宁愿避免桥接networking
    • 如果数据库可以被外界访问,而不仅仅是主机操作系统
  • CentOS 6.4 64位
  • Oracle XE版本11.2.0.2.0“Production”,使用默认端口(1521和8080)进行安装和configuration,
  • 防火墙在客户操作系统和主机操作系统中均被禁用
  • 主机操作系统在代理之后

问题

我无法从主机访问数据库(通过端口1521,使用sqlplus或SQL开发人员)。 我可以从虚拟机本身访问它(使用sqlplus)。

我也可以从主机SSH进入虚拟机,我可以访问从主机的Web界面,当我导航到:

http://127.0.0.1:8080/apex 

因此,VirtualBox的NAT设置似乎在一定程度上起作用。

当我执行lsnctrl状态时,听众似乎已经启动了。 listener.ora文件如下所示:

 # listener.ora Network Configuration File: SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (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.localdomain)(PORT = 1521)) ) ) DEFAULT_SERVICE_LISTENER = (XE) 

当我尝试从主机进行连接时,出现以下错误(在CentOS中执行相同的命令时):

 PS C:\Users\winuser> sqlplus system/[email protected] SQL*Plus: Release 11.2.0.3.0 Production on Fr Jul 12 16:56:25 2013 Copyright (c) 1982, 2011, Oracle. All rights reserved. ERROR: ORA-12154: TNS:could not resolve the connect identifier specified 

端口1521似乎也在虚拟机中处于活动状态,并且在VirtualBox中适当地设置了端口转发:

 [root@localhost admin]# nmap 127.0.0.1 Starting Nmap 5.51 ( http://nmap.org ) at 2013-07-12 17:02 CEST Nmap scan report for localhost.localdomain (127.0.0.1) Host is up (0.0000050s latency). Not shown: 994 closed ports PORT STATE SERVICE 22/tcp open ssh 25/tcp open smtp 111/tcp open rpcbind 631/tcp open ipp 1521/tcp open oracle 8080/tcp open http-proxy Nmap done: 1 IP address (1 host up) scanned in 0.06 seconds 

感谢您的任何提示或build议。

您不能使用IP地址连接到数据库。

 lsnrctl status 

在客机上查找服务名称和实例名称(例如ORCL)。 然后在主机上编辑tnsnames.ora类似于这个:

 ORCL= (DESCRIPTION= (ADDRESS= (PROTOCOL=TCP) (HOST=127.0.0.1) (PORT=1521) ) (CONNECT_DATA= (SERVER=dedicated) (SERVICE_NAME=your_service_name_here) ) ) 

并尝试TNSPINGing它:

 tnsping ORCL 

它可以说类似“好(20毫秒)”最后运行sqlplus:

 sqlplus user/password@ORCL 

有关更多信息,请阅读Oracle文档: http : //www.oracle.com/pls/db112/portal.portal_db? selected=4&frame=# network_management

这听起来像是您的Oraclenetworkingconfiguration的问题。 可以使用networkingpipe理器,也可以手动编辑$ ORACLE_HOME / network / admin中的sqlnet.ora和tnsnames.ora。