Heim > Datenbank > MySQL-Tutorial > Hauptteil

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

WBOY
Freigeben: 2016-06-07 17:34:55
Original
1082 Leute haben es durchsucht

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

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

首先从OTN下载几个压缩包,下载地址为: ,然后根据你的平台,选择不同的下载,我是安装在rhel6.3下,所以选择了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用户和组:


#groupadd oinstall
    #useradd -g oinstall oracle
    #passwd oracle


2.建立一个Oracle 基本目录


#mkdir –p /usr/local/oracle
    #chown –R oracle:oinstall /usr/local/oracle
    #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加入下面语句:

export ORACLE_HOME=/usr/local/oracle

#export ORACLE_SID=hbdb
    export SQLPATH=/usr/local/oracle
    #寻找tnsnames.ora路径
    export TNS_ADMIN=/usr/local/oracle
    export NLS_LANG=''american_america.ZHS16GBK''
    export LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH
    export PATH=$PATH:$ORACLE_HOME


4.tnsnames.ora配置:


MYDB = 
(DESCRIPTION = 
(ADDRESS_LIST = 
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.5)(PORT = 1521)) 

 
(CONNECT_DATA =
(SID = HBDB) 
(SERVER = DEDICATED) 
)
)


5.sqlplus连接数据库:


sqlplus user/passwd@10.0.0.5/hbdb或sqlplus user/passwd@MYDB


如果出现:


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


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


[root@localhost ~]# getenforce 
Enforcing
[root@localhost ~]# setenforce 0
[root@localhost ~]#  getenforce
Permissive
[oracle@localhost ~]# sqlplus xfdb/xfdb@MYDB


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


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


[oracle@localhost oracle]# ln -s libclntsh.so.11.1  libclntsh.so 
#include "dboci.h"
#include
int main(void)
{
CDbOci oci;
int iret = oci.Open("xfdb", "xfdb", "HBDB");
if (iret     return 0;  //
char*** result = NULL;
int num = oci.Query("select sysdate from dual", &result, 1);
if (num > 0)
{
    for (int i=0; i     {
        std::cout     }
    oci.FreeExecSqlBuf(&result, num, 1);
}
oci.Close();
return 1;
}


scons脚本:


env = Environment()
env.Append(CCFLAGS='-g')
src_files = Split('DBconnect.cpp ../dboci/source/dboci.cpp')
include = Split('/usr/local/oracle/sdk/include ../dboci/include')
lib_path = Split('/usr/local/oracle')
lib_files = Split('clntsh nnz11')
env.Program(target='dbconnect',source = src_files, LIBS=lib_files, LIBPATH=lib_path,CPPPATH=include)


运行结果:


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

推荐阅读

Linux上Oracle 11g安装步骤图文详解

Linux操作系统中Oracle 11g数据库安装过程图文详解

CentOS 5.6 上安装 Oracle 11g R2 单实例数据库详解

Oracle VM虚拟机中安装Oracle Clusterware 11g步骤

VM虚拟机下在Linux上安装Oracle 11G单实例数据库

linux

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage