首页 > 数据库 > Oracle > Oracle 26ai 静默安装 单机
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/ ,如需转载,请注明出处,否则将追究法律责任。