Arm环境pro*c编译
下载oracle的arm客户端
Oracle Database 19c for LINUX ARM (aarch64)
客户端静默安装
创建用户
groupadd oinstall
useradd oracle -g oinstall
passwd oracle
创建目录
mkdir -p /u01/app/oracle
chown -R oracle:oinstall /u01/app/
chmod -R 775 /u01/app/
#创建客户端的安装目录
mkdir -R /u01/app/oracle/19.3.0/client
编辑应答文件
应答文件模板在客户端介质的response目录下,修改下面几个参数:
###############################################################################
## Copyright(c) Oracle Corporation 1998,2023. All rights reserved. ##
## ##
## Specify values for the variables listed below to customize ##
## your installation. ##
## ##
## Each variable is associated with a comment. The comment ##
## can help to populate the variables with the appropriate ##
## values. ##
## ##
###############################################################################
#-------------------------------------------------------------------------------
# Do not change the following system generated value.
#-------------------------------------------------------------------------------
oracle.install.responseFileVersion=/oracle/install/rspfmt_clientinstall_response_schema_v19.0.0
#-------------------------------------------------------------------------------
# Unix group to be set for the inventory directory.
#-------------------------------------------------------------------------------
UNIX_GROUP_NAME=oinstall
#-------------------------------------------------------------------------------
# Inventory location.
#-------------------------------------------------------------------------------
INVENTORY_LOCATION=/u01/app/oralnventory
#-------------------------------------------------------------------------------
# Complete path of the Oracle Home
#-------------------------------------------------------------------------------
ORACLE_HOME=/u01/app/oracle/19.3.0/client
#-------------------------------------------------------------------------------
# Complete path of the Oracle Base.
#-------------------------------------------------------------------------------
ORACLE_BASE=/u01/app/oracle
#------------------------------------------------------------------------------
#Name : INSTALL_TYPE
#Datatype : String
#Description: Installation type of the component.
#
# The following choices are available. The value should contain
# only one of these choices.
# - Administrator
# - Runtime
# - InstantClient
# - Custom
#
#Example : INSTALL_TYPE = Administrator
#------------------------------------------------------------------------------
oracle.install.client.installType=Administrator
#-------------------------------------------------------------------------------
# Name : oracle.install.client.customComponents
# Datatype : StringList
#
# This property is considered only if INSTALL_TYPE is set to "Custom"
#
# Description: List of Client Components you would like to install
#
# The following choices are available. You may specify any
# combination of these choices. The components you choose should
# be specified in the form "internal-component-name:version"
# Below is a list of components you may specify to install.
#
# oracle.sqlj:19.0.0.0.0 -- "Oracle SQLJ"
# oracle.rdbms.util:19.0.0.0.0 -- "Oracle Database Utilities"
# oracle.javavm.client:19.0.0.0.0 -- "Oracle Java Client"
# oracle.sqlplus:19.0.0.0.0 -- "SQL*Plus"
# oracle.dbjava.jdbc:19.0.0.0.0 -- "Oracle JDBC/THIN Interfaces"
# oracle.ldap.client:19.0.0.0.0 -- "Oracle Internet Directory Client"
# oracle.rdbms.oci:19.0.0.0.0 -- "Oracle Call Interface (OCI)"
# oracle.precomp:19.0.0.0.0 -- "Oracle Programmer"
# oracle.xdk:19.0.0.0.0 -- "Oracle XML Development Kit"
# oracle.network.aso:19.0.0.0.0 -- "Oracle Advanced Security"
# oracle.oraolap.mgmt:19.0.0.0.0 -- "OLAP Analytic Workspace Manager and Worksheet"
# oracle.network.client:19.0.0.0.0 -- "Oracle Net"
# oracle.network.cman:19.0.0.0.0 -- "Oracle Connection Manager"
# oracle.network.listener:19.0.0.0.0 -- "Oracle Net Listener"
# oracle.ordim.client:19.0.0.0.0 -- "Oracle Multimedia Client Option"
# oracle.odbc:19.0.0.0.0 -- "Oracle ODBC Driver"
# oracle.has.client:19.0.0.0.0 -- "Oracle Clusterware High Availability API"
# oracle.dbdev:19.0.0.0.0 -- "Oracle SQL Developer"
# oracle.rdbms.scheduler:19.0.0.0.0 -- "Oracle Scheduler Agent"
#
# Example : oracle.install.client.customComponents="oracle.precomp:19.0.0.0.0","oracle.oraolap.mgmt:19.0.0.0.0","oracle.rdbms.scheduler:19.0.0.0.0"
#-------------------------------------------------------------------------------
oracle.install.client.customComponents=
#-------------------------------------------------------------------------------
# Host name to be used for by the Oracle Scheduler Agent.
# This needs to be entered in case oracle.rdbms.scheduler is selected in the
# list of custom components during custom install
#
# Example : oracle.install.client.schedulerAgentHostName = acme.domain.com
#------------------------------------------------------------------------------
oracle.install.client.schedulerAgentHostName=
#------------------------------------------------------------------------------
# Port number to be used for by the Oracle Scheduler Agent.
# This needs to be entered in case oracle.rdbms.scheduler is selected in the
# list of custom components during custom install
#
# Example: oracle.install.client.schedulerAgentPortNumber = 1500
#------------------------------------------------------------------------------
oracle.install.client.schedulerAgentPortNumber=
执行命令,安装:
./runInstaller -silent -responseFile /home/oracle/client/client_install.rsp -ignoreSysPrereqs -noconfig
注意,应答文件必须为绝对路径
安装时报错:
[oracle@node11 client]$ ./runInstaller -silent -responseFile /home/oracle/client/client_install.rsp -ignoreSysPrereqs -noconfig
Starting Oracle Universal Installer...
Checking Temp space: must be greater than 415 MB. Actual 259467 MB Passed
Checking swap space: must be greater than 150 MB. Actual 4095 MB Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2024-11-25_03-57-43PM. Please wait ...[oracle@node11 client]$
[oracle@node11 client]$
[oracle@node11 client]$
[oracle@node11 client]$
[oracle@node11 client]$
[oracle@node11 client]$ [FATAL] An internal error occurred within cluster verification framework
An error occurred in creating a TaskFactory object or in generating a task list
PRVG-0282 : failed to retrieve the operating system distribution ID
A log of this session is currently saved as: /tmp/OraInstall2024-11-25_03-57-43PM/installActions2024-11-25_03-57-43PM.log. Oracle recommends that if you want to keep this log, you should move it from the temporary location.
解决方法:
export CV_ASSUME_DISTID=RHEL7.6
export LANG=en_US
设置环境变量
vi .bash_profile
#在文件末尾添加如下配置
export ORACLE_HOME=/home/u01/app/oracle/19.3.0/client
export NLS_DATE_FORMAT=“YYYY-MM-DD HH24:Mi:SS”
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH = $ORACLE_HOME/lib
export PATH=ORACLE_HOME/lib
export PATH=ORACLE_HOME/bin:$PATH
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
编译
g++ -o oci oci.cpp -I ./include/oci/linux -L ./lib –lclntsh