开发者社区 > 云原生 > 正文

nacos 怎么适配oracle?

nacos 怎么适配oracle?

展开
收起
青城山下庄文杰 2023-10-26 17:09:22 463 0
3 条回答
写回答
取消 提交回答
  • Nacos可以通过以下步骤适配Oracle数据库:

    1. 准备Oracle数据库:确保你有可用的Oracle数据库,并且具有适当的权限来创建和管理表。

    2. 创建数据库表:在Oracle数据库中执行Nacos提供的DDL脚本,用于创建所需的表结构。

      Nacos会在运行时生成一些数据表,用于存储配置、服务、订阅等信息。你需要在Oracle数据库中创建这些数据表,并确保它们的结构与Nacos的要求一致。

    3. 配置Nacos:在Nacos的配置文件中,指定Oracle数据库的连接信息,包括数据库的地址、端口、用户名、密码等。

      Nacos会使用这些信息来连接到Oracle数据库,进行数据的读写操作。

    4. 测试Nacos:启动Nacos,并对其进行基本的测试,以确保Nacos能够正确地连接到Oracle数据库,并能够正常地进行数据的读写操作。

    2023-10-27 10:21:55
    赞同 展开评论 打赏
  • nacos适配oracle https://www.yzktw.com.cn/post/1442025.html

    nacos是一个可视化配置中心,用于管理各类配置信息。虽然nacos目前官方支持的数据库有MySQL和Derby,但是我们经常需要将系统与其他数据库整合。本文主要介绍如何将nacos配置中心与Oracle数据库整合运用,并实现nacos的数据存取。

    为了实现nacos适配Oracle,我们需要根据nacos源码进行修改。首先,在nacos的依赖项中,我们将MySQL驱动程序com.mysql.jdbc.Driver换成Oracle驱动程序oracle.jdbc.driver.OracleDriver。只需要在pom.xml文件中增加以下代码:

    com.oracle

    ojdbc8

    19.3.0.0

    在完成后端配置的修改后,我们还需要在前端进行相应的更改。比如,通过以下修改,在nacos的管理界面中实现对Oracle数据源的支持:

    //re-write SQLInterceptor configuration with Oracle dialect
    @Configuration
    public class OracleNacosDataSourceConfiguration extends SQLInterceptorConfiguration {
    @Bean
    @Primary
    public AbstractDataSource dataSource() {
    //替换Mysql的Abstract_datasource
    if (StringUtils.isEmpty(config.getDataSourcePassword())) {
    config.setDataSourcePassword(PASSWORD_NULL_SUFFIX);
    }
    JDBCDataSource dataSource = new JDBCDataSource();
    try {
    dataSource.setDriverClass("oracle.jdbc.driver.OracleDriver");
    dataSource.setURL(config.getDataSourceUrl());
    dataSource.setUser(config.getDataSourceUsername());
    dataSource.setPassword(StringUtils.isBlank(config.getDataSourcePassword()) ? "S9ZavxrL" : config.getDataSourcePassword());
    } catch (ClassNotFoundException e) {
    Loggers.SRV_LOG.error("can not find driver class: " + e.getMessage());
    throw new RuntimeException("can not find driver class");
    }
    return dataSource;
    }
    }
    以上配置改动后,我们可以开始进行nacos的部署工作。在部署时,我们需要将nacos与Oracle数据库连接起来。nacos的连接方式包括以下两种:

    1. 将nacos配置的JDBC URL切换到Oracle数据库
      以nacos版本1.3.1.GA为例,在conf/application.properties中,我们将MySQL连接方式改成Oracle连接方式,如下所示:

    MySQL

    spring.datasource.platform=mysql

    Oracle

    spring.datasource.platform=oracle

    Local Config

    spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
    spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
    spring.datasource.url=jdbc:oracle:thin:@localhost:1521:nacos
    spring.datasource.username=nacos
    spring.datasource.password=nacos
    spring.datasource.filters=stat
    spring.datasource.maxActive=50
    spring.datasource.validationQuery=SELECT 1 FROM DUAL
    spring.datasource.maxWait=60000
    spring.datasource.initialSize=5
    spring.datasource.minIdle=5
    spring.mycat.enable=false
    spring.mycat.configpath=

    Global Config

    nacos.core.auth.caching.enabled=false
    nacos.core.auth.cache.expireSeconds=10
    nacos.core.auth.system.username=workstation
    nacos.core.auth.system.password=S9ZavxrL
    nacos.core.auth.default.role.name=nacos_coder
    nacos.core.auth.default.role.descriptions=test
    nacos.core.auth.enable=false
    nacos.core.auth.rsa.publickeynopassword=false
    nacos.core.auth.filter.enabled=false
    nacos.core.auth.allow.external.registerandlogin=false
    nacos.core.auth.allow.modify.username=false
    nacos.core.feign.upstream.read.timeout=5000
    nacos.core.feign.upstream.connect.timeout=12000
    nacos.core.distro.taskDispatchThreadCount=16
    nacos.core.distro.taskDispatchPeriodSeconds=5
    nacos.core.distro.enable=false
    nacos.core.distro.taskDispatchRetryDelayMilliseconds=5000

    1. 在nacos的启动命令行中指定数据库连接URL
      我们可以通过命令行的方式启动nacos,并在其中指定Oracle连接URL,如下所示:

    sh startup.sh -m standalone -h localhost -p 8848 -db oracle -dburl jdbc:oracle:thin:@localhost:1521:nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000
    以上就是nacos适配Oracle数据库的一些详细操作。希望能对你的日常工作带来一些帮助!

    2023-10-26 17:18:28
    赞同 展开评论 打赏

阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。

相关电子书

更多
Oracle 和 MySQL 性能优化感悟 立即下载
workshop专场-微服务专场-开发者动手实践营-微服务-使用Nacos进行服务的动态发现和流量调度 立即下载
Nacos 启航,发布第一个版本, 云原生时代助力用户微服务平台建设 立即下载

相关镜像