CentOS7安装Oracle数据库

一、关闭防火墙

systemctl stop firewalld

systemctl disable firewalld

sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

setenforce 0

二、修改主机名

hostnamectl set-hostname oracle

echo "127.0.0.1 oracle" >> /etc/hosts

三、安装Oracle所有依赖

yum install -y binutils gcc gcc-c++ glibc glibc-devel libaio libaio-devel libstdc++ libstdc++-devel make sysstat elfutils-libelf elfutils-libelf-devel ksh compat-libcap1 compat-libstdc++-33 libnsl libnsl-devel unixODBC unixODBC-devel net-tools

报错:Cannot find a valid baseurl for repo: base/7/x86_64

CentOS7源过期

修复:# 进入源目录

cd /etc/yum.repos.d/

备份旧源

mkdir backup

mv *.repo backup/

下载阿里云可用的 CentOS 7 最新源

curl -o CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

清理缓存

yum clean all

yum makecache

重新安装依赖,成功。

四、创建用户和组

groupadd oinstall

groupadd dba

useradd -g oinstall -G dba oracle

passwd oracle # 设置密码:q1w2e3@123!!!!!

五、配置内核参数

vi /etc/sysctl.conf

添加以下内容:

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 2097152

kernel.shmmax = 4294967295

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 = 1048586

生效

sysctl -p

​​​​​​​六、配置用户限制

vi /etc/security/limits.conf

添加:

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

oracle soft stack 10240

七、创建安装目录

mkdir -p /opt/oracle/product/19c/dbhome_1

mkdir -p /opt/oracle/oradata

mkdir -p /opt/oraInventory

chown -R oracle:oinstall /opt/oracle

chown -R oracle:oinstall /opt/oraInventory

chmod -R 775 /opt/oracle

八、配置Oracle环境变量

su - oracle

vi .bash_profile

添加:

export ORACLE_BASE=/opt/oracle

export ORACLE_HOME=$ORACLE_BASE/product/19c/dbhome_1

export ORACLE_SID=orcl

export PATH=ORACLE_HOME/bin:PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

生效:

source .bash_profile

Exit

九、下载安装包

把 LINUX.X64_193000_db_home.zip 上传到/opt/oracle/product/19c/dbhome_1

cd /opt/oracle/product/19c/dbhome_1

wget -c https://download.oracle.com/otn/linux/oracle19c/190000/LINUX.X64_193000_db_home.zip

授权:

chown -R oracle:oinstall /opt/oracle/product/19c/dbhome_1

十、安装Oracle 19c

1、切换oracle用户

必须切换

为什么不能用 root 装?

  • Oracle 强制规定 :只能用 oracle 用户安装
  • 用 root 直接装会 直接报错、安装失败、权限全乱

后期数据库无法启动、无法使用

su - oracle

cd /opt/oracle/product/19c/dbhome_1

2、解压

unzip LINUX.X64_193000_db_home.zip

3、静默安装(无图形界面)

./runInstaller -silent -ignorePrereqFailure \

oracle.install.option=INSTALL_DB_SWONLY \

ORACLE_HOSTNAME=oracle \

UNIX_GROUP_NAME=oinstall \

INVENTORY_LOCATION=/opt/oraInventory \

SELECTED_LANGUAGES=en,zh_CN \ ORACLE_HOME=/opt/oracle/product/19c/dbhome_1 \

ORACLE_BASE=/opt/oracle \

oracle.install.db.InstallEdition=EE \

oracle.install.db.DBA_GROUP=dba \

oracle.install.db.OPER_GROUP=dba \

SECURITY_UPDATES_VIA_MYORACLESUPPORT=false \

DECLINE_SECURITY_UPDATES=true

4、退出oracle用户

exit

5、执行脚本

/opt/oraInventory/orainstRoot.sh

/opt/oracle/product/19c/dbhome_1/root.sh

6、创建数据库实例

su - oracle

dbca -silent -createDatabase \

-templateName General_Purpose.dbc \

-gdbname orcl \

-sid orcl \

-SysPassword oracle123 \

-SystemPassword oracle123 \

-DatafileDestination /opt/oracle/oradata \

-RedoLogFileSize 500 \

-StorageType FS \

-CharacterSet AL32UTF8 \

-NationalCharacterSet AL16UTF16

7、启动监听

lsnrctl start

lsnrctl status

8、登录数据库测试

sqlplus / as sysdba

Startup

看到:Database opened.

安装完成

相关推荐
java1234_小锋29 分钟前
Redis 宣布正式接入 AI
数据库·人工智能·redis
这个DBA有点耶39 分钟前
数据融合平台的下一代形态:数据库内核自己就能融合,为什么还要ETL?
数据库·架构·aigc
数据库小学妹43 分钟前
MySQL大表怎么优化?2亿行表的分区归档与冷热分离实战
数据库·mysql·分库分表·分区表·数据库运维·冷热分离
91刘仁德1 小时前
RAG实战 - 向量数据库(Milvus)
数据库·milvus
资深技术分享员1 小时前
Geejing WebBuilder 日志、在线用户、系统监控,出问题时的三个第一现场
java·运维·数据库
我是小白呀2 小时前
n8n 实战:把 AcmeFlow 的 READY 事件接到 CRM 通知
数据库·人工智能·workflow
蓝速科技2 小时前
仓储盘点移动终端选型与蓝速科技 K10 实战方案
运维·数据库·人工智能·科技·材质
TLA技术2 小时前
LogMiner vs 裸日志解析(六):想提速,只能“堆实例”,结果把源库拖垮
数据库·oracle·flink·dba·迁移学习
学好statistics和DS2 小时前
数据库数据世界的逻辑基石:Armstrong公理系统全解析
数据库·数据库开发
IT古董2 小时前
《FDE前沿部署工程师实战教程》23 - Enterprise AI Event Bus:事件驱动、消息队列与AI工作流自动触发
大数据·数据库·人工智能