宝塔环境连接oracle

2024-09-05 20:38
文章标签 oracle 连接 环境 宝塔

本文主要是介绍宝塔环境连接oracle,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、首先下载https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html


oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
oracle-instantclient11.2-jdbc-11.2.0.4.0-1.x86_64.rpm
oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm

2、

rpm -ivh oracle-instanclient11.2-*

此时会生成/usr/lib/oracle/11.2/client64/lib/目录

[root@xinzhongkepcserver ~]# cd /usr/lib/oracle/11.2/client64/lib
[root@xinzhongkepcserver lib]# ls
glogin.sql         libnnz11.so      libociei.so      libsqlplus.so  ottclasses.zip
libclntsh.so       libocci.so       libocijdbc11.so  ojdbc5.jar     xstreams.jar
libclntsh.so.11.1  libocci.so.11.1  libsqlplusic.so  ojdbc6.jar

二、修改/etc/ld.so.conf配置文件

追加以下内容 — 上面生成文件的路径,没有64的写client/lib/:

/usr/lib/oracle/11.2/client64/lib/

保存、退出,执行命令


三、安装oci8

下载最新的oci8组件
tar -xczf oci8-2.0.12.tgz

cd /www/server/php/72/src/ext/oci8


/www/server/php/72/bin/phpize  (用phpize生成configure配置文件,千万注意:phpize、php-config、instantclient目录一定要找对,这个需要自己去找)

# ./configure --with-php-config=/www/server/php/72/bin/php-config --with-oci8=shared,instantclient,/usr/lib/oracle/11.2/client64/lib
然后执行make 

最后make install


安装pdo_oci 扩展


进入php源码目录
/www/server/php/72/src/ext/pdo_oci


执行命令 /www/server/php/72/bin/phpize 


./configure --with-php-config=/www/server/php/72/bin/php-config --with-pdo-oci=instantclient,/usr/lib/oracle/11.2/client64/lib

然后执行make 

最后make install

/www/server/php/72/lib/php/extensions/no-debug-non-zts-20170718

 

安装完还是不能正常访问

找到这个原文连接才解决掉

https://www.cnblogs.com/kerrycode/p/13368640.html

 

# vi /etc/profile 增加下面配置

 
#Add by kerry
export ORACLE_HOME=/usr/lib/oracle/11.2/client64
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export PATH=$PATH:$ORACLE_HOME/bin

 

执行下面的命令使配置生效

 

#source /etc/profile

 

添加动态库配置文件

 

# vi /etc/ld.so.conf.d/oracle.conf
/usr/lib/oracle/11.2/client64/lib
~

 

 

执行命令

# ldconfig

 

关于ldconfig命令的用途介绍如下:

 

ldconfig是一个动态链接库管理命令。

为了让动态链接库为系统所共享,需运行动态链接库的管理命令

主要是在搜寻默认目录/lib和/usr/lib以及动态库配置文件/etc/ld.so.conf内所列的目录,搜索出可共享的动态链接库(格式如lib*.so*),进而创建出动态装入程序(ld.so)所需的连接和缓存文件,缓存文件默认为/etc/ld.so.cache,此文件保存已排好序的动态链接库名字列表。linux下的共享库机制采用了类似高速缓存机制,将库信息保存在/etc/ld.so.cache,程序连接的时候首先从这个文件里查找,然后再到ld.so.conf的路径中查找。为了让动态链接库为系统所共享,需运行动态链接库的管理命令ldconfig,此执行程序存放在/sbin目录下。

 

 

也可以使用下面shell脚本进行配置

 

sh -c "echo /usr/lib/oracle/11.2/client64/lib > /etc/ld.so.conf.d/oracle.conf";sudo ldconfig

 

 

验证测试时,sqlplus出现下面问题:

 

# sqlplus /nolog
sqlplus: error while loading shared libraries: libnsl.so.1: cannot open shared object file: No such file or directory

 

出现这个错误的可能情况非常多,例如,环境变量配置有问题,缺少依赖包等等。这里前面的环境变量配置正常,排查依赖的库是否有问题,发现libnsl.so.1找不到。

 

 

# ldd /usr/lib/oracle/11.2/client64/bin/sqlplus
        linux-vdso.so.1 (0x00007ffd0b7a5000)
        libsqlplus.so => /usr/lib/oracle/11.2/client64/lib/libsqlplus.so (0x00007f927b563000)
        libclntsh.so.11.1 => /usr/lib/oracle/11.2/client64/lib/libclntsh.so.11.1 (0x00007f9278bb3000)
        libnnz11.so => /usr/lib/oracle/11.2/client64/lib/libnnz11.so (0x00007f92787e6000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f92785e2000)
        libm.so.6 => /lib64/libm.so.6 (0x00007f9278260000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f9278040000)
        libnsl.so.1 => not found
        libc.so.6 => /lib64/libc.so.6 (0x00007f9277c7e000)
        libnsl.so.1 => not found
        libnsl.so.1 => not found
        libaio.so.1 => /lib64/libaio.so.1 (0x00007f9277a7b000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f927b522000)

 

clip_image001

 

根据下面命令判断依赖的libnsl包没有安装。

 

# yum list installed | grep libnsl
# yum list | grep   libnsl
libnsl2.x86_64                                       1.2.0-2.20180605git4a062cf.el8                   @anaconda                 
libnsl.i686                                          2.28-101.el8                                     BaseOS                    
libnsl.x86_64                                        2.28-101.el8                                     BaseOS                    
libnsl2.i686                                         1.2.0-2.20180605git4a062cf.el8                   BaseOS      
 
# yum install libnsl.x86_64

 

安装缺失的依赖包后,测试验证问题解决。

 

# sqlplus /nolog
 
SQL*Plus: Release 11.2.0.4.0 Production on Thu Jul 23 20:29:49 2020
 
Copyright (c) 1982, 2013, Oracle.  All rights reserved.
 

 

这篇关于宝塔环境连接oracle的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1140007

相关文章

JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)

《JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)》:本文主要介绍如何在IntelliJIDEA2020.1中创建和部署一个JavaWeb项目,包括创建项目、配置Tomcat服务... 目录简介:一、创建项目二、tomcat部署1、将tomcat解压在一个自己找得到路径2、在idea中添加

python项目环境切换的几种实现方式

《python项目环境切换的几种实现方式》本文主要介绍了python项目环境切换的几种实现方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1. 如何在不同python项目中,安装不同的依赖2. 如何切换到不同项目的工作空间3.创建项目

C++多线程开发环境配置方法

《C++多线程开发环境配置方法》文章详细介绍了如何在Windows上安装MinGW-w64和VSCode,并配置环境变量和编译任务,使用VSCode创建一个C++多线程测试项目,并通过配置tasks.... 目录下载安装 MinGW-w64下载安装VS code创建测试项目配置编译任务创建 tasks.js

通过DBeaver连接GaussDB数据库的实战案例

《通过DBeaver连接GaussDB数据库的实战案例》DBeaver是一个通用的数据库客户端,可以通过配置不同驱动连接各种不同的数据库,:本文主要介绍通过DBeaver连接GaussDB数据库的... 目录​一、前置条件​二、连接步骤​三、常见问题与解决方案​1. 驱动未找到​2. 连接超时​3. 权限不

Navicat连接Mysql8.0.11出现1251错误的解决方案

《Navicat连接Mysql8.0.11出现1251错误的解决方案》在重装电脑并安装最新版MySQL后,Navicat和Sqlyog连接MySQL时遇到的1251和2058错误,通过将MySQL用户... 目录Navicat连接mysql8.0.11出现1251错误原因分析解决问题方法有两种总结Navic

Python连接Spark的7种方法大全

《Python连接Spark的7种方法大全》ApacheSpark是一个强大的分布式计算框架,广泛用于大规模数据处理,通过PySpark,Python开发者能够无缝接入Spark生态系统,本文给大家介... 目录第一章:python与Spark集成概述PySpark 的核心优势基本集成配置步骤启动一个简单的

sqlserver、mysql、oracle、pgsql、sqlite五大关系数据库的对象名称和转义字符

《sqlserver、mysql、oracle、pgsql、sqlite五大关系数据库的对象名称和转义字符》:本文主要介绍sqlserver、mysql、oracle、pgsql、sqlite五大... 目录一、转义符1.1 oracle1.2 sqlserver1.3 PostgreSQL1.4 SQLi

一篇文章彻底搞懂macOS如何决定java环境

《一篇文章彻底搞懂macOS如何决定java环境》MacOS作为一个功能强大的操作系统,为开发者提供了丰富的开发工具和框架,下面:本文主要介绍macOS如何决定java环境的相关资料,文中通过代码... 目录方法一:使用 which命令方法二:使用 Java_home工具(Apple 官方推荐)那问题来了,

Nginx搭建前端本地预览环境的完整步骤教学

《Nginx搭建前端本地预览环境的完整步骤教学》这篇文章主要为大家详细介绍了Nginx搭建前端本地预览环境的完整步骤教学,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录项目目录结构核心配置文件:nginx.conf脚本化操作:nginx.shnpm 脚本集成总结:对前端的意义很多

Oracle数据库在windows系统上重启步骤

《Oracle数据库在windows系统上重启步骤》有时候在服务中重启了oracle之后,数据库并不能正常访问,下面:本文主要介绍Oracle数据库在windows系统上重启的相关资料,文中通过代... oracle数据库在Windows上重启的方法我这里是使用oracle自带的sqlplus工具实现的方