水滴石穿oracle之脚本安装

    上一篇文章带领大家在redhat5.5上一步一步安装了oracle10g,并且详细讲解了每一步操作,图文并茂相信可以帮到一些有需要朋友!

    成功动手搭建过一次的朋友们有没有发现,在redhat上安装Oracle没有什么难得技术,只是操作步骤比较繁琐,总结出来主要步骤大概分为以下8个步骤:

1、安装依赖包

2、网络、主机名配置

3、内核参数修改

4、修改系统版本号(oracle10g只支持到redhat版本4,如果不修改,检测安装环境会报错)

5、修改oracle用户的策略(软硬限制),策略要每次登录生效

6、增加组、oracle用户及设置密码

7、资源配置文件修改(在~/bash_profile文件中设置环境变量)

8、创建oracle安装对应的路径

    以上这8步操作其实没有什么技术含量,我们可以把这8步操作封装成1个脚本,以后我们就不需要再一步一步配置了,只要sh执行你的脚本就可以,脚本还可以复用,这样方便很多。

    下面和大家分享一下我写的oracle安装准备脚本,写得比较基础。朋友们把我的脚本看明白了,可以在我的脚本基础上,定制编写属于你自己的脚本。

#!/bin/sh
cat <<EOF  >  /etc/sysconfig/network    #永久修改主机名,重启机器生效
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=db100
EOF
hostname db100#临时修改主机名,立即生效
cat <<EOF >  /etc/hosts    #修改/etc/hosts   追加本机IP、主机名
127.0.0.1    localhost localhost.localdomain localhost4 localhost4.localdomain4
::1          localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.8.100 db100
EOF
cat <<EOF > /etc/sysconfig/network-scripts/ifcfg-eth0    #修改当前主机IP
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
NETMASK=255.255.255.0
IPADDR=192.168.8.100
TYPE=Ethernet
EOF  
          #关闭一些自己不需要的服务
chkconfig cups off     
chkconfig sendmail off
service cups stop
service sendmail stop
service network restart
cat <<EOF > /etc/resolv.conf   #配置dns解析
nameserver 8.8.8.8
EOF
iptables -F        #关闭iptables软件防火墙
iptables -X
iptables -Z
service iptable save
service iptable restart
setenforce  0     #临时关闭selinux
mount -o loop /dev/cdrom  /mnt  #挂载光盘
rm -rf /etc/yum.repos.d/*    #删除默认Yum配置文件
cat <<EOF > /etc/yum.repos.d/base.repo      #编写新的Yum配置文件
[Base]
name=base
baseurl=file:///mnt/Server
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
EOF
yum -y install  binutils-* \             #yum安装依赖包
compat-db-* \
control-center-* \
gcc-* \
gcc-c++-* \
glibc-* \
libXp-* \
libstdc++-* \
libstdc++-devel-* \
make-* \
openmotif-* \
termcap* \
readline* \
libtermcap-devel* \
readline-devel* \
sysstat* \
wget
cd /tmp 
unzip oracle10g_database_linux32.zip   #解压oracle介质压缩包
rm -rf oracle10g_database_linux32.zip  #删除原压缩包,释放磁盘空间
groupadd oinstall     #增加oinstall组
groupadd dba         #增加dba组
useradd -g oinstall -G dba oracle   #增加oracle用户并声明用户组
echo "oracle123" | passwd --stdin oracle    #非交互形式为oracle用户设置密码为:oracle123
mkdir -p /oracle/app      #创建oracle安装目录
 
chmod 777 /oracle#授权/oracle目录
 
chown -R oracle.oinstall /oracle    #修改/oracle目录的用户及属组
 
chmod 777 /tmp/database    #授权/tmp/database目录
  
chown -R oracle.oinstall /tmp/database   #修改/tmp/database目录的用户及属组
#下面是修改内核参数相关 
echo "kernel.sem = 250 32000 100 128" >>/etc/sysctl.conf
echo "fs.file-max = 65536" >>/etc/sysctl.conf
echo "net.ipv4.ip_local_port_range = 1024 65000" >>/etc/sysctl.conf
echo "net.core.rmem_default = 262144" >>/etc/sysctl.conf
echo "net.core.rmem_max = 262144" >>/etc/sysctl.conf
echo "net.core.wmem_default = 262144" >>/etc/sysctl.conf
echo "net.core.wmem_max = 262144" >>/etc/sysctl.conf
/sbin/sysctl -p
#下面是修改操作系统版本
echo "" >/etc/redhat-release
echo "Red Hat Enterprise Linux Server release 3 (Tikanga)" > /etc/redhat-release
#下面是修改oracle用户的软硬限制
echo "oracle          soft    nproc           2047" >>/etc/security/limits.conf 
echo "oracle          hard    nproc           16384" >>/etc/security/limits.conf 
echo "oracle          soft    nofile          1024" >>/etc/security/limits.conf 
echo "oracle          hard    nofile          65536" >>/etc/security/limits.conf 
echo "session    required     /lib/security/pam_limits.so" >>/etc/pam.d/login
#下面是资源配置文件修改,设置环境变量
echo "stty erase ^H" >>/home/oracle/.bash_profile 
echo "ORACLE_BASE=/oracle/app" >>/home/oracle/.bash_profile 
echo "ORACLE_HOME=\$ORACLE_BASE/oracle/product/10.2.0/db_1" >>/home/oracle/.bash_profile 
echo "ORACLE_SID=ecom" >>/home/oracle/.bash_profile 
echo "PATH=\$PATH:\$HOME/bin:\$ORACLE_HOME/bin" >>/home/oracle/.bash_profile 
echo "LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/usr/lib" >>/home/oracle/.bash_profile 
echo "NLS_LANG=AMERICAN_AMERICA.ZHS16GBK" >>/home/oracle/.bash_profile 
echo "export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH LD_LIBRARY_PATH NLS_LANG" >>/home/oracle/.bash_profile

    至此,oracle安装前期准备脚本编写完成了,下面让我们来测试一下劳动成果吧!

    1、将本地光般连接到虚拟机中

wKioL1XgTRviYA2eAAIMlv-gDHI388.jpg


wKiom1XgSy-Q9qOkAAM23HK4ejE334.jpg

    2、编写脚本init.sh(写入我们的脚本,内容太多,我只截取了最后一部分)

wKiom1YD_tSBsFCMAAZGG3EOROs780.jpg

    3、授权脚本init.sh(给予可执行权限)

wKiom1YD_zTy9fqqAACGKT6XImc385.jpg

    4、抓取当前会话日志(脚本执行过程中会刷屏,我们可以用SCRT工具抓取)

wKioL1YD_96yvIWkAAHhv8XxrHI159.jpg


wKiom1YEAE3jlFtEAAJJfyH2OLE671.jpg

    5、手工执行脚本(脚本内容过多,只取了开始部分)

wKiom1YEAeHg1ANBAAYT66Y9C4s389.jpg

    6、使用Oracle用户安装oracle库(图形界面)

wKioL1XgT6-jl30VAABwUMl0s8A641.jpg

    7、安装详细步骤

    高级安装

wKiom1XgTbWxOoqHAAMTlmMHHy8522.jpg


wKiom1XgTc_x3Bw_AALY5IWCgnM258.jpg

    安装企业版

wKioL1XgUATy7e00AAK79W6lkbU667.jpg

   

wKioL1XgUBaCPkGPAAJJrqHtNOQ414.jpg

    检查依赖条件

wKiom1XgThqwczpNAALo-WMzLNM370.jpg

    仅安装软件

wKioL1XgUFTxwJMGAAJ7LB1NbCk358.jpg

     

wKiom1XgTkiRCxOaAAITpOXz6rY404.jpg


wKioL1XgUHTDtcn5AAJ87CLguJA832.jpg

  

wKiom1XgTmryn68uAAHVwK3ljAY462.jpg

    在上面图片出来之后 切换到root下执行以下脚本   


wKiom1XgTn6C44XmAAFGQzESsZc287.jpg

    安装结束

wKioL1XgULmzdg98AAGzgRRI6vU648.jpg

    8、创建数据库详细步骤     

    在命令行下直接运行

wKiom1XgTr3ymirtAACIoUOJYxk151.jpg


wKiom1XgTtCS7Yx2AADlFslDxXM999.jpg

    选择创建数据库(如果是第一次创建数据库,只能创建数据库和管理模板可以使用)        

wKiom1XgT2Ph-VvRAAErulnl9UQ835.jpg

    类型:一般用途

wKioL1XgUZrwzKxZAAE2y9gLwrs159.jpg

    填写全局数据库名及SID

wKiom1XgT56AG10gAAFCqGEfbi4726.jpg  

    不用配置OEM管理工具(我们后面会有手工配置)

wKiom1XgT-6QaYITAAF4UJIDLlk944.jpg

    设置数据库用户帐号的口令(所有用户设置同一个密码)

wKiom1XgUA7zCNraAAFGRuQwNsk425.jpg         

    设置数据库的存储(默认文件系统)    

wKioL1XgUjzz9dCBAAGiGM4cCO8519.jpg    

    设置数据库文件的存放位置(默认选项)

wKiom1XgUD3T-Tb-AAFnTLXimF8022.jpg

    设置数据库的恢复选项(我们后面会有手工配置)   

wKiom1XgUGDBwD3VAAFpBoN2hhU322.jpg

    /*快速恢复区用于恢复数据,以免系统发生故障时丢失数据;

     启用归档用于将数据库设置为ARCHIVELOG模式,

     使得当数据库出现失败时可以完全恢复数据库数据*/

    指定是否安装示例方案,并运行自定义脚本(不用安装) 

wKioL1XgUqLTE7ZrAAFEtt3R34E401.jpg  

    初始化参数配置(初始化参数、数据库字符集和连接模式)    

wKioL1XgUsWiySmuAAHEkVq0Yrk932.jpg

    数据库存储(用指定控制文件、数据文件、重做日志文件、名称和尺寸)   

wKiom1XgUMjxOojkAAGfb61sPvk388.jpg

    创建选项(指定建立数据库,还是保存为数据库模板)   

wKioL1XgUvmyK3XyAAFW7T5OT5s218.jpg

    开始数据库的建立

wKioL1XgUxjzE7gqAAGe0ltfoZY654.jpg

 

wKiom1XgURDSx1IPAAGRPezM1cg694.jpg

    数据库建立完成后,就会出现如下对话框

wKiom1XgUTWzkg75AAHrmzpCz_M059.jpg

    系统会锁定除SYS、SYSTEM、DBSNMP、SYSMAN之外的所有其他用户,咱们解锁SCOTT用户     

wKioL1XgU2mA2cfaAAHb-69Li10203.jpg

    单击“确定”按钮,最后单击“退出”按钮完成数据库建立的全部过程

    9、登录到oracle数据库环境下,查看当前库状态

wKiom1XgUYaji1KUAAH80BFFYy0847.jpg

    从上图的查询结果,我们可以看出来,当前数据库是可读可写状态。 


    结束语:

        到此本篇文章就结束了,有一段时间没有写博文了,感谢一直关注我的新老朋友,有你们的支持我会一起写下去!