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

Oracle11g安装打怪升级之路

2020-06-07 05:22 337 查看
#!/bin/bash
# -*- coding: UTF-8 -*-
# Filename: oracle_install.sh
# Description: Install the oracle database configuration document on the Linux system
# 脚本内容根据自己经常安装整理,可以正常安装,有感兴趣的小伙伴可以试试练练手,或许你缺的不是天赋,而是敢想敢练的野心,多动手多动脑多思考菜鸟也能成为大神,有问题可以联系我。
# Author: SERE

# 将系统自带的yum源改成备份(/etc/yum.repos.d)
for name in /etc/yum.repos.d/*.repo; do
mv $name $name.bak
done

# 开始配置YUM源,这里使用的是OEL网络源,网络源有时间太慢,可以下载OEL镜像,挂在本地配置yum源
echo -e "\033[32m开始配置本地YUM源\033[0m"
cat <<EOF >/etc/yum.repos.d/local.repo
[RHEL]
name=RHEL
baseurl=https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/
enabled=1
gpgcheck=0
EOF

chmod -R 755 /etc/yum.repos.d/local.repo
echo -e "\033[32m本地YUM源配置完成\033[0m"
yum clean all

# 配置oracle安装相关参数,此处使用oracle自带脚本
RPM=oracle-rdbms-server-11gR2
PACKAGE=`rpm -qa | grep $RPM`
if [ `rpm -qa | grep $RPM | wc -l` -ne 0 ];then
echo -e "\033[32mThe package already installed and latest version\033[0m"
else
echo "The package $RPM install"
yum install -y $RPM*
echo -e "\033[32mThe oracle-rdbms-server-11gR2-preinstall installation completed\033[0m"
fi

# /home/app/oracle目录下,所以需创建该目录:
mkdir -p /home/app/oracle
chown -R oracle:oinstall /home/app/oracle
chmod -R 755 /home/app/oracle
# 安装时数据放在/home/app/oracle/oradata目录下,所以需创建该目录:
mkdir -p /home/app/oracle/oradata
chown -R oracle:oinstall /home/app/oracle/oradata
chmod -R 755 /home/app/oracle/oradata
# 安装时还需要设置Inventory目录,所以需创建该目录:
mkdir -p /home/app/oraInventory
chown -R oracle:oinstall /home/app/oraInventory
chmod -R 755 /home/app/oraInventory
# 设置ORACLE_HOME目录
mkdir -p /home/app/oracle/product/11.2.0/dbhome_1
chown -R oracle:oinstall /home/app/oracle/product/11.2.0/dbhome_1
chmod -R 755 /home/app/oracle/product/11.2.0/dbhome_1
echo -e "\033[32m数据库安装所需目录创建完成 \033[0m"

# 注意:此处的/home/app/oracle为 oracle安装文件的实际存放路径,设置oracle帐号登录时环境(以下用oracle身份登录)。命令如下:
# vim /home/oracle/.bash_profile,
# 添加如下行:卸载重新安装加上export

cat <<EOF >/home/oracle/.bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

# User specific environment and startup programs

PATH=\$PATH:\$HOME/bin
export PATH
export ORACLE_BASE=/home/app/oracle
export ORACLE_HOME=\$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export LD_LIBRARY_PATH=\$ORACLE_HOME/lib
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export LANG=C
export PATH=\$PATH:\$ORACLE_HOME/bin:\$HOME/bin
EOF

echo -e "\033[32m查看oracle环境变量 \033[0m"
cat /home/oracle/.bash_profile
source /home/oracle/.bash_profile
echo -e "\033[32m查看ORACLE_BASE、ORACLE_HOME环境变量 \033[0m"
echo "ORACLE_BASE:$ORACLE_BASE"
echo "ORACLE_HOME:$ORACLE_HOME"

# 解压oracle 11g压缩包
if [ -d /home/database/ ]; then
du -sh /home/database
else
cd /home/
unzip linux_64_112010_database_1of2.zip
unzip linux_64_112010_database_2of2.zip
fi

echo -e "\033[32m数据库oracle安装包解压完成 \033[0m"
# 修改oracle用户密码
# echo -e "\033[32m修改oracle用户密码\033[0m"
echo "1" | passwd --stdin oracle &>/dev/null
echo "oracle用户默认密码:1,为了安全请及时修改"
# 切换oracle用户
echo -e "\033[32m数据库oracle11.2安装环境配置完成 \033[0m"

sleep 5

echo -e "\033[32m数据库进行静默安装配置\033[0m"
# 可以自定义手动安装,也可以静默安装,有时候服务器上没有安装图形化界面,为了简单方便就静默安装。
# 修改要使用的响应文件参数配置
cat <<EOF >/home/database/response/db_install.rsp
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_AND_CONFIG
ORACLE_HOSTNAME=localhost.localdomain
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/home/app/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/home/app/oracle/product/11.2.0/dbhome_1
ORACLE_BASE=/home/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.isCustomInstall=false
oracle.install.db.customComponents=oracle.server:11.2.0.1.0,oracle.sysman.ccr:10.2.7.0.0,oracle.xdk:11.2.0.1.0,oracle.rdbms.oci:11.2.0.1.0,oracle.network:11.2.0.1.0,oracle.network.listener:11.2.0.1.0,oracle.rdbms:11.2.0.1.0,oracle.options:11.2.0.1.0,oracle.rdbms.partitioning:11.2.0.1.0,oracle.oraolap:11.2.0.1.0,oracle.rdbms.dm:11.2.0.1.0,oracle.rdbms.dv:11.2.0.1.0,orcle.rdbms.lbac:11.2.0.1.0,oracle.rdbms.rat:11.2.0.1.0
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oinstall
oracle.install.db.CLUSTER_NODES=
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.globalDBName=orcl
oracle.install.db.config.starterdb.SID=orcl
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.memoryOption=true
oracle.install.db.config.starterdb.memoryLimit=512
oracle.install.db.config.starterdb.installExampleSchemas=false
oracle.install.db.config.starterdb.enableSecuritySettings=true
oracle.install.db.config.starterdb.password.ALL=oracle
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.dbcontrol.enableEmailNotification=false
oracle.install.db.config.starterdb.dbcontrol.emailAddress=
oracle.install.db.config.starterdb.dbcontrol.SMTPServer=
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=FILE_SYSTEM_STORAGE
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=/home/app/oracle/oradata
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=/home/app/oracle/fast_recovery_area
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=
EOF

echo -e "\033[32m数据库进行静默安装配置完成\033[0m"
echo -e "\033[32m用oracle用户登录系统\033[0m"
echo -e "\033[32m在终端执行./runInstaller -silent -ignorePrereq -responseFile /home/database/response/db_install.rsp\033[0m"
# 参数解释:
# -ignorePrereq 忽略运行先决条件检查。
# -silent 对于无提示模式下的操作, 输入内容可以是一个响应文件, 也可以是命令行变量值对的列表。
# -showProgress 用于在控制台上显示安装进度。仅在无提示安装下才支持此选项。
# -responseFile 指定要使用的响应文件和路径。
# 开始安装(用oracle用户登录安装,不能用root登录切换oracle用户)执行该程序开始安装,需要执行export LANG=C以防止中文乱码
export LANG=C

# 以下内容为数据库(oracle 11g)安装后开机自启动设置,命令如下:
# 在/etc/oratab将N修改Y
# orcl:/home/app/oracle/product/11.2.0/dbhome_1:N
# orcl:/home/app/oracle/product/11.2.0/dbhome_1:Y
# sed -i 's/:N/:Y/' /etc/oratab
# 在/etc/rc.d/rc.local加上以下两段(目录为oracle安装路径)
# cat <<EOF >>/etc/rc.d/rc.local
# su oracle -lc "/home/app/oracle/product/11.2.0/dbhome_1/bin/lsnrctl start"
# su oracle -lc /home/app/oracle/product/11.2.0/dbhome_1/bin/dbstart
# EOF
# 数据库(oracle 11g)已安装完成,开机验证一下自启动,谢谢您能浏览到最后。
# For Dream,We're Studying!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: