0


shell脚本部署oracle数据库

脚本一键部署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 #开启实例

标签: oracle 数据库 linux

本文转载自: https://blog.csdn.net/m0_64423407/article/details/125246285
版权归原作者 墨染@mist 所有, 如有侵权,请联系我们删除。

“shell脚本部署oracle数据库”的评论:

还没有评论