云计算时代提供了更方便可靠的IAAS,PAAS和SAAS平台。将已有或正在研发的项目迁移到云计算平台,和传统的服务器部署还是存在一些异同点。
本文手把手教你在阿里云平台快速的部署Oracle11g
环境准备:
-
购买阿里云ECS服务器(必须)
计费方式:可选包年包月,按量付费(用一小时算一小时价格),建议业务量较多的的,数据库要一直在线的,选包年包月。 地域选择:和你的应用服务器,最好是在同一个可用区(访问速度最快),也可以同一地域,不同可用区,用于多机房部署的情况。 CPU内存: 根据实际需要选择,但是一定要选择2682V4 和 8163这个型号的,性能最好。
系统镜像:不用多说,首选CentOS 7.4 64位
存储的话:如果SSD云盘和高效云盘价格差的不多的话, 选SSD云盘,否则选高效云盘也可以。能便宜一点点,我们的Oracle会单独使用SSD云盘来存储。
网络的话,选择你自己建的虚拟网络和虚拟交换机。 不清楚的话就按系统提示的默认配置即可。交换机会分给你对应的网段和IP。以便各个主机互通互联
公网IP: 设置为不分配, 我们可以随后通过动态EIP来选一个自己的公网IP
然后下一步设置完密码即可,这样你的ECS云主机就建好了。
接下来我们申请一个弹性公网IP来访问服务器,申请完IP后,点后面的绑定, 绑定到刚才申请的ECS上面,这样该IP就不用收费啦。
接下来我们来申请数据盘 ,打开数据-云盘页面, 申请一个和你ECS主机一个可用区的云盘。 记得一定要选SSD云盘。申请完之后,点后面的挂载到刚申请的ECS主机里面
云盘大小,根据自己的业务量来定,尽量创建多个SSD云盘来给Oracle使用,而不是选一个很大容量的单个SSD盘。
原因:单个大容量云SSD盘,读写速度为250M/s , 如果选多个,就可以进行速度叠加了, 性能更好。 尤其对于分区表存储,性能效果非常明显
通过ssh登陆到ECS服务器上面,执行基本操作。
分区数据盘。 使用 fdisk /dev/vdb (/vdc /vdd)依次格式化自己挂载的新数据盘。一般格式化为1个分区即可,不要去弄多个分区。
格式化数据盘。使用 mkfs.ext4 /dev/vdb1 (vdc1 vdd1) 依次格式化为ext4格式。
挂载数据盘
mkdir /vsdata 新建目录
mount /dev/sdb1 /vsdata 挂载目录
echo "/dev/sdb1 /vsdata ext4 defaults 1 2" >> /etc/fstab 开机自动挂载
新建SWAP分区。 阿里云的ECS默认是不启用swap分区的,但是安装Oracle又必须要这个分区。那我们就来创建一个。
dd if=/dev/zero of=/mnt/swap bs=1M count=1024 大小是 bs*count的值 , 当前我们创建1G的swap空间。其实这部分空间也基本用不到,
格式化swap分区 mkswap /mnt/swap
启用swap分区 swapon /mnt/swap
开机自动启动 echo "/mnt/swap swap swap defaults 0 0" >> /etc/fstab
阿里云ECS的策略是对swap的使用率是0%,可以根据实际情况来调整使用频率参数。如果内存够大的话,建议还是不要使用swap
vim /etc/sysctl.conf
vm.swappiness=10
sysctl -p
添加Oracle的主机名到Hosts,确保ping主机名可以正常访问
echo "192.168.0.191 oracle" >> /etc/hosts
到此为止,我们的主机环境已经全部配置完成。
Oracle一键安装:
通过ssh登陆到ECS服务器上面,执行一键安装脚本
curl https://code.aliyun.com/xilo/repo/raw/master/shell/oracle/11.2.0.4/oracle_config.sh | sh
该脚本为本人编写,可直接查看内容并 一键执行安装。
默认安装为 /opt/oracle ,也可以单独执行路径参数 ,如 oracle_config.sh /home/oracle 这样就安装到你指定的目录下了
脚本内容主要为 1. 安装支持包 2.添加oracle用户及组 (root切换oracle不需要密码,所以未设置密码) 3. 修改内核及网络参数 4.添加oracle环境变量
下载 Oracle静默安装模板
wget https://code.aliyun.com/xilo/repo/raw/master/shell/oracle/11.2.0.4/db_install.rsp
下载后,如果需要,可以修改对应的参数配置
ORACLE_HOSTNAME=oracle #对应之前设置的hosts主机名
安装路径为 /opt/oracle 如果自己修改了自定义路径,可以批量替换里面的 /opt/oracle 为你实际的路径。 默认可以不用理会
oracle.install.db.config.starterdb.SID=orcl # SID为默认的orcl 也可以根据你的喜好自行修改
oracle.install.db.config.starterdb.memoryLimit=512 # Oracle可用的系统内存, 一般设置为总内存的 80%。
oracle.install.db.config.starterdb.password.ALL # DBA的密码,8位长度+大小写
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=/vsdata/oracle/oradata #数据目录 ,修改为刚才ECS新增的SSD云盘
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=/vsdata/oracle/fast_recovery_area #闪回目录 ,修改为刚才ECS新增的SSD云盘
上传Oracle11.2.0.4的安装包到ECS服务器 p13390677_112040_Linux-x86-64_1of7.zip p13390677_112040_Linux-x86-64_2of7.zip
安装解压缩软件 yum install -y unzip
解压缩 unzip p13390677_112040_Linux-x86-64_1of7.zip unzip p13390677_112040_Linux-x86-64_2of7.zip
记得给挂载进来的数据目录授权。 chown -R oracle:oinstall /vsdata
然后进入解压缩出来的 database目录,切换到Oracle用户执行。 su oracle
./runInstaller -silent -ignoreSysPrereqs -showProgress -responseFile /opt/db_install.rsp 开始命令行安装
安装完后,切换到root 执行配置脚本即可
- /opt/app/oracle/oraInventory/orainstRoot.sh
- /opt/app/oracle/product/11.2.0.1/db_1/root.sh
配置Oracle自动启动,这部分也可以放到一键脚本里面,因为每个人的要求不一样,所以单独提出来,根据需要配置。
- vi /etc/oratab 将 oracle的:N 改为 :Y
- vi /etc/rc.d/rc.local 增加
su oracle -lc "/opt/oracle/app/oracle/product/11.2.0/dbhome_1/bin/lsnrctl start"
su oracle -lc "/opt/oracle/app/oracle/product/11.2.0/dbhome_1/bin/dbstart"
- 授予可执行权限 chmod +x /etc/rc.d/rc.local
到此为止,我们的Oracle快速安装全部完成。
整体来看,在有ECS服务器的前提下,只用配置下Oracle的密码参数即可快速安装。当然一键安装脚本也支持实体机和自己的开发服务器安装。
cnbg的vesaa博客也是本人博客,同时发表在云栖社区,不分先后。