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