杰瑞科技汇

Oracle在Linux上安装步骤有哪些?

本教程将采用 静默安装 的方式,这是生产环境中最推荐的方式,因为它可重复、可自动化,且避免了图形界面可能带来的问题。

Oracle在Linux上安装步骤有哪些?-图1
(图片来源网络,侵删)

重要提示:软件版本兼容性

在开始之前,请务必确认你的操作系统和 Oracle 数据库版本是兼容的,Oracle 官方提供了一份详细的兼容性矩阵文档,本教程基于以下环境:

  • 操作系统: CentOS 7.9 (或 Red Hat Enterprise Linux 7.9)
  • Oracle Database: Oracle Database 19c (19.3) Enterprise Edition
  • 安装介质: LINUX.X64_193000_db_home.zip

请务必根据你的实际情况调整路径和参数。


第一步:准备工作

这是整个安装过程中最关键的一步,准备工作做得好,安装过程会非常顺利。

服务器硬件要求

  • 内存: 至少 2GB,推荐 4GB 或以上。
  • 交换空间: 至少为内存的 2 倍,但不超过 8GB。
  • 硬盘空间: /tmp 目录至少需要 1GB 的可用空间,数据库软件本身需要约 6GB,数据文件根据需求规划。

操作系统配置

a. 修改主机名

Oracle在Linux上安装步骤有哪些?-图2
(图片来源网络,侵删)

确保服务器有一个固定的、可解析的主机名。

# 查看当前主机名
hostname
# 修改主机名 (改为 oracle-db)
sudo hostnamectl set-hostname oracle-db
# 将主机名和 IP 地址添加到 /etc/hosts 文件中
# 假设你的服务器 IP 是 192.168.1.100
echo "192.168.1.100 oracle-db" | sudo tee -a /etc/hosts

b. 关闭防火墙和 SELinux

Oracle 安装过程中需要开放多个端口,为了简化,我们暂时关闭防火墙和 SELinux。在生产环境中,应正确配置防火墙规则和 SELinux 策略,而不是直接关闭。

# 停止并禁用 firewalld
sudo systemctl stop firewalld
sudo systemctl disable firewalld
# 临时关闭 SELinux (立即生效,重启后失效)
sudo setenforce 0
# 永久关闭 SELinux (需要重启服务器)
# 编辑 /etc/selinux/config 文件,将 SELINUX=enforcing 改为 SELINUX=disabled
sudo vi /etc/selinux/config

c. 创建 Oracle 用户和组

Oracle在Linux上安装步骤有哪些?-图3
(图片来源网络,侵删)
# 创建 oinstall 和 dba 组
sudo groupadd oinstall
sudo groupadd dba
# 创建 oracle 用户,并将其加入 oinstall 和 dba 组
sudo useradd -g oinstall -G dba oracle
# 为 oracle 用户设置密码
sudo passwd oracle

d. 配置内核参数

编辑 /etc/sysctl.conf 文件,添加以下内容:

sudo vi /etc/sysctl.conf
# Oracle Settings
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmall = 4194304
kernel.shmmax = 1073741824
kernel.shmmni = 4096
kernel.panic_on_oops = 1
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.ipv4.ip_local_port_range = 9000 65500
net.nf_conntrack_max = 1048576
fs.aio-max-nr = 32768

应用新的内核参数:

sudo sysctl -p

e. 配置系统限制

编辑 /etc/security/limits.conf 文件:

sudo 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
oracle hard stack 32768
oracle hard memlock 134217728
oracle soft memlock 134217728

f. 创建安装目录

我们将在 /opt 目录下创建 Oracle 的安装目录。

# 创建目录
sudo mkdir -p /opt/oracle/product/19c/dbhome_1
# 设置目录所有者
sudo chown -R oracle:oinstall /opt/oracle
# 设置目录权限
sudo chmod -R 775 /opt/oracle

安装必要的依赖包

sudo yum install -y binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel

配置 Oracle 用户环境

oracle 用户登录,并配置其环境变量。

# 切换到 oracle 用户
su - oracle

编辑 .bash_profile 文件:

vi ~/.bash_profile

在文件末尾添加以下内容:

# Oracle Settings
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19c/dbhome_1
export ORACLE_SID=ORCLCDB  # 全局数据库名 SID
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib64:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

使环境变量立即生效:

source ~/.bash_profile

第二步:下载和解压安装介质

  1. 下载软件: 从 Oracle 官网下载 LINUX.X64_193000_db_home.zip
  2. 上传软件: 使用 scpsftp 等工具将上传到服务器的 /tmp 目录。
  3. 解压软件:
# 确保在 oracle 用户下
su - oracle
# 进入 /tmp 目录
cd /tmp
# 解压
unzip LINUX.X64_193000_db_home.zip
# 将解压后的内容移动到 ORACLE_HOME
mv database/* $ORACLE_HOME/

第三步:创建响应文件

静默安装的核心是 响应文件,它告诉安装程序如何进行安装,我们将创建两个响应文件:一个用于创建数据库,一个仅安装软件。

a. 创建数据库响应文件 (dbca.rsp)

cd $ORACLE_HOME/assistants/dbca

创建 dbca.rsp 文件:

vi dbca.rsp

务必修改 GDBNAME, SYSPassword, SYSTEMPassword 等关键参数

# 指定响应文件的类型
RESPONSEFILE_VERSION = "19.3"
# 指定创建数据库,而不是仅安装软件
OPERATION_TYPE = "createDatabase"
# 指定数据库名和 SID
GDBNAME = "ORCLCDB"
SID = "ORCLCDB"
# 指定模板、字符集、管理选项
TEMPLATES = { "General_Purpose.dbc" }
CHARSET = "AL32UTF8"
CREATE_AS_CDB = true
NATIONAL_CHARSET = "AL16UTF16"
# 指定数据库管理选项
MEMORY_PERCENTAGE = "40"
EM_EXPRESS_PORT = 5500
DATAFILEDESTINATION = "/opt/oracle/oradata"
RECOVERYAREADESTINATION = "/opt/oracle/fast_recovery_area"
STORAGE_TYPE = "FS"
# 指定 SYS, SYSTEM, SYSBACKUP, SYSDG, SYSKM 用户的密码
# 所有密码必须相同
SYSPASSWORD = "YourStrongPassword"
SYSTEMPASSWORD = "YourStrongPassword"
SYSBACKUPPASSWORD = "YourStrongPassword"
SYSDGPASSWORD = "YourStrongPassword"
SYSKMPPASSWORD = "YourStrongPassword"

b. 创建静默安装响应文件 (db_install.rsp)

回到 oracle 用户的家目录。

cd ~

创建 db_install.rsp 文件:

vi db_install.rsp

务必修改 oracle.install.responseFileVersion, INVENTORY_LOCATION, ORACLE_BASE, ORACLE_HOME 等参数

# 指定响应文件版本
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v19.0.0
# 指定安装类型,只安装软件
oracle.install.option=INSTALL_DB_SWONLY
# 指定安装的 Oracle 产品
ORACLE_HOSTNAME=oracle-db
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/opt/oraInventory
ORACLE_BASE=/opt/oracle
ORACLE_HOME=/opt/oracle/product/19c/dbhome_1
oracle.install.db.InstallEdition=EE
oracle.install.db.OSDBA_GROUP=dba
oracle.install.db.OSBACKUPDBA_GROUP=dba
oracle.install.db.OSDGDBA_GROUP=dba
oracle.install.db.OSKMDBA_GROUP=dba
oracle.install.db.OSRACDBA_GROUP=dba
# 安全更新
DECLINE_SECURITY_UPDATES=true

第四步:执行静默安装

a. 运行安装程序

# 进入 $ORACLE_HOME 目录
cd $ORACLE_HOME
# 以静默模式运行安装程序,使用我们创建的响应文件
./runInstaller -silent -responseFile /home/oracle/db_install.rsp -ignorePrereq

b. 等待安装完成

安装过程会持续一段时间,屏幕上会显示安装进度,请耐心等待,直到看到以下成功信息:

...
The following configuration scripts need to be executed as the "root" user.
   /opt/oraInventory/orainstRoot.sh
   /opt/oracle/product/19c/dbhome_1/root.sh
...

c. 以 root 用户执行脚本

打开一个新的终端,root 用户登录,然后执行上面提示的两个脚本:

# 执行第一个脚本
sudo /opt/oraInventory/orainstRoot.sh
# 执行第二个脚本
sudo /opt/oracle/product/19c/dbhome_1/root.sh

第五步:使用 DBCA 静默创建数据库

a. 运行 DBCA

# 进入 $ORACLE_HOME/bin 目录
cd $ORACLE_HOME/bin
# 以静默模式运行 DBCA,使用我们创建的数据库响应文件
./dbca -silent -createDatabase -responseFile /opt/oracle/assistants/dbca/dbca.rsp

b. 等待数据库创建完成

这个过程也会持续一段时间,完成后,你会看到类似下面的输出,并提示数据库已成功创建。

...
   90% complete
   95% complete
   100% complete
   Look at the log file "/opt/oracle/cfgtoollogs/dbca/ORCLCDB/ORCLCDB.log" for further details.
...

第六步:验证安装

a. 检查监听器状态

lsnrctl status

你应该能看到监听器正在运行,并监听了 1521 端口。

b. 连接到数据库

使用 sqlplus 连接到数据库。

# 以 sysdba 身份连接
sqlplus / as sysdba
# 连接成功后,执行一些命令验证
SQL> select status from v$instance;
STATUS
------------
OPEN
SQL> exit

c. 检查 EM Express

在浏览器中访问 https://<your-server-ip>:5500/em,使用 SYSSYSTEM 用户登录,即可访问 Oracle Enterprise Manager Express。


第七步:卸载 (可选)

如果你想卸载 Oracle,可以按照以下步骤操作:

  1. 停止数据库和监听器:

    sqlplus / as sysdba
    SQL> shutdown immediate;
    SQL> exit;
    lsnrctl stop
  2. 使用 DBCA 删除数据库:

    # 创建一个删除数据库的响应文件 dbca_del.rsp
    # 内容类似 dbca.rsp,但 OPERATION_TYPE = "deleteDatabase"
    # GDBNAME = "ORCLCDB"
    # 执行删除
    dbca -silent -deleteDatabase -responseFile /home/oracle/dbca_del.rsp
  3. 使用 Universal Installer 卸载软件:

    # 进入 $ORACLE_HOME/oui/bin 目录
    cd $ORACLE_HOME/oui/bin
    # 运行卸载程序
    ./runInstaller -silent -deinstall -removeHome ORACLE_HOME=$ORACLE_HOME -ignorePrereq
  4. 以 root 用户执行脚本: 卸载程序完成后,同样需要以 root 用户执行它提示的脚本。

  5. 手动清理: 删除 /opt/oracle 目录和 /etc/oratab 等文件。

分享:
扫描分享到社交APP
上一篇
下一篇