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规则 ...
随机推荐
- dede图片集关联的数据库用表:
如果在本地的环境中,安装目录不在根目录,搬到外网上的时候,就需要对数据库里的图片路径数据进行字段替换: dede图片集关联的数据库用表:1.dede_addonimages 2.dede_arctin ...
- 替代jquery中的几个函数
// https://open.alipay.com/developmentAccess/developmentAccess.htm var $ = window.jQuery; (function( ...
- 启动springboot出现错误 Caused by: java.net.BindException: Address already in use: bind
如果运行过程中出现端口被占用 抛出了这个异常 首先可以在cmd中调出命令窗口然后 执行命令 netstat -ano 可以查看所有活动的连接 找到你被占用的端口 可以看到我被占用的端口的进程是 4 ...
- 鸿蒙内核源码分析(中断概念篇) | 海公公的日常工作 | 百篇博客分析OpenHarmony源码 | v43.02
百篇博客系列篇.本篇为: v43.xx 鸿蒙内核源码分析(中断概念篇) | 海公公的日常工作 | 51.c.h .o 硬件架构相关篇为: v22.xx 鸿蒙内核源码分析(汇编基础篇) | CPU在哪里 ...
- 鸿蒙内核源码分析(线程概念篇) | 是谁在不停的折腾CPU? | 百篇博客分析OpenHarmony源码 | v21.06
百篇博客系列篇.本篇为: v21.xx 鸿蒙内核源码分析(线程概念篇) | 是谁在不断的折腾CPU | 51.c.h .o 任务管理相关篇为: v03.xx 鸿蒙内核源码分析(时钟任务篇) | 触发调 ...
- CF585E-Present for Vitalik the Philatelist【莫比乌斯反演,狄利克雷前缀和】
正题 题目链接:https://www.luogu.com.cn/problem/CF585E 题目大意 给出一个大小为\(n\)的可重集\(T\),求有多少个它的非空子集\(S\)和元素\(x\)满 ...
- 软件测试工程师简历要怎么写,才能让HR看到
作为软件测试的从业者,面试或者被面试都是常有的事. 可是不管怎样,和简历有着理不清的关系,面试官要通过简历了解面试者的基本信息.过往经历等. 面试者希望通过简历把自己最好的一面体现给面试官,所以在这场 ...
- 深度学习|基于LSTM网络的黄金期货价格预测--转载
深度学习|基于LSTM网络的黄金期货价格预测 前些天看到一位大佬的深度学习的推文,内容很适用于实战,争得原作者转载同意后,转发给大家.之后会介绍LSTM的理论知识. 我把code先放在我github上 ...
- Node.js Koa框架学习笔记
Koa 基本介绍 Koa是Node.js中非常出名的一款WEB框架,其特点是短小精悍性能强. 它由Express原版人马打造,同时也是Egg框架的设计蓝图,可以说Koa框架的学习性价比是非常高的. 官 ...
- Cartography Tools(制图工具)
制图工具 1.制图优化 # Process: 分散标记 arcpy.DisperseMarkers_cartography("", "", "EXPA ...