CentOS 7环境下批量安装Oracle 12.2的Shell脚本咨询
CentOS 7 环境Oracle 12.2 安装Shell脚本(适配/home安装路径、默认权限)
前置准备
- 提前将Oracle 12.2官方安装包
linuxx64_12201_database.zip上传到所有目标服务器的/opt目录 - 所有服务器提前配置可用CentOS 7 yum源,提前关闭SELinux、停止firewalld服务
- 服务器硬件要求:内存≥2G,swap分区≥4G,/home目录剩余空间≥15G
可用安装脚本
#!/bin/bash # 安装依赖包 yum install -y binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unzip # 创建Oracle用户和用户组 groupadd oinstall groupadd dba useradd -g oinstall -G dba oracle # 默认密码可自行修改 echo "oracle" | passwd --stdin oracle # 配置内核参数 cat >> /etc/sysctl.conf << EOF fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 4294967295 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 EOF sysctl -p # 配置用户限制 cat >> /etc/security/limits.conf << EOF oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240 EOF # 配置Oracle环境变量 cat >> /home/oracle/.bash_profile << EOF export ORACLE_BASE=/home/oracle export ORACLE_HOME=\$ORACLE_BASE/product/12.2.0/dbhome_1 export ORACLE_SID=orcl export PATH=\$ORACLE_HOME/bin:\$PATH EOF source /home/oracle/.bash_profile # 创建安装目录,设置默认权限 mkdir -p /home/oracle/product/12.2.0/dbhome_1 mkdir -p /home/oracle/oradata mkdir -p /home/oracle/oraInventory chown -R oracle:oinstall /home/oracle chmod -R 775 /home/oracle # 解压安装包 cd /opt unzip -q linuxx64_12201_database.zip chown -R oracle:oinstall /opt/database # 生成静默安装应答文件 cat > /opt/db_install.rsp << EOF oracle.install.option=INSTALL_DB_SWONLY ORACLE_HOSTNAME=$(hostname) UNIX_GROUP_NAME=oinstall INVENTORY_LOCATION=/home/oracle/oraInventory SELECTED_LANGUAGES=en,zh_CN ORACLE_HOME=/home/oracle/product/12.2.0/dbhome_1 ORACLE_BASE=/home/oracle oracle.install.db.InstallEdition=EE oracle.install.db.OSDBA_GROUP=dba oracle.install.db.OSOPER_GROUP=oinstall oracle.install.db.OSBACKUPDBA_GROUP=dba oracle.install.db.OSDGDBA_GROUP=dba oracle.install.db.OSKMDBA_GROUP=dba oracle.install.db.OSRACDBA_GROUP=dba DECLINE_SECURITY_UPDATES=true EOF chown oracle:oinstall /opt/db_install.rsp # 执行静默安装 su - oracle -c "/opt/database/runInstaller -silent -ignoreSysPrereqs -ignorePrereq -responseFile /opt/db_install.rsp" # 等待安装完成执行 root 脚本 sleep 15m /home/oracle/oraInventory/orainstRoot.sh /home/oracle/product/12.2.0/dbhome_1/root.sh # 静默配置监听 su - oracle -c "netca /silent /responsefile /opt/database/response/netca.rsp" # 静默创建数据库 cat > /opt/dbca.rsp << EOF GDBNAME = "orcl" SID = "orcl" SYSPASSWORD = "oracle123" SYSTEMPASSWORD = "oracle123" CHARACTERSET = "AL32UTF8" NATIONALCHARACTERSET= "UTF8" LISTENERS = "LISTENER" TOTALMEMORY = 1024 EOF su - oracle -c "dbca -silent -createDatabase -responseFile /opt/dbca.rsp"
使用说明
- 将脚本保存为
oracle12c_install.sh,执行chmod +x oracle12c_install.sh赋予执行权限 - 10台服务器批量部署可搭配ansible推送执行,无需逐台操作
- 安装完成后执行
su - oracle -c "sqlplus / as sysdba"验证安装状态,能正常进入SQL命令行即为安装成功
注意事项
- 单台服务器脚本执行时长约15-20分钟,执行过程中不要手动中断
- 脚本已按要求配置安装路径为
/home/oracle,所有目录权限遵循Oracle官方默认要求,无需额外调整 - 可根据实际需求修改应答文件中的实例名、密码、字符集等参数
内容的提问来源于stack exchange,提问作者Sumedh Chatse
相关产品推荐
相关产品推荐

