Oracle 11GR2单机一键部署(sh脚本)

网友投稿 515 2022-05-29

注:本脚本只适用于新系统用于安装oracle的初始化。请不要用于已存在ORACLE数据库的系统,如有问题,后果自负。

########################################################################################### ## Author:lucifer ## 本文档针对 Red Hat Enterprise Linux Server release 6.x 7.x 版本 进行 11gR2 单实例 部署的配置操作 ## ORACLE VERSION:ORACLE 11204 ########################################################################################### ##需要提前配置Public IP ##需要提前创建 /soft 目录,并提前将安装包上传到目录中 ##运行:sh /soft/11204单机一键部署.sh |tee -a /soft/11204_install.log 可以追加日志 ##需要创建 /soft 目录资料上传到目录中 ## 0. 参数提前配置 ## 1. 环境信息检查 ## 2. 节点信息确认 ## 3. 关闭防火墙 ## 4. 关闭LINUX操作系统的SELINUX功能 ## 5. 配置hosts文件 ## 6. 安装必要的软件包 ## 7. 关闭大页 ## 8. 内核参数调整 ## 9. 用户目录及Limit环境配置 ## 10. Edit responseFile of db_install.rsp ## 11. 静默安装oracle软件 ## 12. dbca静默建库 ## 13. 启动监听 ################################### 已验证 Linux 发行版 ############################# #rhel-server-6.8-x86_64 #rhel-server-6.9-x86_64 #CentOs-7.8-x86_64 #CentOS Linux release 7.6.1810 (Core) #Red Hat Enterprise Linux Server release 7.9 (Maipo) #ORACLE LINUX 6.8 ################################### 请根据自己实际情况修改变量 ########################

一、主机配置

1、安装rhel-server-6.8-x86_64系统(最小化安装)

2、配置publicIP

[root@t11g ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 [root@t11g ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 HWADDR=08:00:27:47:B9:E2 TYPE=Ethernet UUID=037f6cb7-441b-4244-a3b8-7f7148e1ccbe ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=static IPADDR=192.168.56.100 NETMASK=25.255.255.0 [root@t11g ~]# service network restart Shutting down interface eth0: [ OK ] Shutting down loopback interface: [ OK ] Bringing up loopback interface: [ OK ] Bringing up interface eth0: Determining if ip address 192.168.56.100 is already in use for device eth0... [ OK ]

3、创建安装包目录/soft

mkdir /soft

二、参数配置

################################### 请根据自己实际情况修改变量 ######################## ## 0. 参数提前配置 ################################################################################### ## 1. IP规划 ## public IP,根据实际需要修改 PublicIP=192.168.1.120 ## 2. 主机名,根据实际需要修改 HostName=g11g ## 3. 数据库实例名称,根据实际需要修改 ORACLE_SIDTemp=orcl ## 4. 密码设置 ## Oracle用户密码 oraclePasswd=oracle ################################################################################### ## 以下参数如无特殊需求,可以不改 ################################################################################### ## 5. 字符集 ##数据库字符集 CharacterSet=AL32UTF8 ##国家字符集 NationalCharacterSet=AL16UTF16 ## 7. 安装软件存放目录 Soft=/soft # oracle 根目录 OracleHomeTemp=/u01 # 安装grid时候的:ORAINVENTORY ORAINVENTORYTemp=/u01/app/oraInventory ## 安装database时候的:Oracle Base ORACLE_BASETemp=/u01/app/oracle # 安装database时候的:Oracle home ORACLE_HOMETemp=/u01/app/oracle/product/11.2.0/db # 数据文件位置 ORADATATemp=/oradata ## 8. 安装文件名称 #ORACLE安装包名称 OracleSoft1=p13390677_112040_Linux-x86-64_1of7.zip OracleSoft2=p13390677_112040_Linux-x86-64_2of7.zip #通过变量给字体加颜色 #这里定义一个c1()函数,后面如果想改变字体颜色直接调用即可 c1() { RED_COLOR='\E[1;31m' GREEN_COLOR='\E[1;32m' YELLOW_COLOR='\E[1;33m' BLUE_COLOR='\E[1;34m' PINK_COLOR='\E[1;35m' WHITE_BLUE='\E[47;34m' DOWN_BLUE='\E[4;36m' FLASH_RED='\E[5;31m' RES='\E[0m' #这里判断传入的参数是否不等于2个,如果不等于2个就提示并退出 if [ $# -ne 2 ]; then echo "Usage

################################### 请根据自己实际情况修改变量 ######################## ## 0. 参数提前配置 ################################################################################### ## 1. IP规划 ## public IP,根据实际需要修改 PublicIP=192.168.1.120 ## 2. 主机名,根据实际需要修改 HostName=g11g ## 3. 数据库实例名称,根据实际需要修改 ORACLE_SIDTemp=orcl ## 4. 密码设置 ## Oracle用户密码 oraclePasswd=oracle ################################################################################### ## 以下参数如无特殊需求,可以不改 ################################################################################### ## 5. 字符集 ##数据库字符集 CharacterSet=AL32UTF8 ##国家字符集 NationalCharacterSet=AL16UTF16 ## 7. 安装软件存放目录 Soft=/soft # oracle 根目录 OracleHomeTemp=/u01 # 安装grid时候的:ORAINVENTORY ORAINVENTORYTemp=/u01/app/oraInventory ## 安装database时候的:Oracle Base ORACLE_BASETemp=/u01/app/oracle # 安装database时候的:Oracle home ORACLE_HOMETemp=/u01/app/oracle/product/11.2.0/db # 数据文件位置 ORADATATemp=/oradata ## 8. 安装文件名称 #ORACLE安装包名称 OracleSoft1=p13390677_112040_Linux-x86-64_1of7.zip OracleSoft2=p13390677_112040_Linux-x86-64_2of7.zip #通过变量给字体加颜色 #这里定义一个c1()函数,后面如果想改变字体颜色直接调用即可 c1() { RED_COLOR='\E[1;31m' GREEN_COLOR='\E[1;32m' YELLOW_COLOR='\E[1;33m' BLUE_COLOR='\E[1;34m' PINK_COLOR='\E[1;35m' WHITE_BLUE='\E[47;34m' DOWN_BLUE='\E[4;36m' FLASH_RED='\E[5;31m' RES='\E[0m' #这里判断传入的参数是否不等于2个,如果不等于2个就提示并退出 if [ $# -ne 2 ]; then echo "Usage $0 content {red|yellow|blue|green|pink|wb|db|fr}" exit fi case "$2" in red | RED) echo -e "${RED_COLOR}$1${RES}" ;; yellow | YELLOW) echo -e "${YELLOW_COLOR}$1${RES}" ;; green | GREEN) echo -e "${GREEN_COLOR}$1${RES}" ;; blue | BLUE) echo -e "${BLUE_COLOR}$1${RES}" ;; pink | PINK) echo -e "${PINK_COLOR}$1${RES}" ;; wb | wb) echo -e "${WHITE_BLUE}$1${RES}" ;; db | db) echo -e "${DOWN_BLUE}$1${RES}" ;; fr | fr) echo -e "${FLASH_RED}$1${RES}" ;; *) echo -e "请输入指定的颜色代码:{red|yellow|blue|green|pink|wb|db|fr}" ;; esac } ##示例 ##c1 "程序安装报错!" red ##c1 "程序安装成功!" green ##c1 "输出相关注释信息" blue

content {red|yellow|blue|green|pink|wb|db|fr}" exit fi case "" in red | RED) echo -e "${RED_COLOR}${RES}" ;; yellow | YELLOW) echo -e "${YELLOW_COLOR}${RES}" ;; green | GREEN) echo -e "${GREEN_COLOR}${RES}" ;; blue | BLUE) echo -e "${BLUE_COLOR}${RES}" ;; pink | PINK) echo -e "${PINK_COLOR}${RES}" ;; wb | wb) echo -e "${WHITE_BLUE}${RES}" ;; db | db) echo -e "${DOWN_BLUE}${RES}" ;; fr | fr) echo -e "${FLASH_RED}${RES}" ;; *) echo -e "请输入指定的颜色代码:{red|yellow|blue|green|pink|wb|db|fr}" ;; esac } ##示例 ##c1 "程序安装报错!" red ##c1 "程序安装成功!" green ##c1 "输出相关注释信息" blue

二、环境检查

################################################################################### ## 1. 环境信息检查 ################################################################################### # 请选择你的系统版本(RedHat6或者Redhat7) read -p "系统版本为:6 or 7:" LinuxVer if [ ${LinuxVer} -eq 6 ]; then c1 "您选择的系统是Linux发行版:6" blue elif [ ${LinuxVer} -eq 7 ]; then c1 "您选择的系统是Linux发行版:7" blue else c1 "输入错误,程序将推出" red exit fi echo # 检查当前用户是否为root权限 if [ "$(id -u)" -eq 0 ]; then c1 "当前用户是root用户,将继续安装!" wb else c1 "非root用户!" red exit 0 fi echo echo "##################################################################################" echo c1 "1. 环境信息检查:" red echo echo "##################################################################################" echo c1 "OS Release Info:" blue echo more /etc/system-release echo c1 "OS Kernel Info:" blue uname -r echo cpu=$(grep "model name" /proc/cpuinfo | wc -l) c1 "Cpu Info: " blue echo echo $cpu echo MemTotal=$(grep MemTotal /proc/meminfo | awk '{print }') memory=$(expr $MemTotal / 1048576) ##分配给ORACLE的内存,1/3 MemOracle=$(expr $MemTotal / 3072) c1 "Memory Info: " blue echo echo $memory G echo SwapTotal=$(grep SwapTotal /proc/meminfo | awk '{print }') swap=$(expr $SwapTotal / 1048576) c1 "Swap Info: " blue echo echo $swap G echo c1 "ZONE:" blue echo if [ ${LinuxVer} -eq 6 ]; then more /etc/sysconfig/clock else timedatectl | grep zone fi echo c1 "Tmp Info:" blue echo df -h /tmp echo c1 "Disk Info:" blue echo df -h echo c1 "Network Info:" blue echo ip addr echo c1 "Transparent HugePages:" blue echo cat /sys/kernel/mm/transparent_hugepage/enabled cat /sys/kernel/mm/transparent_hugepage/defrag echo #vm.min_free_kbytes,内存<=32G可以忽略设置,内存足够大时建议设置为512MB c1 "vm.min_free_kbytes:" blue echo echo "vm.min_free_kbytes = $(cat /proc/sys/vm/min_free_kbytes) KB" echo c1 "vm.swappiness:" blue echo echo "vm.swappiness = $(cat /proc/sys/vm/swappiness)" echo c1 "Selinux:" blue echo grep ^SELINUX= /etc/selinux/config echo c1 "Firewalld:" blue echo if [ ${LinuxVer} -eq 6 ]; then service iptables status echo c1 "avahi-daemon:" blue echo service avahi-daemon status else systemctl status firewalld | grep Active echo c1 "avahi-daemon:" blue echo systemctl status avahi-daemon fi echo echo sleep 1 # 输出提示,是否已设置静态公网IP并挂载光驱 echo read -p "请确认您已经将PublicIP设置为静态公网IP并已挂载Linux安装镜像.按Enter键开始,Ctrl+C退出" echo

三、安装前配置

################################################################################### ## 2. 防火墙关闭 ################################################################################### echo "###################################################################################" echo c1 "2. 防火墙关闭:" red echo echo "###################################################################################" echo if [ ${LinuxVer} -eq 6 ]; then service iptables stop chkconfig iptables off c1 "Iptables Check:" blue echo service iptables status else systemctl stop firewalld systemctl disable firewalld systemctl stop avahi-daemon >/dev/null 2>&1 systemctl disable avahi-daemon >/dev/null 2>&1 c1 "Firewalld Check:" blue echo systemctl status firewalld | grep Active echo c1 "avahi-daemon Check:" blue echo systemctl status avahi-daemon fi ################################################################################### ## 3. 关闭LINUX操作系统的SELINUX功能 ################################################################################### echo echo "###################################################################################" echo c1 "3. 关闭LINUX操作系统的SELINUX功能 禁用ZEROCONF:" red echo echo "###################################################################################" echo ##禁用SELINUX SELINUX=$(grep ^SELINUX= /etc/selinux/config) if [ $SELINUX != "SELINUX=disabled" ]; then cp /etc/selinux/config /etc/selinux/config.bak sed -i 's/^SELINUX=/#SELINUX=/g' /etc/selinux/config sed -i '$a SELINUX=disabled' /etc/selinux/config else echo "SELINUX is already disabled" fi c1 "SELINUX Check:" blue grep ^SELINUX= /etc/selinux/config ##禁用ZEROCONF echo NOZEROCONF=$(grep ^NOZEROCONF= /etc/sysconfig/network) if [[ $NOZEROCONF != "" ]]; then cp /etc/sysconfig/network /etc/sysconfig/network.bak sed -i 's/^NOZEROCONF=/#NOZEROCONF=/g' /etc/sysconfig/network sed -i '$a NOZEROCONF=yes' /etc/sysconfig/network else sed -i '$a NOZEROCONF=yes' /etc/sysconfig/network fi echo c1 "NOZEROCONF Check:" blue echo grep ^NOZEROCONF= /etc/sysconfig/network ################################################################################### ## 4. 配置hosts文件和主机名 ################################################################################### echo "###################################################################################" echo c1 "4. 配置hosts文件和主机名:" red echo echo "###################################################################################" HOSTNAME=$(grep "HOSTNAME" /etc/sysconfig/network) if [ ${LinuxVer} -eq 6 ]; then if [[ $HOSTNAME != "" ]]; then echo "HOSTNAME is already set" else hostname ${HostName} sed -i "/HOSTNAME=/c HOSTNAME=${HostName}" /etc/sysconfig/network fi else hostnamectl set-hostname $HostName fi echo c1 "HOSTNAME Check:" blue echo hostname echo cat </etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 $PublicIP $HostName EOF echo c1 "Hosts Check:" blue echo cat /etc/hosts echo ################################################################################### ## 5. 安装必要的软件包 ################################################################################### echo "###################################################################################" echo c1 "5. 安装必要的软件包:" red echo echo "###################################################################################" echo mount /dev/cdrom /media/ >/dev/null 2>&1 rm -rf /etc/yum.repos.d/* cat >>/etc/yum.repos.d/local.repo <<"EOF" [base] name=base baseurl=file:///media enabled=1 gpgcheck=0 EOF yum clean all >/dev/null 2>&1 #清理本地缓存 yum clean plugins >/dev/null 2>&1 #清理插件缓存 c1 "正在安装依赖包......" fr echo yum install -y binutils compat-libcap1 elfutils-libelf-devel compat-libstdc++* gcc gcc-c++ glibc glibc-devel ksh libgcc libstdc++ libstdc++-devel libaio libaio-devel make sysstat readline* unzip device-mapper* smartmontools openssh-clients --skip-broken >/dev/null 2>&1 echo c1 "RPM Check:" blue echo rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' binutils compat-libcap1 elfutils-libelf-devel compat-libstdc++ gcc gcc-c++ glibc glibc-devel ksh libgcc libstdc++ libstdc++-devel libaio libaio-devel make sysstat readline echo c1 "依赖包安装完成" blue echo ################################################################################### ## 6. Disable HugePage ################################################################################### echo "################################################################################" echo c1 "6. Disable Transparent HugePages:" blue echo echo "################################################################################" echo if [ ${LinuxVer} -eq 6 ]; then cat >>/etc/rc.d/rc.local < /sys/kernel/mm/transparent_hugepage/enabled fi if test -f /sys/kernel/mm/transparent_hugepage/defrag; then echo never > /sys/kernel/mm/transparent_hugepage/defrag fi EOF echo else sed -i 's/quiet/quiet transparent_hugepage=never/' /etc/default/grub grub2-mkconfig -o /boot/grub2/grub.cfg >/dev/null 2>&1 fi #临时生效: echo never >/sys/kernel/mm/transparent_hugepage/enabled echo never >/sys/kernel/mm/transparent_hugepage/defrag echo c1 "Transparent HugePages Check:" blue echo cat /sys/kernel/mm/transparent_hugepage/enabled echo ################################################################################### ## 7. 内核参数调整 ################################################################################### echo "#################################################################################" echo c1 "7. 内核参数调整:" red echo echo "#################################################################################" cp /etc/sysctl.conf /etc/sysctl.conf.bak cat >/etc/sysctl.conf </etc/security/limits.conf <<"EOF" ############### Limits Add ########################## oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240 oracle hard stack 32768 oracle soft nproc 2047 oracle hard nproc 16384 ############### Limits End ########################## EOF c1 "Limits Check:" blue echo grep -v "#" /etc/security/limits.conf echo PAM_LIMITS=$(grep "pam_limits.so" /etc/pam.d/login) if [[ $PAM_LIMITS != "" ]]; then echo "PAM_LIMITS is already set" else cat >>/etc/pam.d/login <<"EOF" ################# Pam_limits Add #################### session required pam_limits.so ################# Pam_limits End #################### EOF fi echo c1 "Pam_limits Check:" blue echo grep "pam_limits.so" /etc/pam.d/login echo c1 "8.4 编辑root用户环境变量:" blue echo ALIAS=$(grep "alias" /etc/profile) if [[ $ALIAS != "" ]]; then echo "ROOT PROFILE is already set" else cat >>/etc/profile <<"EOF" ################# Root Rrofile Add ############################ if [ $USER = "oracle" ] || [ $USER = "root" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi alias so='su - oracle' ################# Root Rrofile End ############################ EOF fi echo c1 "8.5 编辑oracle用户环境变量:" blue echo ALIAS=$(grep "alias" /home/oracle/.bash_profile) if [[ $ALIAS != "" ]]; then echo "ORACLE PROFILE is already set" else cat <>/home/oracle/.bash_profile ################ Oracle Profile Add ######################### umask 022 export TMP=/tmp export TMPDIR=$TMP export ORACLE_BASE=$ORACLE_BASETemp export ORACLE_HOME=$ORACLE_HOMETemp export TNS_ADMIN=$ORACLE_HOME/network/admin export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib export ORACLE_SID=$ORACLE_SIDTemp export PATH=/usr/sbin:$PATH export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH alias sqlplus='rlwrap sqlplus' alias rman='rlwrap rman' alias lsnrctl='rlwrap lsnrctl' alias asmcmd='rlwrap asmcmd' alias adrci='rlwrap adrci' alias sas='sqlplus / as sysdba' alias ggsci='rlwrap ggsci' alias alert='tail -500f $ORACLE_BASE/diag/rdbms/$ORACLE_SIDTemp/$ORACLE_SIDTemp/trace/alert_$ORACLE_SIDTemp.log|more' ################ Oracle Profile End ######################### EOF fi echo c1 "Oracle Profile Check:" blue echo cat /home/oracle/.bash_profile echo sleep 1 read -p "请检查以上设置是否存在错误,如发现错误,请修改后重新执行该脚本,如没有错误请按Enter键继续,Ctrl+C退出" sleep 1 ################################################################################### ## 9. 解压Oracle安装包 ################################################################################### echo echo "###################################################################################" echo c1 "9. 解压Oracle安装包:" red echo echo "###################################################################################" echo c1 "需要提前上传的安装包:" blue echo c1 "p13390677_112040_Linux-x86-64_1of7.zip" red c1 "p13390677_112040_Linux-x86-64_2of7.zip" red c1 "pdksh-5.2.14-37.el5.x86_64.rpm" red c1 "rlwrap-0.42.tar.gz" blue echo sleep 3 echo read -p "请确认您已经将ORACLE安装包上传至$Soft,上传后按Enter键继续" c1 "安装包正在解压中,等待时间比较久......" fr cd $Soft rpm -e ksh-20120801-33.el6.x86_64 >/dev/null 2>&1 rpm -ivh $Soft/pdksh-5.2.14-37.el5.x86_64.rpm >/dev/null 2>&1 unzip -q $Soft/$OracleSoft1 unzip -q $Soft/$OracleSoft2 tar -zxvf $Soft/rlwrap-0.42.tar.gz -C $Soft >/dev/null 2>&1 cd $Soft/rlwrap-0.42/ ./configure >/dev/null 2>&1 make >/dev/null 2>&1 make install >/dev/null 2>&1 c1 "安装包解压完成!" blue echo

四、生成db.rsp静默文件

#################################################################################### # 10. Edit ResponseFile Of Db.rsp #################################################################################### echo "###################################################################################" echo c1 "10. Edit ResponseFile Of Db.rsp:" red echo echo "###################################################################################" echo su - -c "echo 'oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0' >> ${Soft}/db.rsp" su - -c "echo 'oracle.install.option=INSTALL_DB_SWONLY' >> ${Soft}/db.rsp" su - -c "echo 'ORACLE_HOSTNAME='${HostName} >> ${Soft}/db.rsp" su - -c "echo 'UNIX_GROUP_NAME=oinstall' >> ${Soft}/db.rsp" su - -c "echo 'INVENTORY_LOCATION='$ORAINVENTORYTemp >> ${Soft}/db.rsp" su - -c "echo 'SELECTED_LANGUAGES=en' >> ${Soft}/db.rsp" su - -c "echo 'ORACLE_HOME='${ORACLE_HOMETemp} >> ${Soft}/db.rsp" su - -c "echo 'ORACLE_BASE='${ORACLE_BASETemp}>> ${Soft}/db.rsp" su - -c "echo 'oracle.install.db.InstallEdition=EE' >> ${Soft}/db.rsp" su - -c "echo 'oracle.install.db.EEOptionsSelection=false' >> ${Soft}/db.rsp" su - -c "echo 'oracle.install.db.optionalComponents=' >> ${Soft}/db.rsp" su - -c "echo 'oracle.install.db.DBA_GROUP=dba' >> ${Soft}/db.rsp" su - -c "echo 'oracle.install.db.OPER_GROUP=oper' >> ${Soft}/db.rsp" su - -c "echo 'oracle.install.db.CLUSTER_NODES=' >> ${Soft}/db.rsp" su - -c "echo 'oracle.install.db.isRACOneInstall=false' >> ${Soft}/db.rsp" su - -c "echo 'oracle.install.db.racOneServiceName=' >> ${Soft}/db.rsp" su - -c "echo 'oracle.install.db.config.starterdb.type=GENERAL_PURPOSE' >> ${Soft}/db.rsp" su - -c "echo 'oracle.install.db.config.starterdb.installExampleSchemas=false' >> ${Soft}/db.rsp" su - -c "echo 'oracle.install.db.config.starterdb.enableSecuritySettings=true' >> ${Soft}/db.rsp" su - -c "echo 'oracle.install.db.config.starterdb.globalDBName=' >> ${Soft}/db.rsp" su - -c "echo 'oracle.install.db.config.starterdb.SID=' >> ${Soft}/db.rsp" su - -c "echo 'oracle.install.db.config.starterdb.characterSet=' >> ${Soft}/db.rsp" su - -c "echo 'oracle.install.db.config.starterdb.memoryOption=false' >> ${Soft}/db.rsp" su - -c "echo 'oracle.install.db.config.starterdb.memoryLimit=' >> ${Soft}/db.rsp" su - -c "echo 'oracle.install.db.config.starterdb.password.ALL=' >> ${Soft}/db.rsp" su - -c "echo 'oracle.install.db.config.starterdb.password.SYS=' >> ${Soft}/db.rsp" su - -c "echo 'oracle.install.db.config.starterdb.password.SYSTEM=' >> ${Soft}/db.rsp" su - -c "echo 'oracle.install.db.config.starterdb.password.SYSMAN=' >> ${Soft}/db.rsp" su - -c "echo 'oracle.install.db.config.starterdb.password.DBSNMP=' >> ${Soft}/db.rsp" su - -c "echo 'oracle.install.db.config.starterdb.control=DB_CONTROL' >> ${Soft}/db.rsp" su - -c "echo 'oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL=' >> ${Soft}/db.rsp" su - -c "echo 'oracle.install.db.config.starterdb.automatedBackup.enable=false' >> ${Soft}/db.rsp" su - -c "echo 'oracle.install.db.config.starterdb.automatedBackup.osuid=' >> ${Soft}/db.rsp" su - -c "echo 'oracle.install.db.config.starterdb.automatedBackup.ospwd=' >> ${Soft}/db.rsp" su - -c "echo 'oracle.install.db.config.starterdb.storageType=' >> ${Soft}/db.rsp" su - -c "echo 'oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=' >> ${Soft}/db.rsp" su - -c "echo 'oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=' >> ${Soft}/db.rsp" su - -c "echo 'oracle.install.db.config.asm.diskGroup=' >> ${Soft}/db.rsp" su - -c "echo 'MYORACLESUPPORT_USERNAME=' >> ${Soft}/db.rsp" su - -c "echo 'MYORACLESUPPORT_PASSWORD=' >> ${Soft}/db.rsp" su - -c "echo 'SECURITY_UPDATES_VIA_MYORACLESUPPORT=false' >> ${Soft}/db.rsp" su - -c "echo 'DECLINE_SECURITY_UPDATES=true' >> ${Soft}/db.rsp" su - -c "echo 'PROXY_HOST=' >> ${Soft}/db.rsp" su - -c "echo 'PROXY_PORT=' >> ${Soft}/db.rsp" su - -c "echo 'PROXY_USER=' >> ${Soft}/db.rsp" su - -c "echo 'PROXY_PWD=' >> ${Soft}/db.rsp" su - -c "echo 'PROXY_REALM=' >> ${Soft}/db.rsp" su - -c "echo 'COLLECTOR_SUPPORTHUB_URL=' >> ${Soft}/db.rsp" su - -c "echo 'oracle.installer.autoupdates.option=SKIP_UPDATES' >> ${Soft}/db.rsp" su - -c "echo 'oracle.installer.autoupdates.downloadUpdatesLoc=' >> ${Soft}/db.rsp" su - -c "echo 'AUTOUPDATES_MYORACLESUPPORT_USERNAME=' >> ${Soft}/db.rsp" su - -c "echo 'AUTOUPDATES_MYORACLESUPPORT_PASSWORD=' >> ${Soft}/db.rsp" echo cat ${Soft}/db.rsp echo chown -R oracle:oinstall $Soft echo

五、Oracle软件静默安装

Oracle 11GR2单机一键部署(sh脚本)

#################################################################################### # 11. 静默安装ORACLE软件 #################################################################################### echo echo "###################################################################################" echo c1 "11. 静默安装ORACLE软件:" red echo echo "###################################################################################" echo su - oracle -c "${Soft}/database/runInstaller -silent -showProgress -ignoreSysPrereqs -ignorePrereq -responseFile ${Soft}/db.rsp" echo c1 "等待Successfully Setup Software.出现时,请按回车键继续" fr echo sleep 1 echo read -p "Oracle Software正在安装......" echo ##自动执行root.sh $ORAINVENTORYTemp/orainstRoot.sh $ORACLE_HOMETemp/root.sh ##设置sqlplus显示格式 echo set sqlprompt '&_user.@&_connect_identifier.>' >>$ORACLE_HOMETemp/sqlplus/admin/glogin.sql echo sleep 1 read -p "Oracle Software安装完成!按Enter键继续,Ctrl+C退出" echo

六、静默建库&启动监听

#################################################################################### # 12. dbca静默建库 #################################################################################### echo "###################################################################################" echo "12. dbca静默建库" echo echo su - oracle -c "dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname $ORACLE_SIDTemp -sid $ORACLE_SIDTemp -sysPassword $oraclePasswd -systemPassword $oraclePasswd -responseFile NO_VALUE -datafileDestination $ORADATATemp -redoLogFileSize 50 -storageType FS -listeners LISTENER -characterSet $CharacterSet -nationalCharacterSet $NationalCharacterSet -sampleSchema true -memoryPercentage 30 -totalMemory $MemOracle -databaseType OLTP -emConfiguration NONE" echo echo #################################################################################### # 13. 启动监听 #################################################################################### echo "###################################################################################" echo "13. 启动监听" echo echo sleep 1 echo read -p "请确认数据库实例已成功创建,按Enter键开始,Ctrl+C退出" echo ##如果监听文件已创建,则启动监听,否则静默创建监听 if [ -f /$ORACLE_HOMETemp/network/admin/listener.ora ]; then su - oracle -c "lsnrctl start" else su - oracle -c "netca -silent -responsefile ${Soft}/database/response/netca.rsp" fi echo echo c1 "恭喜您,数据库已创建成功!" red echo

七、脚本使用方式

1、touch一个sh脚本,将以上所有脚本按顺序放入其中。

2、根据实际情况,修改参数配置部分的IP,主机名,ORACLE_SID,oracle用户密码,字符集。

3、挂载磁盘镜像。

4、切换到root用户下,执行脚本,根据脚本提示进行操作。

sh 11GR2_auto_install.sh|tee 11GR2_auto_install.log

Oracle

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:计算机科学家眼中的Python程序之道
下一篇:Netty基础必备知识,ByteBuffer和ByteBuf底层原理
相关文章