首页 > 数据库 >实战!oracle 19c一键安装脚本分享

实战!oracle 19c一键安装脚本分享

时间:2024-10-16 19:46:18浏览次数:9  
标签:app 一键 ORACLE export oracle soft 19c u01

#!/bin/bash
#一键安装oracle数据库
#修改主机名
hostnamectl set-hostname myoracle
#添加主机名与IP对应记录
public_ip=$(hostname -I| grep -o -e '[0-9]\{1,3\}.[0-9]\{1,3\}.[0-9]\{1,3\}.[0-9]\{1,3\}' |head -n 1)
node_name=$(hostname)
echo -e "${public_ip} ${node_name}">> /etc/hosts
cat /etc/hosts
#关闭Selinux
sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
setenforce 0
#关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld
# 获取当前所在目录位置
current_dir=$(pwd)
echo "当前所在目录位置: $current_dir"
# 目标路径
target_dir="/soft"
# 检查目标路径是否存在,如果不存在则创建
if [ ! -d "$target_dir" ]; then
    mkdir -p "$target_dir"
    echo "已创建目录: $target_dir"
fi
# 移动当前目录下的所有文件到目标路径
mv $current_dir/* $target_dir
echo "已将当前目录下所有文件移动至 $target_dir"
#添加离线yum源
cd /soft
tar -xvf oracle_repo.tar.gz
cd /soft/my_oracle_repo
rpm -ivh *.rpm --nodeps --force
#在线yum源
cd /etc/yum.repos.d/
rm -rf ./*
sleep 20
wget -O /etc/yum.repos.d/CentOS-Base.repo  http://mirrors.aliyun.com/repo/Centos-7.repo
#添加用户组及用户
groupadd -g 54321 oinstall
groupadd -g 54322 dba
groupadd -g 54323 oper
groupadd -g 54324 backupdba
groupadd -g 54325 dgdba
groupadd -g 54326 kmdba
useradd  -u 54321 -g oinstall -G dba,backupdba,dgdba,kmdba,oper oracle
echo "oracle" | passwd --stdin oracle
id oracle
chmod 644 /etc/sysctl.conf
#修改环境变量
cat <<EOF >>/etc/sysctl.conf
#ORACLE SETTING
fs.aio-max-nr = 1048576
fs.file-max = 6815744
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 = 1048586
kernel.panic_on_oops = 1
#(kernel.shmmax = 物理内存*1024*1024*1024-1)
kernel.shmmax = 2684354560
#控制共享内存页数(kernel.shmall = shmmax/4096)
kernel.shmall = 655360
#共享内存的最大数量
kernel.shmmni = 4096
#当系统内存使用90%的时候开始使用交换页面
vm.swappiness=10
#默认是100,增大这个参数设置了虚拟内存回收directory和i-node缓冲的倾向,这个值越大。越容易回收。
vm.vfs_cache_pressure=200
EOF
sysctl -p
chmod 644 /etc/security/limits.conf
cat <<EOF >>/etc/security/limits.conf
#ORACLE SETTING
#打开文件描述符大小
oracle soft nproc 16384
oracle hard nproc 16384
#单个用户可用的进程数
oracle soft nofile 16384
oracle hard nofile 65536
#进程堆栈段的大小
oracle soft stack 10240
oracle hard stack 32768
EOF
echo "none /dev/shm tmpfs defaults,size=3096m 0 0" >> /etc/fstab 
mount -o remount /dev/shm
chmod 644 /etc/profile
cat <<EOF >>/etc/profile
if [ $USER = "oracle" ]; then
   if [ $SHELL = "/bin/ksh" ]; then
       ulimit -p 16384
       ulimit -n 65536
    else
       ulimit -u 16384 -n 65536
   fi
fi
EOF
source /etc/profile
mkdir -p /u01/app/oracle
mkdir -p /u01/app/oraInventory
mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1
mkdir -p /soft
mkdir -p /u01/app/oracle/fast_recovery_area
chown -R oracle:oinstall /u01
chown -R oracle:oinstall /soft
chmod -R 775 /u01
chmod -R 775 /soft
cat <<EOF >>/home/oracle/.bash_profile
#for oracle
umask=022
export PS1
export TMP=/tmp
export LANG=en_US.UTF8
export TMPDIR=$TMP
export ORACLE_UNQNAME=cdb19c
export ORACLE_SID=cdb19c
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
export ORACLE_TERM=xterm
export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"
export NLS_LANG=AMERICAN_AMERICA.UTF8
#export PATH=.:$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_HOME/bin
export THREADS_FLAG=native
export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=\$ORACLE_HOME/JRE:\$ORACLE_HOME/jlib:\$ORACLE_HOME/rdbms/jlib
export ORACLE_OWNR=oracle        
export PATH=\$PATH:\$ORACLE_HOME/bin
EOF
source /home/oracle/.bash_profile
mv /soft/*.zip  /u01/app/oracle/product/19.0.0/dbhome_1 
cd /u01/app/oracle/product/19.0.0/dbhome_1
#解压oracle安装包
unzip LINUX.X64_193000_db_home.zip
mkdir -p /home/oracle/etc
chown -R oracle.oinstall /home/oracle/etc
cp  /u01/app/oracle/product/19.0.0/dbhome_1/install/response/* /soft/
chmod 777 /soft/*.rsp
chown -R  oracle:oinstall /soft
cat <<EOF >/soft/db_install.rsp
#软件版本信息
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v19.0.0
#安装选项-仅安装数据库软件
oracle.install.option=INSTALL_DB_SWONLY
#oracle用户用于安装软件的组名
UNIX_GROUP_NAME=oinstall
#oracle产品清单目录
INVENTORY_LOCATION=/u01/app/oraInventory
#oracle安装目录
ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
#oracle基础目录
ORACLE_BASE=/u01/app/oracle
#安装版本类型:企业版
oracle.install.db.InstallEdition=EE
#指定组信息
oracle.install.db.OSDBA_GROUP=dba
oracle.install.db.OSOPER_GROUP=oper
oracle.install.db.OSBACKUPDBA_GROUP=backupdba
oracle.install.db.OSKMDBA_GROUP=kmdba
oracle.install.db.OSRACDBA_GROUP=dba
oracle.install.db.OSDGDBA_GROUP=dgdba
EOF
chown -R  oracle:oinstall /soft/db_install.rsp
chmod 660 /soft/db_install.rsp
chown -R  oracle:oinstall /u01/app/oracle/product/19.0.0/dbhome_1
#开始安装oracle软件
su - oracle -c "/u01/app/oracle/product/19.0.0/dbhome_1/runInstaller -silent -responseFile /soft/db_install.rsp"
sleep 200
/u01/app/oraInventory/orainstRoot.sh
/u01/app/oracle/product/19.0.0/dbhome_1/root.sh
echo -e "\n\n****** start listener config  ******\n\n" 
cp /u01/app/oracle/product/19.0.0/dbhome_1/assistants/netca/netca.rsp /soft/
chmod 644 /soft/netca.rsp
cat <<EOF >>/soft/netca.rsp
[GENERAL]
RESPONSEFILE_VERSION="19.0"
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
sleep 60
#开始安装监听
su - oracle -c "/u01/app/oracle/product/19.0.0/dbhome_1/bin/netca -silent -responsefile /soft/netca.rsp"
echo -e "\n\n****** listener config completed ******\n\n"
cp /u01/app/oracle/product/19.0.0/dbhome_1/assistants/dbca/dbca.rsp /soft
chmod 644 /soft/dbca.rsp
cat <<EOF >>/soft/dbca.rsp
#响应文件版本号
responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v19.0.0
templateName=General_Purpose.dbc
gdbName=cdb19c
sid=cdb19c
createAsContainerDatabase=TRUE
numberOfPDBs=1
pdbName=pdb19c
pdbAdminPassword=Systiger123
sysPassword=Systiger123
systemPassword=Systiger123
datafileDestination=/u01/app/oracle/oradata
recoveryAreaDestination=/u01/app/oracle/fast_recovery_area
storageType=FS
characterSet=AL32UTF8
nationalCharacterSet=AL16UTF16
sampleSchema=true
totalMemory=2048
databaseType=OLTP
emConfiguration=NONE
EOF
sleep 60
echo -e "\n\n****** start db instance create ******\n\n" 
##开始建库
su - oracle -c "/u01/app/oracle/product/19.0.0/dbhome_1/bin/dbca -silent -createDatabase -templateName /u01/app/oracle/product/19.0.0/dbhome_1/assistants/dbca/templates/General_Purpose.dbc -responseFile NO_VALUE \
-gdbname cdb19c  -sid cdb19c \
-createAsContainerDatabase TRUE \
-numberOfPDBs 1 \
-pdbName pdb19c \
-pdbAdminPassword Systiger123 \
-sysPassword Systiger123 -systemPassword Systiger123 \
-datafileDestination '/u01/app/oracle/oradata' \
-redoLogFileSize 50 \
#-storageType FS \
-characterset AL32UTF8 -nationalCharacterSet AL16UTF16 \
-sampleSchema true \
-totalMemory 512 \
-databaseType OLTP  \
-emConfiguration NONE"
echo -e "\n\n****** db instance create complete ******\n\n"

欢迎关注公众号《小周的数据库进阶之路》,更多精彩知识和干货尽在其中。

标签:app,一键,ORACLE,export,oracle,soft,19c,u01
From: https://blog.csdn.net/qq_36936192/article/details/142919133

相关文章

  • MySQL8一键物理备份脚本分享
    一、Xtrabackup介绍xtrabackup是由Percona公司开发的一个用于MySQL数据库物理热备的工具,开源免费,目前官方最新版本是8.0.35,也支持8.0.37版本数据库,本文已经过测试。另外8.1,8.2和8.3也支持。它具有如下优点:(1)备份速度快,物理备份可靠;(2)在备份期间不间断地处理事务;(3)支持备份......
  • jeecgboot 3.7.1 一键将生成好的代码复制到前后端项目目录,并执行SQL插入菜单的python
    importshutilimportosimportmysql.connectorfrommysql.connectorimportErrorbase_dir="D:/pro/JeecgBoot-v3.7.1"code_dir="/gendcode"package_name="meetrice"#MySQL连接配置config={'user':'root......
  • LLAMAFACTORY:一键优化大型语言模型微调的利器
    人工智能咨询培训老师叶梓转载标明出处模型适配到特定的下游任务,通常需要进行微调(fine-tuning),这一过程往往需要大量的计算资源。为了解决这一问题,来自北京航空航天大学和北京大学的研究人员共同开发了LLAMAFACTORY,这是一个统一的框架,集成了多种前沿的高效训练方法,使得用户可......
  • Oracle NUMBER类型可以接受的最大值是多少?
    首发微信公众号:SQL数据库运维原文链接:https://mp.weixin.qq.com/s?__biz=MzI1NTQyNzg3MQ==&mid=2247486498&idx=1&sn=9c2cc6490d3799117366910ef95fbd42&chksm=ea375852dd40d14465adc718841c288fa8941aaf772a8957af9c4107e2d70841b80e5c9a3d98&token=74830047&lang......
  • 使用宝塔面板一键部署.NET Core
    都2024年了,搜了一下网上关于在宝塔上部署.netCore项目的,基本还是五六年前那一套: supervisor守护进程启动项目+ 新增静态站点+手动配置反向代理全套下来也挺麻烦的........前几天在一台闲置主机上安装了个宝塔面板版本是:9.0  发现网站选项里多了很多选项,万恶的是居......
  • Oracle 19c OCP 认证考试 083 题库(第2题)- 2024年修正版
    【优技教育】Oracle19cOCP083题库(Q2题)-2024年修正版考试科目:1Z0-083考试题量:85道(线下)通过分数:57%以上考试时间:150min(线下)本文为(CUUG原创)整理并解析,转发请注明出处,禁止抄袭及未经注明出处的转载。原文地址:http://www.cuug.com.cn/ocp/083kaoshitiku/38531279872.ht......
  • python批处理,一键打开vscode窗口,分别加载jeecg前后端项目,并运行前后端服务.
    importsubprocess#VsCode打开后端项目cmd1=["code","D:\pro\JeecgBoot-v3.7.1\jeecg-boot"]process1=subprocess.Popen(cmd1,stdout=subprocess.PIPE,shell=True)output1,_=process1.communicate()print(output1.decode('utf-8')......
  • IDEA一键启动多个微服务操作步骤
    前言我们在做微服务项目开发的时候,每次刚打开IDEA,就需要把各个服务一个个依次启动,特别是服务比较多时,逐个点击不仅麻烦还费时。下面来说一下如何一键启动多个微服务。操作步骤1.点击EditConfigurations2.点击“+”,选择Compound 3.添加你所需要一键启动的所有微服务模块,并为微服务......
  • 一键AI去除视频水印和字幕!关键还免费!
    我们做网创的,多多少少会去下载很多视频素材,但很多素材自己觉得非常好,但有那该死的水印和字幕就让人非常不爽,要么在剪辑的时候放大把字幕拉出屏幕外,又或者是用黑框该掉字幕,这着实影响美观!有什么办法可以直接去掉字幕和水印吗?答案是有的!今天就给大家分享这个神器:VideoSub......
  • 微信小游戏一键跳广G工具
    天再给各位铁子分享一个小游戏跳GG的工具咱今天分享的这款跳GG的小工具使用非常非常简单,几十秒的GG瞬间就木有了,总之就是一个字----爽~!首先打开这个小工具,小工具就十几个M。点击启动就行,剩下你就不需要管了:然后进入微信小程序找你要玩的小游戏,玩的过程中不管你是要增加复......