查看SERVICE_NAME
1 | 在windows Oracle服务端启动SQLPLUS |
修改Linux下 tnsnames.ora
# 将SERVICE_NAME 修改为上面查询的结果
1 | sudo vim /usr/lib/oracle/12.2/client64/network/admin/tnsnames.ora |
查看Oracle数据库实例名称
- 找到Windows下Oracle安装目录
1 | E:\app\TZZ\virtual\product\12.2.0\dbhome_1\ |
-
进入
bin
文件夹中 -
找到
lsnrctl.exe
可执行文件,右键使用管理员身份打开 -
执行
status
命令1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30LSNRCTL> status
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=windows10.microdone.cn)(PORT=1521)))
LISTENER 的 STATUS
------------------------
别名 LISTENER
版本 TNSLSNR for 64-bit Windows: Version 12.2.0.1.0 - Production
启动日期 13-8月 -2019 01:11:12
正常运行时间 0 天 0 小时 19 分 35 秒
跟踪级别 off
安全性 ON: Local OS Authentication
SNMP OFF
监听程序参数文件 E:\app\TZZ\virtual\product\12.2.0\dbhome_1\network\admin\listener.ora
监听程序日志文件 E:\app\TZZ\virtual\diag\tnslsnr\DESKTOP-8P2KP7P\listener\alert\log.xml
监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=DESKTOP-8P2KP7P)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
服务摘要..
服务 "157cdf77ee1347ef9cb52c8ccc569098.microdone.cn" 包含 1 个实例。
实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
服务 "CLRExtProc" 包含 1 个实例。
实例 "CLRExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服务 "ORCL" 包含 1 个实例。
实例 "ORCL", 状态 UNKNOWN, 包含此服务的 2 个处理程序...
服务 "db.microdone.cn" 包含 1 个实例。
实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
服务 "orcl.microdone.cn" 包含 1 个实例。
实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
服务 "orclXDB.microdone.cn" 包含 1 个实例。
实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
命令执行成功最后的服务摘要内,实例后面跟的即为实例名称,即 orcl 和 ORCL 。
修改Windows下 Oracle Server端监听配置文件
- 找到Windows下Oracle安装目录
E:\app\TZZ\virtual\product\12.2.0\dbhome_1\
- 移动到 network/admin下
E:\app\TZZ\virtual\product\12.2.0\dbhome_1\network\admin
-
编辑
listener.ora
文件,此为服务端监听的配置文件1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22# listener.ora Network Configuration File: E:\app\TZZ\virtual\product\12.2.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = E:\app\TZZ\virtual\product\12.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:E:\app\TZZ\virtual\product\12.2.0\dbhome_1\bin\oraclr12.dll")
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = windows10.microdone.cn)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)在文件中添加以下内容,其中可根据自己需要进行添加,将其添加
SID_LIST =
后面即可,每个(SID_DESC = )
都为一个单独的实例配置,Linux下想要连接哪个实例,就添加哪个即可。其中SID_NAME 与 GLOBAL_DBNAME 修改为连接的实例名称,添加到后面。1
2
3
4
5
6
7
8
9(SID_DESC =
(SID_NAME = ORCL)
(ORACLE_HOME = E:\app\TZZ\virtual\product\12.2.0\dbhome_1)
(GLOBAL_DBNAME = ORCL)
)(SID_DESC =
(SID_NAME = orcl)
(ORACLE_HOME = E:\app\TZZ\virtual\product\12.2.0\dbhome_1)
(GLOBAL_DBNAME = orcl)
)最终文件为
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28# listener.ora Network Configuration File: E:\app\TZZ\virtual\product\12.2.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = E:\app\TZZ\virtual\product\12.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:E:\app\TZZ\virtual\product\12.2.0\dbhome_1\bin\oraclr12.dll")
)(SID_DESC =
(SID_NAME = ORCL)
(ORACLE_HOME = E:\app\TZZ\virtual\product\12.2.0\dbhome_1)
(GLOBAL_DBNAME = ORCL)
)(SID_DESC =
(SID_NAME = orcl)
(ORACLE_HOME = E:\app\TZZ\virtual\product\12.2.0\dbhome_1)
(GLOBAL_DBNAME = orcl)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = windows10.microdone.cn)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
重新启动监听服务
- 找到Windows下Oracle安装目录
1 | E:\app\TZZ\virtual\product\12.2.0\dbhome_1\ |
-
进入
bin
文件夹中 -
找到
lsnrctl.exe
可执行文件,右键使用管理员身份打开执行以下命令
1
2stop
start等待命令执行完…
-
WIN+R 输入
services.msc
打开服务管理器 -
启动 Oracle 所有相关服务
Linux下连接测试
在Linux下执行以下命令
1 | sqlplus c##oracle/oracle@192.168.137.1:1521/orcl |
将其中内容替换为自己的内容:
- c##oracle 用户名
- oracle 密码
- 192.168.137.1:1521 Oracle服务端IP:Port
- orcl 实例名称