AutoInstallSoftware【ORACLE】

# -*- coding:utf-8 -*-
require 'chef/log'
require 'socket'
hostname = Socket.gethostname
include_recipe "oracle::softcheckenv"

dbver = "#{node['oracle']['S_ora_version']}"
case dbver
##############add by ygzhou(Zhou) 2016-06-03
  when "11.2.0.3.15" then
    Chef::Log.info "*"*100
    Chef::Log.info "*"*10+"第三部分:软件版本安装"

    ruby_block 'clone_install_software' do
      block do
        Chef::Log.info "*"*100
        Chef::Log.info "*" * 20 + "  clone_install_software ! "+"*" * 20+"\n"
        install = `su - oracle -c ' source /tmp/#{node['oracle']['S_ora_version']}/install/oracle_env.sh ;#{node['oracle']['S_ora_home']}/#{node['oracle']['S_ora_version']}/oui/bin/runInstaller -ignoreSysPreReqs -invPtrLoc #{node['oracle']['S_ora_home']}/#{node['oracle']['S_ora_version']}/oraInst.loc -silent -clone ORACLE_BASE="#{node['oracle']['S_ora_base']}" ORACLE_HOME="#{node['oracle']['S_ora_home']}/#{node['oracle']['S_ora_version']}" ORACLE_HOME_NAME="oracle_home_11203015" '`.chomp
        sleep 5;
      end
      action :run
    end
    ruby_block 'execute_root_scripts' do
      block do
        Chef::Log.info "*"*100
        Chef::Log.info "*" * 20 + "  execute root scritps ! "+"*" * 20+"\n"
        roots = `#{node['oracle']['S_ora_home']}/#{node['oracle']['S_ora_version']}/root.sh`.chomp
        sleep 5;
      end
      action :run
    end

###########################################
  when "11.2.0.3.0" then
    Chef::Log.info "*"*100
    Chef::Log.info "*"*10+"第三部分:软件版本安装"

    ruby_block 'clone_install_software' do
      block do
        Chef::Log.info "*"*100
        Chef::Log.info "*" * 20 + "  clone_install_software ! "+"*" * 20+"\n"
        install = `su - oracle -c ' source /tmp/#{node['oracle']['S_ora_version']}/install/oracle_env.sh ;#{node['oracle']['S_ora_home']}/#{node['oracle']['S_ora_version']}/oui/bin/runInstaller -ignoreSysPreReqs -invPtrLoc #{node['oracle']['S_ora_home']}/#{node['oracle']['S_ora_version']}/oraInst.loc -silent -clone ORACLE_BASE="#{node['oracle']['S_ora_base']}" ORACLE_HOME="#{node['oracle']['S_ora_home']}/#{node['oracle']['S_ora_version']}" ORACLE_HOME_NAME="oracle_home_11203002" '`.chomp
        sleep 5;
      end
      action :run
    end
    ruby_block 'execute_root_scripts' do
      block do
        Chef::Log.info "*"*100
        Chef::Log.info "*" * 20 + "  execute root scritps ! "+"*" * 20+"\n"
        roots = `#{node['oracle']['S_ora_home']}/#{node['oracle']['S_ora_version']}/root.sh`.chomp
        sleep 5;
      end
      action :run
    end
  when "11.2.0.2.0" then
    Chef::Log.info "*"*100
    Chef::Log.info "*"*10+"第三部分:软件版本安装"

    ruby_block 'clone_software' do
      block do
        Chef::Log.info "*"*100
        Chef::Log.info "*" * 20 + "  clone_install_software ! "+"*" * 20+"\n"
        install = `su - oracle -c ' source /tmp/#{node['oracle']['S_ora_version']}/install/oracle_env.sh ;#{node['oracle']['S_ora_home']}/#{node['oracle']['S_ora_version']}/oui/bin/runInstaller -ignoreSysPreReqs -invPtrLoc #{node['oracle']['S_ora_home']}/#{node['oracle']['S_ora_version']}/oraInst.loc -silent -clone ORACLE_BASE="#{node['oracle']['S_ora_base']}" ORACLE_HOME="#{node['oracle']['S_ora_home']}/#{node['oracle']['S_ora_version']}" ORACLE_HOME_NAME="oracle_home_11202002" '`.chomp
        sleep 5;
      end
      action :run
    end
    ruby_block 'execute_root_scripts' do
      block do
        Chef::Log.info "*"*100
        Chef::Log.info "*" * 20 + "  execute root scritps ! "+"*" * 20+"\n"
        roots = `#{node['oracle']['S_ora_home']}/#{node['oracle']['S_ora_version']}/root.sh`.chomp
        sleep 5;
      end
      action :run
    end
  when "10.2.0.5.6" then
    Chef::Log.info "*"*100
    Chef::Log.info "*"*10+"第三部分:软件版本安装"
    puts "*"*10+"第三部分:软件版本安装"


    ruby_block 'clone_install_software' do
      block do
        Chef::Log.info "*"*100
        Chef::Log.info "*" * 20 + "  clone_software ! "+"*" * 20+"\n"
        install = `su - oracle -c ' source /tmp/#{node['oracle']['S_ora_version']}/install/oracle_env.sh ;#{node['oracle']['S_ora_home']}/#{node['oracle']['S_ora_version']}/oui/bin/runInstaller -ignoreSysPreReqs -invPtrLoc #{node['oracle']['S_ora_home']}/#{node['oracle']['S_ora_version']}/oraInst.loc -silent -clone ORACLE_BASE="#{node['oracle']['S_ora_base']}" ORACLE_HOME="#{node['oracle']['S_ora_home']}/#{node['oracle']['S_ora_version']}" ORACLE_HOME_NAME="oracle_home_10205002" '`.chomp
        sleep 5;
      end
      action :run
    end
    ruby_block 'execute_root_scripts' do
      block do
        Chef::Log.info "*"*100
        Chef::Log.info "*" * 20 + "  execute root scritps ! "+"*" * 20+"\n"
        roots = `#{node['oracle']['S_ora_home']}/#{node['oracle']['S_ora_version']}/root.sh`.chomp
        sleep 5;
      end
      action :run
    end
    ruby_block 'execute_asm_pin' do
      block do
        Chef::Log.info "*"*100
        Chef::Log.info "*" * 20 + "  execute asm pin ! "+"*" * 20+"\n"
        asmpins = `/dba/app/product/11.2.0/grid/bin/crsctl pin css -n #{hostname}`.chomp
        sleep 5;
      end
      action :run
    end
  when "10.2.0.4.0" then
    Chef::Log.info "*"*100
    Chef::Log.info "*"*10+"第三部分:软件版本安装"

    ruby_block 'clone_install_software' do
      block do
        Chef::Log.info "*"*100
        Chef::Log.info "*" * 20 + "  clone_software ! "+"*" * 20+"\n"
        install = `su - oracle -c ' source /tmp/#{node['oracle']['S_ora_version']}/install/oracle_env.sh ;#{node['oracle']['S_ora_home']}/#{node['oracle']['S_ora_version']}/oui/bin/runInstaller -ignoreSysPreReqs -invPtrLoc #{node['oracle']['S_ora_home']}/#{node['oracle']['S_ora_version']}/oraInst.loc -silent -clone ORACLE_BASE="#{node['oracle']['S_ora_base']}" ORACLE_HOME="#{node['oracle']['S_ora_home']}/#{node['oracle']['S_ora_version']}" ORACLE_HOME_NAME="oracle_home_10204002" '`.chomp
        sleep 5;
      end
      action :run
    end
    ruby_block 'execute_root_scripts' do
      block do
        Chef::Log.info "*"*100
        Chef::Log.info "*" * 20 + "  execute root scritps ! "+"*" * 20+"\n"
        roots = `#{node['oracle']['S_ora_home']}/#{node['oracle']['S_ora_version']}/root.sh`.chomp
        sleep 5;
      end
      action :run
    end
    ruby_block 'execute_asm_pin' do
      block do
        Chef::Log.info "*"*100
        Chef::Log.info "*" * 20 + "  execute asm pin ! "+"*" * 20+"\n"
        asmpins = `/dba/app/product/11.2.0/grid/bin/crsctl pin css -n #{hostname}`.chomp
        sleep 5;
      end
      action :run
    end
  else
    Chef::Log.error "*"*100
    raise  "*" * 20 +" Oracle version is wrong !"+"*" * 20 +"\n" 
end

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24867586/viewspace-2116783/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/24867586/viewspace-2116783/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值