Oracle 11g客户端在Linux系统上的配置步骤详解

Oracle 11g客户端在Linux系统上的配置过程有一点点的难度,但是只要我们按照步骤一步步地来配置,也就没有什么了。本文我们就介绍Oracle 11g客户端在Linux系统上的配置过程。

首先从OTN下载几个压缩包,下载地址为: http://www.oracle.com/technology/software/tech/oci/instantclient/index.html ,然后根据你的平台,选择不同的下载,我是安装在rhel5下,所以选择了linux x86 并下载了下面2个包:

instantclient-basic-linux32-11.1.0.7.zip  基本包,提供了OCI,OCCI和JDBC-OCI应用程序的支持。

instantclient-sdk-linux32-11.1.0.7.zip  附加的头文件和makefile文件,部分需要编译的模板需要,比如编译php的oci8,和python 的cx_Oracle. (我们这里仅使用其提供的oci头文件)

instantclient-sqlplus-linux32-11.1.0.7.zip 可选安装,sqlplus..有时候测试,管理什么的很方便。

接下来我们就开始介绍配置过程,如下:

1.建立oracle用户和组:

 

  1. #groupadd oinstall  
  2.  
  3. #useradd -g oinstall oracle  
  4.  
  5. #passwd oracle 

 

2.建立一个Oracle 基本目录

 

  1. #mkdir –p /usr/local/oracle  
  2.  
  3. #chown –R oracle:oinstall /usr/local/oracle  
  4.  
  5. #chmod –R 775 /usr/local/oracle 

 

将上述tar.gz或zip包解压,拷贝到 /usr/local/oracle目录中。

3.设置 ORACLE_HOME和LD_LIBRARY_PATH环境变量,配置TNS_ADMIN变量

如果使用sqlplus的话,也设置下PATH环境变量。修改oracle用户目录下的  .bash_profile加入下面语句:

 

  1. export ORACLE_HOME=/usr/local/oracle  
  2.  
  3. #export ORACLE_SID=hbdb 
  4.  
  5. export SQLPATH=/usr/local/oracle  
  6.  
  7. #寻找tnsnames.ora路径  
  8.  
  9. export TNS_ADMIN=/usr/local/oracle     
  10.  
  11. export NLS_LANG=''american_america.ZHS16GBK''  
  12.  
  13. export LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH  
  14.  
  15. export PATH=$PATH:$ORACLE_HOME 

 

4.tnsnames.ora配置:

 

  1. MYDB =  
  2.  
  3. (DESCRIPTION =  
  4.  
  5. (ADDRESS_LIST =  
  6.  
  7. (ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.5)(PORT = 1521))  
  8.  
  9. )  
  10.  
  11. (CONNECT_DATA =  
  12.  
  13. (SID = HBDB)  
  14.  
  15. (SERVER = DEDICATED)  
  16.  
  17. )  
  18.  

 

5.sqlplus连接数据库:

 

  1. sqlplus user/[email protected]/hbdb或sqlplus user/passwd@MYDB 

 

如果出现:

  1. sqlplus: error while loading shared libraries: /usr/local/oracle/libnnz11.so: cannot restore segment prot after reloc: Permission denied 

 

最简单的解决方法莫过于将SElinux设置位PERMISSIVE状态:

 

  1. [root@localhost ~]# getenforce  
  2.  
  3. Enforcing  
  4.  
  5. [root@localhost ~]# setenforce 0  
  6.  
  7. [root@localhost ~]#  getenforce  
  8.  
  9. Permissive  
  10.  
  11. [oracle@localhost ~]# sqlplus xfdb/xfdb@MYDB  
  12.  
  13. SQL*Plus: Release 11.1.0.7.0 - Production on Wed Jun 17 16:37:06 2009  
  14.  
  15. Copyright (c) 1982, 2008, Oracle.  All rights reserved.  
  16.  
  17. Connected to:  
  18.  
  19. Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production  
  20.  
  21. With the Partitioning, OLAP, Data Mining and Real Application Testing options  
  22.  
  23. SQL> select sysdate from dual;  
  24.  
  25. SYSDATE  
  26.  
  27. ------------  
  28.  
  29. 17-JUN-09  
  30.  
  31. SQL> 

 

6.测试eams项目数据库访问组件dboci(对oci的c++封装)

先建立一个libclntsh.so.11.1的链接:

 

  1. [oracle@localhost oracle]# ln -s libclntsh.so.11.1  libclntsh.so  
  2.  
  3. #include "dboci.h"  
  4.  
  5. #include <iostream> 
  6.  
  7. int main(void)  
  8.  
  9. {  
  10.  
  11. CDbOci oci;  
  12.  
  13. int iret = oci.Open("xfdb", "xfdb", "HBDB");  
  14.  
  15. if (iret < 1)  
  16.  
  17.     return 0;   //  
  18.  
  19. char*** result = NULL;  
  20.  
  21. int num = oci.Query("select sysdate from dual", &result, 1);  
  22.  
  23. if (num > 0)  
  24.  
  25. {     
  26.  
  27.     for (int i=0; i < num; i++)  
  28.  
  29.     {  
  30.  
  31.         std::cout <<result[i][0] <<std::endl;  
  32.  
  33.     }  
  34.  
  35.     oci.FreeExecSqlBuf(&result, num, 1);  
  36.  
  37. }  
  38.  
  39. oci.Close();  
  40.  
  41. return 1;  
  42.  

 

scons脚本:

 

  1. env = Environment()  
  2.  
  3. env.Append(CCFLAGS='-g')  
  4.  
  5. src_files = Split('DBconnect.cpp ../dboci/source/dboci.cpp')  
  6.  
  7. include = Split('/usr/local/oracle/sdk/include ../dboci/include')  
  8.  
  9. lib_path = Split('/usr/local/oracle')  
  10.  
  11. lib_files = Split('clntsh nnz11')  
  12.  
  13. env.Program(target='dbconnect',source = src_filesLIBS=lib_filesLIBPATH=lib_path,CPPPATH=include

 

运行结果:

  1. [root@localhost dbconnecttest]# ./dbconnect  
  2.  
  3. 17-JUN-09 

 

至此eams项目数据库存取的开发与部署测试通过!

关于Oracle 11g客户端程序在Linux系统上的配置就介绍到这里了,希望能够带给您一些收获!

【编辑推荐】

  1. Oracle 11g R2的卸载与重装过程详解
  2. RedHat Linux的Oracle 10g安装配置详解
  3. Oracle数据库使用存储过程创建自动增长列
  4. Java和Ibatis调用存储过程并取得返回值详解
  5. Oracle和Sybase根据系统的pid查询sql语句的例子

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/229705.html<

(0)
运维的头像运维
上一篇2025-04-18 21:43
下一篇 2025-04-18 21:44

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注