PLSQL Developer 配置Oracle主目录和OCI库 & 连接登录Oracle数据库(完全指南)
文章目录
PLSQL Developer 配置Oracle主目录和OCI库 & 连接登录Oracle数据库(完全指南)
温馨提示:
一、如果你在机器上装了oracle数据库服务器,就不需要在单独在该机器上安装oracle客户端了,因为装oracle数据库的时候会自动安装oracle客户端。
二、如果想用本地的计算机访问或连接远程的oracle数据库,那么就必须在本地的计算机上安装oracle客户端软件。在安装客户端前,确保在服务器端:
1.保证listener服务已经启动。
2.保证数据库已经启动。
(一)场景1:PLSQL Developer 连接本地Oracle数据库
1. 服务器端(安装Oracle数据库所在的服务器)
服务器端必须要启动的服务,如下:
- 数据库服务:OracleServiceXXX
备注:如果没有启动数据库服务,会报错“ORA-12560: TNS: 协议适配器错误”。
2. 客户端
PL/SQL Developer 环境设置
本地安装了Oracle数据库的,PLSQL Developer 工具会自动检测出来Oracle主目录和OCI库。
示例:
Oracle主目录:D:\app\Administrator\product\11.2.0\dbhome_1 OCI库:D:\app\Administrator\product\11.2.0\dbhome_1\bin\oci.dll启动PLSQL Developer,选择 “工具 -> 首选项”,在弹出的窗口中找到 “Oracle -> 连接”,输入Oracle主目录(ORACLE_HOME)和 OCI库 的路径。如图所示:
至此,就可以登录本地Oracle数据库了。
3. 登录本地Oracle数据库
登录本地Oracle数据库
方式1:使用 本地主机IP地址:端口/全局数据库名 登录
用法:
用户名:用户名 密码:密码 数据库:本地主机IP地址:端口/全局数据库名 连接为:Normal【备注:本地主机IP地址可以填写 localhost 或 127.0.0.1 等。】
方式2:使用 网络服务名 登录
用法:
用户名:用户名 密码:密码 数据库:网络服务名 连接为:Normal
小结
主题:PLSQL Developer 连接本地Oracle数据库
流程:
- 服务器端:
启动相关服务:数据库服务
- 客户端:
PL/SQL Developer 环境设置:Oracle主目录名、OCI库
- 登录本地Oracle数据库:
方式1:使用 本地主机IP地址:端口/全局数据库名 登录
方式2:使用 网络服务名 登录
(二)场景2:PLSQL Developer 远程连接ORACLE数据库
1. 服务器端(安装Oracle数据库所在的服务器)
(1)在服务器端的 listener.ora文件中添加主机IP地址,假设主机IP地址为10.0.71.191,则配置如下:
listener.ora(属于
服务器端文件)SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = CLRExtProc) (ORACLE_HOME = D:\databases\oracle\oracle_11g\app\administrator\product\11.2.0\dbhome_1) (PROGRAM = extproc) (ENVS = "EXTPROC_DLLS=ONLY:D:\databases\oracle\oracle_11g\app\administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll") ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.71.191)(PORT = 1521)) ) (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) ) (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) ) ADR_BASE_LISTENER = D:\databases\oracle\oracle_11g\app\administrator(2)远程服务器端必须要启动的服务,如下:
- 数据库服务:OracleServiceXXX
- 监听服务:OracleOraDb11g_home1TNSListener
备注:如果没有启动相关服务,会出现报错,导致无法成功连接远程数据库。比如,如果没有启动数据库服务,会报错“ORA-12560: TNS: 协议适配器错误”。
2. 客户端
如果要远程连接ORACLE数据库,那么需要有 instantclient(oracle客户端)。
(1)下载Oracle 客户端 instantclient ,远程连接Oracle数据库的必要条件。
(2) PL/SQL Developer 环境设置
示例:
Oracle主目录:D:\instantclient_21_9 OCI库:D:\instantclient_21_9\oci.dll启动PLSQL Developer,选择 “工具 -> 首选项”,在弹出的窗口中找到 “Oracle -> 连接”,输入Oracle主目录(ORACLE_HOME)和 OCI库 的路径。如图所示:
(3)sqlnet.ora 文件配置
简介:sqlnet.ora 文件是监听服务所需要的参数文件。
sqlnet.ora(属于
客户端文件)NAMES.DIRECTORY_PATH= (EZCONNECT)备注:NAMES.DIRECTORY_PATH= (EZCONNECT) 配置:支持 “sqlplus 用户名/密码@主机:端口/全局数据库名” 格式的数据库连接。
至此,就可以使用 远程主机IP地址:端口/全局数据库名 的方式登录远程数据库了。
(4)设置环境变量 NLS_LANG
NLS_LANG = SIMPLIFIED CHINESE_CHINA.ZHS16GBK备注:
NLS_LANG 是一个环境变量,用于定义语言,地域以及字符集属性。对于非英语的字符集,> NLS_LANG的设置就非常重要。
NLS_LANG 参数由以下部分组成:NLS_LANG=_.
NLS_LANG 的用法可参考:https://www.cnblogs.com/zhao1949/p/5212445.html
(5)使用 网络服务名 相关配置
如果想使用 网络服务名 来连接远程数据,那么就需要配置 TNS_ADMIN 环境变量,同时搭配 tnsnames.ora 和 sqlnet.ora 文件。
(5-1) 设置环境变量 TNS_ADMIN
TNS_ADMIN = D:\instantclient_21_9
(5-2) tnsnames.ora 文件配置
简介: tnsnames.ora 文件是网络服务名的解析文件,用于解析别名(网络服务名),以便支持使用网络服务名连接访问远程数据库。
tnsnames.ora (属于
客户端文件)CONNECT_IDENTIFIER_REMOTE_ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.71.191)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = remote_orcl) ) )
(5-3)sqlnet.ora 文件配置
简介:sqlnet.ora 文件是监听服务所需要的参数文件,用于设置 TNSNAMES 适配器来解析别名。
sqlnet.ora(属于
客户端文件)NAMES.DIRECTORY_PATH= (TNSNAMES)备注:
NAMES.DIRECTORY_PATH= (TNSNAMES) 配置:支持 “sqlplus 用户名/密码@网路服务名” 格式的数据库连接。
至此,就可以使用 网络服务名 的方式登录远程数据库了。
3. 登录远程Oracle数据库
登录远程Oracle数据库
方式1:使用 远程主机IP地址:端口/全局数据库名 登录
用法:
用户名:用户名 密码:密码 数据库:远程主机IP地址:端口/全局数据库名 连接为:Normal
方式2:使用 网络服务名 登录
用法:
用户名:用户名 密码:密码 数据库:网络服务名 连接为:Normal
小结
主题:PLSQL Developer 远程连接ORACLE数据库
流程:
- 服务器端:
(1)配置 listener.ora
(2)启动相关服务:数据库服务、监听服务
- 客户端:
(1)下载客户端 instantclient
(2)PL/SQL Developer 环境设置:Oracle主目录名、OCI库
(3)配置环境变量:NLS_LANG、TNS_ADMIN
(4)配置sqlnet.ora、tnsnames.ora
- 登录远程Oracle数据库:
方式1:使用 远程主机IP地址:端口/全局数据库名 登录
方式2:使用 网络服务名 登录
附录
1. 环境变量配置
(1)服务器端:
PATH=D:\databases\oracle\oracle_11g\app\administrator\product\11.2.0\dbhome_1\bin
【备注:上述配置是安装了Oracle数据库之后,系统自动配置的。】
(2)客户端:
NLS_LANG = SIMPLIFIED CHINESE_CHINA.ZHS16GBK
TNS_ADMIN = D:\instantclient_21_9
【备注:TNS_ADMIN 是远程Oracle数据库时,使用 网络服务名 的方式连接访问才需要有这个配置。】
2. 监听服务相关的三个重要配置文件使用指南
listener.ora(属于
服务器端文件)# listener.ora Network Configuration File: D:\databases\oracle\oracle_11g\app\administrator\product\11.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 = D:\databases\oracle\oracle_11g\app\administrator\product\11.2.0\dbhome_1) (PROGRAM = extproc) (ENVS = "EXTPROC_DLLS=ONLY:D:\databases\oracle\oracle_11g\app\administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll") ) (SID_DESC = (GLOBAL_DBNAME = orcl) (ORACLE_HOME = D:\databases\oracle\oracle_11g\app\administrator\product\11.2.0\dbhome_1) (SID_NAME = ORCL) ) (SID_DESC = (GLOBAL_DBNAME = 远程主机的全局数据库名) (ORACLE_HOME = 远程主机的Oracle安装目录) (SID_NAME = 远程主机的SID) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) ) (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 远程主机IP地址)(PORT = 远程主机端口)) ) ) ADR_BASE_LISTENER = D:\databases\oracle\oracle_11g\app\administrator备注:SID_DESC标签下的 ORACLE_HOME 标签可以不用配置。
sqlnet.ora(属于
客户端文件)# sqlnet.ora Network Configuration File: D:\databases\oracle\oracle_client\instantclient_21_9\network\admin\sqlnet.ora # Generated by Oracle configuration tools. SQLNET.AUTHENTICATION_SERVICES= (NTS) NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)备注:
SQLNET.AUTHENTICATION_SERVICES= (NTS) 配置:表示系统身份验证 —用户名和口令可输可不输。支持使用 “sqlplus / as sysdba” 和 “conn / as sysdba” 的数据库连接。
NAMES.DIRECTORY_PATH= (EZCONNECT) 配置:支持 “sqlplus 用户名/密码@主机:端口/全局数据库名” 格式的数据库连接。
NAMES.DIRECTORY_PATH= (TNSNAMES) 配置:支持 “sqlplus 用户名/密码@网路服务名” 格式的数据库连接。
注意:
SQLNET.AUTHENTICATION_SERVICES= (NTS) 表示使用操作系统本地验证,一般不用,有安全问题。通常需要改成下面的值:SQLNET.AUTHENTICATION_SERVICES= (NONE)
tnsnames.ora(属于
客户端文件)# tnsnames.ora Network Configuration File: D:\databases\oracle\oracle_client\instantclient_21_9\network\admin\tnsnames.ora # Generated by Oracle configuration tools. LISTENER_ORCL = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(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 = localhost)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) ) 网络服务名 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 远程数据库IP地址)(PORT = 远程服务器端口号)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = 远程数据库服务名) ) )
3. 本地数据库登录的几种方式
(1)使用 SQL*Plus 命令登录
sqlplus命令基本语法:
sqlplus [username]/[password][@connect_identifier][as sysdba]说明:connect_identifier 的取值可以是“主机:端口/全局数据库名”,也可以是“网络服务名”。
方式1:直接登录
用法:sqlplus 用户名/密码C:\Users\administrator>sqlplus system/********* SQL*Plus: Release 11.2.0.1.0 Production on 星期一 3月 20 18:06:02 2023 Copyright (c) 1982, 2010, Oracle. All rights reserved. 连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL>
方式2:使用 本地主机IP地址:端口/全局数据库名 登录
用法:sqlplus 用户名/密码@本地主机IP地址:端口/全局数据库名
【备注:本地主机IP地址可以填写 localhost 或 127.0.0.1 等。】C:\Users\administrator>sqlplus system/*********@localhost:1521/orcl SQL*Plus: Release 11.2.0.1.0 Production on 星期一 3月 20 18:12:10 2023 Copyright (c) 1982, 2010, Oracle. All rights reserved. 连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL>
方式3:使用 网络服务名 登录
用法:sqlplus 用户名/密码@网络服务名C:\Users\administrator>sqlplus system/*********@orcl SQL*Plus: Release 11.2.0.1.0 Production on 星期一 3月 20 18:11:18 2023 Copyright (c) 1982, 2010, Oracle. All rights reserved. 连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL>
(2)使用 PLSQL Developer 软件登录
方式1:使用 本地主机IP地址:端口/全局数据库名 登录
用法:
用户名:用户名 密码:密码 数据库:本地主机IP地址:端口/全局数据库名 连接为:Normal【备注:本地主机IP地址可以填写 localhost 或 127.0.0.1 等。】
方式2:使用 网络服务名 登录
用法:
用户名:用户名 密码:密码 数据库:网络服务名 连接为:Normal
4. 远程连接数据库登录的几种方式
(1)使用 SQL*Plus 命令登录
sqlplus命令基本语法:
sqlplus [username]/[password][@connect_identifier][as sysdba]说明:connect_identifier 的取值可以是“主机:端口/全局数据库名”,也可以是“网络服务名”。
方式1:使用 远程主机IP地址:端口/全局数据库名 登录
用法:sqlplus 用户名/密码@远程主机IP地址:端口/全局数据库名C:\Users\administrator>sqlplus system/*********@10.0.71.191:1521/remote_orcl SQL*Plus: Release 11.2.0.1.0 Production on 星期一 3月 20 19:17:24 2023 Copyright (c) 1982, 2010, Oracle. All rights reserved. 连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL>
方式2:使用 网络服务名 登录
用法:sqlplus 用户名/密码@网络服务名C:\Users\administrator>sqlplus system/*********@connect_identifier_remote_orcl SQL*Plus: Release 11.2.0.1.0 Production on 星期一 3月 20 19:18:26 2023 Copyright (c) 1982, 2010, Oracle. All rights reserved. 连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL>
(2)使用 PLSQL Developer 软件登录
方式1:使用 远程主机IP地址:端口/全局数据库名 登录
用法:
用户名:用户名 密码:密码 数据库:远程主机IP地址:端口/全局数据库名 连接为:Normal
方式2:使用 网络服务名 登录
用法:
用户名:用户名 密码:密码 数据库:网络服务名 连接为:Normal
更多推荐






所有评论(0)