Oracle Linux x 86_64簡易クライアントインストール手順

67346 ワード

Oracle 11 gクライアントのLinuxシステム上の配置は少し難しいですが、ステップに沿って一歩ずつ配置すれば大丈夫です.本論文では、Oracle 11 gクライアントのLinuxシステム上の構成手順を紹介します.
まずOTNからいくつかの圧縮パッケージをダウンロードします.http://www.oracle.com/technology/software/tech/oci/instantclient/index.html そして、あなたのプラットフォームによって、異なるダウンロードを選択します.私はrhel 5にインストールされていますので、linux x 86を選択し、次の2つのバッグをダウンロードしました.
instantclient-baic-linux 32-1.1.0.70.zip 基本パッケージは、OCI、OCCI、JDB-OCIアプリケーションのサポートを提供します.
instantclient-sdk-linux 32-1.1.0.70.zip 添付のヘッダファイルとmakefileファイルは、部分的にコンパイルが必要なテンプレートが必要です.たとえば、phpのoci 8をコンパイルし、pythonのcx_.Oracle.(ここでは提供されたociヘッダファイルのみを使用します.)
instantclient-sqlplus-linux 32-1.1.07.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_リブラアルPATH環境変数は、TNS_を配置します.ADMIN変数
sqlplusを使うと、PATH環境変数も設定されます.oracleユーザディレクトリの変更  .bashprofileは次の文を追加します.

  
  
  
  
  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.tsnsnames.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++パッケージ)
まずlibclnth.so.1.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.  
スクリプト:

  
  
  
  
  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 
これまでのAmsプロジェクトのデータベースアクセスの開発と配置テストに合格しました.
Oracle 11 gクライアントプログラムのLinuxシステム上の配置についてここに紹介しました.何か収穫がありますように.