水滴石穿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、将本地光般连接到虚拟机中
2、编写脚本init.sh(写入我们的脚本,内容太多,我只截取了最后一部分)
3、授权脚本init.sh(给予可执行权限)
4、抓取当前会话日志(脚本执行过程中会刷屏,我们可以用SCRT工具抓取)
5、手工执行脚本(脚本内容过多,只截取了开始部分)
6、使用Oracle用户安装oracle库(图形界面)
7、安装详细步骤
高级安装
安装企业版
检查依赖条件
仅安装软件
在上面图片出来之后 切换到root下执行以下脚本
安装结束
8、创建数据库详细步骤
在命令行下直接运行
选择创建数据库(如果是第一次创建数据库,只能创建数据库和管理模板可以使用)
类型:一般用途
填写全局数据库名及SID
不用配置OEM管理工具(我们后面会有手工配置)
设置数据库用户帐号的口令(所有用户设置同一个密码)
设置数据库的存储(默认文件系统)
设置数据库文件的存放位置(默认选项)
设置数据库的恢复选项(我们后面会有手工配置)
/*快速恢复区用于恢复数据,以免系统发生故障时丢失数据;
启用归档用于将数据库设置为ARCHIVELOG模式,
使得当数据库出现失败时可以完全恢复数据库数据*/
指定是否安装示例方案,并运行自定义脚本(不用安装)
初始化参数配置(初始化参数、数据库字符集和连接模式)
数据库存储(用指定控制文件、数据文件、重做日志文件、名称和尺寸)
创建选项(指定建立数据库,还是保存为数据库模板)
开始数据库的建立
数据库建立完成后,就会出现如下对话框
系统会锁定除SYS、SYSTEM、DBSNMP、SYSMAN之外的所有其他用户,咱们解锁SCOTT用户
单击“确定”按钮,最后单击“退出”按钮完成数据库建立的全部过程
9、登录到oracle数据库环境下,查看当前库状态
从上图的查询结果,我们可以看出来,当前数据库是可读可写状态。
结束语:
到此本篇文章就结束了,有一段时间没有写博文了,感谢一直关注我的新老朋友,有你们的支持我会一起写下去!
本文出自 “走不完的路,看不完的书!” 博客,请务必保留此出处http://51power.blog.51cto.com/3549599/1697976
原文地址:http://51power.blog.51cto.com/3549599/1697976