shell 脚本静默安装oracle11g
以下脚本的手动安装连接: https://www.cnblogs.com/leihongnu/p/12698593.html
【
#/bin/bash
#安装日志
touch /root/message.txt
message=/root/message.txt
#安装依赖
yum -y install binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel
#检查依赖安装是否完成
if [ `rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel | grep "not installed" | wc -l` -ge 1 ]
then
echo "依赖未全部安装,请检查" >> $message
exit 0
fi
#关闭selinux
sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
setenforce 0
#创建用户、密码和组
groupadd oinstall
groupadd dba
groupadd oper
useradd -g oinstall -G dba oracle
echo "Aa123456" | passwd --stdin oracle &> /dev/null
#配置内核参数和资源限制,修改 /etc/sysctl.conf 文件,添加以下内容
echo "##oracle" >> /etc/sysctl.conf
echo "fs.aio-max-nr = 1048576" >> /etc/sysctl.conf
echo "fs.file-max = 6815744" >> /etc/sysctl.conf
echo "kernel.shmall = 2097152" >> /etc/sysctl.conf
echo "kernel.shmmax = 536870912" >> /etc/sysctl.conf
echo "kernel.shmmni = 4096" >> /etc/sysctl.conf
echo "kernel.sem = 250 32000 100 128" >> /etc/sysctl.conf
echo "net.ipv4.ip_local_port_range = 9000 65500" >> /etc/sysctl.conf
echo "net.core.rmem_default = 262144" >> /etc/sysctl.conf
echo "net.core.rmem_max = 4194304" >> /etc/sysctl.conf
echo "net.core.wmem_default = 262144" >> /etc/sysctl.conf
echo "net.core.wmem_max = 1048576" >> /etc/sysctl.conf
sysctl -p
#在 /etc/security/limits.conf 文件,添加以下内容
echo "##oracle" >> /etc/security/limits.conf
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
#在 /etc/pam.d/login 文件,添加以下内容
echo "##oracle" >> /etc/pam.d/login
echo "session required /lib64/security/pam_limits.so" >> /etc/pam.d/login
echo "session required pam_limits.so" >> /etc/pam.d/login
#在 /etc/profile 文件,添加以下内容
echo "##oracle" >> /etc/profile
echo "if [ $USER = "oracle" ]; then" >> /etc/profile
echo "if [ $SHELL = "/bin/ksh" ]; then" >> /etc/profile
echo "ulimit -p 16384" >> /etc/profile
echo "ulimit -n 65536" >> /etc/profile
echo "else" >> /etc/profile
echo "ulimit -u 16384 -n 65536" >> /etc/profile
echo "fi" >> /etc/profile
echo "fi" >> /etc/profile
source /etc/profile
#禁用使用Transparent HugePages,在 /etc/grub.conf 文件,添加以下内容
echo never > /sys/kernel/mm/transparent_hugepage/enabled
#创建oracle安装目录
mkdir -p /data/app/
chown -R oracle:oinstall /data/app/
chmod -R 775 /data/app/
#配置 oracle 用户的环境变量,在 /home/oracle/.bash_profile 文件中,添加以下内容
echo "##oracle" >> /home/oracle/.bash_profile
echo "umask 022" >> /home/oracle/.bash_profile
echo "export ORACLE_HOSTNAME=$HOSTNAME" >> /home/oracle/.bash_profile
echo "export ORACLE_BASE=/data/app/oracle" >> /home/oracle/.bash_profile
echo "export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/" >> /home/oracle/.bash_profile
echo "export ORACLE_SID=orcl" >> /home/oracle/.bash_profile
echo "export PATH=.:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$ORACLE_HOME/jdk/bin:$PATH" >> /home/oracle/.bash_profile
echo "export LC_ALL="en_US"" >> /home/oracle/.bash_profile
echo "export LANG="en_US"" >> /home/oracle/.bash_profile
echo "export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"" >> /home/oracle/.bash_profile
echo "export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"" >> /home/oracle/.bash_profile
source /home/oracle/.bash_profile
#解压下载好的两个文件
cd /root
unzip -q linux.x64_11gR2_database_1of2.zip -d /data
unzip -q linux.x64_11gR2_database_2of2.zip -d /data
mkdir -p /data/etc
cp /data/database/response/* /data/etc/
#在 /data/etc/db_install.rsp 文件中,添加以下内容
echo "##oracle" >> /data/etc/db_install.rsp
sed -i "s/^.*oracle.install.option.*$/oracle.install.option=INSTALL_DB_SWONLY/" /data/etc/db_install.rsp
sed -i "s/^.*DECLINE_SECURITY_UPDATES.*$/DECLINE_SECURITY_UPDATES=true/" /data/etc/db_install.rsp
sed -i "s/^.*UNIX_GROUP_NAME.*$/UNIX_GROUP_NAME=oinstall/" /data/etc/db_install.rsp
sed -i "s/^.*INVENTORY_LOCATION.*$/INVENTORY_LOCATION=\/data\/app\/oracle\/inventory/" /data/etc/db_install.rsp
sed -i "s/^.*SELECTED_LANGUAGES.*$/SELECTED_LANGUAGES=en,zh_CN/" /data/etc/db_install.rsp
sed -i "s/^.*ORACLE_HOSTNAME.*$/ORACLE_HOSTNAME=$HOSTNAME/" /data/etc/db_install.rsp
sed -i "s/^.*ORACLE_HOME.*$/ORACLE_HOME=\/data\/app\/oracle\/product\/11.2.0/" /data/etc/db_install.rsp
sed -i "s/^.*ORACLE_BASE.*$/ORACLE_BASE=\/data\/app\/oracle/" /data/etc/db_install.rsp
sed -i "s/^.*oracle.install.db.InstallEdition.*$/oracle.install.db.InstallEdition=EE/" /data/etc/db_install.rsp
sed -i "s/^.*oracle.install.db.isCustomInstall.*$/oracle.install.db.isCustomInstall=true/" /data/etc/db_install.rsp
sed -i "s/^.*oracle.install.db.DBA_GROUP.*$/oracle.install.db.DBA_GROUP=dba/" /data/etc/db_install.rsp
sed -i "s/^.*oracle.install.db.OPER_GROUP.*$/oracle.install.db.OPER_GROUP=dba/" /data/etc/db_install.rsp
#将 /data/* 文件更改所有者所属组
chown -R oracle:oinstall /data/*
#切换用户为 oracle(一般的,有关 oracle 数据库的操作,要使用oracle 为当前用户)
su - oracle
#安装
cd /data/database
./runInstaller -silent -responseFile /data/etc/db_install.rsp -ignorePrereq
#根据上图的提示,需要在 root 账号下执行两个脚本
su - root
/data/app/oracle/inventory/orainstRoot.sh sh
/data/app/oracle/product/11.2.0/root.sh
#配置监听
su - oracle
netca /silent /responsefile /data/etc/netca.rsp
#静默创建数据库,在 /data/etc/dbca.rsp 文件中,添加以下内容
echo "##oracle" >> /data/etc/dbca.rsp
sed -i "s/^.*RESPONSEFILE_VERSION.*$/RESPONSEFILE_VERSION = "11.2.0"/" /data/etc/dbca.rsp
sed -i "s/^.*OPERATION_TYPE.*$/OPERATION_TYPE = "createDatabase"/" /data/etc/dbca.rsp
sed -i "s/^.*GDBNAME.*$/GDBNAME = "orcl"/" /data/etc/dbca.rsp
sed -i "s/^.*SID.*$/SID = "orcl"/" /data/etc/dbca.rsp
sed -i "s/^.*SYSPASSWORD.*$/SYSPASSWORD = "oracle"/" /data/etc/dbca.rsp
sed -i "s/^.*SYSTEMPASSWORD.*$/SYSTEMPASSWORD = "oracle"/" /data/etc/dbca.rsp
sed -i "s/^.*SYSMANPASSWORD.*$/SYSMANPASSWORD = "oracle"/" /data/etc/dbca.rsp
sed -i "s/^.*DBSNMPPASSWORD.*$/DBSNMPPASSWORD = "oracle"/" /data/etc/dbca.rsp
sed -i "s/^.*DATAFILEDESTINATION.*$/DATAFILEDESTINATION =\/data\/app\/oracle\/oradata/" /data/etc/dbca.rsp
sed -i "s/^.*RECOVERYAREADESTINATION.*$/RECOVERYAREADESTINATION=\/data\/app\/oracle\/fast_recovery_area/" /data/etc/dbca.rsp
sed -i "s/^.*CHARACTERSET.*$/CHARACTERSET = "AL32UTF8"/" /data/etc/dbca.rsp
sed -i "s/^.*TOTALMEMORY.*$/TOTALMEMORY = "1638"/" /data/etc/dbca.rsp
#执行配置好的静默数据库(需要在oracle用户下执行)
su - oracle
dbca -silent -responseFile /data/etc/dbca.rsp
#执行完成后,查看 oracle 进程
if [ `ps -ef | grep ora_ | grep -v grep | wc -l` -gt 20 ]
then
echo "oracle 进程启动!" >> $message
fi
】
笔记本太low了,测试中发热至自动关机!!!麻烦成功的同学吱一声,不成功的话也吱一声,谢谢。
shell 脚本静默安装oracle11g的更多相关文章
- Linux CentOS 6.5 64位 静默安装Oracle11g 云主机
本例: 通过SSH远程连接云主机,上传oracle11g安装包,在centos6.5上无图形化界面静默安装oracle11g. 涉及工具及环境: 1.本地环境windows7+ssh远程连接工具xSh ...
- Centos 6.4上面用Shell脚本一键安装vsftpd
Centos 6.4上面用Shell脚本一键安装vsftpd install.sh #!/bin/bash if [ `uname -m` == "x86_64" ];then m ...
- Centos 6.4上面用Shell脚本一键安装mysql 5.6.15
Centos 6.4上面用Shell脚本一键安装mysql 5.6.15 #!/bin/bash if [ `uname -m` == "x86_64" ];then machi ...
- 安装完Ubuntu后通过shell脚本一键安装软件
安装完Ubuntu后通过shell脚本一键安装软件 以下代码中#是单行注释 :<<! ! 是多行注释. 运行的时候需要把多行注释去掉. 比如把以下代码保存为install.sh, 那么在终 ...
- CentOS7静默安装oracle11g
操作系统: [root@docker ~]# uname -m x86_64 [root@docker ~]# cat /etc/redhat-release CentOS Linux release ...
- Linux7静默安装Oracle11g教程,亲测实用有效!
1.查看swap大小,若小于150M,需添加增加虚拟空间 dd if=/dev/zero of=/swapadd bs=1024 count=2006424 mkswap /swapadd swapo ...
- 【通过ssh oracle11g安装】centos6静默安装oracle11g
转载链接:https://blog.csdn.net/u011391839/article/details/76566316 根据实际情况略作调整~ 博主参考了以上链接成功进行安装,列一下自己遇到的坑 ...
- 静默安装oracle11G
1.操作系统及Oracle版本 Linux版本:CentOS release 5.5 (Final) Oracle版本:Oracle Database 11g Release 2 (11.2.0.1. ...
- Shell脚本一键安装LNMP环境
https://sourceforge.net/projects/opensourcefile/files/ Nginx是一款高性能的HTTP和反向代理服务器.Nginx在反向代理,Rewrite规则 ...
随机推荐
- 【PHP数据结构】顺序表(数组)的相关逻辑操作
在定义好了物理结构,也就是存储结构之后,我们就需要对这个存储结构进行一系列的逻辑操作.在这里,我们就从顺序表入手,因为这个结构非常简单,就是我们最常用的数组.那么针对数组,我们通常都会有哪些操作呢? ...
- JavaScript对象的两类属性(数据属性与访问器属性)
对JavaScript来说,属性并非只是简单的名称和值,JavaScript用一组特征(attribute)来描述属性 (property). 第一类属性数据属性具有四个特征. value:就是属性的 ...
- Linux命令进阶篇之二
实验内容: cat :由第一行开始显示文件内容 tac:由最后一行开始显示,有没有发现和cat是反过来写的 more:一页一页的显示内容 less:与more相似, ...
- 远程连接centos7中mysql8.0
远程连接centos7中mysql8.0 1.使用Navicat for MySQL或者其它数据连接软件 2.先检查centos中防火墙是否关闭,如果关闭不需要设置,如果没有关闭防火墙,请打开3306 ...
- 安卓模拟器genymotion安装
上一篇已经讲了appium的搭建.那么搭建好后,我们需要测试不同机型,这个时候除了真机外,可以选择安装模拟器.市面上的模拟器有很多:夜神.逍遥.mumu.android emulator.genymo ...
- firewalld防火墙详解
众所周知,在RHEL7系统中,firewalld防火墙取代了iptables防火墙.我们都知道iptables的防火墙策略是交由内核层面的netfilter网络过滤器来处理的,而firewalld则是 ...
- Dubbo与Zookeeper简单理解
理论 在<分布式系统原理与范型>一书中有如下定义:"分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统 "; 分布式系统是由一组通过网络进行通信. ...
- 数值计算:粒子群优化算法(PSO)
PSO 最近需要用上一点最优化相关的理论,特地去查了些PSO算法相关资料,在此记录下学习笔记,附上程序代码.基础知识参考知乎大佬文章,写得很棒! 传送门 背景 起源:1995年,受到鸟群觅食行为的规律 ...
- 实践node.js构建vue项目
一.首先安装下载node.js 1.Node.js 官方网站下载:https://nodejs.org/en/,自行选择合适自己的下载安装即可 2.验证安装 打开cmd,输入node –v和 npm ...
- kafka初认识(一)
首先贴出官网地址:https://kafka.apache.org/ 一. 简介 Kafka 是 linkedin 使用 Scala 编写具有高水平扩展和高吞吐量的分布式消息系统.Kafka 对消息保 ...