Oracle 11g客户端在Linux系统上的配置步骤详解
Oracle 11g客户端在Linux系统上的配置步骤详解
本文我们主要介绍了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用户和组:
- #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
- SQL*Plus: Release 11.1.0.7.0 - Production on Wed Jun 17 16:37:06 2009
- Copyright (c) 1982, 2008, Oracle. All rights reserved.
- Connected to:
- Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production
- With the Partitioning, OLAP, Data Mining and Real Application Testing options
- SQL> select sysdate from dual;
- SYSDATE
- ------------
- 17-JUN-09
- SQL>
6.测试eams项目数据库访问组件dboci(对oci的c++封装)
先建立一个libclntsh.so.11.1的链接:
- [oracle@localhost oracle]# ln -s libclntsh.so.11.1 libclntsh.so
- #include "dboci.h"
- #include <iostream>
- int main(void)
- {
- CDbOci oci;
- int iret = oci.Open("xfdb", "xfdb", "HBDB");
- if (iret < 1)
- return 0; //
- char*** result = NULL;
- int num = oci.Query("select sysdate from dual", &result, 1);
- if (num > 0)
- {
- for (int i=0; i < num; i++)
- {
- std::cout <<result[i][0] <<std::endl;
- }
- 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)
运行结果:
- [root@localhost dbconnecttest]# ./dbconnect
- 17-JUN-09
至此eams项目数据库存取的开发与部署测试通过!
关于Oracle 11g客户端程序在Linux系统上的配置就介绍到这里了,希望能够带给您一些收获!
Oracle 11g客户端在Linux系统上的配置步骤详解的更多相关文章
- Linux LVM逻辑卷配置过程详解(创建,增加,减少,删除,卸载)
Linux LVM逻辑卷配置过程详解 许多Linux使用者安装操作系统时都会遇到这样的困境:如何精确评估和分配各个硬盘分区的容量,如果当初评估不准确,一旦系统分区不够用时可能不得不备份.删除相关数据, ...
- Jmeter(五十三) - 从入门到精通高级篇 - 懒人教你在Linux系统中安装Jmeter(详解教程)
1.简介 我们绝大多数使用的都是Windows操作系统,因此在Windows系统上安装JMeter已经成了家常便饭,而且安装也相对简单,但是服务器为了安全.灵活小巧,特别是前几年的勒索病毒,现在绝大多 ...
- Linux系统上安装配置MAVEN
1,下载maven 首先进入maven下载目录:http://maven.apache.org/download.cgi 2,上传maven到linux系统 以下操作路径都是本人习惯,目录可以随意更改 ...
- 【夯实Mysql基础】MySQL在Linux系统下配置文件及日志详解
本文地址 分享提纲: 1. 概述 2. 详解配置文件 3. 详解日志 1.概述 MySQL配置文件在Windows下叫my.ini,在MySQL的安装根目录下:在Linux下叫my.cnf,该文件位于 ...
- linux系统运维常用基本命令详解
1.ls 文件属性: -:普通文件 d:目录文件 b:块设备 c:字符设备文件 l:符号连接文件 p:命令管道 s:套接字文件 文件权限: 9位数字,每3位一组 文件硬链接次数 ...
- linux系统中whereis的用法详解
whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b).man说明文件(参数-m)和源代码文件(参数-s).如果省略参数,则返回所有信息. 和find相比,whereis查找的速度非 ...
- linux系统中的文件权限详解(转)
一.在<Linux系统中如何查看文件属性>中介绍了通过ls指令来查看文件的属性,具体如下: [命令] letuknowit@ubuntu:/$ cd /tmp letuknowit@ubu ...
- linux系统编程:守护进程详解及创建,daemon()使用
一,守护进程概述 Linux Daemon(守护进程)是运行在后台的一种特殊进程.它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件.它不需要用户输入就能运行而且提供某种服务,不是对整个 ...
- Linux系统Shutdown命令定时关机详解
转自:http://www.bootf.com/490.html Linux系统下的shutdown命令用于安全的关闭/重启计算机,它不仅可以方便的实现定时关机,还可以由用户决定关机时的相关参数.在执 ...
随机推荐
- OpenCart 最新使用教学视频合集
OpenCart 是一个很火的开源电商系统,国内越来越多的人开始使用 OpenCart 搭建自己的电商网站.OpenCart 的功能非常强大,当然功能也非常多.这里整理了 OpenCart 最重要的一 ...
- 那天有个小孩跟我说LINQ(八)学会Func
文章已经迁移到:http://www.ayjs.net/2013/08/68/ 文章已经迁移到:http://www.ayjs.net/2013/08/68/ 文章已经迁移到:http://www.a ...
- WCF 入门 (18)
前言 感冒了呀...but 不忌油炸,不忌辛辣,o(∩_∩)o . 第18集 WCF服务应该抛出fault 异常 Throwing fault exceptions from a WCF servic ...
- WCF入门(10)
前言 又堕落了,哎. 公司是做乙方的,工资还凑合,主要是项目基本都已完成,进去就是干维护,体会不到那种从头彻尾的成就感.项目中具体用了EF+Ado.net+WCF+WPF+(VB.net啊,坑啊,完全 ...
- 每天一个linux命令(49):ss命令
ss是Socket Statistics的缩写.顾名思义,ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容.但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信 ...
- Java sun的JDK
JDK概述 JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品.自从Java推出以来,JDK已经成为使用最广泛的Java SDK(Softwa ...
- FastDFS在.Net平台上的使用
上一篇,了解了FastDFS是什么东东,一般稍微大一的网站都会做文件分离存储,FastDFS这轻型的分布式文件存储方式,非常有用. 此图片截取博友(张占岭)的勿喷 下面我们就了解一下,FastDFS在 ...
- 【Gym 100971J】Robots at Warehouse
题意 链接给你一个n*m的地图,'#'代表墙,‘.’代表可走的,1代表1号机器人,2代表2号机器人,机器人可以上下左右移动到非墙的位置,但不能走到另一个机器人身上.问能否交换1和2的位置. 分析 如果 ...
- 使用XML序列化器生成XML文件和利用pull解析XML文件
首先,指定XML格式,我指定的XML格式如下: <?xml version='1.0' encoding='utf-8' standalone='yes' ?> <message&g ...
- RequestMethod.DELETE相关,如何用jquery实现RequestMethod.DELETE请求
Spring MVC添加支持Http的delete.put请求!(HiddenHttpMethodFilter) Spring3.0之后->Spring MVC过滤器-HiddenHttpMet ...
