Nacos适配Oracle12c
前言
网上文章Nacos适配Oracle的文章特别多,但是实际能用的少之又少,甚至是没有,本完整用于拯救急需Nacos适配Oracle的筒子们.
内容准备
- 数据库SQL
- 源码项目
数据SQL
数据SQL已经为大家准备好了,请前往另一个文章去观看下载即可.
Nacos适配Oracle12C-SQL文件
源码项目
执行下面的Git命令,将相关项目克隆下来
git clone https://github.com/alibaba/nacos.git -b feature_multiple_datasource_support
项目初始化
- 先用IDEA引入项目,File ->New->Moudule From Existing Sources
- 配置console模块的application.properties,在最底部补充数据库信息(如果出现问题,可以看文章最下面的其他问题,看看是否有相似的问题)
spring.data.jpa.repositories.enabled=true
spring.jpa.show-sql=true
## The datasource is used by oracle
spring.jpa.hibernate.naming.physical-strategy=com.alibaba.nacos.config.server.configuration.NacosPhysicalNamingStrategy
nacos.datasource.type=ORACLE
nacos.datasource.relational.dsList[0].url=jdbc:oracle:thin:@xxxx:1521:XE
nacos.datasource.relational.dsList[0].username=xxxx
nacos.datasource.relational.dsList[0].password=xxxx
nacos.datasource.relational.dsList[0].driver-class-name=oracle.jdbc.driver.OracleDriver
- 执行console模块的Nacos类,启动项目
- 停止项目,回到项目根目录,执行Maven命令
mvn -Prelease-nacos -Dmaven.test.skip=true -Dpmd.skip=true -Drat.skip=true -Dcheckstyle.skip=true clean install -U
提取Nacos启动包
- 首先查看Nacos模块下的distribution项目,在Target下面可以拿到三个文件夹
- 检查数据库连接信息,文件在nacos-server-1.4.2-SNAPSHOT->nacos->conf->application.properties
- 并且conf文件夹下面提供了三种数据库的初始化SQL,分别有mysql、oracle-12c、postgresql
启动Nacos
进入nacos-server-1.4.2-SNAPSHOT->nacos->bin目录,执行命令
Linux/Unix/Mac命令(非集群模式)
sh startup.sh -m standalone
如果您使用的是ubuntu系统,或者运行脚本报错提示[[符号找不到,可尝试如下运行:
bash startup.sh -m standalone
Windows命令(非集群模式)
startup.cmd -m standalone
尝试访问
我这边使用的是Windwos环境,直接使用浏览器访问即可,访问地址为
http://localhost:8848/nacos/ 他就会跳转登录页面,然后提示登录就好
其他问题
IDEA 报错找不到符号com.alibaba.nacos.consistency.entity
· 最简单的办法就是执行 mvn compile,原因是这个包目录是由protobuf在编译时自动生成
重新启动即可
The Network Adapter could not establish the connection
- 检查数据库链接是否可以链接,可以用Navicat测试
- 检查驱动名称是否写对
启动报错,检查一下是否为单机启动
如果没有配置,请添加启动配置-Dnacos.standalone=true
适配Oracle11g的问题
替换Oracle驱动版本
<!-- 12c -->
<dependency>
<groupId>com.oracle.ojdbc</groupId>
<artifactId>ojdbc8</artifactId>
</dependency>
<!-- 11g -->
<dependency>
<groupId>ojdbc</groupId>
<artifactId>ojdbc6</artifactId>
</dependency>
Nacos账号密码
默认的账号密码如下
账号:nacos
密码:nacos
启动脚本在Linux上报错
本问题是因为在Windows环境下写的Shell脚本
解决方法如下:
1.安装dos2unix。
#yum install dos2unix
2.使用dos2unix对脚本转换。
dos2unix xxx.sh
如果对你有帮助来个一键三连吧,tks