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日

相关文章

  • Linux下交互式与非交互式修改用户密码的例子

    下面是详细讲解Linux下交互式与非交互式修改用户密码的攻略。 一、修改用户密码的基本命令 Linux下修改用户密码的基本命令为passwd,用法如下: passwd [选项] [用户名] 其中,[选项]为可选项,常用的选项有: -l:锁定用户账号; -u:解除锁定用户账号; -d:删除用户密码,使其变为无密码状态; -e:让用户下次登录时必须强制修改密码;…

    database 2023年5月22日
    00
  • 如何使用Python实现数据库中数据的复杂查询?

    以下是使用Python实现数据库中数据的复杂查询的完整攻略。 数据库中数据的复杂查询简介 在数据库中,复杂查询是指从一个或多个表中检索数据的查询,同时还可以使用多个和运算符进行筛选和排序。在Python中,可以使用pymysql库连接到MySQL数据库,并使用SELECT语句实现复杂查询。 步骤1:连接到数据库 在Python中,可以使用pymysql库连接…

    python 2023年5月12日
    00
  • Linux下MYSQL 5.7 找回root密码的问题(亲测可用)

    下面就为大家详细介绍“Linux下MYSQL 5.7 找回root密码的问题(亲测可用)”的完整攻略。 一、前置条件 在进行密码找回之前,需要满足以下两个前置条件: 你必须具有root权限,或者以root身份登录。 你必须知道MySQL的数据目录的位置。 二、找回root密码的步骤 步骤1:停止MySQL服务 停止MySQL服务,可以使用以下命令: syst…

    database 2023年5月22日
    00
  • 如何合理使用数据库冗余字段的方法

    关于“如何合理使用数据库冗余字段的方法”的攻略,我们可以从以下几个方面来讲解: 1. 什么是数据库冗余字段? 数据库冗余字段指的是在数据库表中,为了增加查询时的效率或者为了满足业务需求,在一个表中出现重复的数据。冗余字段在很多情况下都是为了优化查询而存在的。 2. 冗余字段的使用条件 使用冗余字段,需要满足以下几个条件: 数据库表中存在业务上的冗余数据,即一…

    database 2023年5月19日
    00
  • 如何使用Python还原数据库?

    要使用Python还原数据库,可以使用Python的内置模块subprocess和mysql命令行工具。以下是使用mysql还原MySQL数据库的整攻: 还原数据库 要还原数据库,可以使用以下命令: “`bashmysql -u [username] -p [database_name] [backup_file].sql 其中,`[username]`是…

    python 2023年5月12日
    00
  • Docker中部署mysql服务的方法及遇到的坑

    下面为你介绍在Docker中部署mysql服务的方法及遇到的坑的完整攻略。 1. Docker中部署mysql服务的方法 1.1 Docker安装 如果你还没有安装Docker,可以参考Docker官网的指引进行安装:Get started with Docker 1.2 获取MySQL的镜像 可以通过Docker Hub获取MySQL的官方镜像,使用以下命…

    database 2023年5月18日
    00
  • Mysql事务处理详解

    Mysql事务处理详解 事务是什么? 事务(Transaction)指的是具有原子性的一组操作,要么全部成功,要么全部失败。在关系型数据库中,Mysql支持事务操作。 事务的基本要素 原子性(Atomicity):事务的所有操作要么全部成功,要么全部失败。 一致性(Consistency):事务执行过程中,数据库从一个一致性状态向另一个一致性状态变化。 隔离…

    database 2023年5月22日
    00
  • Linux系统设置开机自动运行脚本的方法实例

    一、Linux开机自动运行脚本的方法 在Linux系统中,我们可以通过编写脚本,实现系统开机自动运行一些指定的程序、服务等。以下是实现Linux开机自动运行脚本的方法: 将脚本文件复制到/etc/init.d/目录下,并加上可执行权限。例如,假设我们有一个脚本文件 test.sh,那么我们可以通过以下命令将其复制到 init.d 目录下: sudo cp t…

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