【 MacOS 】☀️ Vagrant 使用 Parallels Desktop 安装 Oracle 数据库 ☀️

2,581 阅读5分钟

这是我参与8月更文挑战的第30天,活动详情查看:8月更文挑战

🌲 前言

MacOS玩家看过来!!!本文主要讲解 Parallels Desktop 如何玩。

在了解了如何使用 Vagrant 配合 VirtualBox 来搭建 Oracle 数据库后,由于我一直使用 Parallels Desktop 虚拟机,并且 Vagrant 也是支持 Pd 的,因此就研究玩了一下,顺便分享一下 😄~

❤️ 大家可以访问我的 Vagrant Box 站点,下载使用 Oracle 数据库噶 ❤️ ヾ(◍°∇°◍)ノ゙~

luciferliu/oracle11g: app.vagrantup.com/luciferliu/…

🪐 Vagrant使用方式可参考:

🌏 Oracle一键安装脚本使用可参考:

需提前安装软件:

安装好就开始了~

❄️ 一、环境准备 ❄️

1、下载 Vagrant box

⭐️ 访问 Vagrant 官方 Box 下载站点:app.vagrantup.com/generic/box…

下载 Centos7 对应 Parallels 版本 Box: 在这里插入图片描述 下载之后重命名文件,为了便于分辨: 在这里插入图片描述

2、安装 Paralles 插件

由于 Vagrant 默认是使用 VirtualBox 虚拟机作为载体,所以需要下载安装 Paralles 插件。

vagrant plugin install vagrant-parallels

这里比较简单,一行命令即可安装成功。 在这里插入图片描述

3、Vagrant 添加 box

将刚刚下载的box添加到vagrant中:

vagrant box add /Volumes/Lucifer/vagrant/centos79-oracle11g-parallels/centos79-parallels --name oracle11pd

在这里插入图片描述 如上所示,box 已成功添加。

4、配置 Vagrantfile

emm,具体如何配置我就不细说了,下面简单介绍一下:

cd /Volumes/DBA/vagrant/oracle11pd
cat <<EOF>Vagrantfile
Vagrant.configure("2") do |config|
  config.vm.box = "oracle11pd"
  config.vm.provision :shell, path: "/Volumes/DBA/vagrant/oracle11pd/scripts/ora_preinstall.sh"
  config.vm.synced_folder "/Volumes/Lucifer/vagrant/centos79-oracle11g-vb", "/vagrant" 
  config.vm.network :forwarded_port, guest: 1521, host: 1521
  config.vm.network :forwarded_port, guest: 22, host: 22
  config.vm.network "public_network", ip: "192.168.1.120"
  config.vm.provider "parallels" do |prl|
  prl.name = "orcl11g"
  prl.memory = 4196
  prl.cpus = 2
  end
end
EOF

在这里插入图片描述 这里简单解释一下配置文件中的几个参数:

  • config.vm.box = "oracle11pd" 指定上文添加的box逻辑名称,用于安装Linux系统
  • config.vm.provision :shell, path: "/Volumes/DBA/vagrant/oracle11pd/scripts/ora_preinstall.sh" 配置用于安装完Linux系统后自动执行shell脚本
  • config.vm.synced_folder "/Volumes/Lucifer/vagrant/centos79-oracle11g-vb", "/vagrant" 映射本地目录到Linux主机目录
  • config.vm.network :forwarded_port, guest: 1521, host: 1521 映射Linux主机1521端口到本机端口1521
  • config.vm.network :forwarded_port, guest: 22, host: 22 映射Linux主机22端口到本机端口22
  • config.vm.network "public_network", ip: "192.168.1.120" 配置主机网络为192.168.1.120,建议与本机做桥接,可用于上网
  • config.vm.provider "parallels" do |prl| 配置虚拟机程序为parallels
  • vb.name = "orcl11g" 配置主机名
  • vb.memory = 4196 配置主机内存
  • vb.cpus = 2 配置主机CPU

5、准备安装介质

Vagrantfile指定映射挂载的目录下,创建 soft 文件夹,并上传需要的安装介质: 在这里插入图片描述 在这里插入图片描述 这里说一下以下文件的作用:

  • CentOS-7.9-x86_64-Everything-2009.iso Centos iso镜像文件,用于安装本地YUM源,如果能联网可以不需要
  • OracleShellInstall.sh Oracle一键安装脚本,可在Github下载,持续更新🔥,欢迎👏🏻 Star
  • p13390677_112040_Linux-x86-64_1of7.zip
  • p13390677_112040_Linux-x86-64_2of7.zip Oracle 11GR2 Database 安装包
  • p31537677_112040_Linux-x86-64.zip Oracle 11GR2 Database PSU补丁包
  • p6880880_112000_Linux-x86-64.zip Oracle OPatch补丁包
  • rlwrap-0.42.tar.gz 上下文切换软件,可选安装,非必须

这里安装介质就准备好啦,放在这里就行了 😄 ~

6、编写Vagrantfile中定义的Shell脚本

为了实现Linux安装成功后继续自动安装Oracle数据库,因此需要提前准备shell脚本用于Linux系统安装后调用执行。

mkdir -p /Volumes/DBA/vagrant/oracle11pd/scripts
cd /Volumes/DBA/vagrant/oracle11pd/scripts
cat <<EOF>ora_preinstall.sh
#change root password
echo oracle | passwd --stdin root
#change sshd_config
sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/' /etc/ssh/sshd_config
systemctl reload sshd.service
#mkdir software dir
mkdir /soft
#cp software to softdir
cp /vagrant/soft/* /soft
#mount iso to mnt dir
mount -o loop /soft/*iso /mnt
#chmod shell script
chmod +x /soft/OracleShellInstall.sh
#install oracle database
cd /soft
./OracleShellInstall.sh -i 192.168.1.120 -opa 31537677 -installmode single -dbv 11g
EOF

这里稍微解释一下哈,脚本中的步骤:

  • a.修改root用户密码
  • b.配置ssh服务允许输入密码连接
  • c.Linux主机中创建soft目录用于存放安装介质
  • d.复制映射目录/vagrant/soft下的安装介质到/soft目录下
  • e.挂载centos7.9的iso镜像文件
  • f.授权Oracle一键安装脚本可执行权限
  • g.进入/soft目录,根据提前配置好的一键安装参数,执行安装Oracle数据库

在这里插入图片描述

❤️ 二、Vagrant 启动一键安装 Oracle ❤️

1、😏 很简单,一行短短的命令

vagrant up --provider=parallels

在这里插入图片描述 经过一段时间等待,已成功安装Oracle数据库。 在这里插入图片描述 数据库已经可以正常连接使用啦~ 在这里插入图片描述 可以看到数据库创建成功 🎉,PSU补丁也已经安装成功 ✌🏻

本文安装Oracle数据库的box 我会打包上传到Vagrant官方站点,便于大家使用:

下载方式:luciferliu/oracle11g

之后应该会出更多版本的数据库 box,包括rac数据库,dataguard,dns服务器,openfiler服务器以及MySQL等等。

写在最后

虽然这种方式不适用于生产环境的安装使用 😒,但是,对于个人测试练习使用,可以说是极其方便了 😄。如果不会使用的朋友,可以直接下载我分享的box,直接 vagrant up 就可以使用啦 🎉~

❤️ 最后,祝大家玩得开心,有问题或者技术交流可以关注我,私聊我~ ❤️

在这里插入图片描述


本次分享到此结束啦~

如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持,你的支持就是我创作最大的动力。