Centos 8.5 Oracle12c安装

由于多次安装踩坑,所以本次写了一份12c安装的完整版。可以直接使用。

一、安装数据库基本信息

名称

主机名

database

操作系统

CentOS Linux release 8.5.2111

Oracle用户名/密码

oracle

Oracle 版本

12c Enterprise Edition Release 12.2.0.1.0

oracle用户SID

orcl

PdbSID

orclpdb

ORACLE_BASE

/data/app/oracle

ORACLE_HOME

/data/app/oracle/product/12.2.0/db_1

IP

192.168.49.148/24

二、安装前环境准备

  1. 安装JDK

jdk上传到/tmp

tar  -zxvf  /tmp/openjdk-11+28_linux-x64_bin.tar.gz   -C  /opt/

echo "export JAVA_HOME=/opt/jdk-11

export PATH=\$JAVA_HOME/bin:\$PATH" >> ~/.bash_profile

. ~/.bash_profile

  1. 关闭防火墙

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service  #禁止firewall开机启动

systemctl status firewalld.service #查看firewall状态

  1. 修改主机名称

#/etc/hosts

echo "192.168.49.148 database">> /etc/hosts

#/etc/hostname

echo "database" > /etc/hostname

#/etc/sysconfig/network

echo "database" >> /etc/sysconfig/network

执行reboot重启环境

  1. 关闭selinux

改为SELINUX=disabled

sed -i 's/enforcing/disabled/g' /etc/selinux/config

  1. 修改阿里源(此处可不做)

备份原有的yum源文件,以便需要时恢复:

mv /etc/yum.repos.d/CentOS-* /tmp/

下载并安装阿里云的CentOS 8源配置文件

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo

清理缓存

yum clean all

执行以下命令生成缓存

yum makecache

  1. 安装依赖

yum -y install binutils

yum -y install gcc

yum -y install gcc-c++

yum -y install glibc

yum -y install glibc.i686

yum -y install glibc-devel

yum -y install glibc-devel.i686

yum -y install ksh

yum -y install libgcc

yum -y install libgcc.i686

yum -y install libstdc++

yum -y install libstdc++.i686

yum -y install libstdc++-devel

yum -y install libstdc++-devel.i686

yum -y install libaio

yum -y install libaio.i686

yum -y install libaio-devel

yum -y install libaio-devel.i686

yum -y install libXext

yum -y install libXext.i686

yum -y install libX11

yum -y install libX11.i686

yum -y install libxcb

yum -y install libxcb.i686

yum -y install libXi

yum -y install libXi.i686

yum -y install make sysstat

yum -y install libnsl.x86_64

  1. 检查依赖

rpm -q  binutils \

gcc \

gcc-c++ \

glibc \

glibc.i686 \

glibc-devel \

glibc-devel.i686 \

ksh \

libgcc \

libgcc.i686\

libstdc++ \

libstdc++.i686 \

libstdc++-devel \

libstdc++-devel.i686 \

libaio \

libaio.i686 \

libaio-devel \

libaio-devel.i686 \

libXext \

libXext.i686 \

libX11 \

libX11.i686 \

libxcb \

libxcb.i686 \

libXi \

libXi.i686 \

make sysstat \

libnsl.x86_64

  1. 用户/组配置

groupadd oinstall

groupadd oper

groupadd dba

groupadd backupdba

groupadd dgdba

groupadd kmdba

groupadd racdba

  1. 创建oracle用户

useradd -g oinstall -G oper,dba,backupdba,dgdba,kmdba,racdba -p `openssl passwd -1 "oracle"` -d /home/oracle oracle

  1. 环境变量设置

当前用户下(可不执行)

echo "export ORACLE_BASE=/data/app/oracle

export ORACLE_HOME=/data/app/oracle/product/12.2.0/db_1

export ORACLE_SID=orcl

# sqlplus 使用的一些.so文件

export LD_LIBRARY_PATH=\$ORACLE_HOME/stage/ext/lib

PATH=\$PATH:\$HOME/.local/bin:\$HOME/bin:\$ORACLE_HOME/bin

export PATH " >> ~/.bash_profile

. ~/.bash_profile

Oracle用户下:

su - oracle

echo "export ORACLE_BASE=/data/app/oracle

export ORACLE_HOME=/data/app/oracle/product/12.2.0/db_1

export ORACLE_SID=orcl

# sqlplus 使用的一些.so文件

export LD_LIBRARY_PATH=\$ORACLE_HOME/stage/ext/lib

PATH=\$PATH:\$HOME/.local/bin:\$HOME/bin:\$ORACLE_HOME/bin

export PATH " >> ~/.bash_profile

. ~/.bash_profile

  1. 内核参数

shmall=$(echo "`cat /proc/meminfo | grep "MemTotal" | awk '{print $2}'` / (`getconf PAGESIZE` / 1024)" | bc)

shmmax=$(echo "`cat /proc/meminfo | grep "MemTotal" | awk '{print $2}'` * 1024 * 0.8" | bc  | sed 's#\..*$##')

cat << EOF > /etc/sysctl.conf

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = $shmall

kernel.shmmax = $shmmax

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

EOF

sysctl -p

  1. 用户资源

修改/etc/security/limits.conf

cat << EOF > /etc/security/limits.conf

oracle   soft   nproc    131072

oracle   hard   nproc    131072

oracle   soft   nofile   131072

oracle   hard   nofile   131072

oracle   soft   stack    10240

oracle   hard   stack    32768

oracle   soft   memlock  50000000

oracle   hard   memlock  50000000

EOF

Login添加oracle信息

echo "session required /lib64/security/pam_limits.so

session required pam_limits.so" >> /etc/pam.d/login

三、oracle安装

  1. 解压12c安装包

建议安装文件放到/tmp

unzip  linuxx64_12201_database.zip

  1. 文件夹准备

mkdir -p /data/app/oracle/product/12.2.0/db_1

chown -R oracle:oinstall /data

安装:安装直接解压到database目录即可,进入database目录,用oracle用户运行

  1. 安装数据库

su  -  oracle

cd  /tmp/database/

./runInstaller -silent -force \

oracle.install.option=INSTALL_DB_SWONLY \

UNIX_GROUP_NAME=oinstall \

INVENTORY_LOCATION=/data/app/oraInventory \

ORACLE_HOME=/data/app/oracle/product/12.2.0/db_1 \

ORACLE_BASE=/data/app/oracle \

oracle.install.db.InstallEdition=EE \

oracle.install.db.isCustomInstall=false \

oracle.install.db.DBA_GROUP=dba \

oracle.install.db.OPER_GROUP=oper \

oracle.install.db.OSBACKUPDBA_GROUP=backupdba \

oracle.install.db.OSDGDBA_GROUP=dgdba \

oracle.install.db.OSKMDBA_GROUP=kmdba \

oracle.install.db.OSRACDBA_GROUP=racdba \

DECLINE_SECURITY_UPDATES=true

  1. root.sh:运行root2个脚本(root用户)

su  -

/data/app/oraInventory/orainstRoot.sh

/data/app/oracle/product/12.2.0/db_1/root.sh

  1. 创建并启动监听

su  - oracle

cd $ORACLE_HOME

netca -silent -responseFile `pwd`/assistants/netca/netca.rsp

  1. 查看状态

lsnrctl status

三、初始化实例(二选一)

方法一:使用资源文件

编辑assistants/dbca/dbca.rsp

gdbName=

SID=

templateName=General_Purpose.dbc

sysPassword=

systemPassword=

characterSet=

nationalCharacterSet=

初始化数据库

dbca -createdatabase -silent -responseFile `pwd`/assistants/dbca/dbca.rsp

方法二:使用命令参数

多租户(二选一,本次使用该配置)

dbca -silent -createDatabase \

 -templateName General_Purpose.dbc \

 -gdbname orcl -sid orcl -responseFile NO_VALUE \

 -characterSet AL32UTF8 \

 -sysPassword oracle \

 -systemPassword oracle \

 -createAsContainerDatabase true \

 -numberOfPDBs 1 \

 -pdbName orclpdb \

 -pdbAdminPassword oracle \

 -databaseType MULTIPURPOSE \

 -memoryMgmtType auto_sga \

 -totalMemory 1536 \

 -storageType FS \

 -datafileDestination "/data/app/oracle/oradata/" \

 -redoLogFileSize 50 \

 -emConfiguration NONE \

 -ignorePreReqs

注意:此处提示是密码设置过于简单,忽略。

简单配置(二选一,不带PDB库)

dbca -silent -createDatabase \

 -templateName General_Purpose.dbc \

 -gdbname orcl -sid orcl -responseFile NO_VALUE \

 -characterSet AL32UTF8 \

 -sysPassword oracle \

 -systemPassword oracle \

 -emConfiguration NONE \

 -ignorePreReqs

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/236688.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java 基础学习(十五)集合排序、Lambda和Stream

1 集合排序 1.1 集合排序API 1.1.1 集合排序概述 集合排序是指对一个集合中的元素按照特定规则进行重新排列&#xff0c;以使得集合中的元素按照预定义的顺序呈现。 在集合排序中&#xff0c;通常需要定义一个比较规则&#xff0c;这个比较规则用于决定集合中的元素在排序后…

【Linux C | 文件I/O】文件的打开关闭 | open、creat、colse 函数

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; &#x1f923;本文内容&#x1f923;&a…

【LeetCode刷题笔记(11-1)】【Python】【和为 K 的子数组】【前缀和】【中等】

文章目录 引言和为 K 的子数组题目描述提示 解决方案1&#xff1a;【暴力枚举】解决方案2&#xff1a;【前缀和】结束语 和为 K 的子数组 引言 编写通过所有测试案例的代码并不简单&#xff0c;通常需要深思熟虑和理性分析。虽然这些代码能够通过所有的测试案例&#xff0c;但…

SQL进阶理论篇(十七):数据库主从同步的原理

文章目录 简介为什么需要主从同步主从同步的原理总结参考文献 简介 以MySQL数据库为例&#xff0c;在实际生产中&#xff0c;我们会如何对MySQL数据库进行性能优化呢&#xff1f; 比如说配合上Redis做缓存。Redis是一种高性能的内存数据库&#xff0c;而MySQL是一种基于磁盘文…

docker-compose安装Rocketmq总结,以及如何更换mq端口

默认你已经装好了docker哈 安装docker-compose sudo curl -L https://github.com/docker/compose/releases/download/1.25.1-rc1/docker-compose-uname -s-uname -m -o /usr/local/bin/docker-composechmod x /usr/local/bin/docker-composedocker-compose --version成功打印…

截断霍夫曼编码

截断霍夫曼编码是一种数据压缩技术&#xff0c;它基于霍夫曼编码的原理&#xff0c;通过截断霍夫曼树&#xff0c;减少编码中的冗余信息&#xff0c;实现更高效的数据压缩。在本文中&#xff0c;我们将详细探讨截断霍夫曼编码的原理、应用及其优势。 一、霍夫曼编码简介 霍夫曼…

12.21 汇编点亮STM32MP157小灯

.text .global _start _start: 时钟使能pb6 pf6 pe9LDR r0,0x50000A28LDR r1,[r0]ORR r1,r1,#(0x1<<4)ORR r1,r1,#(0x1<<5)ORR r1,r1,#(0x1<<1)STR r1,[r0]配置GPIO模式LDR r0,0x50006000LDR r1,[r0]BIC r1,r1,#(0x2<<20)ORR r1,r1,#(0x1<<20)B…

kubernetes集群应用 service进阶

kubernetes集群应用 Service进阶 一、场景 使用kubernetes集群运行工作负载时&#xff0c;由于Pod经常处于用后即焚状态&#xff0c;Pod对应的IP地址也会经常变化&#xff0c;因此我们不能直接访问Pod&#xff0c;可以通过Service对应的端点列表&#xff08;Endpoints&#x…

PaddleOCR Docker 容器快捷调用,快捷调用OCR API

文章目录 搞环境命令行测试Python调用测试转fastapi服务打包成镜像服务PaddleOCR 服务端模型总结&#xff0c;直接启动OCR服务 paddleOCR迎来大更新&#xff0c;搞一把新的api接口&#xff0c;直接用起来。 搞环境 搞容器&#xff1a; FROM nvidia/cuda:11.8.0-cudnn8-devel…

Python importlib模块详细教程

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com importlib模块是Python标准库中用于动态导入模块的工具。它提供了一系列函数&#xff0c;允许以编程方式加载、检查和操作模块。本文将深入探讨importlib的各种用法&#xff0c;并通过丰富的示例代码帮助你更好地…

华清作业day46

.text .global _start _start: led1 设置时钟使能 ldr r0,0x50000A28 ldr r1,[r0] orr r1,r1,#(0x1<<4) str r1,[r0]设置输出模式 ldr r0,0x50006000 ldr r1,[r0] bic r1,r1,#(0x3<<20) orr r1,r1,#(0x01<<20) str r1,[r0]设置推挽输出 ldr r0,0x5000600…

在QT Creator下用CMake编译GEOS库

最近&#xff0c;想要在C下编一个可用GDAL模块的地图管理系统&#xff0c;找来找去&#xff0c;找到了GEOS。GEOS&#xff08;Geometry Engine-Open Source&#xff09;开源几何引擎 是一个用于计算几何的JTS库的 C/C实现&#xff0c;专注于地理信息系统 &#xff08;GIS&#…

速通Python基础语法--语句篇

缩进和代码块 一 条件语句if/elif if的基本语法 示例 条件语句嵌套 练习1 练习2 二 空语句 三 while循环 示例 打印1-10 求1-100的和 求5! 求1-5的阶乘之和 四 for循环 for的基本语法 1~range[ ,) 五 continue/break continue:结束当前循环,继续下一次循环 break:结束整个循…

《每天一分钟学习C语言·四》文本读写操作及二进制读写

fopen(参数1,参数2)&#xff0c;第一个参数是要打开的文件名&#xff0c;文件名字符串&#xff0c;第二个参数用于制定文件打开模式的一个字符串。 注&#xff1a;如果要打开某个盘的文本如F盘test文件夹下的test.txt文本&#xff0c;则fopen(“F:\test\test.txt”,”r”); 程序…

AcWing算法进阶课-1.1.2Dinic/ISAP求最大流

算法进阶课整理 CSDN个人主页&#xff1a;更好的阅读体验 原题链接 题目描述 给定一个包含 n n n 个点 m m m 条边的有向图&#xff0c;并给定每条边的容量&#xff0c;边的容量非负。 图中可能存在重边和自环。求从点 S S S 到点 T T T 的最大流。 输入格式 第一行包…

本地websocket服务端结合cpolar内网穿透实现公网访问

文章目录 1. Java 服务端demo环境2. 在pom文件引入第三包封装的netty框架maven坐标3. 创建服务端,以接口模式调用,方便外部调用4. 启动服务,出现以下信息表示启动成功,暴露端口默认99995. 创建隧道映射内网端口6. 查看状态->在线隧道,复制所创建隧道的公网地址加端口号7. 以…

黑马头条--day07--app文章搜索

目录 一.安装elasticsearch 1.拉取镜像 2.创建存放数据及配置文件的文件夹&#xff0c;启动时挂载。 4.修改文件夹权限 5.启动容器 5.1参数解释 6.安装ik分词器 6.2测试一下Ik分词器 二.添加文章索引库 1查询所有的文章信息&#xff0c;批量导入到es索引库中 2)测试 …

深度盘点:除了BRC20外 这些公链潜力铭文也值得关注

近日的铭文市场风起云涌&#xff0c;除BRC20占据着市场70%以上的份额外&#xff0c;其他公链的铭文也在快速发展

Spring Boot + EasyUI 全屏布局(二)

一、创建一个Spring Boot EasyUI项目 Spring Boot EasyUI 创建第一个项目&#xff08;一&#xff09;_springboot整合easyui-CSDN博客 二、相关知识点总结 布局&#xff08;layout&#xff09;是有五个区域&#xff08;北区 north、南区 south、东区 east、西区 west 和中区…

Spring Boot学习随笔- 拦截器实现和配置(HandlerInterceptor、addInterceptors)、jar包部署和war包部署

学习视频&#xff1a;【编程不良人】2021年SpringBoot最新最全教程 第十三章、拦截器 拦截器 &#xff1a;Interceptor 拦截 中断 类似于javaweb中的Filter&#xff0c;不过没有Filter那么强大 作用 Spring MVC的拦截器是一种用于在请求处理过程中进行预处理和后处理的机制。拦…