• AIX安装Oracle 11g客户端、Pro*C/C++编译环境


    AIX安装Oracle 11g客户端、Pro*C/C++编译环境

    1. 安装准备:
    2.   首先需要确定AIX版本是否满足Oracle 11g客户端安装的最低要求,可查看Oracle官网相关文档(http://download.oracle.com/docs/cd/B28359_01/install.111/b32334/toc.htm#CHDFFBIF),处说明了Oracle 11g Release 1客户端对操作系统的最低要求为:

      AIX 5L version 5.3, TL 05, Service Pack 06
      AIX 6L version 6.1, TL 00, Service Pack 04 or later
      

        文档(http://download.oracle.com/docs/cd/E11882_01/install.112/e18192/toc.htm#CIHFICFD)处说明了Oracle 11g Release 2客户端对操作系统的最低要求为:

      AIX 5L V5.3 TL 09 SP1 ("5300-09-01"), 64 bit kernel
      AIX 6.1 TL 02 SP1 ("6100-02-01), 64-bit kernel
      AIX 7.1 TL 0 SP1 ("7100-00-01"), 64-bit kernel
      

        AIX上可以使用oslevel或oslevel -s查看 AIX具体版本信息。如果已确认了操作系统版本,但报aio(异步IO)相关错误可参考网上另一篇文章处理,请大家自己google之。公司服务器AIX版本为5300-06-01-0000,故只能安装release 1的客户端此处以安装Oracle 11g release 1 64位客户端为例。

        首先需要从http://www.oracle.com/technetwork/topics/aix5lsoft-098883.html 下载

      basic-11.1.0.7.0-aix-ppc64.zip
      sdk-11.1.0.7.0-aix-ppc64.zip
      sqlplus-11.1.0.7.0-aix-ppc64.zip
      tools-11.1.0.7.0-aix-ppc64.zip
      precomp-11.1.0.7.0-aix-ppc64.zip
      

        AIX不自带unzip等程序,可在 windows机器上全部解压,解压后生成文件夹instantclient_11_1。

    3. 安装过程:
      1. 将解压出来的instantclient_11_1目录整个上传至AIX用户目录下。
      2. 添加ORACLE_HOME等环境变量。
      3. 在.profile中添加如下内容:

        export ORACLE_HOME=$HOME/instantclient_11_1
        export ORACLE_SID=orcl
        export LD_LIBRARY_PATH=$ORACLE_HOME:${LD_LIBRARY_PATH}
        export PATH=$ORACLE_HOME:$ORACLE_HOME/sdk:$PATH
        
      4. 建立TNS文件。
      5. mkdir -p $ORACLE_HOME/network/admin
        touch $ORACLE_HOME/ network/admin/tnsnames.ora
        编辑tnsnames.ora内容大致如下:
        orcl =
          (DESCRIPTION =
            (ADDRESS = (PROTOCOL = TCP)(HOST = 192.1.2.202)(PORT = 1521))
            (CONNECT_DATA =
              (SERVER = DEDICATED)
              (SERVICE_NAME = orcl)
            )
          )
        
      6. 测试
      7. sqlplus unionkms@orcl
        
        SQL*Plus: Release 11.1.0.7.0 - Production on Wed Feb 23 16:41:07 2011
        
        Copyright (c) 1982, 2008, Oracle.  All rights reserved.
        
        Enter password: 
        
        Connected to:
        Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
        With the Partitioning, OLAP and Data Mining options
        
        SQL> desc branch;
         Name                                      Null?    Type
         ----------------------------------------- -------- ----------------------------
         UNID                                      NOT NULL CHAR(40)
         UNBRANCHTYPEID                            NOT NULL CHAR(40)
         UNBRANCHFIELD                                      NUMBER(38)
         UNBRANCHID                                         CHAR(50)
         UNKMCID                                            CHAR(40)
         UNIDOFMNGSVR                                       CHAR(40)
         UNSECUSERVICESVRID                                 CHAR(40)
         UNMONITORSVRID                                     CHAR(40)
         UNMANAGER                                          CHAR(128)
         UNPHONE                                            CHAR(128)
         UNFAX                                              CHAR(128)
         UNEMAIL                                            CHAR(128)
         UNHTTPADDR                                         VARCHAR2(256)
         UNREMARK                                           CHAR(128)
         UNINPUTTELLER                                      CHAR(20)
         UNINPUTDATE                                        CHAR(8)
         UNINPUTTIME                                        CHAR(6)
         UNUPDATETELLER                                     CHAR(20)
         UNUPDATEDATE                                       CHAR(8)
         UNUPDATETIME                                       CHAR(6)
        SQL> 
        

          Pro*C文件pc_test中。

        pcscfg.cfg :

        sys_include=(/u2/chenlong/instantclient_11_1/sdk/include,/usr/include)
        ltype=short
        define=__64BIT__
        define=_IBM_C
        define=_LONG_LONG
        

        a1.pc :

        #include <stdio.h>
        #include <stdlib.h>
        #include <string.h>
        #include "sqlca.h"
        
        int main(void)
        {
        	EXEC SQL INCLUDE sqlca;
        	EXEC SQL BEGIN DECLARE SECTION;
        	char *user = "unionkms";
        	char *passwd = "unionkms";
        	char *db = "orcl";
        	EXEC SQL END DECLARE SECTION;
        	EXEC SQL CONNECT :user IDENTIFIED BY :passwd USING :db;
        	if (sqlca.sqlcode == 0)
        	printf("connect success!\n");
        	else
        	printf("connect fail!\n");
        	return 0;
        }
        

        makefile :

        all: a1.pc
        	proc config=pcscfg.cfg iname=a1.pc
        	cc -q64 -I /u2/chenlong/instantclient_11_1/sdk/include/ -c a1.c 
        	cc -q64 -L/u2/chenlong/instantclient_11_1/  -lclntsh -o a1 a1.o
        clean:
        	rm a1.lis a1.o
        

        (转载时请注明作者和出处。未经许可,请勿用于商业用途)
          更多文章请访问我的Blog: http://www.cnblogs.com/logicbaby
  • 相关阅读:
    ie浏览器下载附件中文乱码
    js 获取字符串中某字符第二次出现的下标
    uploadify附件上传 传参
    hibernate hql语句 注意事项
    违反检查约束条件
    xml中的<if>和截取字符串
    引用不了XXservice,怎么办?
    enctype="multipart/form-data"的form传参
    freemarker 嵌套循环 (导出word时,修改ftl模板)
    springboot 打包问题 项目依赖三方jar ,之前的同事是直接丢到项目lib下 ,今天使用springbioot打包的时候,找不到这个jar
  • 原文地址:https://www.cnblogs.com/logicbaby/p/1964798.html
Copyright © 2020-2023  润新知