Oracle配置服务端,远程连接Oracle数据库
Oracle 服务器配置
Oracle中有两个重要的配置文件listener,和tnsnames。位于D:\oracle\product\12.1.0\dbhome_1\NETWORK\ADMIN(我自己的安装路径)
Tnsnames.ora(客户及服务器端)
提供的tnsname到主机名或者ip的对应,只有当sqlnet.ora中类似
NAMES.DIRECTORY_PATH= (TNSNAMES) 这样,也就是客户端解析连接字符串的顺序中有TNSNAMES时,才会尝试使用这个文件
listener.ora(服务器端) --listener监听器进程的配置文件
接受远程对数据库的接入申请并转交给oracle的服务器进程
配置
更改后的listener.ora文件
# listener.ora Network Configuration File: D:\oracle\product\12.1.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = D:\oracle\product\12.1.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:D:\oracle\product\12.1.0\dbhome_1\bin\oraclr12.dll")
)
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = D:\oracle\product\12.1.0\dbhome_1)
(SID_NAME = orcl)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = LIXPC)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
修改内容:HOST = LIXPC,LIXPC是我的计算机名(可以自己修改),也可以是IP地址
( 【计算机】右键【属性】,可以查看计算机名)
更改后的Tnsnames.ora文件
# tnsnames.ora Network Configuration File: D:\oracle\product\12.1.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST = LIXPC)(PORT = 1521))
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = LIXPC)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
修改后的内容HOST = LIXPC(LIXPC同上)
PS:直接修改文件内容时,可能会因为权限问题无法修改,解决方法:将两个文件复制到桌面,修改文件内容,之后复制桌面上修改后的文件到原路径,覆盖原来的文件。
修改文件内容后一定要重启Oracle服务。
重启方法:打开【服务】,找到Oracle相关服务,选择重启
PS:service 和listener必须打开
以上配置Oracle服务器就完成了
远程连接Oracle数据库
PS:必须在同一局域网下才可以远程连接Oracle数据库
在客户端下安装Oracle客户端,使用IP地址和Oracle实例连接数据库
我这里使用SQL Developer 来进行连接
连接名:可以自己随便写
用户名和密码需要由服务器端提供
主机名由服务器端配置文件(listener和tnsnames)中配置(我配置的是计算机名,也可以配置IP地址)
服务名是服务器配置文件( tnsnames.ora)中配置的实例名
配置后可以点击测试查询连接是否成功。连接成功后状态显示成功。