仅用于自己搭建玩,或者测试、开发环境。生产环境须由dba搭建

安装包如下
在这里插入图片描述

阶段一:系统准备与配置

1. 上传安装包

将您下载的 LINUX.X64_193000_db_home.zip 文件上传到 CentOS 7 服务器的某个目录,例如 /opt

# 假设您使用 scp 或其他工具上传到了 /opt 目录
cd /opt
ls -l LINUX.X64_193000_db_home.zip
2. 安装必要的依赖包

安装所有必需的软件包。这将极大地简化依赖关系处理。

# 以 root 用户身份执行
rpm -ivh oracle-database-preinstall-19c-1.0-3.el7.x86_64.rpm

用yum命令安装提示缺少的依赖

yum install -y xxx xxx

如果由于某些原因无法使用 preinstall 包,您需要手动安装所有依赖并配置系统参数。使用 preinstall 包是最简单可靠的方式。

3. 配置 Oracle 用户环境

preinstall 包已经创建了 oracle 用户。我们需要设置其环境变量。

# 设置 oracle 用户的密码
passwd oracle

# 切换到 oracle 用户,并编辑其环境变量配置文件
su - oracle
vi ~/.bash_profile

.bash_profile 文件的末尾添加以下内容:

# Oracle Environment Settings
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/dbhome_1
export ORACLE_SID=orcl  # 您可以根据需要修改 SID
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8  # 设置字符集

保存并退出,然后使配置生效:

source ~/.bash_profile
4. 创建目录结构并解压安装包

按照环境变量中的设置创建目录,并解压安装包。

# 以 root 用户创建目录并授权
exit  # 从 oracle 用户退出回到 root
mkdir -p /u01/app/oracle/product/19.3.0/dbhome_1
chown -R oracle:oinstall /u01
chmod -R 775 /u01

# 将 zip 文件移动到 oracle 用户有权限操作的地方,或者直接更改属主
chown oracle:oinstall /opt/LINUX.X64_193000_db_home.zip

# 切换回 oracle 用户
su - oracle

# 解压安装包到 ORACLE_HOME 目录
cd $ORACLE_HOME
unzip /opt/LINUX.X64_193000_db_home.zip

解压过程需要一些时间,请耐心等待。


阶段二:安装 Oracle 19c 软件

5. 运行 Oracle 安装程序 (runInstaller)

我们将使用命令行模式安装,因为它比 GUI 更高效且更适合服务器环境。

cd $ORACLE_HOME
./runInstaller -silent \
   -responseFile /u01/app/oracle/product/19.3.0/dbhome_1/install/response/db_install.rsp \
   -ignorePrereqFailure \
   oracle.install.option=INSTALL_DB_SWONLY \
   UNIX_GROUP_NAME=oinstall \
   INVENTORY_LOCATION=/u01/app/oraInventory \
   ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1 \
   ORACLE_BASE=/u01/app/oracle \
   oracle.install.db.InstallEdition=EE \  # 企业版。SE2 为标准版
   oracle.install.db.OSDBA_GROUP=dba \
   oracle.install.db.OSBACKUP_GROUP=dba \
   oracle.install.db.OSOPER_GROUP=dba \
   oracle.install.db.OSKM_GROUP=dba \
   oracle.install.db.OSRACDBA_GROUP=dba \
   SECURITY_UPDATES_VIA_MYORACLESUPPORT=false \
   DECLINE_SECURITY_UPDATES=true

参数解释:

  • -silent: 静默安装模式。
  • -responseFile: 指定响应文件模板。
  • -ignorePrereqFailure: 忽略一些非致命的先决条件检查警告(对于 CentOS 非常有用)。
  • DECLINE_SECURITY_UPDATES=true: 必须设置为 true,否则安装会失败并要求您配置 My Oracle Support 凭证。
6. 执行配置脚本

需要以 root 身份运行,打开另一个终端,以 root 用户执行:

/u01/app/oraInventory/orainstRoot.sh
/u01/app/oracle/product/19.3.0/dbhome_1/root.sh

root.sh 脚本的最后,可能会提示 OKFinished。执行完成后,回到安装程序的终端,点击 “OK” 继续。

安装完成后,您会看到类似 “The installation of Oracle Database was successful” 的成功消息。


阶段三:创建数据库

7. 使用 DBCA 创建数据库

同样,我们使用静默模式通过 Database Configuration Assistant (DBCA) 创建数据库。

dbca -silent -createDatabase \
  -templateName General_Purpose.dbc \
  -gdbname ${ORACLE_SID} -sid ${ORACLE_SID} -responseFile NO_VALUE \
  -characterSet AL32UTF8 \
  -sysPassword sysPassword \  # 请替换为您的密码
  -systemPassword systemPassword \ # 请替换为您的密码
  -createAsContainerDatabase false \
  -storageType FS \
  -datafileDestination /u01/app/oracle/oradata \
  -enableArchive false \  # 生产环境建议开启
  -memoryMgmtType auto_sga \
  -totalMemory 2048 \  # 分配 2GB 内存,根据您系统内存调整
  -databaseType MULTIPURPOSE

注意:

  • 请务必将 sysPasswordsystemPassword 替换为强大且安全的密码。
  • -totalMemory 的值应根据您服务器的可用内存进行调整(单位是 MB)。建议为系统保留足够的内存。
8. 配置监听器 (Listener)

数据库创建完成后,通常会自动启动监听。但最好检查一下。

# 检查监听状态
lsnrctl status

# 如果监听没有启动,则启动它
lsnrctl start

阶段四:测试连接与设置开机自启

9. 测试数据库连接

使用 SQL*Plus 连接数据库,验证安装是否成功。

sqlplus sys/sysPassword@orcl as sysdba  # 使用您设置的密码

连接成功后,您应该会看到 SQL> 提示符。运行一个简单的查询:

SELECT name, open_mode FROM v$database;

退出 SQL*Plus:

EXIT
10. (可选) 配置 Oracle 服务开机自启

以 root 用户操作,配置 oratab 并创建服务文件。

# 1. 编辑 /etc/oratab,将最后的 N 改为 Y,让数据库随 Oracle 软件启动
vi /etc/oratab
# 将行: orcl:/u01/app/oracle/product/19.3.0/dbhome_1:N
# 修改为:orcl:/u01/app/oracle/product/19.3.0/dbhome_1:Y

# 2. 创建 systemd 服务文件
vi /etc/systemd/system/oracle-19c.service

将以下内容添加到 oracle-19c.service 文件中:

[Unit]
Description=Oracle Database 19c
After=network.target

[Service]
Type=forking
User=oracle
Group=oinstall
Environment="ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1"
Environment="ORACLE_SID=orcl"
ExecStart=/u01/app/oracle/product/19.3.0/dbhome_1/bin/dbstart $ORACLE_HOME
ExecStop=/u01/app/oracle/product/19.3.0/dbhome_1/bin/dbshut $ORACLE_HOME

[Install]
WantedBy=multi-user.target

保存后,启用服务:

systemctl daemon-reload
systemctl enable oracle-19c
# 启动服务测试
systemctl start oracle-19c

常见问题与故障排除

  1. 安装程序提示 “Permission denied”

    • 检查 /u01 目录及其所有子目录的所有者和权限是否为 oracle:oinstall
  2. 安装程序提示缺少依赖包(如 libnsl.so.1

    • 手动安装它:yum install -y libnsl。CentOS 8/Red Hat 8 之后这个库是分开的,preinstall 包可能没有包含。
  3. DBCA 创建数据库失败

    • 检查 /u01/app/oracle/cfgtoollogs/dbca/<gdbname> 目录下的日志文件,这是排查创建失败原因的最重要依据。
  4. sqlplus: command not found

    • 说明 ORACLE_HOME 环境变量未正确生效。重新执行 source ~/.bash_profile 或重新登录 oracle 用户。
  5. 监听器启动问题

    • 检查 $ORACLE_HOME/network/admin/listener.ora 文件是否配置正确。如果不存在,可以运行 netca 重新配置,或者 DBCA 通常会自动生成一个。

至此,您应该已经在 CentOS 7 上成功安装了 Oracle Database 19c。整个过程的关键在于细致的系统准备和正确的静默安装参数。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐