我在计算机A上安装了Oracle 11g XE.我可以使用该命令通过sql命令行连接connect username/password.我也可以将SQL指令发送到Demo数据库:Select * from demo_customers;
数据库在计算机A的localhost上运行.
我希望计算机B连接到localhost上的计算机A的数据库.我怎样才能做到这一点?
DCo*_*kie 13
您需要在服务器A上运行lsnrctl实用程序以启动侦听器.然后,您将使用以下语法从计算机B连接:
sqlplus username/password@hostA:1521 /XE
Run Code Online (Sandbox Code Playgroud)
如果使用默认值1521,则端口信息是可选的.
小智 5
它在计算机上很容易,因为你不需要做任何事情,只要确保两个系统都在同一个网络上,如果它不能访问互联网(为此你需要静态 ip)。好的现在在计算机b上转到开始菜单在oracle文件夹下找到配置单击该文件夹下的Net Configuration Assistant当窗口弹出时单击Local net configuration选项它必须是第三个选项。
现在单击添加并在下一个屏幕中单击下一步它会在这里询问服务名称您需要添加计算机 A 的 oracle 全局数据库名称(通常我使用 oracle86 进行我的安装)现在单击下一个屏幕通常选择协议其 tcp 在主机名中单击下一步输入计算机 A 的名称,您可以在我的计算机属性中找到该名称。单击下一步不要更改端口,直到您在计算机中更改了端口 A 单击下一步并现在选择测试连接,如果错误是用户名和密码不正确,您可以检查您的连接是否正常,然后单击登录凭据按钮并填写正确的用户名和密码。如果它说无法访问未找到目标的计算机,则必须在防火墙中为 1521 端口添加例外或仅禁用计算机 A 上的防火墙。
我安装了Oracle服务器,它允许从本地计算机正常连接。但是从我的家庭网络中的另一个Maclaptop上,它无法使用Sql Developer或Sql Plus连接。经过研究后,我发现您还需要执行此附加步骤:
使用Oracle网络管理器。选择监听器。除了127.0.0.1或本地主机之外,添加IP地址(在我的情况下为192.168.1.12)。
最终将添加一个条目到[OracleHome] \ product \ 11.2.0 \ dbhome_1 \ network \ admin \ listener.ora
重新启动侦听器服务。(注意:对我来说,我会重启机器一次以使其工作)
使用lsnrctl状态进行验证
请注意,将显示其他HOST = 192.168.1.12,这是使远程连接正常工作的原因。
C:\ Windows \ System32> 用于64位Windows的lsnrctl status
LSNRCTL:版本11.2.0.1.0-2015年9月5日生产13:51:43
版权所有(c)1991,2010 ,Oracle。版权所有。
连接到
LISTENER的(DESCRIPTION =(地址=(PROTOCOL = IPC)(KEY = EXTPROC1521)))状态
适用于64位Windows的Alias LISTENER 版本TNSLSNR:版本11.2.0.1.0-生产
开始日期05-SEP-2015 13:45:18
正常运行时间0天0小时。6分钟 24秒
跟踪级别关闭
安全性打开:本地操作系统身份验证
SNMP关闭
侦听器参数文件
D:\ oracle11gr2 \ product \ 11.2.0 \ dbhome_1 \ network \ admin \ listener.ora侦听
器日志文件d:\ oracle11gr2 \ diag \ tnslsnr \ eagleii \ listener \ alert \ log.xml
侦听端点摘要...
(DESCRIPTION =(地址=(PROTOCOL = ipc)(PIPENAME = \。\ pipe \ EXTPROC1521ipc)))
(DESCRIPTION =(地址=(PROTOCOL = tcp)(HOST = 127.0.0.1)(PORT = 1521)))
(DESCRIPTION =(地址=(PROTOCOL = tcp)(HOST = 192.168.1.12)(PORT = 1521)))
服务摘要...
服务“ CLRExtProc”具有1个实例。
实例“ CLRExtProc”,状态为UNKNOWN,具有1个该服务的处理程序……
服务“ xe”具有1个实例。
实例“ xe”,状态为READY,具有1个该服务的处理程序……服务“ xeXDB”具有1个实例。
实例“ xe”,状态为READY,具有1个该服务的处理程序...命令已成功完成
使用tnsping 测试连接
ping IPv4地址,而不是localhost或127.0.0.1
C:\ Windows \ System32> tnsping 192.168.1.12
64位Windows的TNS Ping实用程序:版本11.2.0.1.0-在05-SEP-2015 14:09:11上生产
版权所有(c)1997,2010 ,Oracle。版权所有。
使用的参数文件:
D:\ oracle11gr2 \ product \ 11.2.0 \ dbhome_1 \ network \ admin \ sqlnet.ora使用EZCONNECT适配器解析别名
尝试联系(DESCRIPTION =(CONNECT_DATA =(SERVICE_NAME =))(ADDRESS =(PROTOCOL = TCP)(HOST = 192.168.1.12)(PORT = 1521)))
OK(0毫秒)
首先,确保接收客户端连接请求的数据库服务器(计算机 A)上的侦听器正在运行。为此,请运行lsnrctl status命令。
如果您收到TNS:no listener消息(见下图),则表示侦听器服务未运行。要启动它,请运行lsnrctl start命令。
其次,对于远程客户端的数据库操作和连接,必须将以下可执行文件添加到 Windows 防火墙例外列表中:(见图)
Oracle_home\bin\oracle.exe - Oracle 数据库可执行文件
Oracle_home\bin\tnslsnr.exe - Oracle 侦听器
最后,在客户端机器(计算机 B)上安装oracle 即时客户端并运行:
sqlplus user/password@computerA:port/XE