SQLPlus简介
SQLPlus 是以命令行形式来交互的数据库管理工具,对于本地,会随服务器端Oracle数据库一同安装;对于远程,Oracle 也提供了一个即时客户端版的SQLPlus 工具,它是一个独立的可执行程序。
在SQLPlus的命令行环境中可以执行 SQL、PL/SQL 及其特有的在图形化数据库软件里无法执行的命令和操作系统命令。
SQLPlus的配置
对于服务器端本地的SQLPlus,无需额外安装,因此这里只讲MAC/WIN系统即时客户端版SQLPlus的配置。
下载instantclient
为了能远程使用SQLPlus连接Oracle数据库,需要下载 instantclient-basic 与 instantclient-sqlplus ,如下图所示,按不同操作系统点进去后选择适合数据库的版本下载。
下载完将instantclient-basic 与 instantclient-sqlplus解压后的所有文件放到同一个文件夹,比如:
MAC:/Users/Axl/Oracle/instantclient_19_8
WIN:E:\instantclient_11_2
配置环境变量
即时客户端版SQLPlus的环境变量配置,只需在PATH里添加SQLPlus的执行路径
MAC
打开终端
#回到家目录 cd ~ #编辑 .bash_profile 文件,在PATH环境变量里面添加instantclient路径 export PATH="/Users/Axl/Oracle/instantclient_19_8:$PATH" vi .bash_profile #保存修改后再执行 source ~/.bash_profile
WIN
在环境变量的系统变量里找到 Path 变量,点击编辑,添加 E:\instantclient_11_2
sqlplus连接数据库
使用sqlplus远程连接数据库有几种方式,在MAC的终端/WIN的CMD里:
- 明文密码形式:sqlplus username/password@ip:port/sid
- 不带密码形式:sqlplus username@ip:port/sid
上面是在没有配置TNS连接信息时的登录方式,必须要加上数据库的ip、端口与实例名,每次都以这种方式登录比较冗长繁琐,我们可以通过配置tnsnames.ora文件来使用连接串简称登录。
配置tnsnames.ora
tnsnames.ora文件用在oracle client端,是配置连接数据库别名参数的网络服务配置文件,包含Oracle数据库的连接信息。配置后用sqlplus连接数据库时不用再输入完整的oracle地址,用连接串别名替代即可。tnsnames.ora文件的配置方法如下:
MAC
在instantclient路径下新建tnsnames.ora文件:/Users/Axl/Oracle/instantclient_19_8/network/admin/tnsnames.ora
复制如下代码到tnsnames.ora里,其中HOST、PORT和SERVICE_NAME三处需要按实际数据库的ip、端口和实例名修改下,连接标识符ORCL 的名称也可以自定义。
# tnsnames.ora Network Configuration File: /Users/Axl/Oracle/instantclient_19_8/network/admin/tnsnames.ora # Generated by Oracle configuration tools. ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.192.192.192)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) )
WIN
在instantclient路径下新建tnsnames.ora文件:E:\instantclient_11_2\network\admin\tnsnames.ora
复制下方代码到tnsnames.ora里,其中HOST、PORT和SERVICE_NAME三处需要按实际数据库的ip、端口和实例名修改下。
# tnsnames.ora Network Configuration File: E:\instantclient_11_2\network\admin\tnsnames.ora # Generated by Oracle configuration tools. ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.192.192.192)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) )
配置完tnsnames.ora后,就可以使用 sqlplus username@连接标识符 来连接数据库了
注:
对于即时客户端版SQLPlus,如果在sqlplus后不加连接标识符,则会报错。
对应服务器端本地的sqlplus,在sqlplus后不加连接标识符则会连接默认实例ORCL,或者如果定义了环境变量 ORACLE_SID ,则默认实例为ORACLE_SID定义的实例。另外,本地安装数据库的tnsnames.ora文件一般路径为:$ORACLE_HOME\network\admin\tnsnames.ora