通过oracle客户端工具,我们不仅可以在本机访问oracle数据库也可以在其他主机访问oracle数据库,本文以linux配置oracle instant client为例,记录如何远程访问oracle数据库。
一、下载相关安装包
登录到oracle官网找到Instant Client Downloads的页面(我是从download-database-instant client路径进去的),找到对应的linux下载页面,比如我是for Linux x86-64 (64-bit),然后会看到一系列的安装包:
Instant client Package - Basic 运行OCI, OCCI, 和JDBC-OCI应用程序需要的所有文件.
Instant client Package - Basic Lite: 只包含英语错误信息, 只支持unicode, ascii, 西欧字符集.
Instant client Package - JDBC Supplement 为jdbc增加了xa, 国际化和RowSet操作.
Instant Client Package - SQL *Plus 包含sqlplus和需要的库文件
Instant client Package - SDK 使用Instant Client开发Oracle 应用程序需要的头文件及示例makefile
Instant client package - ODBC 使用odbc时需要的库, 不是所有平台都有. linux平台包含.
Instant Client Package - Tools Data Pump, SQL*Loader
Basic和Basic Lite两个中选择一个
下载-以zip包安装客户端(可按需选择,版本请按需选择)
instantclient-basic-linux.x64-12.2.0.1.0.zip
instantclient-sqlplus-linux.x64-12.2.0.1.0.zip
instantclient-sdk-linux.x64-12.2.0.1.0.zip
instantclient-tools-linux.x64-12.2.0.1.0.zip
以rpm方式安装客户端
oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm
oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm
oracle-instantclient11.2-tools-11.2.0.4.0-1.x86_64.rpm
二、解压并配置
以zip方式安装
在客户端服务器上解压
以我的解压路径为例:/usr/lib
unzip -nq instantclient-basic-linux.x64-12.2.0.1.0.zip -d /usr/lib/
unzip -nq instantclient-sqlplus-linux.x64-12.2.0.1.0.zip -d /usr/lib/
unzip -nq instantclient-sdk-linux.x64-12.2.0.1.0.zip -d /usr/lib/
unzip -nq instantclient-tools-linux.x64-12.2.0.1.0.zip -d /usr/lib/
解压后进入该目录
cd /usr/lib/instantclient_12_2/client64
创建文件夹用以配置tnsnames.ora
mkdir -p network/admin
vim network/admin/tnsnames.ora
格式如下
lcoracle[本地实例名] =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = xx.xx.xx.xx[远程数据库IP地址])(PORT = 1521[远程服务器端口号]))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = dbname[远程数据库服务名])
)
)
以rpm方式安装
rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
rpm -ivh oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm
rpm -ivh oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm
rpm -ivh oracle-instantclient11.2-tools-11.2.0.4.0-1.x86_64.rpm
安装后在/usr/lib/oracle/11.2/client64/目录下创建network目录及其中文件,同上讲述
为避免以后使用出现意想不到的问题,添加两个软链接(注意自己的实际路径和文件)
ln -s /usr/include/oracle/11.2/client64 /usr/include/oracle/11.2/client
ln -s /usr/lib/oracle/11.2/client64 /usr/lib/oracle/11.2/client
配置环境变量
vim /etc/profile.d/oracle.sh
内容如下
(zip方式参考路径)
export ORACLE_HOME=/usr/lib/instantclient_12_2/
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME
(rpm方式参考路径)
export ORACLE_HOME=/usr/lib/oracle/11.2/client64
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export TNS_ADMIN=$ORACLE_HOME/network/admin
执行source /etc/profile.d/oracle.sh
三、连接操作
格式 sqlplus 用户名/密码@本地实例名 (as 身份)
example:数据库管理员登录
sqlplus sys/123456@lcoracle as sysdba
example:普通用户登录
sqlplus test/123456@lcoracle
额外:在windows上使用plsql develop登录时,简单操作的话,就下载instantclient-basic-windows.x64-12.2.0.1.0.zip,解压,然后将解压目录配置到plsql,在首选项-连接oracle主目录名那里填写解压目录C:\Users\lazycat\Desktop\instantclient_11_2在oci库那里填写C:\Users\lazycat\Desktop\instantclient_11_2\oci.dll,保存,over。