Oracle在Linux环境下的自动化部署项目实战

oracle在Linux环境下的自动部署

思维导图如下:
Oracle在Linux环境下的自动化部署项目实战_第1张图片

一、安装说明

本文档将完成 Linux 下面的 Oracle 数据库的安装。通过本次安装将发现 Linux 系统发生如下变化:

  • 安装了可以使用的 Oracle 数据库;
  • 配置了可以使用的组和用户;
  • 配置了相关权限的环境变量;
二、安装前的准备

示例是基于虚拟机下的 Linux 系统的安装工作,使用的本地操作系统是[Windows 10],使用的虚拟机是[VMware-workstation-12.exe]使用的 Linux 企业版是红帽和Ubantu,使用的 Oracle 版本是[Oracle 10g]。安装前请确认如下事宜:

  • 当前 Linxu 安装了[开发工具]工具包;
  • 当前 Linux 系统已经配置好了网络设置;
  • 已经准备好了 Oracle 安装文件;
  • 有足够的硬盘空间用于安装; 有足够的物理
  • 和分配内存便于安装;

下面提供的是一组需要的资源参考:

  • 至少 1024 MB 物理内存
  • 1024-2048 需 1.5 倍的交互空间
  • 2048-8192 需 1 倍的交互空间
  • 8192- 需 0.75 倍的交互空间
  • 至少 400 MB /tmp 临时目录空间
  • oracle 软件需要 1.5 GB 到3.5 GB 磁盘空间
  • 默认数据库需要 1.2 GB
三、进行安装前的配置

1、确定当前登录的是超级管理员 root 用户,如下内容都是在 root 下面进行的操作。
依 次执行命令:
[groupadd dba]----------------------------------------新建管理组
[groupadd oinstall]------------------------------------新建安装组
[useradd -m tester -g oinstall -G dba]----------新建用户,用户录属于 dba 和 oinstall [passwd tester]------------------------------------------修改用户密码
具体操作如下图所示: Oracle在Linux环境下的自动化部署项目实战_第2张图片
2、继续利用 root 用户建立安装目录并分配权限。分别执行如下命令
[mkdir -p /oracle/product/10.2.0/db_1]-----------------------------------新建 oracle 安装目录 [chown -R tester.oinstall /oracle]---------修改 oracle 安装目录属主和属组
[chmod 755 -R /oracle]--------------------修改 oracle 安装目录操作权限
如下图所示:
Oracle在Linux环境下的自动化部署项目实战_第3张图片
3、注销当前 root 用户(建议注销,不用 su 命令置换),再用刚才新建的 tester 用户登录系统。进入当前用户的根目录执行命令[vi ./.bash_profile],打开用户环境变量列表,插入如下内容:

ORACLE_BASE=/oracle 
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1 
ORACLE_SID=orcl 
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin 
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export ORACLE_BASE  
export ORACLE_HOME  
export ORACLE_SID  
export PATH  
export LD_LIBRARY_PATH   

Oracle在Linux环境下的自动化部署项目实战_第4张图片
4、进入文件后,单击[i],开始修改,修改完成后保存退出(ESC—冒号—wq),执行命 令[source ./.bash_profile],使修改生效,此时你可以利用命令[echo $ORACLE_BASE]或 [echo $PATH]命令查看刚才的设置内容,如下图所示:
Oracle在Linux环境下的自动化部署项目实战_第5张图片

5、shell自动化部署脚本代码:
#!/bin/bash
#创建环境变量配置函数
editenv(){
  #进入tester的根目录下
  cd /home/tester
  #向文件中插入内容
  sed -i "10aORACLE_BASE=/oracle" .profile
  sed -i `11aORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1` .profile
  sed -i "12aORACLE_SID=orcl" .profile
  sed -i `13aPATH=$PATH:$HOME/bin:$ORACLE_HOME/bin` .profile
  sed -i `14aLD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib` .profile
  sed -i "15aexport ORACLE_BASE" .profile
  sed -i "16aexport ORACLE_HOME" .profile
  sed -i "17aexport ORACLE_SID" .profile
  sed -i "18aexport PATH" .profile
  sed -i "19aexport LD_LIBRARY_PATH" .profile
  #更新文件内容
  source ./.profile
  #判断
  if [ "$ORACLE_BASE" == "/oracle" ]
  then
    echo "环境变量配置成功"
  else
  echo "环境变量配置失败"
  fi
}
#创建目录的函数
createdir(){
  #创建目录
  mydir="/oracle/product/10.2.0/db_1"
  mkdir -p $mydir
  #判断
  if [ -d "$mydir" ]
  then
    echo "目录创建成功"
    #修改属主和属组
    chown -R tester.oinstall /oracle
    #修改操作权限
    chmod 755 -R /oracle
    #调用环境变量配置函数editenv
    editenv
  else
    echo "目录创建失败"
  fi
}
#创建用户的函数
createuser(){
   #创建用户
   useradd -m tester -g oinstall -G dba
   #用户创建成功后添加到/etc/passwd文件中
   finduser=`grep "tester" /etc/passwd|cut -d ":" -f 1`
   if [ "$finduser" == "tester" ]
   then
      echo "用户创建成功"
      #修改密码
      passwd tester
      echo "密码修改成功"
      #调用创建目录函数
      createdir
   else
      echo "用户创建失败"
   fi
 }
#创建管理组的函数
creategrp(){
   #创建管理组
   groupadd dba
   #在group文件中查找含义dba字符串,并截取其中的dba字符
   finddba=`grep "dba" /etc/group|cut -d ":" -f 1`
   #判断
   if [ "$finddba" == "dba" ]
   then
      echo "管理组创建成功"
      #创建安装组
      groupadd oinstall
      #查找组并定义变量
      findoin=`grep "oinstall" /etc/group|cut -d ":" -f 1`
      #判断
      if [ "$findoin" == "oinstall" ]
      then
         echo "安装组创建成功"
         #调用createuser函数
         createuser
      else
          echo "创建失败"
      fi
   else
       echo "创建失败"
      fi
}
#判断当前用户是否为root --->$USER
if [ "$USER" == "root" ]
then
   echo "当前用户是root"
   #调用创建组函数
   creategrp
else
   echo "当前用户不是root"
fi
四、安装 Oracle

1、 注销系统,用 tester 用户登录系统(注意如果上一步没有注销,这一步一定要注销, 要是你当前桌面显示[tester 的主目录]),找到 Oracle 安装文件,比如我的是放在/tmp 下的 rar文件,所以首先解压缩。
2、 解压缩完成,会生成一个 database 的文件夹,进入 database 目录下会看到一个可执 行文件 setup.exe,执行命令[./setup.exe],安装开始。
3、 shell自动化部署脚本如下:

#!/bin/bash
#定义函数
install(){
  #进入tmp目录下
  cd /tmp
  my_file="oracle10g.rar"
  if [ -f "$my_file" ]
  then
     echo "文件存在"
  else
     echo "文件不存在"
     echo "文件正在拷贝中...."
     cp /mnt/hgfs/唧唧下载视频/$my_file /tmp
     echo "文件拷贝成功"
  fi
  #解压
  echo "文件正在解压中"
  #unrar x $my_file
  echo "文件解压成功"
  #判断解压文件是否存在
  if [ -d "database" ]
  then
     echo "文件夹已经存在"
     #进入文件夹
     cd database
     #执行安装文件
     ./setup.exe
  else
     echo "文件夹不存在"
  fi
}
if [ "$USER" == "tester" ]
then
  echo "当前用户是tester"
  #调用install函数
  install
else
  echo "当前用户不是tester"
fi

4、 安装正式开始以后会弹出如下提示界面,有[基本安装]和[高级安装]两项,[高级安 装]中可以选择[企业版]、[标准版]和[自定义]。默认的是[基本安装],也就是[企业版],设置 都是上面用 root 账户创建的内容,可以默认不动,但是下面的数据库口令一定要设定好并 且记牢,它是关键所在,这里我们不是用[高级安装],[下一步]继续
Oracle在Linux环境下的自动化部署项目实战_第6张图片
5、 设定完密码,单击[下一步]继续,这个地方的内容也是默认的,不用修改,[下一步] 继续
Oracle在Linux环境下的自动化部署项目实战_第7张图片
6、 当[检查]栏出现蓝色突出显示的提示时,选中当前的复选框即可,[下一步]继续
Oracle在Linux环境下的自动化部署项目实战_第8张图片
7、 检查通过以后进入正式安装界面,单击[安装]
Oracle在Linux环境下的自动化部署项目实战_第9张图片
Oracle在Linux环境下的自动化部署项目实战_第10张图片
8、 安装过程中如果出现如下图提示,单击[忽略]继续:
Oracle在Linux环境下的自动化部署项目实战_第11张图片
9、 然后会出现如下图继续安装界面:
Oracle在Linux环境下的自动化部署项目实战_第12张图片
10、 数据库文件安装好以后,进行配置组件时会出现下图提示界面,作用是进行口令的 修改和管理
Oracle在Linux环境下的自动化部署项目实战_第13张图片
11、 单击 [口令管理],出现下图界面,可以根据需要作适当修改,这里我们默认安装
Oracle在Linux环境下的自动化部署项目实战_第14张图片
12、 单击[确定]后继续安装,然后会弹出下图所示界面,按提示进行操作
Oracle在Linux环境下的自动化部署项目实战_第15张图片
13、 下面是我切换到 root 后执行脚本的界面,其中出现一个选择路径的地方默认即可
Oracle在Linux环境下的自动化部署项目实战_第16张图片
14、 执行完脚本后,单击[确定]出现如下提示,安装完成,[退出]
Oracle在Linux环境下的自动化部署项目实战_第17张图片
15、 首先查看一下欢迎界面,输入如下图地址,如果正确显示则表示安装成功
Oracle在Linux环境下的自动化部署项目实战_第18张图片
16、 这个是进入数据库操作界面
Oracle在Linux环境下的自动化部署项目实战_第19张图片
17、 这个是数据库管理界面
Oracle在Linux环境下的自动化部署项目实战_第20张图片
18、 下面这几个是 10g 企业管理界面
Oracle在Linux环境下的自动化部署项目实战_第21张图片
Oracle在Linux环境下的自动化部署项目实战_第22张图片
Oracle在Linux环境下的自动化部署项目实战_第23张图片
19、 如果你的机器都能正常显示如上几个界面的话。恭喜你 Oracle 安装成功,但是使用前注意要启动服务

五、设置服务启动

虽然你现在可以启用所有服务,但是当你重起系统以后,你会发现,所有的服务都不能 正常使用了,原因是你没有设定系统启动项,甚至没有开启服务,下面我们就来完成这些工 作。
1、 用 root 用户修改文件[/etc/oratab],如下图所示修改其中的 N 为 Y,保存退出
Oracle在Linux环境下的自动化部署项目实战_第24张图片
2、 用 tester 用户修改[$ORACLE_HOME/bin]下面的 dbstart 文件,如下图所示
Oracle在Linux环境下的自动化部署项目实战_第25张图片
3、 修改好上面两个文件后,我们利用命令[dbstart]启动 oracle 服务,下图是在不同位置 下的三种启动方式,注意如果直接执行命令[dbstart]启动一定要进入 oracle 家目录的 bin 下
Oracle在Linux环境下的自动化部署项目实战_第26张图片
4 、 利用命令[emctl start dbconsole] 启动oracle 的 em 服务,对应于 http://localhost:1158/em,利用命令[isqlplusctl start dbconsole]启动isqlplus服务,对应于 http://localhost:5560/isqlplus和http://localhost:5560/isqlplus/dba
Oracle在Linux环境下的自动化部署项目实战_第27张图片
5、 如果你能再次看见下图这个熟悉的管理登录界面,恭喜你服务启动成功:
Oracle在Linux环境下的自动化部署项目实战_第28张图片
Oracle在Linux环境下的自动化部署项目实战_第29张图片

你可能感兴趣的:(#,测试环境自动化部署项目实战,项目测试实战)