脚本一键部署oracle数据库
系统版本:CentOS7.9
配置:4G内存,40G硬盘空间
这都是最低的配置要求,不然到后面实验会失败的
这个脚本一共分为两个阶段,因为中间为了让配置生效,需要重启系统
#第一阶段脚本
vim oracle1.sh #直接编辑一个文件,复制脚本粘贴进去
sh oracle1.sh #执行脚本
#!/bin/bash
#function:oracle第一阶段安装
#author:墨染-2022-06-12
#请以root用户身份执行
systemctl stop firewalld.service
systemctl disable firewalld.service
sed -i 's/SELINUX=.*/SELINUX=disabled/' /etc/sysconfig/selinux
sed -i 's/SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
sleep 8
echo "防火墙和selinux高级权限管理已关闭"
echo '开始安装依赖包...'
sleep 3
yum install -y compat-libcap1 compat-libstdc++-33 gcc-c++ ksh libaio-devel libstdc++-devel elfutils-libelf-devel fontconfig-devel libXrender-devel
echo '软件包安装完成'
echo "创建用户组及用户"
groupadd oinstall
groupadd dba
groupadd asmdba
groupadd backupdba
groupadd dgdba
groupadd kmdba
groupadd racdba
groupadd oper
useradd -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba,oper -m oracle
sleep 5
echo '更改配置文件'
read -p "请输入你想更改的主机名,避开linux,computer等敏感词汇:" name
hostnamectl set-hostname $name
echo $name `ifconfig | grep inet | cut -d " " -f 10 | head -1` >> /etc/hosts
echo "开始修改内核文件"
cat >> /etc/sysctl.conf << EOF
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 16451328
kernel.shmmax = 33692319744
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
echo "设置环境变量"
cat >> /home/oracle/.bash_profile << EOF
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1/
export ORACLE_BIN=/u01/app/oracle/product/19.3.0/dbhome_1/bin/
export PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/bin:/usr/local/bin:$ORACLE_BIN
export ORACLE_HOSTNAME=$name
export ORACLE_SID=$name
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/rdbms/lib:$ORACLE_HOME/network/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib
EOF
#创建目录及权限设置
mkdir -p /u01/app/oracle/product/19.3.0/dbhome_1
chown -R oracle:oinstall /u01
#修改shell限制
cat >> /etc/security/limits.conf << EOF
@oinstall soft nofile 2048
@oinstall hard nofile 65536
@oinstall soft nproc 16384
@oinstall soft stack 10240
EOF
sync
echo "第一阶段安装已经完成,请手动重启,重启完成后请运行第二阶段脚本"
第一阶段的脚本中需要自己手动输入计算机名称,但是要注意避开linux,computer,centos等敏感词汇
第二阶段的脚本,需要上传一个压缩包文件并解压,有需要压缩包的可以私信我
#!/bin/bash
#function:oracle第二阶段安装
#author:墨染-2022-06-12
#请以root用户身份执行
echo "接下来开始第二阶段"
source /home/oracle/.bash_profile
sleep 3
dir_file="/u01/app/oracle/product/19.3.0/dbhome_1"
ls $dir_file | grep V982063-01.zip >& /dev/null
if [ $? != 0 ];then
echo "安装文件不存在,请将安装包上传到$dir_file目录后,在执行该脚本"
exit
else
echo "文件存在" > /dev/ull
fi
cd $dir_file
chown oracle:oinstall V982063-01.zip
chmod 777 V982063-01.zip
cat >> /home/oracle/.bash_profile << EOF
export DISPLAY=':0.0'
EOF
sleep 8
xhost +
sleep 10
su - oracle<<EOF
unzip /u01/app/oracle/product/19.3.0/dbhome_1/V982063-01.zip -d /u01/app/oracle/product/19.3.0/dbhome_1/
sleep 10
cd /u01/app/oracle/product/19.3.0/dbhome_1/
./runInstaller
echo "正在启动图形化安装向导,请按照向导指示操作!"
sleep 120
exit
EOF
第二个脚本执行完成以后,会直接弹出一个oracle安装的图形化界面
接下来按照下方的图片提示来操作
1)弹出该界面后,选择仅设置软件,然后下一步
2)单实例数据库安装,下一步
3)选择企业版,下一步
4)oracle的目录不用改,默认就行,下一步
5)产品清单目录也不用该,默认就行,下一步
6)这里除了数据库操作员的选项是oper外。其他的都改成dba
7)这一步默认,下一步
8)这一步是在检查安装前的配置,如果你的交换内存不够,那你可能需要增加一些交换内存,可以增加至物理内存的1.5倍或2倍;添加完成了就不用重新执行脚本了,按照下面的操作来
su oracle #切换至oracle用户
cd /u01/app/oracle/product/19.3.0/dbhome_1/bin #进入这个bin目录
./runInstaller #启动安装程序
9)这个是检查完成了,没有任何问题,就可以直接安装
10)现在就开始安装了,要等个10-20分钟左右,如果电脑的配置比较高,可能会更快
11)执行到一半,弹出了一个执行脚本的界面
12)注意不要中断执行脚本的那个终端,要重新打开一个终端,以root用户的身份分贝执行下面的两个脚本,执行完有图片中的回显是正常的,第二个脚本执行的时候会停顿一下,按下回车就可以了;两个脚本都执行完了以后,按下确定,就OK了
13)点完确定,进度条就直接到100%了,数据库已经注册成功了
14)然后要先启动一下监听端口
su oracle
cd /u01/app/oracle/product/19.3.0/dbhome_1/bin
source /home/oracle/.bash_profile
netca
弹出这个界面直接点下一步,配置监听程序
15)添加,下一步
16)这里可以默认LISTEN,也可以写你当时填的计算机名称
17)下一步
18)选择标准端口号,下一步
19)如果上一步没有报错,就说明监听端口已经配置成功了,就不用在配置了,下一步
但是,如果上一步报错了,说监听端口已经被占用,需要更换监听端口,那这个时候就要重点排查计算机的名称,我之前就因为计算机名称的问题也报错了
20)下一步
21)完成
22)监听端口配置晚了以后,会在命令行有回显的
23)接下来就要真正的开始创建数据库了,还是在 /u01/app/oracle/product/19.3.0/dbhome_1/bin目录下,输入dbca回车,会弹出创建oracle数据库的界面,默认下一步
24)这里选择高级配置,下一步
25)数据库的模板选择一般用途或事务处理
26)这里要注意一下,全局数据库的名称和SID都必须和计算机名称一样
27)默认下一步28)默认下一步
29)这里可以看到刚才的监听程序已经启动了,下一步
30)默认下一步31)字符集选择UTF-16通用字符集,语言和地区就看自己怎么选了32)默认端口,下一步33)选择所有账户使用同一管理口令比较方便,如果密码不符合标准,就会弹出这个界面,可以点击“是”忽略34) 勾选创建数据库,下一步35)这个是刚刚的配置信息,点击完成就直接开始创建数据库了
36)这里可以查看进度,时间可能要个10分钟37)这个界面就是已经创建好数据库了,点击下面的口令管理38)可以为system和sys两个用户创建口令,这里的口令要和前面创建的口令一致,这个界面还是直接点是忽略就可以了,然后之间点下面的完成
图形化界面操作完了以后,关一下系统poweroff,然后再开机
39)以oracle身份在/u01/app/oracle/product/19.3.0/dbhome_1/bin目录运行
source /home/oracle/.bash_profile #重新加载环境变量
lsnrctl start #再次启动监听程序
sqlplus / as sysdba #连接数据库
startup #开启实例
版权归原作者 墨染@mist 所有, 如有侵权,请联系我们删除。