oracle单实例静默安装

背景:对于在linux系统安装oracle,起初比较头痛于图形化界面安装,费时费力,后来找到了静默安装的方法,效率提高了不只一倍,现在分享给大家

1、做好安装oracle的初始化工作

包括建用户、oracle base目录、依赖包、环境变量等,我写了sh脚本

###############################################

#!/bin/bash

#用于新安装oracle的参数初始化工作
#注意修改SID
#注意依赖包
#2017-3-27
#jcs
#资源限制
sed  -i  's/^oracle     soft   nproc/#weblogic     soft   nproc/' /etc/security/limits.conf
sed  -i  's/^oracle     hard   nproc/#weblogic     hard   nproc/' /etc/security/limits.conf
sed  -i  's/^oracle     soft   nofile/#weblogic     soft   nofile/' /etc/security/limits.conf
sed  -i  's/^oracle     hard   nofile/#weblogic     hard   nofile/' /etc/security/limits.conf
echo "oracle     soft   nproc     65535" >> /etc/security/limits.conf
echo "oracle     hard   nproc     65535" >> /etc/security/limits.conf
echo "oracle     soft   nofile    65535" >> /etc/security/limits.conf
echo "oracle     hard   nofile    65535" >> /etc/security/limits.conf
#修改安全限制
cp -a /etc/pam.d/login /etc/pam.d/login.bak
echo "session required pam_limits.so" >> /etc/pam.d/login
#Linux 操作系统网络核心参数、内核参数的修改
cp -a /etc/sysctl.conf /etc/sysctl.conf.bak
str=(
fs.aio-max-nr
fs.file-max
kernel.shmmni
kernel.shmall
kernel.shmmax
kernel.sem
net.ipv4.ip_local_port_range
net.core.rmem_default
net.core.rmem_max
net.core.wmem_default
net.core.wmem_max
)
for i in "${str[@]}";
do
if [ ! -z "`grep ^$i /etc/sysctl.conf`" ];then
sed -i "s/$i/#$i/g" /etc/sysctl.conf
fi
done
cat << EOF >> /etc/sysctl.conf
#ORACLE SETTING
fs.aio-max-nr = 4194304
fs.file-max = 6815744
kernel.shmmni = 4096
kernel.shmall = 4294967296
#kernel.shmmax=16868759552
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
EOF
/sbin/sysctl -p
#创建用户、用户组
#创建dba组
grep "^dba" /etc/group
if [ $? -eq 0 ];then
        echo "dba组已经存在"
else
        echo "dba组不存在,开始创建dba组"
        groupadd dba
        echo "dba组已创建"
fi
#创建oinstall组
grep "^oinstall" /etc/group
if [ $? -eq 0 ];then
        echo "oinstall组已经存在"
else
        echo "oinstall组不存在,开始创建oinstall组"
        groupadd oinstall
        echo "oinstall组已创建"
fi
#创建oracle用户
id oracle
if [ $? -eq 0 ];then
echo "oracle用户已经存在"
echo oracle123 | passwd --stdin oracle
else
echo "oracle用户不存在,开始创建oracle用户"
useradd -g oinstall -G dba -m oracle
echo oracle123 | passwd --stdin oracle
echo "oracle 用户已创建"
fi
#创建安装目录
mkdir -p /u01/app/oracle
chown -R oracle:oinstall /u01/
#设置oracle用户环境变量
id oracle
if [ $? -eq 0 ];then
        cp -a /home/oracle/.bash_profile /home/oracle/.bash_profile.bak
        chown  oracle:oinstall /home/oracle/.bash_profile.bak
cat << EOF >> /home/oracle/.bash_profile
export ORACLE_SID=mydb
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/11.2/db_1
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss"
export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib;
export CLASSPATH=\$ORACLE_HOME/jre:\$ORACLE_HOME/jlib:\$ORACLE_HOME/rdbms/jlib
export PATH=\$ORACLE_HOME/bin:/usr/sbin:\$ORACLE_HOME/OPatch:\$PATH
umask 022
EOF
else
        echo "用户oracle不存在,请确认后执行该脚本"
        exit
fi
#安装依赖包
rpm -q binutils compat-libstdc gcc glibc ksh libgcc libaio make sysstat gdm unixODBC
# yum install binutils* compat-libstdc* gcc* glibc* ksh libgcc* libaio* make* sysstat* gdm unixODBC*
echo
echo
echo "      初始化完毕!请用oracle用户安装database!"
echo
echo

##########################################################

2、编辑自动应答文件

解压oracle两个zip软件包,得到文件夹database,应答文件在database/response/下

db_install.rsp    --oracle软件应答文件

dbca.rsp        --建库应答文件

netca.rsp       --建监听应答文件

 chown -R oracle:oinstall database

su - oracle

安装路径、sid、内存、sys用户密码等配置在这3个文件中,按照实际需求修改。

dbca.rsp关键修改项:

    GDBNAME = "mydb"

    SID = "mydb"

    SYSPASSWORD = "oracle123"

    SYSTEMPASSWORD = "oracle123"

    CHARACTERSET="AL32UTF8"

    如果需要使用OracleEnterprise Manager,则还需要修改以下参数如下:

    EMCONFIGURATION="LOCAL"

    SYSMANPASSWORD = "oracle"

    DBSNMPPASSWORD = "oracle"

 netca.rsp修改:

    INSTALL_TYPE="custom"

3、执行静默安装

安装oracle

./runInstaller -silent -responseFile /database/response/db_install.rsp

执行后会提示用root执行脚本

As a root user, execute the following script(s):

           1. /u01/app/oraInventory/orainstRoot.sh

           2. /u01/app/oracle/product/11.2/db_1/root.sh

建实例

dbca -silent -cloneTemplate -responseFile /database/response/dbca.rsp

注:执行完成后一般情况下实例已自动启动

建监听

netca -silent -responseFile /database/response/netca.rsp

####################################################################

静默删除实例方法

$ vim db_delete.rsp

#-----------------------------------------

#以下参数不能更改

[GENERAL]

RESPONSEFILE_VERSION = "11.2.0"

OPERATION_TYPE = "deleteDatabase"

#以下参数根据实际情况更改

[DELETEDATABASE]

SOURCEDB = "ORCL" 

dbca -silent -responseFile db_delete.rsp







  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值