有时我们需要远程连接远端的Oracle数据库,这时我们就需要对我们的Oracle客户端进行一些配置。
注:这里我们使用的是Oracle XE简化版
前提:
1、在客户端程序必须安装Oracle客户端程序
2、服务器端的防火墙必须关闭,因为Oracle采用的是TCP/IP协议
3、需要添加全局配置,修改配置文件
配置文件路径:
C:\oraclexe\app\oracle\product\10.2.0\server\NETWORK\ADMIN\tnsnames.ora
其中的内容如下:
XE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = PC-201009100931)(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 = PLSExtProc)
(PRESENTATION = RO)
)
)
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
解析:
XE是默认的全局名称PROTOCOL = TCP 协议
HOST = PC-201009100931 本机的名称
PORT = 1521 oralce的端口号
如果需要采用远程连接需要配置一个全局的连接属性
在其中加入以下代码:
teacher =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = XE)
)
)
注意:
teacher是随意起的全局名称 注意:名称不能重复
HOST = 192.168.1.100 是远程局连接的IP地址
PORT = 1521是远程连接的端口号.必须一致。
SERVICE_NAME = XE 是远程连接服务的名称.必须一致。
备注:可以到服务端的tnsnames.ora文件中查找PORT与SERVICE_NAME。
注意:以上配置teacher之前不能有空格否则会有异常信息。
4、当远程客户连接服务器时,服务器端的OracleXETNSListener的监听必须启动
打开方式---管理工具--服务中---查找OracleXETNSListener并启动程序。
5、--sqlplus远程连接命令
sqlplus 服务器端的用户名/密码@teacher;即可。
sqlplus 服务器端的用户名/密码@全局数据库名称
----------------------------------------------------------------
以上属个人理解,若有不足,请各位高手指点,谢谢..