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

yizhihongxing

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日

相关文章

  • IIS运行错误 Server Application Error 错误代码 Error: 8004的解决方法

    下面是详细讲解“IIS运行错误 Server Application Error 错误代码 Error: 8004的解决方法”的完整攻略。 问题描述 在运行IIS时,出现了 Server Application Error 错误提示,错误代码为 Error: 8004。 问题原因 这个错误通常是由于IIS对应的应用程序池崩溃或停止而引起的。当IIS应用程序池…

    database 2023年5月21日
    00
  • SVN报错:Error Updating changes:svn:E155037的解决方案

    针对这个问题,我可以如下详细讲解解决方案的完整攻略: 问题描述 首先,我们来看一下这个问题的具体描述:当我们在使用SVN(Subversion)进行代码管理、版本控制时,有时候在提交或更新代码时可能会遇到如下的错误提示: Error Updating changes: svn:E155037: Previous operation has not finis…

    database 2023年5月18日
    00
  • Python3.7 pyodbc完美配置访问access数据库

    下面我将详细讲解如何配置Python3.7 pyodbc访问access数据库的完整攻略: 确认系统环境和安装必要的软件 在配置之前,我们需要确认系统的环境和安装必要的软件,主要包括以下几点: 确认系统为Windows操作系统; 确认已经安装正确版本的Python和pip; 确认已经安装Access数据库驱动程序; 确认已经安装pyodbc库。 配置Acce…

    database 2023年5月18日
    00
  • 解决Springboot项目启动后自动创建多表关联的数据库与表的方案

    解决 Spring Boot 项目启动后自动创建多表关联的数据库与表是一个常见的需求,可以通过以下几个步骤实现: 步骤一:引入依赖 首先需要在 pom.xml 中引入相关的依赖,如下所示: <dependency> <groupId>org.springframework.boot</groupId> <artifa…

    database 2023年5月21日
    00
  • 浅谈一次与sql注入 & webshell 的美丽“邂逅”

    浅谈一次与SQL注入 & webshell 的美丽“邂逅” 简介 本文将会探讨一次与SQL注入和webshell的“美丽邂逅”。通过这次经历,我们将深入了解什么是SQL注入和webshell,以及如何避免这些攻击,并保护网站的安全。 SQL注入 SQL注入是一种代码注入攻击,黑客通过输入恶意的SQL 代码来绕过Web应用程序的安全性,从而获得对数据库…

    database 2023年5月21日
    00
  • 使用pkg打包ThinkJS项目的方法步骤

    使用pkg工具可以将ThinkJS项目打包成一个可以在不需要安装Node.js的情况下直接运行的可执行文件,具体步骤如下: 步骤一:安装pkg 在终端中执行以下命令安装pkg: npm install -g pkg 步骤二:准备打包文件 首先需要确保ThinkJS项目已经正常运行。然后在项目根目录下创建以下文件: build.sh config.json 其…

    database 2023年5月22日
    00
  • wordpress数据库优化和清理冗余数据的方法

    WordPress数据库优化和清理冗余数据是保持网站运行效率的重要步骤。当数据库变得庞大时,网站运行速度会变慢,因此定期进行数据库优化和清理是非常有必要的。下面是数据库优化和清理冗余数据的完整攻略: 什么是数据库优化? 数据库优化是指通过对表结构、查询优化、内容清理等一系列操作来提高数据库性能,优化数据库的加载速度,以提高网站速度。通常通过压缩和重建数据表、…

    database 2023年5月19日
    00
  • 详解MySQL的半同步

    详解MySQL的半同步攻略 什么是半同步 MySQL的半同步(semi-sync)是一种保证MySQL主从同步数据一致性的机制。在主从复制中,数据库的写入操作会在主服务器上进行,然后将同步到从服务器。半同步的原理是在主服务器将事务提交到Binlog日志之后,等待至少一个从服务器返回Ack确认信息后再提交成功,从而确保主从数据的一致性。 MySQL的半同步是通…

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