您的位置:首页 > 数据库 > Oracle

oracle静默傻瓜式安装脚本

2016-11-12 17:03 295 查看
主机执行脚本前的配置

首先配置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


 

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle