oracle静默傻瓜式安装脚本

主机执行脚本前的配置

首先配置IP和主机

挂载11.2数据库iso文件到/mnt/oracledvd,

配置yum源,这些一定要设置

(可以在机器上挂载两个光盘,一个yum源,一个oracle安装镜像)

这些一定要设置

这些一定要设置

重要的事情说三遍

系统里不要有这些组oinstall, dba,oper,和用户oracle

 

#!/bin/bash
#oracle安装脚本
#一定把orcle安装镜像挂载到/mnt/oracledvd
echo "--------------------------------------装包"

yum install -y compat-libcap1 binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc glibc-devel libgomp glibc-headers kernel-headers gcc-c++ libstdc++-devel glibc glibc-common ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel
yum install -y unzip

echo "--------------------------------------解压"
unzip /mnt/oracledvd/p13390677_112040_Linux-x86-64_1of7.zip -d /usr/local/src/
unzip /mnt/oracledvd/p13390677_112040_Linux-x86-64_2of7.zip -d /usr/local/src/
echo "--------------------------------------创建用户"
groupadd  oinstall
groupadd  dba
groupadd  oper
useradd  -g oinstall -G dba,oper oracle
echo 123456 | passwd --stdin oracle
echo "------------------------------------修改系统参数和环境变量"
sed -i '$a oracle soft nproc 2047' /etc/security/limits.conf
sed -i '$a oracle hard nproc 16384' /etc/security/limits.conf
sed -i '$a oracle soft nofile 1024' /etc/security/limits.conf
sed -i '$a oracle hard nofile 65536' /etc/security/limits.conf
sed -i '$a export ORACLE_BASE=/u01/app/oracle' /home/oracle/.bash_profile
sed -i '$a export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_home1' /home/oracle/.bash_profile
sed -i '$a export TMP=/tmp' /home/oracle/.bash_profile
sed -i '$a export TMPDIR=/tmp' /home/oracle/.bash_profile


read -p "设置你指定的SID,这里设置的包括变量和默认创建的SID:" SID

cat << EOF >> /home/oracle/.bash_profile
export ORACLE_SID=$SID
EOF


sed -i '$a export PATH=$ORACLE_HOME/bin:$PATH' /home/oracle/.bash_profile

grep kernel.shmmax /etc/sysctl.conf
if [ $? -eq 0 ]
then
echo "kernel.shmmax = 68719476736"
echo "1"
else
sed -i '$a kernel.shmmax = 68719476736' /etc/sysctl.conf
echo "1"
fi

grep kernel.shmall /etc/sysctl.conf
if [ $? -eq 0 ]
then
echo "kernel.shmall = 4294967296"
echo "2"
else
sed -i '$a kernel.shmall = 4294967296' /etc/sysctl.conf
echo "2"
fi

grep kernel.shmmni /etc/sysctl.conf
if [ $? -eq 0 ]
then
echo "kernel.shmmni = 4096"
echo "3"
else
sed -i '$a kernel.shmmni = 4096' /etc/sysctl.conf
echo "3"
fi


grep kernel.sem /etc/sysctl.conf
if [ $? -eq 0 ]
then
echo "kernel.sem = 250 32000 100 128"
echo "4"
else
sed -i '$a kernel.sem = 250 32000 100 128' /etc/sysctl.conf
echo "4"
fi

grep fs.aio-max-nr /etc/sysctl.conf
if [ $? -eq 0 ]
then
echo "fs.aio-max-nr = 1048576"
echo "5"
else
sed -i '$a fs.aio-max-nr = 1048576' /etc/sysctl.conf
echo "5"
fi

grep fs.file-max /etc/sysctl.conf
if [ $? -eq 0 ]
then
echo "fs.file-max = 6815744"
echo "6"
else
sed -i '$a fs.file-max = 6815744' /etc/sysctl.conf
echo "6"
fi

grep net.ipv4.ip_local_port_range /etc/sysctl.conf
if [ $? -eq 0 ]
then
echo "net.ipv4.ip_local_port_range = 9000 65500"
echo "7"
else
sed -i '$a net.ipv4.ip_local_port_range = 9000 65500' /etc/sysctl.conf
echo "7"
fi

grep net.core.rmem_default /etc/sysctl.conf
if [ $? -eq 0 ]
then
echo "net.core.rmem_default = 262144"
echo "8"
else
sed -i '$a net.core.rmem_default = 262144' /etc/sysctl.conf
echo "8"
fi

grep net.core.rmem_max /etc/sysctl.conf
if [ $? -eq 0 ]
then
echo "net.core.rmem_max = 4194304"
echo "9"
else
sed -i '$a net.core.rmem_max = 4194304' /etc/sysctl.conf
echo "9"
fi


grep net.core.wmem_default /etc/sysctl.conf
if [ $? -eq 0 ]
then
echo "net.core.wmem_default = 262144"
echo "10"
else
sed -i '$a net.core.wmem_default = 262144' /etc/sysctl.conf
echo "10"
fi

grep net.core.wmem_max /etc/sysctl.conf
if [ $? -eq 0 ]
then
echo "net.core.wmem_max = 1048576"
echo "11"
else
sed -i '$a net.core.wmem_max = 1048576' /etc/sysctl.conf
echo "11"
fi

echo "------------------------------创建目录"
mkdir /u01/app/oracle -pv
chown oracle.oinstall /u01 -R

cat << EOF > /home/oracle/db.rsp
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_SWONLY
EOF

host=$(hostname)

cat << EOF >> /home/oracle/db.rsp
ORACLE_HOSTNAME=$host
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_home1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.EEOptionsSelection=false
oracle.install.db.optionalComponents=oracle.rdbms.partitioning:11.2.0.4.0,oracle.oraolap:11.2.0.4.0,oracle.rdbms.dm:11.2.0.4.0,oracle.rdbms.dv:11.2.0.4.0,oracle.rdbms.lbac:11.2.0.4.0,oracle.rdbms.rat:11.2.0.4.0
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oper
oracle.install.db.CLUSTER_NODES=
oracle.install.db.isRACOneInstall=false
oracle.install.db.racOneServiceName=
oracle.install.db.config.starterdb.type=
oracle.install.db.config.starterdb.globalDBName=
EOF

cat << EOF >> /home/oracle/db.rsp
oracle.install.db.config.starterdb.SID=$SID
EOF


cat << EOF >> /home/oracle/db.rsp
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.memoryOption=true
oracle.install.db.config.starterdb.memoryLimit=
oracle.install.db.config.starterdb.installExampleSchemas=false
oracle.install.db.config.starterdb.enableSecuritySettings=true
oracle.install.db.config.starterdb.password.ALL=123456
oracle.install.db.config.starterdb.password.SYS=
oracle.install.db.config.starterdb.password.SYSTEM=
oracle.install.db.config.starterdb.password.SYSMAN=
oracle.install.db.config.starterdb.password.DBSNMP=
oracle.install.db.config.starterdb.control=DB_CONTROL
oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL=
oracle.install.db.config.starterdb.automatedBackup.enable=false
oracle.install.db.config.starterdb.automatedBackup.osuid=
oracle.install.db.config.starterdb.automatedBackup.ospwd=
oracle.install.db.config.starterdb.storageType=
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=
oracle.install.db.config.asm.diskGroup=
oracle.install.db.config.asm.ASMSNMPPassword=
MYORACLESUPPORT_USERNAME=
MYORACLESUPPORT_PASSWORD=
SECURITY_UPDATES_VIA_MYORACLESUPPORT=
DECLINE_SECURITY_UPDATES=true
PROXY_HOST=
PROXY_PORT=
PROXY_USER=
PROXY_PWD=
PROXY_REALM=
COLLECTOR_SUPPORTHUB_URL=
oracle.installer.autoupdates.option=
oracle.installer.autoupdates.downloadUpdatesLoc=
AUTOUPDATES_MYORACLESUPPORT_USERNAME=
AUTOUPDATES_MYORACLESUPPORT_PASSWORD=
EOF

#su - oracle
#sh /usr/local/src/database/runInstaller -silent -noconfig -ignoreSysPrereqs -responseFile /home/oracle/db.rsp

#su - root

#sh /u01/app/oraInventory/orainstRoot.sh
#sh /u01/app/oracle/product/11.2.0/db_home1/root.sh


cat << EOF > /home/oracle/netca.rsp
[GENERAL]
RESPONSEFILE_VERSION="11.2"
CREATE_TYPE="CUSTOM"
[oracle.net.ca]
INSTALLED_COMPONENTS={"server","net8","javavm"}
INSTALL_TYPE=""typical""
LISTENER_NUMBER=1
LISTENER_NAMES={"LISTENER"}
LISTENER_PROTOCOLS={"TCP;1521"}
LISTENER_START=""LISTENER""
NAMING_METHODS={"TNSNAMES","ONAMES","HOSTNAME"}
NSN_NUMBER=1
NSN_NAMES={"EXTPROC_CONNECTION_DATA"}
NSN_SERVICE={"PLSExtProc"}
NSN_PROTOCOLS={"TCP;HOSTNAME;1521"}
EOF

cat << EOF > /home/oracle/dbca.rsp
[GENERAL]
RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
[CREATEDATABASE]
GDBNAME = "$SID.$host"
SID = "$SID"
TEMPLATENAME = "General_Purpose.dbc"
[createTemplateFromDB]
SOURCEDB = "$host:1521:$SID"
SYSDBAUSERNAME = "system"
TEMPLATENAME = "My Copy TEMPLATE"
[createCloneTemplate]
SOURCEDB = "$SID"
TEMPLATENAME = "My Clone TEMPLATE"
[DELETEDATABASE]
SOURCEDB = "$SID"
[generateScripts]
TEMPLATENAME = "New Database"
GDBNAME = "$SID.$host"
[CONFIGUREDATABASE]
[ADDINSTANCE]
DB_UNIQUE_NAME = "$SID.$host"
NODELIST=
SYSDBAUSERNAME = "sys"
[DELETEINSTANCE]
DB_UNIQUE_NAME = "$SID.$host"
INSTANCENAME = "$SID"
SYSDBAUSERNAME = "sys"
EOF

 


 脚本执行过程中会让你指定SID名字,所有的用户密码都是123456

 

用root执行完后会在/home/oracle/下生成所有的安装应答文件(db.rsp netca.rsp dbca.rsp)

 

然后切换成oracle用户

执行

sh /usr/local/src/database/runInstaller -silent -noconfig -ignoreSysPrereqs -responseFile /home/oracle/db.rsp


执行后屏幕会提示你用root用户执行两个文件

屏幕会出现成功,但是不要高兴的太早

一定等屏幕提示,出现成功后再进行往下的操作

创建个新的窗口是root用户

 

 sh /u01/app/oraInventory/orainstRoot.sh
 sh /u01/app/oracle/product/11.2.0/db_home1/root.sh

然后切换成原来的窗口,提示执行两个文件的那个窗口,点回车

继续完成安装


然后用oracle用户

 

netca -silent -responsefile /home/oracle/netca.rsp

 

dbca -silent -responseFile /home/oracle/dbca.rsp

 

执行完后

就可以查看监听状态了

 

netstat -anp | grep :1521

 

lsnrctl status

 

然后进入数据库

 

sqlplus / as sysdba

 

查看数据库状态

 

select instance_name,status from v$instance

 

 

INSTANCE_NAME                STATUS
---------------- ------------
这里会显示你指定的SID          OPEN

 

 

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值