Oracle 单机和集群环境部署教程

news2024/9/22 22:34:09

目录

    • 一、Oracle 单机环境部署
      • 1. 环境准备
      • 2. 安装 Oracle Database
        • 2.1 下载 Oracle Database
        • 2.2 创建 Oracle 用户和组
        • 2.3 配置内核参数和系统限制
        • 2.4 解压和安装
        • 2.5 配置监听程序
        • 2.6 创建数据库
      • 3. 单机部署注意事项
    • 二、Oracle 集群环境部署 (Oracle RAC)
      • 1. 环境准备
      • 2. 安装 Grid Infrastructure
        • 2.1 下载和解压 Grid Infrastructure 软件
        • 2.2 运行 Grid Setup
        • 2.3 配置 ASM(Automatic Storage Management)
      • 3. 安装 Oracle Database RAC
      • 4. 集群部署注意事项
    • 三、Oracle 使用案例
      • 1. Java 示例:使用 JDBC 连接 Oracle
        • 1.1 添加 Maven 依赖
        • 1.2 编写 Java 代码
      • 2. Python 示例:使用 cx_Oracle 连接 Oracle
        • 2.1 安装 cx_Oracle
        • 2.2 编写 Python 代码
    • 总结
      • 部署过程中的注意事项

一、Oracle 单机环境部署

1. 环境准备

  • 操作系统:Linux(推荐 Oracle Linux、RedHat、CentOS 等),或 Windows Server。
  • Oracle 版本:Oracle Database 19c(推荐最新长期支持版本)。
  • 硬件要求
    • 内存:至少 8 GB。
    • 磁盘空间:至少 45 GB。
    • CPU:至少 2 核。

2. 安装 Oracle Database

2.1 下载 Oracle Database

从 Oracle 官网 下载适合你操作系统的 Oracle Database 19c 安装包。

2.2 创建 Oracle 用户和组

在 Linux 上,Oracle 需要独立的用户和组进行管理。

# 创建 Oracle 用户和组
sudo groupadd oinstall
sudo groupadd dba
sudo useradd -g oinstall -G dba oracle
2.3 配置内核参数和系统限制

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

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1073741824
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_default=262144
net.core.wmem_max=1048576

应用配置:

sudo sysctl -p

编辑 /etc/security/limits.conf,添加以下内容:

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
2.4 解压和安装
  1. 解压下载的 Oracle 软件包

    unzip linuxx64_193000_db_home.zip -d /u01/app/oracle/product/19.0.0/dbhome_1
    
  2. 切换为 Oracle 用户并运行安装程序

    sudo su - oracle
    cd /u01/app/oracle/product/19.0.0/dbhome_1
    ./runInstaller
    

安装过程将启动图形界面,按照提示完成安装。

2.5 配置监听程序
  1. 启动监听程序配置工具

    netca
    
  2. 按照提示完成监听程序的配置。

2.6 创建数据库

使用 dbca(Database Configuration Assistant)创建数据库:

dbca

选择创建数据库,设置 SID、存储选项等。

3. 单机部署注意事项

  • 系统资源配置:确保 Oracle 数据库有足够的内存和 CPU 资源。
  • 监听配置:确保监听程序配置正确,特别是外部访问时要注意开放端口。
  • 备份:配置 RMAN 进行定期备份,防止数据丢失。
  • 安全性:配置用户权限,确保数据库的安全访问。

二、Oracle 集群环境部署 (Oracle RAC)

Oracle Real Application Cluster (RAC) 允许多个服务器共享一个 Oracle 数据库实例,提供高可用性和负载均衡。

1. 环境准备

  • 操作系统:Linux(推荐 Oracle Linux)。
  • 集群节点数量:至少 2 台服务器。
  • 存储要求:共享存储(例如 ASM、NFS)。
  • 网络要求
    • 公共网络:所有节点之间的通信。
    • 私有网络:用于节点间心跳检测和数据传输。

2. 安装 Grid Infrastructure

Grid Infrastructure 提供集群服务和共享存储管理。

2.1 下载和解压 Grid Infrastructure 软件

下载 Grid Infrastructure 软件,并解压到每个节点。

unzip linuxx64_193000_grid_home.zip -d /u01/app/19.0.0/grid
2.2 运行 Grid Setup

oracle 用户身份执行以下命令:

cd /u01/app/19.0.0/grid
./gridSetup.sh

选择“Configure Oracle Grid Infrastructure for a Cluster”,并根据提示完成安装。

2.3 配置 ASM(Automatic Storage Management)

安装完成后,使用 asmca 配置 ASM 以管理共享存储。

3. 安装 Oracle Database RAC

  1. 解压 Oracle Database 软件

    解压 Oracle Database 安装包。

  2. 执行 Oracle 安装程序

    在每个节点上执行安装程序:

    ./runInstaller
    

    选择“Oracle Real Application Cluster”并安装。

4. 集群部署注意事项

  • 共享存储:确保所有节点能够访问共享存储。
  • 网络配置:配置私有网络和公共网络,确保集群通信正常。
  • 心跳检测:配置好节点之间的心跳检测机制,防止脑裂现象。
  • 高可用性:使用 Grid Infrastructure 提供的高可用功能,确保节点故障时自动故障转移。

三、Oracle 使用案例

1. Java 示例:使用 JDBC 连接 Oracle

1.1 添加 Maven 依赖

pom.xml 中添加 Oracle JDBC 驱动依赖:

<dependencies>
    <dependency>
        <groupId>com.oracle.database.jdbc</groupId>
        <artifactId>ojdbc8</artifactId>
        <version>19.8.0.0</version>
    </dependency>
</dependencies>
1.2 编写 Java 代码
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class OracleExample {
    public static void main(String[] args) {
        String url = "jdbc:oracle:thin:@localhost:1521:ORCLCDB";
        String user = "myuser";
        String password = "mypassword";

        try {
            Connection conn = DriverManager.getConnection(url, user, password);
            Statement stmt = conn.createStatement();
            ResultSet rs = stmt.executeQuery("SELECT * FROM employees");

            while (rs.next()) {
                System.out.println(rs.getString("name") + ", " + rs.getString("position"));
            }

            rs.close();
            stmt.close();
            conn.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

2. Python 示例:使用 cx_Oracle 连接 Oracle

2.1 安装 cx_Oracle
pip install cx_Oracle
2.2 编写 Python 代码
import cx_Oracle

def query_database():
    conn = cx_Oracle.connect("myuser/mypassword@localhost:1521/ORCLCDB")
    cursor = conn.cursor()

    cursor.execute("SELECT * FROM employees")

    for row in cursor:
        print(row)

    cursor.close()
    conn.close()

if __name__ == "__main__":
    query_database()

总结

通过以上步骤,我们完成了 Oracle 单机和集群环境的部署,并实现了 Java 和 Python 的简单连接示例。Oracle 数据库作为企业级数据库管理系统,适用于各种高可用性和高性能需求的场景。

部署过程中的注意事项

  • 硬件要求:确保服务器满足 Oracle 数据库的资源要求,尤其是 RAC 集群部署。
  • 网络配置:在集群环境下,确保网络配置正确,特别是节点间通信和存储访问。
  • 存储管理:在 RAC 中使用 ASM 管理共享存储,确保数据高效管理和安全性。
  • 安全性:配置用户权限、启用 SSL 和网络加密,确保数据安全。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2156022.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

7、论等保的必要性

数据来源&#xff1a;7.论等保的必要性_哔哩哔哩_bilibili 等级保护必要性 降低信息安全风险 等级保护旨在降低信息安全风险&#xff0c;提高信息系统的安全防护能力。 风险发现与整改 开展等级保护的最重要原因是通过测评工作&#xff0c;发现单位系统内外部的安全风险和脆弱…

【计网】从零开始掌握序列化 --- JSON实现协议 + 设计 传输\会话\应用 三层结构

唯有梦想才配让你不安&#xff0c; 唯有行动才能解除你的不安。 --- 卢思浩 --- 从零开始掌握序列化 1 知识回顾2 序列化与编写协议2.1 使用Json进行序列化2.2 编写协议 3 封装IOService4 应用层 --- 网络计算器5 总结 1 知识回顾 上一篇文章我们讲解了协议的本质是双方能够…

【JavaEE】多线程编程引入——认识Thread类

阿华代码&#xff0c;不是逆风&#xff0c;就是我疯&#xff0c;你们的点赞收藏是我前进最大的动力&#xff01;&#xff01;希望本文内容能帮到你&#xff01; 目录 引入&#xff1a; 一&#xff1a;Thread类 1&#xff1a;Thread类可以直接调用 2&#xff1a;run方法 &a…

SpringBoot+thymeleaf竞赛报名系统

一、介绍 > 这是一个基于Spring Boot的后台管理系统。 > 使用了Mybatis Plus作为持久层框架&#xff0c;EasyExcel用于Excel操作&#xff0c;Thymeleaf作为前端模板引擎。 > 界面简洁&#xff0c;功能丰富&#xff0c;完成度比较高&#xff0c;适用于JAVA初学者作…

安国U盘量产工具系列下载地址

来源地址&#xff08;访问需要科学工具&#xff09;&#xff1a;AlcorMP (Последняя версия ALCOR U2 MP v23.08.07.00.H) – [USBDev.ru] 版本列表&#xff1a; AlcorMP&#xff08;最新版本的 ALCOR U2 MP v23.08.07.00.H&#xff09; AlcorMP是在Alcor Mic…

SpringBoot项目License证书生成与验证(TrueLicense) 【记录】

SpringBoot项目License证书生成与验证(TrueLicense) 【记录】 在非开源产品、商业软件、收费软件等系统的使用上&#xff0c;需要考虑系统的使用版权问题&#xff0c;不能随便一个人拿去在任何环境都能用。应用部署一般分为两种情况&#xff1a; 应用部署在开发者自己的云服务…

数据集-目标检测系列-火车检测数据集 train >> DataBall

数据集-目标检测系列-火车检测数据集 train >> DataBall 数据集-目标检测系列-火车检测数据集 数据量&#xff1a;1W 想要进一步了解&#xff0c;请联系 DataBall。 DataBall 助力快速掌握数据集的信息和使用方式&#xff0c;会员享有 百种数据集&#xff0c;不断增加…

跟李沐学AI:注意力机制、注意力分数

目录 不随意线索 随意线索 注意力机制 非参注意力池化层 参数化的注意力机制 注意力机制总结 注意力分数 拓展到高维度 加性模型&#xff08;Additive Attention&#xff09; 点积注意力机制&#xff08;Dot Product Attention&#xff09; 注意力分数总结 不随意线…

vscode 顶部 Command Center,minimap

目录 vscode 顶部 Command Center 设置显示步骤: minimap设置 方法一:使用设置界面 方法二:使用命令面板 方法三:编辑 settings.json 文件 左侧目录树和编辑器字体不一致: vscode 顶部 Command Center Visual Studio Code (VSCode) 中的 Command Center 是一个集中…

240912-设置WSL中的Ollama可在局域网访问

A. 最终效果 B. 设置Ollama&#xff08;前提&#xff09; sudo vim /etc/systemd/system/ollama.service[Unit] DescriptionOllama Service Afternetwork-online.target[Service] ExecStart/usr/bin/ollama serve Userollama Groupollama Restartalways RestartSec3 Environme…

Python redis 安装和使用介绍

python redis安装和使用 一、Redis 安装1.1、Windows安装 二、安装 redis 模块二、使用redis 实例1.1、简单使用1.2、连接池1.3、redis 基本命令 String1.3.1、ex - 过期时间&#xff08;秒&#xff09;1.3.2、nx - 如果设置为True&#xff0c;则只有name不存在时&#xff0c;当…

fiddler抓包08_抓Android手机请求

课程大纲 手机抓包&#xff0c;电脑端的设置和IOS端相同&#xff0c;设置一次即可&#xff0c;无需重复设置。 前提&#xff1a;电脑和手机连接同一个局域网 土小帽电脑和手机都连了自己的无线网“tuxiaomao”。 Step1. 电脑端设置 ① 打开Fiddler - 开启抓包&#xff08;F12…

django项目——图片上传到阿里云OSS对象存储

文章目录 实现图片上传到阿里云OSS对象存储1. 创建阿里云OSS对象存储2. 查询获取接口访问key和秘钥3. 安装阿里云的SDK集成到项目中使用3.1 python直接操作oss23.2 django配置自定义文件存储上传文件到oss 实现图片上传到阿里云OSS对象存储 1. 创建阿里云OSS对象存储 开发文档…

重磅!人工智能等级考试来了,考试免费,上海落户可以加分

目录 简要介绍 一、关心的问题 1. 什么是上海市高等学校信息技术水平考试&#xff1f; 2. 考试分几个级别&#xff1f;有哪些科目&#xff1f; 3. 哪些人可以进行报名&#xff1f; 4. 每名学生可以报考几个科目&#xff1f; 5. 有没有考试大纲&#xff1f; 6. 考试是否有…

[笔记]23年度展会信息— 吊钩 起升机构

1.吊钩的规格参数 5吨吊钩重26公斤 10吨64公斤。 另外一套型号&#xff0c;更轻&#xff1a; 不确定是结构设计还是用钢材质达到了减重效果。 看看重载双滑轮吊钩&#xff1a; 50吨&#xff0c;400公斤&#xff0c;只是吊钩。 然后是行车吊钩与钢丝绳的直径。这在计算空载吊…

Web Components之继承

我们在使用Web Components自定义组件的时候&#xff0c;我们需要继承HTMLElement这个浏览器内置对象&#xff0c;但是如果我要一些高级封装&#xff0c;给组件内置一些方法的话。我们就需要使用继承的方式&#xff0c;在父类中实现基本功能的封装。 1 父类的封装 以下是我的继…

一文搞懂UEFI

Hi&#xff01;早哦。今天又是宠读者的一天&#xff0c;应允聊聊UEFI。 文章目录 前言UEFI是什么&#xff1f;传统BIOSBIOS作为标准BIOS作为实现BIOS的工作原理传统BIOS的局限性传统BIOS启动过程 BIOS VS UEFIUEFI&#xff1f;UEFI概念EFI 系统分区EFI 变量EFI 的启动过程EFI 变…

【高分系列卫星简介——高分三号卫星(GF-3)】

高分三号卫星&#xff08;GF-3&#xff09; 高分三号&#xff08;GF-3&#xff09;是我国首颗高分辨率、C频段、多极化合成孔径雷达&#xff08;SAR&#xff09;卫星&#xff0c;由中国空间技术研究院北京空间飞行器总部设计部研制&#xff0c;并于2016年8月10日成功发射。该卫…

thop计算模型复杂度(params,flops)

thop安装 -pip install thop在线安装失败 -离线安装 github网址&#xff1a; pytorch-OpCounter:Count the MACs / FLOPs of your PyTorch model. - GitCode python setup.py install 测试&#xff1a; from options import config as c import os os.environ["CUD…

【Flink实战】flink消费http数据并将数组展开多行

文章目录 一. 需求描述二. 方案思路1. 解决思路2. flink json 解析2.1. 通过json path解析非array数据2.2. 通过json path解析array数据 3. CROSS JOIN逻辑 三. 方案实现1. http json数据样例2. flink sql 说明 一. 需求描述 flink消费http接口的数据&#xff0c;将json中的数…