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规则 ...
随机推荐
- P3706-[SDOI2017]硬币游戏【高斯消元,字符串hash】
正题 题目链接:https://www.luogu.com.cn/problem/P3706 题目大意 给出 \(n\) 个长度为 \(m\) 的 \(H/T\) 串. 开始一个空序列,每次随机在后面 ...
- 深入浅出WPF-11.Template(模板)02
模板 DataTemplate和ControlTemplate的关系 通过上面的内容,控件只是一个数据和行为的载体,是一个抽象的概念,至于它长什么样子,或者它的数据是怎么展示的,都是由模板生成的.决定 ...
- HTML(思维导图)
- heoi2020树
_ _01trie树合并 _ _ 在考场上一直想用数据结构维护,还花了好长时间算 $(a+1)^(b+1)$,现在看来当时好像在犯傻........ 异或有个神奇的工具是 01trie 树,此题就用此 ...
- Go语言核心36讲(Go语言基础知识二)--学习笔记
02 | 命令源码文件 我们已经知道,环境变量 GOPATH 指向的是一个或多个工作区,每个工作区中都会有以代码包为基本组织形式的源码文件. 这里的源码文件又分为三种,即:命令源码文件.库源码文件和测 ...
- 实战经验分享:使用 PyO3 来构建你的 Python 模块
PyO3 主要用于创建原生 Python 的扩展模块.PyO3 还支持从 Rust 二进制文件运行 Python 代码并与之交互,可以实现 rust 与 Python 代码共存.在一些对性能要求较高的 ...
- 干货分享之Spring框架源码解析01-(xml配置解析)
记录并分享一下本人学习spring源码的过程,有什么问题或者补充会持续更新.欢迎大家指正! 环境: spring5.X + idea Spring 是一个工厂,是一个负责对象的创建和维护的工厂.它给我 ...
- 洛谷3203 弹飞绵羊(LCT)
据说这个题当年的正解是分块qwq 根据题目所说,对于题目中的弹力系数,就相当于一条边,那么对于"跳出去"这个限制,我们可以选择建造一个新点\(n+1\)表示结束,那么每次,求一个点 ...
- java链接并操作数据库
链接准备 MySQL数据库驱动(连接器).mysql-connector-java-x.x.xx.jar会在MySQL安装时提供,若Mysql是默认安装路径,则连接器在:C:\Program File ...
- C#开发BIMFACE系列49 Web网页中加载模型与图纸的技术方案
BIMFACE二次开发系列目录 [已更新最新开发文章,点击查看详细] 在BIMFACE二次系列博客中详细介绍了服务器端API的调用方式,如下列表 C#开发BIMFACE系列1 BIMFAC ...