1. 一键安装oracle11g数据库

1.Oracle11gR2数据库安装
https://edu.csdn.net/course/detail/27750

2.Oracle 12c 数据库安装
https://edu.csdn.net/course/detail/35882

3.Oracle 19c 数据库一键安装
https://edu.csdn.net/course/detail/39198

4.Oracle 19c RAC For Linux安装部署 (视频讲解)
https://edu.csdn.net/course/detail/35792

5.oracle 19c 数据库基础和日常管理
https://edu.csdn.net/course/detail/36112

6.Oracle 11g DataGuard RAC集群到单节点部署
https://edu.csdn.net/course/detail/35959

7.Oracle数据库 底层原理解析_解析oracle数据库内部实现(视频讲解)
https://edu.csdn.net/course/detail/35647

8.MySQL数据库基础实战教程
https://edu.csdn.net/course/detail/26743


文章目录

  • 前言
  • 一、Oracle11g数据库安装
  • 二、使用步骤
    • 1.脚本内容
    • 2.执行安装
  • 总结


前言

Oracle数据库在Linux系统上安装步骤比较多,为了方便Oracle数据库的安装,编写了以下脚本,简化了Oracle数据库的安装。


一、Oracle11g数据库安装

脚本是使用shell编写,使用的时候只要按照实际情况修改脚本前面的变量,然后上传Oracle软件到Linux系统,执行shell脚本即可。

二、使用步骤

1.脚本内容

内容如下:

#!/bin/bash

## 数据库安装步骤 ##
## 1.参数变量的设置
## 2.Linux操作系统配置
## 3.数据库软件安装和创建数据库

## 环境准备 ##
## 1.将ISO系统镜像上传到系统
## 2.将数据库软件上传到系统

if [ ! -d /opt/iso ]; then 
	mkdir /opt/iso #手动执行
fi

if [ ! -d /opt/oracle/sw ]; then 
	mkdir -p /opt/oracle/sw #手动执行
fi


## ISO系统镜像存放目录
export MY_DIRECTORY_ISO=/opt/iso
export MY_SOFT_ISO=CentOS-6.10-x86_64-bin-DVD1.iso
mount -o loop $MY_DIRECTORY_ISO/$MY_SOFT_ISO /mnt  >/dev/null 2>&1

echo " "
MY_EXEC=`mount | grep iso9660`
if [ ! -n "$MY_EXEC" ];then
	echo "Please Mount A CD ISO Image First"
	exit
else  
	echo "Mount A CD ISO Image Already"	
fi

##需要设置的参数
#本机服务器IP
export MY_SERVER_IP=192.168.1.10   #需要设置
#本机服务器主机名
export MY_HOSTNAME=db01   #需要设置
#ORACLE软件上传根目录
export MY_SOFT_BASE=/opt/oracle   #需要设置
#ORACLE软件安装根目录
export MY_DIR=/u01   #需要设置
#ORACLE SID变量
export MY_ORA_SID=orcl    #需要设置
#ORACLE SYS密码
export MY_ORA_PASSWD=oracle123    #需要设置
#ORACLE软件名
export MY_ORA_SOFT1=p13390677_112040_Linux-x86-64_1of7.zip    #需要设置
export MY_ORA_SOFT2=p13390677_112040_Linux-x86-64_2of7.zip    #需要设置


##----数据库软件和脚本存储目录----------
##ORACLE软件存放的目录
export MY_DIRECTORY_SOFT=$MY_SOFT_BASE/sw

##ORACLE脚本存放的目录
export MY_DIRECTORY_SCRIPT=$MY_SOFT_BASE/script

##----数据库软件安装相关配置----------
##ORACLE BASE目录
export MY_ORA_BASE=$MY_DIR/app/oracle

##ORACLE HOME目录
export MY_ORA_HOME=$MY_ORA_BASE/product/11.2.0/db_1

##ORACLE INVENTORY目录
export MY_INVENTORY_LOC=$MY_DIR/app/oraInventory

##数据文件存放目录
export MY_ORA_DATA=$MY_ORA_BASE/oradata

##判断ORACLE软件是否上传
if [ -f $MY_DIRECTORY_SOFT/$MY_ORA_SOFT1 ] && [ -f $MY_DIRECTORY_SOFT/$MY_ORA_SOFT2 ]; then 
	echo "Oracle Software Already Upload"
else
	echo "Please Upload Oracle Software First"
	exit
fi

##----服务器相关配置----------
##服务器内存大小G单位
export MY_MEMORY_GB=`free -g | grep Mem | awk '{print $2}'`

##根据内存计算内核参数大小
mkdir -p /tmp/confbak/yumbak/
mv /etc/yum.repos.d/*  /tmp/confbak/yumbak/  >/dev/null 2>&1

cat >> /etc/yum.repos.d/my.repo  <<EOF
[Oracle]
name=oracle_install
baseurl=file:///mnt/
gpgcheck=0
enabled=1
EOF
yum -y install bc   >/dev/null 2>&1

export MY_SHMMAX=`echo "$MY_MEMORY_GB*1024*1024*1024*0.9" | bc | awk -F "." '{print $1}'`
export MY_SHMALL=`echo "$MY_MEMORY_GB*1024*1024*1024*0.9/4096" | bc | awk -F "." '{print $1}'`


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

mkdir -p /tmp/confbak
rm -rf /tmp/confbak/*
echo " "
echo " "
echo -ne "Start Install Oracle"
for (( i = 1; i <= 6; i++ )) 
do  
        echo -ne ".";sleep 1;
done
echo " "

## 1.1 设置主机名
hostname $MY_HOSTNAME
sed -i '/^HOSTNAME=/d' /etc/sysconfig/network
echo "HOSTNAME=$MY_HOSTNAME" >> /etc/sysconfig/network
echo "1.1 Configure Hostname Completed."

## 1.2 修改hosts
cp /etc/hosts /tmp/confbak/hosts

> /etc/hosts
cat >> /etc/hosts <<EOF
127.0.0.1       localhost
$MY_SERVER_IP    $MY_HOSTNAME
EOF
echo "1.2 Configure Hosts Completed."


## 1.3 配置yum,安装数据库依赖包
yum -y install binutils compat-libcap1  compat-libstdc++-33 elfutils-libelf-devel gcc gcc-c++ glibc glibc-devel ksh libgcc libstdc++ libstdc++-devel libaio libaio-devel make sysstat unixODBC unixODBC-devel libXp xdpyinfo unzip >/dev/null 2>&1
echo "1.3 Install Rpm Software Completed."

## 1.4 关闭防火墙
service iptables stop   >/dev/null 2>&1
chkconfig --level 345 iptables off
echo "1.4 Disable Firewalld Service Completed."

## 1.5 关闭SELinux
cp /etc/selinux/config /tmp/confbak/config

sed -i '/^SELINUX=/d' /etc/selinux/config
echo "SELINUX=disabled" >> /etc/selinux/config
# cat /etc/selinux/config|grep "SELINUX=disabled"
setenforce 0 >/dev/null 2>&1
echo "1.5 Disable SELINUX Completed."


## 1.6 建立用户和组
if id -u oracle >/dev/null 2>&1; then
	echo "2.3 Oracle User Exists."
else
	groupadd oinstall   >/dev/null 2>&1
	groupadd dba   >/dev/null 2>&1
	groupadd oper   >/dev/null 2>&1
	useradd -g oinstall -G dba,oper oracle  >/dev/null 2>&1
	echo oracle123 | passwd --stdin oracle  >/dev/null 2>&1
	echo "1.6 User Created Completed."
fi

## 1.7 创建相关目录
mkdir -p $MY_ORA_HOME
chown -R oracle:oinstall $MY_DIR/app
chmod -R 775 $MY_DIR/app
echo "1.7 Oracle Directories Created Completed."

## 1.8 修改内核参数
cp /etc/sysctl.conf /tmp/confbak/sysctl.conf

cat >> /etc/sysctl.conf  <<EOF
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmmni = 4096
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 = 1048576
kernel.shmmax = $MY_SHMMAX
kernel.shmall = $MY_SHMALL
EOF

sysctl -p  >/dev/null 2>&1
echo "1.8 Configure Linux Kernal Parameter Completed."

## 1.9 修改文件限制
cp /etc/security/limits.conf /tmp/confbak/limits.conf

cat >> /etc/security/limits.conf   <<EOF
oracle              soft    nproc   2047
oracle              hard    nproc   16384
oracle              soft    nofile  1024
oracle              hard    nofile  65536
oracle              soft    stack   10240
EOF
echo "1.9 Configure Linux Resource Limit Completed."

## 1.10 修改ulimit
cp /etc/profile /tmp/confbak/profile

cat >> /etc/profile  <<EOF
if [ $USER = "oracle" ]; then
    if [ $SHELL = "/bin/ksh" ]; then
        ulimit -p 16384
        ulimit -n 65536
    else
        ulimit -u 16384 -n 65536
    fi
fi
EOF
echo "1.10 Configure Linux Profile Env Completed."

## 1.11 修改oracle用户环境变量
su - oracle -c "
cat >> /home/oracle/.bash_profile  <<EOF
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_HOSTNAME=$MY_HOSTNAME; export ORACLE_HOSTNAME
ORACLE_UNQNAME=$MY_ORA_SID; export ORACLE_UNQNAME
ORACLE_BASE=$MY_ORA_BASE; export ORACLE_BASE
ORACLE_HOME=$MY_ORA_HOME; export ORACLE_HOME
ORACLE_SID=$MY_ORA_SID; export ORACLE_SID
PATH=/usr/sbin:$PATH; export PATH
PATH=$MY_ORA_HOME/bin:$PATH; export PATH
LD_LIBRARY_PATH=$MY_ORA_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$MY_ORA_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
EOF
"
echo "1.11 Configure Oracle Env Completed."

## 1.12 解压数据库软件
echo "1.12 Start Unzip Oracle Software."
cd $MY_DIRECTORY_SOFT
rm -rf $MY_DIRECTORY_SOFT/database

unzip -q $MY_DIRECTORY_SOFT/$MY_ORA_SOFT1 && unzip -q $MY_DIRECTORY_SOFT/$MY_ORA_SOFT2 &
while true;
do 
	echo -n ".";sleep 1;
	MY_EXEC=`ps -ef | grep unzip | grep -Evi grep`
	if [ "$MY_EXEC" = "" ] 
	then
		break;
	fi 
done

echo " "

chown oracle.oinstall $MY_DIRECTORY_SOFT -R
echo "1.12 Unzip Oracle Software Completed."

## 2.1 创建数据库软件静默安装文件
mkdir -p $MY_INVENTORY_LOC
chown oracle.oinstall $MY_INVENTORY_LOC

if [ ! -d "$MY_DIRECTORY_SCRIPT" ]; then 
	mkdir -p $MY_DIRECTORY_SCRIPT
fi

cd  $MY_DIRECTORY_SCRIPT
rm -rf db_install.rsp
cat >> db_install.rsp   <<EOF
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0 
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=$MY_HOSTNAME
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=$MY_INVENTORY_LOC
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=$MY_ORA_HOME
ORACLE_BASE=$MY_ORA_BASE
oracle.install.db.InstallEdition=EE

oracle.install.db.EEOptionsSelection=false

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=$MY_ORA_SID
oracle.install.db.config.starterdb.SID=$MY_ORA_SID
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.memoryOption=true
oracle.install.db.config.starterdb.memoryLimit=1500
oracle.install.db.config.starterdb.installExampleSchemas=false
oracle.install.db.config.starterdb.enableSecuritySettings=true
oracle.install.db.config.starterdb.password.ALL=$MY_ORA_PASSWD
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=FILE_SYSTEM_STORAGE
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=$MY_ORA_DATA
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=$MY_ORA_BASE/fast_recovery_area
oracle.install.db.config.asm.diskGroup=
oracle.install.db.config.asm.ASMSNMPPassword=
oracle.install.db.isRACOneInstall=
oracle.install.db.racOneServiceName=
oracle.install.db.optionalComponents=
PROXY_REALM=
COLLECTOR_SUPPORTHUB_URL=
AUTOUPDATES_MYORACLESUPPORT_USERNAME=
AUTOUPDATES_MYORACLESUPPORT_PASSWORD=
oracle.installer.autoupdates.option=
oracle.installer.autoupdates.downloadUpdatesLoc=
MYORACLESUPPORT_USERNAME=
MYORACLESUPPORT_PASSWORD=
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
DECLINE_SECURITY_UPDATES=true
PROXY_HOST=
PROXY_PORT=
PROXY_USER=
PROXY_PWD=
EOF
chown oracle.oinstall $MY_DIRECTORY_SCRIPT -R
echo "2.1 Create Silent Configure File Completed."

## 2.2 静默安装数据库软件
#cd $MY_DIRECTORY_SOFT/database
echo "2.2 Start Install Oracle Software."
su - oracle -c "$MY_DIRECTORY_SOFT/database/runInstaller -ignorePrereq -ignoreSysPrereqs -ignoreDiskWarning  -silent -force -responseFile $MY_DIRECTORY_SCRIPT/db_install.rsp"  >/dev/null 2>&1

while true;
do 
	echo -n ".";sleep 2;
	MY_EXEC=`ps -ef | grep java | grep -Evi grep`
	if [ "$MY_EXEC" = "" ] 
	then
		break;
	fi 
done

echo " "
	
if [ $? -eq 0 ]; then
	sh $MY_INVENTORY_LOC/orainstRoot.sh  >/dev/null 2>&1
	sh $MY_ORA_HOME/root.sh  >/dev/null 2>&1
	
	NOW_DATE=`date +%Y-%m-%d`
	echo "Check  $MY_ORA_HOME/install/root_"$MY_HOSTNAME"_"$NOW_DATE"_xxx.log for the output of root script"
	echo " "
	echo "2.2 Install Oracle Software Completed."
else
  echo "2.2 Install Oracle Software Failed."
fi

## 2.3 静默配置数据库监听
cp $MY_DIRECTORY_SOFT/database/response/netca.rsp $MY_DIRECTORY_SCRIPT/netca.rsp
chown oracle.oinstall $MY_DIRECTORY_SCRIPT/netca.rsp
su - oracle -c "$MY_ORA_HOME/bin/netca -silent -responseFile $MY_DIRECTORY_SCRIPT/netca.rsp"  >/dev/null 2>&1
echo "2.3 Configure Oracle Listener Completed."

## 2.4 配置静默创建数据库文件
cd  $MY_DIRECTORY_SCRIPT
rm -rf dbca.rsp
cat >> dbca.rsp   <<EOF
[GENERAL]

[CREATEDATABASE]
RESPONSEFILE_VERSION = "11.2.0" 
OPERATION_TYPE = "createDatabase"
GDBNAME = "$MY_ORA_SID" 
SID = "$MY_ORA_SID"
TEMPLATENAME = "General_Purpose.dbc"
SYSPASSWORD = "$MY_ORA_PASSWD"
SYSTEMPASSWORD = "$MY_ORA_PASSWD"
DATAFILEDESTINATION = $MY_ORA_BASE/oradata
RECOVERYAREADESTINATION=$MY_ORA_BASE/fast_recovery_area
CHARACTERSET = "AL32UTF8"
NATIONALCHARACTERSET="AL16UTF16"
TOTALMEMORY = "4069"
STORAGETYPE = "FS"
LISTENERS = "LISTENER"
DATABASETYPE = "OLTP"
EOF
echo "2.4 Create Silent Configure File Completed."

## 2.5 静默创建数据库
mkdir $MY_ORA_BASE/oradata
mkdir $MY_ORA_BASE/fast_recovery_area
chown oracle.oinstall $MY_ORA_BASE/oradata
chown oracle.oinstall $MY_ORA_BASE/fast_recovery_area
chown oracle.oinstall $MY_DIRECTORY_SCRIPT/dbca.rsp
su - oracle -c "$MY_ORA_HOME/bin/dbca -silent -createDatabase -responseFile $MY_DIRECTORY_SCRIPT/dbca.rsp"
echo "2.5 Create Database Completed."

2.执行安装

如下:

将以上内容保存为 oracle11g_install.sh
su - oracle
chmod +x oracle11g_install.sh

执行安装
sh oracle11g_install.sh

总结

以上就是Oracle11g数据库安装的脚本,通过一键安装脚本,可以方便的在Linux系统安装Oracle数据库。

 Oracle数据库 底层原理解析 (解析oracle数据库内部实现)
https://edu.csdn.net/course/detail/35647

Oracle 19c RAC For Linux安装部署
https://edu.csdn.net/course/detail/35792

  • 4
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
### 回答1: 安装 Oracle 数据库需要先准备一些软件和配置,并且会涉及到一些系统设置,因此不能简单地写一个脚本来一键安装。下面是一些基本步骤,但是请注意,这只是一个概述,安装过程可能比这更复杂。 1. 准备安装所需的软件和配置,包括 Oracle 数据库软件安装包、Oracle 的环境变量配置文件、安装所需的系统库文件等。 2. 在系统上创建一个Oracle用户和组,并设置相应的权限. 3. 配置系统内核参数,使其满足 Oracle 数据库安装需求 4. 安装 Oracle 数据库软件,并进行初始化配置 5. 创建数据库并进行相应的配置。 6. 启动数据库并进行测试 7. 根据实际情况添加相应的脚本,例如开机自启动,设置监控等 请注意,以上步骤只是大致的描述,还需要根据实际环境进行调整,并且实际安装过程中还需要考虑很多细节问题。 ### 回答2: 编写一个shell脚本一键安装Oracle数据库的过程是比较复杂的,下面是一个简单的示例: ```bash #!/bin/bash # 检查是否为root用户 if [[ $EUID -ne 0 ]]; then echo "请使用root用户执行此脚本。" exit 1 fi # 设定Oracle安装相关参数 ORACLE_VERSION="XX.X.XX" ORACLE_EDITION="enterprise" ORACLE_INSTALL_DIR="/opt/oracle" ORACLE_SID="ORCL" # 下载Oracle安装文件 wget -P /tmp "http://www.oracle.com/xxx/xxx/xxx" # 解压缩安装文件 unzip /tmp/oracle_installer.zip -d /tmp # 运行Oracle自动安装脚本 /tmp/oracle_installer/install.sh -s RESPONSE_FILE=/tmp/oracle_installer/response_file.rsp # 运行Oracle配置助手 $ORACLE_INSTALL_DIR/oraInventory/orainstRoot.sh $ORACLE_INSTALL_DIR/product/$ORACLE_VERSION/dbhome_1/root.sh # 配置Oracle环境变量 echo "export ORACLE_HOME=$ORACLE_INSTALL_DIR/product/$ORACLE_VERSION/dbhome_1" >> /etc/profile echo "export ORACLE_SID=$ORACLE_SID" >> /etc/profile echo "export PATH=$ORACLE_HOME/bin:$PATH" >> /etc/profile source /etc/profile echo "Oracle数据库安装完成。" ``` 请注意,以上脚本只是一个示例,实际使用时需要根据Oracle安装文件的不同版本进行相应的修改。此外,需要提供一个包含Oracle安装参数的响应文件(response_file.rsp),其中包括数据库文件的位置、用户密码和其他安装选项。 ### 回答3: 编写一个Shell脚本实现一键安装Oracle数据库的步骤如下: 1. 首先,脚本需要检测操作系统的类型和版本,以确定所需的Oracle数据库安装程序和补丁; 2. 下载并解压数据库安装程序和补丁文件,可以使用wget或curl命令从Oracle官方网站获取; 3. 创建一个安装响应文件(Response File),其中包含数据库安装的配置选项; 4. 修改响应文件中的参数,根据实际需求配置数据库安装路径、端口、数据库名等信息; 5. 执行安装程序并使用安装响应文件作为配置的输入参数; 6. 等待安装程序完成数据库安装和配置; 7. 配置Oracle环境变量,将ORACLE_HOME、PATH和LD_LIBRARY_PATH添加到系统环境变量中; 8. 启动Oracle数据库实例,并检查是否成功启动; 9. 验证数据库的连接,可以使用sqlplus命令连接数据库并执行一些简单的查询语句; 10. 如果一切正常,则输出安装成功的提示信息; 11. 清理临时文件和安装程序。 编写这样一个一键安装脚本需要考虑到安装过程中的错误处理和异常情况处理,例如空间不足、权限不足、依赖软件未安装等。在脚本中可以加入合理的判断和处理逻辑,保证安装过程的稳定性和安全性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天才小犀牛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值