CentOS系统上安装配置Oracle数据库的详细教程

CentOS系统上安装配置Oracle数据库的详细教程


1. 前置条件

  • CentOS系统(本教程基于CentOS 7)
  • Oracle数据库zip安装文件(下载地址: https://www.oracle.com/database/technologies/oracle-database-software-downloads.html)
  • 配置好的YUM源

2. 安装依赖包

在安装Oracle数据库之前,需要先安装一些系统依赖包。

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

3. 安装配置Oracle数据库

  1. 解压Oracle数据库zip包

unzip /path/to/oracle/database.zip -d /path/to/destination/

  1. 创建安装响应文件db_install.rsp

```
[oracle@hostname ~]$ vi ~/db_install.rsp

oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v19.0.0
ORACLE_HOSTNAME={hostname}
ORACLE_UNQNAME={oracle_sid}
INVENTORY_LOCATION=/u01/app/oraInventory
SELECTED_LANGUAGES=en
ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.OSDBA_GROUP=dba
oracle.install.db.OSOPER_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
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
DECLINE_SECURITY_UPDATES=true
oracle.installer.autoupdates.option=SKIP_UPDATES

```

其中,{hostname}和{oracle_sid}需要分别替换为主机名和Oracle的SID。

  1. 运行安装文件

[oracle@hostname ~]$ /path/to/destination/database/runInstaller -silent -showProgress -ignoreSysPrereqs -responseFile ~/db_install.rsp

  1. 执行Oracle数据库配置脚本

[oracle@hostname ~]$ /u01/app/oraInventory/orainstRoot.sh
[oracle@hostname ~]$ /u01/app/oracle/product/19.3.0/dbhome_1/root.sh

4. 验证Oracle数据库安装

  1. 切换到Oracle用户

[oracle@hostname ~]$ su - oracle

  1. 启动Oracle

[oracle@hostname ~]$ sqlplus / as sysdba
SQL> startup

  1. 连接Oracle数据库

[oracle@hostname ~]$ sqlplus / as sysdba

  1. 查看Oracle版本

SQL> select * from v$version;

示例输出:

```
BANNER CON_ID


Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production 0
Version 19.3.0.0.0
```

说明Oracle数据库已成功安装并启动。

5. 配置Oracle数据库实例

在Oracle数据库中,实例是指由SGA和后台进程组成的一组内存结构和进程。通常需要为不同的应用程序配置不同的实例。

  1. 创建pfile

SQL> create pfile='/u01/app/oracle/product/19.3.0/dbhome_1/dbs/init{oracle_sid}.ora' from spfile;

  1. 编辑pfile

[oracle@hostname ~]$ vi /u01/app/oracle/product/19.3.0/dbhome_1/dbs/init{oracle_sid}.ora

修改以下参数:

db_name={oracle_sid}
db_domain={domain_name}
memory_target={memory_target}
sga_target={sga_target}
pga_aggregate_target={pga_target}
db_create_file_dest={datafile_dest}
db_recovery_file_dest={flash_recovery_dest}
db_recovery_file_dest_size={flash_recovery_dest_size}

  1. 启动实例

SQL> startup pfile='/u01/app/oracle/product/19.3.0/dbhome_1/dbs/init{oracle_sid}.ora';

  1. 查看实例状态

SQL> select instance_name,status from v$instance;

示例输出

```
INSTANCE_NAME STATUS


{oracle_sid} OPEN
```

说明实例已成功启动。

6. 配置Oracle数据库监听

Oracle数据库监听是监听来自网络上客户端连接请求的进程。客户端通过监听可以访问Oracle数据库实例。

  1. 编辑监听文件listener.ora

[oracle@hostname ~]$ vi /u01/app/oracle/product/19.3.0/dbhome_1/network/admin/listener.ora

添加以下内容:

LISTENER={oracle_sid}_listener
(
DESCRIPTION=
(
ADDRESS=(PROTOCOL=tcp)(HOST={ip})(PORT={port})
)
)

其中,{oracle_sid}需要替换为Oracle的SID,{ip}需要替换为主机的IP地址,{port}需要替换为监听的端口号。

  1. 编辑tnsnames.ora

[oracle@hostname ~]$ vi /u01/app/oracle/product/19.3.0/dbhome_1/network/admin/tnsnames.ora

添加以下内容:

{oracle_sid} =
(
DESCRIPTION=
(
ADDRESS=(PROTOCOL=tcp)(HOST={ip})(PORT={port})
)
(
CONNECT_DATA=
(
SERVICE_NAME={oracle_sid}
)
)
)

  1. 启动监听

[oracle@hostname ~]$ lsnrctl start {oracle_sid}_listener

示例输出:

```
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 01-JUN-2022 15:59:47
Copyright (c) 1991, 2019, Oracle. All rights reserved.
Starting /u01/app/oracle/product/19.3.0/dbhome_1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 19.0.0.0.0 - Production
System parameter file is /u01/app/oracle/product/19.3.0/dbhome_1/network/admin/listener.ora
Log messages written to /u01/app/oracle/product/19.3.0/diag/tnslsnr/hostname/{oracle_sid}_listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST={ip})(PORT={port})))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST={ip})(PORT={port})))
STATUS of the LISTENER


Alias {oracle_sid}_listener
Version TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date 01-JUN-2022 15:59:47
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Default Service {oracle_sid}
Listener Parameter File /u01/app/oracle/product/19.3.0/dbhome_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/product/19.3.0/diag/tnslsnr/hostname/{oracle_sid}_listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST={ip})(PORT={port})))
The listener supports no services
The command completed successfully
```

  1. 验证监听是否正常

[oracle@hostname ~]$ lsnrctl status {oracle_sid}_listener

示例输出:

```
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 01-JUN-2022 16:13:09
Copyright (c) 1991, 2019, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
STATUS of the LISTENER


Alias {oracle_sid}_listener
Version TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date 01-JUN-2022 15:59:47
Uptime 0 days 0 hr. 13 min. 21 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/19.3.0/dbhome_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/product/19.3.0/diag/tnslsnr/hostname/{oracle_sid}_listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST={ip})(PORT={port})))
The listener supports no services
The command completed successfully
```

说明监听已成功启动。

示例说明:

示例一: 安装Oracle数据库

小明需要在自己的CentOS7服务器上安装Oracle 19c数据库,并启动实例和监听,以便为自己的应用程序提供数据库服务。

他首先在Oracle官网下载了19c数据库zip安装文件,并解压到/u01/oracle/database目录下。

然后,他按照教程中的指导,依次安装了系统依赖包,创建了安装响应文件db_install.rsp,并运行安装文件,并执行了Oracle数据库配置脚本。

接下来,小明切换到Oracle用户,启动了Oracle数据库,并连接了Oracle数据库实例,并查看了Oracle版本。

最后,他为自己的应用程序配置了一个实例,并配置了监听。

示例二:验证Oracle数据库安装

小红在服务器上安装了Oracle数据库,并按照教程中的步骤启动了实例和监听。

为了验证数据库是否已经成功安装并启动,她使用sqlplus连接到了数据库实例,并查询了数据库版本信息,证明数据库已经成功安装并启动。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:CentOS系统上安装配置Oracle数据库的详细教程 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • 教你如何在windows与linux系统中设置MySQL数据库名、表名大小写敏感

    在Windows系统中设置MySQL数据库名、表名大小写敏感 在 Windows 系统中,MySQL 的数据库名和表名默认是不区分大小写的。但是,在一些特殊场景下,需要设置 MySQL 数据库名、表名大小写敏感。下面是具体的操作流程: 打开 MySQL 的配置文件 my.ini; 找到 [mysqld] 部分,添加以下两行配置: lower_case_tab…

    database 2023年5月22日
    00
  • MySQL性能优化的一些技巧帮助你的数据库

    MySQL性能优化攻略 1. 确定性能瓶颈 在进行MySQL性能优化时,第一步就是要确定数据库性能的瓶颈,然后针对性地进行解决。常见的MySQL性能瓶颈包括: CPU利用率过高 磁盘IO瓶颈 内存瓶颈 网络瓶颈 可以通过top命令或者MySQL自带的性能监控工具如SHOW GLOBAL STATUS、SHOW GLOBAL VARIABLES等来确定性能瓶颈…

    database 2023年5月19日
    00
  • 使用RestTemplate访问https实现SSL请求操作

    使用RestTemplate访问https实现SSL请求操作是非常常见的场景,本攻略将介绍如何使用RestTemplate实现这一功能。 准备工作 在进行RestTemplate访问https之前,我们需要准备以下环节:1. 证书:SSL通讯涉及到证书认证,因此我们需要将SSL证书下载至本地。可以联系网站管理员获取SSL证书。 安装SSL证书:下载完SSL证…

    database 2023年5月21日
    00
  • Mysql中TIMESTAMPDIFF函数的语法与练习案例

    MySQL中的TIMESTAMPDIFF函数可以用来计算两个时间点之间的差值,以特定的时间单位返回结果。该函数的语法如下: TIMESTAMPDIFF(unit, datetime1, datetime2) 其中,unit参数指定使用的时间单位,datetime1和datetime2分别指定待比较的两个时间点。以下是unit参数可以使用的值及其含义: MIC…

    database 2023年5月22日
    00
  • 如何使用Redis实现电商系统的库存扣减

    实现电商系统的库存扣减是 Redis 实战中很常见的需求之一。本篇文章将详细讲解如何使用 Redis 实现库存扣减。 1. 概述 Redis 是一个非常流行的键值对数据库,它可以非常快速地执行读写操作。在实现库存扣减中,我们可以使用 Redis 的原子性操作,通过 WATCH、MULTI 和 EXEC 命令来确保操作的原子性。 2. 实现过程 连接 Redi…

    database 2023年5月19日
    00
  • 详解MySQL数据库之触发器

    详解MySQL数据库之触发器 简介 触发器是MySQL数据库中的一种特殊的存储过程,是一种与表事件相关的代码块,可以在数据的插入、更新、删除等事件中被自动触发执行。触发器可以对数据的修改进行限制和控制,可以用来实现强制数据一致性、数据审核等功能。 创建触发器 使用CREATE TRIGGER关键字来创建一个触发器: CREATE TRIGGER trigge…

    database 2023年5月21日
    00
  • Oracle如何获取系统当前时间等操作实例

    接下来我将详细讲解如何在Oracle中获取系统当前时间以及其他相关操作的攻略。 获取当前时间 获取系统当前时间是Oracle数据库操作中非常常见的需求,在Oracle中可以使用SYSDATE函数来获取当前系统时间。具体操作如下: SELECT SYSDATE FROM DUAL; 上述SQL语句将会返回数据库当前的系统时间,例如: 2021-05-01 15…

    database 2023年5月21日
    00
  • Intellij IDEA连接Navicat数据库的方法

    Intellij IDEA是一款常用的Java集成开发环境,而Navicat则是一款常用的数据库管理工具。在日常开发中,我们常常需要使用它们来开发和管理我们的数据库。下面就为大家详细讲解“Intellij IDEA连接Navicat数据库的方法”的完整攻略。 环境准备 在进行连接前,需要确保以下几点: 安装好Intellij IDEA和Navicat数据库管…

    database 2023年5月18日
    00
合作推广
合作推广
分享本页
返回顶部