如何创建自己的InstantClient包
IC介绍 许多人正在使用Oracle Instant Client,它提供一个部署基于OCI、OCCI、JDBC OCI应用容易和快速的方法。 通过添加更多的工具,Instant Client可以变成一个更加强大的工具,如下: 1. tnsping 2. sqlldr 3. tkprf 4. exp/imp 5. OCM 6. 你自己的工具 这
IC介绍
许多人正在使用Oracle Instant Client,它提供一个部署基于OCI、OCCI、JDBC OCI应用容易和快速的方法。
通过添加更多的工具,Instant Client可以变成一个更加强大的工具,如下:
1. tnsping
2. sqlldr
3. tkprf
4. exp/imp
5. OCM
6. 你自己的工具
这样做的主要优点是:
1. 安装是一件轻而易举的事情,只要解压即可完成。
2. 体积小,未压缩100MB到150MB或压缩50MB,它可以安装在USB盘上
3. 不涉及到SA(软件架构)
比较一个完整的Oracle安装需要大量的磁盘空间,而且还涉及到SA。
IC需求
1. 一个带有150MB+磁盘空间的Unix/Linux账号:
hadoop@192.168.8.162:/home/hadoop/oracle
2. 安装Oracle 11gR2的相同平台,一个具有读访问权限的账号:
root@192.168.8.192:/u01/product/oracle/11.2.0/db_1
IC安装
从Oracle官方网址下载安装包,下载网址: http://www.oracle.com/technetwork/cn/database/features/instant-client/index-097480.html
注:请根据操作系统版本下载相应的安装包,这里下载Linux X86-64安装包。
instantclient-basic-linux.x64-11.2.0.4.0.zip
instantclient-jdbc-linux.x64-11.2.0.4.0.zip
instantclient-sdk-linux.x64-11.2.0.4.0.zip
instantclient-sqlplus-linux.x64-11.2.0.4.0.zip
注:下载Instant Client时需要创建一个Oracle账号才能下载。
使用SSH客户端使用安装账号登录到服务器,在根目录下创建一个oracle目录:
$mkdir /home/hadoop/oracle
上传所有压缩包或至少basic和sqlplus两个包到你账号的根目录下oracle中。
解压到当前目录下完成安装。
$ cd /home/hadoop/oracle
$ unzipinstantclient-basic-linux.x64-11.2.0.4.0.zip
$ unzipinstantclient-sqlplus-linux.x64-11.2.0.4.0.zip
$ unzip instantclient-sdk-linux.x64-11.2.0.4.0.zip
$ unzip instantclient-jdbc-linux.x64-11.2.0.4.0.zip
解压完毕后会在当前目录下生成一个instantclient_11_2目录。
$ ll /home/hadoop/oracle/instantclient_11_2
IC配置
配置下面的环境变量到你的Shell配置文件中。
$ vi ~/.bashrc
跳到文件的末尾,添加下面这些环境变量:
export RACLE_IC_HOME=/home/hadoop/oracle/instantclient_11_2
exportORACLE_HOME=$ORACLE_IC_HOME
exportTNS_ADMIN=$ORACLE_IC_HOME
exportPATH=$PATH:$ORACLE_IC_HOME
exportLD_LIBRARY_PATH=$ORACLE_IC_HOME
exportCLASSPATH=$ORACLE_IC_HOME/ojdbc6.jar:./
$ source ~/. bashrc
或 $ . ~/.bashrc
注:如果需要让所有用户都能使用,需要把上面的配置添加/etc/profile中。
在$ORACLE_IC_HOME目录下创建一个tnsnames.ora文件:
$ vi /home/hadoop/oracle/instantclient_11_2/tnsnames.ora
orcl=(description=(address=(protocol=tcp)(host=192.168.8.161)(port=1521))(connect_data=(server=dedicated)(service_name=wcdma)))
或
ora =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 192.168.8.161)(PORT = 1521)))(CONNECT_DATA =(SERVER =DEDICATED)(SERVICE_NAME = wcdma)))
SQL*Plus
$ sqlplus kqi/kqi@192.168.8.161:1521/wcdma
或
$ sqlplus kqi/kqi@orcl
SQL*Plus: Release 11.2.0.4.0 Production onThu Nov 20 14:01:49 2014
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise EditionRelease 11.2.0.2.0 - 64bit Production
With the Partitioning, OLAP, Data Miningand Real Application Testing options
SQL>
ERROR:
ORA-12154: TNS:could not resolve theconnect identifier specified
对于这种问题,排除添加的配置格式错误后。可能原因是读取的tnsnames.ora路径根本就不是$ORACLE_HOME/network/admin下。
注:tnsnames.ora文件的查找路径顺序为:
$HOME => $TNS_ADMIN => /etc =>$ORACLE_HOME/network/admin/。
现在我们已经有一个构建自己的Instant Client包的基础了。下面是Instant Client的核心文件(位于/home/hadoop/oracle/instantclient_11_2中):
1. libclntsh.so.11.1:客户端代码库
2. libociei.so:OCI InstantClient数据共享库
3. libnnz11.so:安全库
4. libocci.so.11.1:Oracle C++调用接口库
5. libocijdbc11.so:JDBC OCI库
6. ojdbc6/5.jar:JDBC驱动(OCI和Thin)
7. orai18n.jar:字符集转换和本地支持库
Tnsping
从安装Oracle的服务器上拷贝tnsping过来,执行命令:
$ cd /home/hadoop/oracle/instantclient_11_2
$ scp root@192.168.8.192:/u01/product/oracle/11.2.0/db_1/bin/tnsping./
现在让在IC安装服务器上尝试运行下它:
$ tnsping ora
TNS Ping Utility for Linux: Version11.2.0.4.0 - Production on 20-NOV-2014 14:30:21
Copyright (c) 1997, 2013, Oracle. All rights reserved.
Message 3511 not found; No message file forproduct=network, facility=TNSMessage 3512 not found; No message file forproduct=network, facility=TNSMessage 3513 not found; No message file forproduct=network, facility=TNSMessage 3509 not found; No message file forproduct=network, facility=TNS
运行后tnsping抱怨一些文件丢失,更具体的说一个消息文件丢失。现在,我们把该文件从Oracle安装服务器上拷贝过来,进入到instantclient_11_2目录:
$ mkdir -p network/mesg
$ cd network/mesg/
现在从安装Oracle服务上拷贝tnsus.msb文件到该目录中:
$ scp root@192.168.8.192:/u01/product/oracle/11.2.0/db_1/network/mesg/tnsus.msb ./
让我们再尝试一次tnsping,结果如下:
$ tnsping ora
TNS Ping Utility for Linux: Version11.2.0.4.0 - Production on 20-NOV-2014 14:49:54
Copyright (c) 1997, 2013, Oracle. All rights reserved.
Used parameter files:
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION=(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.8.161)(PORT =1521)))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = wcdma)))
OK (0 msec)
Sqlldr
本节将添加另外一个工具sqlldr。
首先,我们从安装Oracle的服务器上拷贝sqlldr到IC安装目录instantclient_11_2下。
$ cd /home/hadoop/oracle/instantclient_11_2
$ scproot@192.168.8.192:/u01/product/oracle/11.2.0/db_1/bin/sqlldr ./
尝试运行它:
$ sqlldr
Message 2100 not found; No message file forproduct=RDBMS, facility=ULMessage 2100 not found; No message file forproduct=RDBMS, facility=UL
首先我们需要在instantclient_11_2下创建rdbms/mesg目录。
$ cd /home/hadoop/oracle/instantclient_11_2
$ mkdir -p rdbms/mesg
$ cd rdbms/mesg
把ORACLE安装目录下rdmsb/mesg/ulus.msb拷贝到当前目录。
$ scp root@192.168.8.192:/u01/product/oracle/11.2.0/db_1/rdbms/mesg/ulus.msb./
现在,让我们再次尝试运行它。
$ sqlldr
SQL*Loader: Release 11.2.0.4.0 - Productionon Thu Nov 20 16:40:10 2014
Copyright (c) 1982, 2011, Oracle and/or itsaffiliates. All rights reserved.
Usage: SQLLDR keyword=value[,keyword=value,...]
Valid Keywords:
Exp/imp
从安装Oracle服务器上拷贝二进制文件过来。
$ cd /home/hadoop/oracle/instantclient_11_2
$ scp root@192.168.8.192:/u01/product/oracle/11.2.0/db_1/bin/imp ./
$ scp root@192.168.8.192:/u01/product/oracle/11.2.0/db_1/bin/exp ./
尝试运行imp和exp,结果如下:
$ imp
Message 100 not found; No message file forproduct=RDBMS, facility=IMP: Release 11.2.0.4.0 - Production on Thu Nov 2017:02:57 2014
Copyright (c) 1982, 2011, Orac
Invalid format of Import utility name
Verify that ORACLE_HOME is properly set
Import terminated unsuccessfully
IMP-00000: Message 0 not found; No messagefile for product=RDBMS, facility=IMP
$ exp
Message 206 not found; No message file forproduct=RDBMS, facility=EXP: Release 11.2.0.4.0 - Production on Thu Nov 20 17:03:392014
Copyright (c) 1982, 2011, Orac
Invalid format of Export utility name
Verify that ORACLE_HOME is properly set
Export terminated unsuccessfully
EXP-00000: Message 0 not found; No messagefile for product=RDBMS, facility=EXP
再从安装Oracle服务器上拷贝rdbms/mesg下的expus.msb和ipus.msb过来。
$ cd rdbms/mesg/
$ scproot@192.168.8.192:/u01/product/oracle/11.2.0/db_1/rdbms/mesg/impus.msb ./
$ scproot@192.168.8.192:/u01/product/oracle/11.2.0/db_1/rdbms/mesg/expus.msb ./
再次运行imp/exp工具错误提示消失,可以正常运行。
Tkprof
现在我们继续添加我最喜欢的工具tkprof。
从安装Oracle的服务器拷贝tkprof到instantclient_11_2目录下。
$ cd /home/hadoop/oracle/instantclient_11_2
$ scp root@192.168.8.192:/u01/product/oracle/11.2.0/db_1/bin/tkprof ./
$ mkdir -p oracore/mesg/
$ cd oracore/mesg/
$ scproot@192.168.8.192:/u01/product/oracle/11.2.0/db_1/oracore/mesg/lrmus.msb ./
使用示例:
$ tkprof test.trc test.out
Instant Client Bundle
现在,我们已经让所有工具都能正常工作。简单的使用工具压缩打包instantclient_11_2目录,这样你就获得你自己的Instant Client包。例如:
$ cd /home/hadoop/oracle
$ tar zcf instantclient_11_2.tar.gzintantclient_11_2
正如你所看到的,打包成的instant client带有tnsping,sqlldr, exp/imp,tkprof工具,这让IC更加的功能强大。
安装自定义的IC包步骤如下:
1. 上传到服务器上解压缩
2. 修改环境变量
$ vi ~/.bashrc
跳到文件的末尾,添加下面这些环境变量:
export ORACLE_IC_HOME=/instantclient_11_2
export ORACLE_HOME=$ORACLE_IC_HOME
export TNS_ADMIN=$ORACLE_IC_HOME
export PATH=$PATH:$ORACLE_IC_HOME
export LD_LIBRARY_PATH=$ORACLE_IC_HOME
exportCLASSPATH=$ORACLE_IC_HOME/ojdbc6.jar:./
$ source ~/. bashrc
或 $ . ~/.bashrc
3. 添加连接数据库的配置
$ vi $ORACLE_IC_HOME/tnsnames.ora
安装完成,现在就可以使用Instant Client中的工具啦!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











사용자들은 인터넷을 사용하면서 와피(wapi)라는 용어를 접했을 수도 있지만, 와피가 무엇인지 모르는 사람들도 있을 것입니다. 다음은 모르는 사람들의 이해를 돕기 위해 자세히 소개한 것입니다. wapi란 무엇입니까? 답변: wapi는 무선 LAN 인증 및 기밀 유지를 위한 인프라입니다. 이는 일반적으로 사무실 건물과 같은 장소 근처에서 보호되는 적외선 및 블루투스와 같은 기능과 같습니다. 기본적으로 소규모 부서가 소유하므로 이 기능의 범위는 불과 몇 킬로미터에 불과합니다. wapi 관련 소개: 1. Wapi는 무선 LAN의 전송 프로토콜입니다. 2. 이 기술은 협대역 통신의 문제를 방지하고 더 나은 통신을 가능하게 합니다. 3. 신호를 전송하는 데는 하나의 코드만 필요합니다.

PlayerUnknown's Battlegrounds라고도 알려진 Pubg는 2016년 인기를 얻은 이후 많은 플레이어를 끌어모은 매우 고전적인 슈팅 배틀 로얄 게임입니다. 최근 win11 시스템이 출시된 후 많은 플레이어들이 win11에서 플레이하고 싶어합니다. win11이 pubg를 플레이할 수 있는지 편집기를 따라가 보겠습니다. win11이 pubg를 플레이할 수 있나요? 답변: Win11은 pubg를 플레이할 수 있습니다. 1. win11 초기에는 win11에서 tpm을 활성화해야 했기 때문에 많은 플레이어가 pubg에서 금지되었습니다. 2. 하지만 플레이어 여러분의 피드백을 바탕으로 블루홀에서는 이 문제를 해결하였고, 이제 win11에서도 정상적으로 pubg 플레이가 가능해졌습니다. 3. 술집을 만난다면

제목: Realme Phone 초보자 가이드: Realme Phone에서 폴더를 만드는 방법은 무엇입니까? 현대 사회에서 휴대폰은 사람들의 삶에 없어서는 안 될 도구가 되었습니다. 인기 스마트폰 브랜드인 Realme Phone은 간단하고 실용적인 운영 체제로 사용자들에게 사랑을 받고 있습니다. Realme 휴대폰을 사용하는 과정에서 많은 사람들이 휴대폰에 있는 파일과 애플리케이션을 정리해야 하는 상황에 직면할 수 있는데, 폴더를 만드는 것이 효과적인 방법입니다. 이 기사에서는 사용자가 휴대폰 콘텐츠를 더 잘 관리할 수 있도록 Realme 휴대폰에서 폴더를 만드는 방법을 소개합니다. 아니요.

Windows에서 픽셀 아트 제작을 위해 김프를 사용하는 데 관심이 있다면 이 기사가 흥미로울 것입니다. GIMP는 무료 오픈 소스일 뿐만 아니라 사용자가 아름다운 이미지와 디자인을 쉽게 만들 수 있도록 도와주는 잘 알려진 그래픽 편집 소프트웨어입니다. 초보자와 전문 디자이너 모두에게 적합할 뿐만 아니라, 김프는 그리기와 창작을 위한 유일한 구성 요소로 픽셀을 활용하는 디지털 아트의 한 형태인 픽셀 아트를 만드는 데에도 사용할 수 있습니다. 김프에서 픽셀 아트를 만드는 방법 Windows PC에서 김프를 사용하여 픽셀 그림을 만드는 주요 단계는 다음과 같습니다. 김프를 다운로드하여 설치한 다음 응용 프로그램을 시작합니다. 새 이미지를 만듭니다. 너비와 높이의 크기를 조정합니다. 연필 도구를 선택합니다. 브러시 유형을 픽셀로 설정합니다. 설정

많은 친구들이 Gree+ 소프트웨어에서 가족을 만드는 방법을 알고 싶다고 말했습니다. 자세한 내용을 알고 싶은 친구들은 저와 함께 살펴보세요. 먼저 휴대폰에서 Gree+ 소프트웨어를 열고 로그인하세요. 그런 다음 페이지 하단의 옵션 표시줄에서 맨 오른쪽에 있는 "내" 옵션을 클릭하여 개인 계정 페이지로 들어갑니다. 2. 내 페이지에 접속한 후 "가족" 아래에 "가족 만들기" 옵션이 있습니다. 찾은 후 클릭하여 들어갑니다. 3. 다음으로 가족을 생성하는 페이지로 이동하여 프롬프트에 따라 입력 상자에 설정할 가족 이름을 입력하고 입력 후 오른쪽 상단의 "저장" 버튼을 클릭합니다. 4. 마지막으로 페이지 하단에 "저장 성공" 메시지가 나타나 패밀리가 성공적으로 생성되었음을 나타냅니다.

i5는 인텔이 보유한 프로세서 시리즈로, 11세대 i5의 다양한 버전이 있으며, 세대마다 성능이 다릅니다. 따라서 i5 프로세서가 win11을 설치할 수 있는지 여부는 어떤 세대의 프로세서인지에 따라 별도로 알아보겠습니다. i5 프로세서를 win11과 함께 설치할 수 있습니까? 답: i5 프로세서는 win11과 함께 설치할 수 있습니다. 1. 8세대 및 후속 i51, 8세대 및 후속 i5 프로세서는 Microsoft의 최소 구성 요구 사항을 충족할 수 있습니다. 2. 따라서 Microsoft 웹 사이트에 들어가서 "Win11 설치 도우미"만 다운로드하면 됩니다. 3. 다운로드가 완료된 후 설치 도우미를 실행하고 프롬프트에 따라 Win11을 설치합니다. 2. i51 8세대 이전과 8세대 이후

Django 프로젝트 여정을 시작하세요. 명령줄에서 시작하여 첫 번째 Django 프로젝트를 만드세요. Django는 Python을 기반으로 하며 웹 애플리케이션 개발에 필요한 많은 도구와 기능을 제공합니다. 이 문서에서는 명령줄에서 시작하여 첫 번째 Django 프로젝트를 만드는 방법을 안내합니다. 시작하기 전에 Python과 Django가 설치되어 있는지 확인하세요. 1단계: 프로젝트 디렉터리 생성 먼저 명령줄 창을 열고 새 디렉터리를 생성합니다.

iOS17에서 Apple은 일반적으로 사용되는 전화 및 연락처 앱에 연락처 포스터 기능을 추가했습니다. 이 기능을 통해 사용자는 각 연락처에 대해 개인화된 포스터를 설정할 수 있어 주소록을 더욱 시각적이고 개인적으로 만들 수 있습니다. 연락처 포스터는 사용자가 특정 연락처를 더 빠르게 식별하고 찾는 데 도움이 되어 사용자 경험을 향상시킵니다. 이 기능을 통해 사용자는 자신의 선호도와 요구 사항에 따라 각 연락처에 특정 사진이나 로고를 추가할 수 있어 주소록 인터페이스가 더욱 생생해집니다. iOS17의 Apple은 iPhone 사용자에게 자신을 표현하는 새로운 방법을 제공하고 개인화 가능한 연락처 포스터를 추가했습니다. 연락처 포스터 기능을 사용하면 다른 iPhone 사용자에게 전화할 때 고유하고 개인화된 콘텐츠를 표시할 수 있습니다. 너
