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.

安装完成

相关推荐
计算机安禾9 小时前
【数据库系统原理】第19篇:计算机存储层次结构与数据库文件的物理组织
数据库·oracle
JAVA面经实录91710 小时前
操作系统面试题
java·服务器·数据库·计算机网络·面试
摇滚侠10 小时前
mariadb-libs 被 mysql-community-libs-5.7.28-1.el7.x86_64 取代
数据库·mysql·mariadb
DIY源码阁11 小时前
JavaSwing饮品管理系统 - MySQL版
java·数据库·mysql·eclipse
专注搞钱11 小时前
GPT-4o写设备Recipe:从3小时到10分钟
数据库·人工智能·gpt·半导体
东风破13712 小时前
达梦数据库实战:备份恢复与数据迁移全攻略(实例初始化、服务注册、路径迁移)
数据库·chrome
SelectDB技术团队12 小时前
2026 SelectDB AI 产品发布会:Agent Native 数据基础设施能力全景发布
数据库·人工智能·agent·apache doris·selectdb
爱吃羊的老虎12 小时前
【数据库】模块一:数据库基础与关系代数
数据库
dishugj12 小时前
iSCSI + Multipath + ASM:Oracle RAC 共享存储技术链详解
数据库·oracle
yoothey13 小时前
MySQL事务机制解析 - 面试高分知识点
数据库·mysql·面试