ITPub博客

首页 > 数据库 > Oracle > Oracle 26ai 静默安装 单机

Oracle 26ai 静默安装 单机

原创 Oracle 作者:zjwmv 时间:2026-07-13 20:55:21 0 删除 编辑

Oracle 26ai 单机安装

OS :        Red Hat Enterprise Linux release 8.9 (Ootpa)

DB VERSION: 23.26.1.0.0


##1. 软件下载:  Oracle 软件交付云平台  https://edelivery.oracle.com/osdc/faces/SoftwareDelivery

检索 "oracle ai database 23"  下载软件版本

Oracle AI Database 23.26.1.0.0 for Linux x86-64

V1054592-01(V1054592-01.zip) Oracle Database 23.26.1.0.0 for Linux x86-64, 2.2 GB


##2. 配置yum仓库

########################################################

##redhat8光盘配置

mount /dev/sr0 /mnt

echo "[BaseOS]

name=BaseOS

baseurl=file:///mnt/BaseOS

enabled=1

gpgcheck=0


[AppStream]

name=AppStream

baseurl=file:///mnt/AppStream

enabled=1

pgcheck=0

" >/etc/yum.repos.d/RHEL-ISO.repo


yum clean all 

yum list


##安装测试

yum install vim

##yum 如yum安装正常忽略,若有权限问题,打开注释导入key,再行安装验证

#rpm --import  /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release


安装依赖软件包

yum install -y psmisc tar glibc libaio libgcc libstdc++ bc make binutils glibc-devel ksh libstdc++-devel unzip gcc gcc-c++ libnsl initscripts libaio-devel

yum install -y e2fsprogs e2fsprogs-libs smartmontools net-tools nfs-utils elfutils-libelf elfutils-libelf-devel libibverbs librdmacm fontconfig fontconfig-devel

yum install -y libXrender libXrender-devel libX11 libXau libXi libXtst libxcb unixODBC sysstat readline readline-devel policycoreutils libvirt-libs 

yum install -y policycoreutils-python-utils libnsl2 libasan liblsan compat-openssl10 libxcrypt-compat compat-openssl11 libgfortran rlwrap


##3. 时间同步

##############禁用chronyd:

yum install -y chrony

timedatectl set-timezone "Asia/Shanghai" ##//设置时区

##date -s "20251122 00:00:00" ##//设置时间

systemctl stop chronyd.service

systemctl disable chronyd.service

chronyd -q 'server ntp.ntsc.ac.cn iburst' #时间服务器可以自行选择,这里选择国家授时中心时间

chronyd -q 'server ntp1.aliyun.com iburst' #阿里云


配置时间同步计划任务:

##yum install -y ntpdate

##自行修改时间服务器IP,例:每天23点同步系统时间

cat <<EOF>>/var/spool/cron/root

#00 23 * * * /usr/sbin/ntpdate -u 192.168.229.143 && /usr/sbin/hwclock -w

#00 23 * * * /usr/sbin/chronyd -q 'server ntp.ntsc.ac.cn iburst' && /usr/sbin/hwclock -w

EOF


##查看计划任务

crontab -l


##4. 防火墙配置

##############关闭防火墙

systemctl stop firewalld.service

systemctl disable firewalld.service

systemctl status firewalld.service


##5.selinux 配置

##############selinux 配置

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

setenforce 0

getenforce

cat /etc/selinux/config


##6.关闭透明大页和NUMA(rac01&rac02)

##关闭透明大页和numa:

cp /etc/default/grub /etc/default/grub.bak

sed -i 's/quiet/quiet transparent_hugepage=never numa=off/' /etc/default/grub

grub2-mkconfig -o /boot/grub2/grub.cfg


##7.avahi-daemon 配置禁用

##有些主机安装选择最小化安装,没有安装 avahi-daemon 功能,建议安装之后禁用,防止以后误操作导致出问题:

yum install -y avahi*

systemctl stop avahi-daemon.socket

systemctl stop avahi-daemon.service

pgrep -f avahi-daemon | awk '{print "kill -9 "$2}'

systemctl disable avahi-daemon.socket

systemctl disable avahi-daemon.service


##配置 NOZEROCONF:

mv /etc/sysconfig/network /etc/sysconfig/network.bak

cat <<EOF>>/etc/sysconfig/network

NOZEROCONF=yes

EOF


##8.系统参数配置

cp /etc/sysctl.conf /etc/sysctl.conf.bak


##一键配置 获取OS资源信息

memTotal=$(grep MemTotal /proc/meminfo | awk '{print $2}')

totalMemory=$((memTotal / 2048))

shmall=$((memTotal / 4))

if [ $shmall -lt 2097152 ]; then

        shmall=2097152

fi

shmmax=$((memTotal * 1024 - 1))

if [ "$shmmax" -lt 4294967295 ]; then

        shmmax=4294967295

fi

###配置系统参数

cat <<EOF>>/etc/sysctl.conf

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = $shmall

kernel.shmmax = $shmmax

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default = 262144

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048576

##rp_filter 反向路径过滤 必须设置,否则两个节点的db实例无法交流,其中一个节点被踢出集群

net.ipv4.conf.ens160.rp_filter = 1  ##网卡根据 nmcli c 真实网卡调整

net.ipv4.conf.ens224.rp_filter = 2  ##~~

EOF


##参数 生效

cat /etc/sysctl.conf

sysctl -p


##9.系统资源限制配置

###配置limits.conf:

cp /etc/security/limits.conf /etc/security/limits.conf.bak

cat <<EOF>>/etc/security/limits.conf

oracle soft nofile 1024

oracle hard nofile 65536

oracle soft stack 10240

oracle hard stack 32768

oracle soft nproc 2047

oracle hard nproc 16384

oracle hard memlock 134217728

oracle soft memlock 134217728

grid soft nofile 1024

grid hard nofile 65536

grid soft stack 10240

grid hard stack 32768

grid soft nproc 2047

grid hard nproc 16384

EOF

###配置pam.d/login:

cp /etc/pam.d/login /etc/pam.d/login.bak

cat <<EOF>>/etc/pam.d/login

session required pam_limits.so

session required /lib64/security/pam_limits.so

EOF


##10、用户及组、目录创建

###创建安装 Oracle 数据库所需的用户、组以及安装目录:(id如有重复 去掉 -g id )

/usr/sbin/groupadd -g 54321 oinstall

/usr/sbin/groupadd -g 54322 dba

/usr/sbin/groupadd -g 54323 oper

/usr/sbin/groupadd -g 54324 backupdba

/usr/sbin/groupadd -g 54325 dgdba

/usr/sbin/groupadd -g 54326 kmdba

/usr/sbin/groupadd -g 54327 asmdba

/usr/sbin/groupadd -g 54328 asmoper

/usr/sbin/groupadd -g 54329 asmadmin

/usr/sbin/groupadd -g 54330 racdba


###grid/oracle 用户创建:

/usr/sbin/useradd -u 54321 -g oinstall -G asmdba,dba,backupdba,dgdba,kmdba,racdba,oper -c "db user " oracle

#/usr/sbin/useradd -u 54322 -g oinstall -G asmadmin,asmdba,asmoper,dba,racdba,oper -c "grid user " grid

##修改用户密码为123

echo "123" |passwd oracle --stdin

#echo "123" |passwd grid --stdin


##查看用户组

id grid

id oracle

##重载udev

/sbin/udevadm trigger --type=devices --action=change

sleep 2

/sbin/udevadm control --reload-rules

ll /dev/asm*

ll /dev/dm*  

###注意: /dev/dm*这里udev重载之后,绑盘权限已经变 grid , asm未变 


###创建软件目录:

#23ai 26ai

#mkdir -p /u01/app/23.0.0/grid

#mkdir -p /u01/app/grid

mkdir -p /u01/app/oracle/product/23.0.0/db

mkdir -p /u01/app/oraInventory

mkdir -p /backup

mkdir -p /home/oracle/scripts

chown -R oracle:oinstall /backup

chown -R oracle:oinstall /home/oracle/scripts

#chown -R grid:oinstall /u01

#chown -R grid:oinstall /u01/app/grid

#chown -R grid:oinstall /u01/app/23.0.0/grid

#chown -R grid:oinstall /u01/app/oraInventory

chown -R oracle:oinstall /u01/app/oracle

chmod -R 775 /u01


##11、环境变量配置

#####################oracle用户环境变量:

cat <<EOF>>/home/oracle/.bash_profile

################OracleBegin#########################

umask 022

export TMP=/tmp

export TMPDIR=\$TMP

export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=\$ORACLE_BASE/product/23.0.0/db

export ORACLE_TERM=xterm

export TNS_ADMIN=\$ORACLE_HOME/network/admin

export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib

export ORACLE_SID=racdb1

export ORACLE_HOSTNAME=racnode1

export PATH=/usr/sbin:\$PATH

export PATH=\$ORACLE_HOME/bin:\$ORACLE_HOME/OPatch:\$PATH

alias sas='sqlplus / as sysdba'

export PS1="[\`whoami\`@\`hostname\`:"'\$PWD]\$ '

################OracleEnd#########################

EOF

chown oracle.oinstall /home/oracle/.bash_profile


#################################################################################

##12 解压数据库软件

su - oracle -c "unzip -q /soft/23ai/V1054592-01.zip -d /u01/app/oracle/product/23.0.0/db"


##13 数据库静默安装

#13.1 数据库软件安装

#13.1.1 DB软件静默安装rsp生成

cat <<EOF >~/db_install.rsp

oracle.install.option=INSTALL_DB_SWONLY

UNIX_GROUP_NAME=oinstall

INVENTORY_LOCATION=/u01/app/oraInventory

ORACLE_BASE=/u01/app/oracle

oracle.install.db.InstallEdition=EE

oracle.install.db.OSDBA_GROUP=dba

oracle.install.db.OSOPER_GROUP=oper

oracle.install.db.OSBACKUPDBA_GROUP=backupdba

oracle.install.db.OSDGDBA_GROUP=dgdba

oracle.install.db.OSKMDBA_GROUP=kmdba

oracle.install.db.OSRACDBA_GROUP=racdba

oracle.install.db.rootconfig.executeRootScript=false

oracle.install.db.rootconfig.configMethod=

oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v23.0.0

EOF


#13.1.2 静默安装DB软件

cd $ORACLE_HOME

./runInstaller -silent -ignorePrereqFailure -responseFile ~/db_install.rsp  -waitForCompletion


#按要求执行 root 脚本


#13.2 创建默认监听

netca -silent -responsefile $ORACLE_HOME/assistants/netca/netca.rsp


#检查监听状态

lsnrctl status


#13.3 DBCA建库

#13.3.1 静默建库rsp文件生成

cat <<EOF >~/dbca.rsp

gdbName=orcl

sid=orcl

templateName=General_Purpose.dbc

sysPassword=oracle

systemPassword=oracle

characterSet=ZHS16GBK

nationalCharacterSet=AL16UTF16

automaticMemoryManagement=false

totalMemory=4096

initParams=db_block_size=8192BYTES

datafileDestination=/oradata

recoveryAreaDestination=/oradata

responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v23.0.0


#13.3.2 静默建库

dbca -silent -createDatabase -responseFile ~/db.rsp -ignorePreReqs -ignorePrereqFailure


#13.3.3 删除建库命令 

## dbca -silent -deletedatabase -sourcedb orcl


至此安装完毕 


##14 验证连通性

sqlplus sys/oracle@192.168.11.36:1521/orcl as sysdba

连接成功即可。

Copyright (c) 1982, 2025, Oracle.  All rights reserved.

Connected to:

Oracle AI Database 26ai Enterprise Edition Release 23.26.1.0.0 - Production

Version 23.26.1.0.0

SQL>


###########################################################################################

下述是大神的一键安装脚本,支持到23版本,稍微修改下也能用 

OracleShellInstall 一键安装脚本   gitee下载: https://gitee.com/luciferlpc/OracleShellInstall


修改:

1. 使用到gi软件修改此处,未使用到不动

 ["23"]="$env_base_dir/app/23.5.0/grid;$software_dir/LINUX.X64_235000_forEngineeredSystems_grid_home.zip;$env_grid_home/cv/rpm/$cvu_name;23.0.0.0.0"


对应的 md5sum也修改

    "23")

      check_md5sum "$grid_soft_name" "bc13cfe0beecd5fd1a75132a7f46bb09"


2.db软件 修改

    #["23"]="$env_oracle_base/product/23.5.0/db;$software_dir/LINUX.X64_235000_forEngineeredSystems_db_home.zip;;true;23.0.0.0.0"

    ["23"]="$env_oracle_base/product/23.0.0/db;$software_dir/V1054592-01.zip;;true;23.0.0.0.0"

对应的 md5sum修改

      "23")

        #check_md5sum "$db_soft_name" "2260486cc0383504b35593c40a256a18"

        check_md5sum "$db_soft_name" "91f4b49dfd586df2bc904ab61aedeff7"

        ;;

3. dbca有一处兼容异常 需要修改

#      if ((db_version == 23)); then

#        dbca_cmd="$dbca_cmd \\

#-initParams _exadata_feature_on=true"

#      fi

4. 如果不创建容器和pdb把这句注释掉

#"createAsContainerDatabase=$iscdb"


5. 非必须,优化类,建库默认归档是开的, 调整模板不开归档

sed -i 's/<archiveLogMode>true/<archiveLogMode>false/g' $ORACLE_HOEM/assistants/dbca/templates/General_Purpose.dbc


##一键安装命令

OracleShellInstall -lf ens160 ##安装单机,ens160为public网卡 自行调整


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/15404498/viewspace-3175833/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2015-03-05

  • 博文量
    36
  • 访问量
    26764