Bootstrap

KADB支持arm架构Pro*c

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

;