文章目录

  • 前言
  • 一、准备工作
  • 二、操作步骤
    • 1.Centos7配置
    • 2.银河麒麟配置
  • 总结

前言

随着国产操作系统的逐步发展壮大,银河麒麟SERVER版操作系统也应用越来越多,它能够安装很多国产软件,比如达梦8数据库,但是由于内核的差异无法直接安装Oracle数据库,导致DM8数据库部分功能无法在银河麒麟操作系统上实现。

达梦8数据库中有一个外部链接的功能,叫DBLINK,该功能除了可以实时从达梦到达梦的数据库外,还可以配置Oracle到达梦的异构连接方式。

为此我研究了一下银河麒麟安装Oracle19c和达梦8,并配置了到另外一台centos7上的Oracle19c数据库。再对达梦8通过DBLINK来访问和操作Oracle19c上的数据。


一、准备工作

1、硬件规划:

硬件规划
服务器 配置 说明
Centos7虚拟机 2C/8G/300G 安装Oracle19c数据库
Kylin10虚拟机 2C/8G/300G 安装Oracle19c和达梦8数据库

2、软件规划:

名称 软件版本
Centos7镜像 CentOS-7-x86_64-DVD-1511.iso
Kylin10镜像 Kylin-Server-10-SP2-Release-Build09-20210524-x86_64.iso
Oracle数据库 LINUX.X64_193000_db_home.zip
DM8数据库 dm8_20211021_x86_kylin10_64_ent_8.1.2.70_pack5.iso
客户端软件 dbeaver + oracle-jdbc

3、网络规划:

服务器 IP
Centos7/oracle 192.168.197.130
KylinV10/DM8   192.168.197.129

4、文件路径规划:

数据库 主路径
Oracle19c /data/app/oracle
DM8 /opt/dmdbms

5、操作思路:

默认情况下银河麒麟操作系统是不支持Oracle19c的安装,会报2个错误:1、安装时会提示操作系统内核版本不符合安装要求无法安装。2、就算强制修改Oracle19c和操作系统的内核配置文件号,跳过此错误后会续因为lib文件版本不一致会导致Oracle19c安装文件编译失败。

2021年时我在银河麒麟SP1上安装过Oracle19c,采用的方法是在一台redhat7服务器上编译安装好oracle19c后,将整个文件夹压缩拷贝到银河麒麟SP1上,再重新配置NETCA和DBCA,最后即可正常安装Oracle19c数据库并进行了好几个星期的TPCC压测。

本次计划将centos7上安装好Oracle19c后,拷贝至银河麒麟SP2后进行相关的测试。

二、操作步骤

1.Centos7配置

  1. 安装操作系统;略过。
  2. 配置操作系统参数,包括:本地yum、关闭防火墙、关闭selinux、配置syctl和limits.conf等。略过。
  3. 新建Oracle用户和Oinstall组,并安装Oracle19c数据库,设置其环境变量。略过。数据库安装完成,如下图:

      数据库启动成功,如下图:

监听启动成功,如下图:

19c引入了PDB模式,默认情况下PDB数据库的用户名是要带一个$符号,而且改变了11g以前的密码加密方式,所以最好将19c的密码加密方式改成11g的模式。本次数据库安装目录为/data/app/oracle,所以通过如下方式修改:

vi /data/app/oracle/network/admin/sqlnet.ora

增加 SQLNET.ALLOWED_LOGON_VERSION=8。

如下图:

重启数据库:

进入pdb数据库,创建用户,并赋权

$sqlplus / as sysdba
SQL> show pdbs;
SQL> alter pluggable database ORCLPDB open;
SQL> alter session set container=ORCLPDB;SQL> create user testora identified by testora;SQL> grant dba to testora;

通过DBeaver来连接Oracle数据库,此软件为JAVA开发,采用的是JDBC的连接方式,第一次连接时需要配置JDBC驱动,如果联网的话该软件可以自动更新JDBC驱动。如果有其他ORACLE客户端也可以使用。连接成功:

在Oracle数据库中准备好相应的测试数据,

CREATE TABLE TESTORA.TEST_A1 (ID    INT
,  NAME  VARCHAR2(100)
);INSERT INTO TESTORA.TEST_A1 VALUES (1,'hanzi');
INSERT INTO TESTORA.TEST_A1 VALUES (2,'汉字');
INSERT INTO TESTORA.TEST_A1 VALUES (3,'汉zi');
COMMIT;

如下图:

压缩Oracle的整个目录:

tar -zcvf oracle19c.tar.gz /data/app/oracle

自此Centos7服务器安装配置工作完成。

2.银河麒麟配置

  1. 安装操作系统;略过。
  2. 配置操作系统参数,包括:本地yum、关闭防火墙、关闭selinux、配置syctl和limits.conf等。略过。
  3. 新建dmdba用户和dinstall组,并安装dm8数据库和实例,设置其环境变量。略过。
  4. 利用root更新Oracle需要的包。
yum install -y compat-libcap1
yum install -y gcc-c++.x86_64
yum install -y ksh
yum install -y libaio-devel.x86_64

5.创建与centos7服务器上相同的Oracle文件夹:

接着拷贝和解压缩Oracle文件

在dmdba用户下配置Oracle的环境变量:

第一次启动DBCA和sqlplus失败。我在银河麒麟SP1版本时没有出现此错误,到SP2版本的时候差异太多,需要一点一点的趟错误。

看错误提示是缺少libnsl,银河麒麟SP2中无此包,下载centos8的libnsl文件安装,提示缺少glibc,而实际上我们已经安装了glibc程序,可能SP2的glibc版本太高,我采用了强制安装。如下图:

安装好该包后,DBCA、NETCA、sqlplus和lsnrctl正常启动。

但是此处还有一个大坑:在DBCA工具中数据库无法正常安装和初始化。进Oracle的bin目录下,进行relink扫描,提示缺少 libpthread_nonshared.a 。从centos7服务器上的拷贝一个过来。

scp root@192.168.197.130:/usr/lib64/libpthread_nonshared* /usr/lib64

接着relink,显示一切正常。但是DBCA还是无法创建数据库,不折腾了,可能是glibc版本太高、缺少某个文件夹或者权限的问题。本次实验只要保障sqlplus正常即可。

在银河麒麟SP2的服务器上dmdba用户下利用sqlplus访问Centos7服务器上数据库成功:

sqlplus testora/testora@192.168.197.130:1521/ORCLPDB

6.接着要在DM8数据库服务器上安装DBLINK异构数据库插件,

利用root用户将dblink11g.tar.gz文件拷贝至DM8数据库的/usr/lib64下,并解压:

tar -zxvf dblink*.tar.gz

接着利用root运行:

cd /usr/lib64
./run.sh

7、通过DM8自带的manager工具,连接上数据库服务器,新建外部链接,测试成功:

8、访问Oracle上的表成功:

9、往Oracle数据库中插入一条测试记录,成功。

10、在Oracle端显示数据已经插入成功:


总结

以上就是今天要讲的内容,至此银河麒麟SP2上配置DM8数据库的DBLINK访问Oracle19c功能安装测试完成。另外:银河麒麟SP2上安装的sqlplus工具正常。

也带来了新的问题:银河SP1通过解压缩的方式来启动DBCA安装实例的方法在银河麒麟SP2上行不通,推测可能是银河麒麟SP2升级了glibc组件的问题导致,该组件又是操作系统的核心组件。

DM8在银河麒麟服务器上配置Oracle19c的DBLINK服务相关推荐

  1. 银河麒麟服务器操作系统 V10 SP1 开启SSH服务

    一.查看系统版本 nkvers 二.首先,确定银河麒麟服务器操作系统安装了openssh yum list installed | grep openssh 此处显示已经安装了openssh. 如果此 ...

  2. ubuntu 局域网dns服务器_如何在 Ubuntu 16.04 服务器上配置内网 DNS 服务

    DNS 1. 简介 本文使用 BIND9,用尽量少的步骤,搭建出一个可用的内网 DNS 服务.另外要说明的一点是,本文不仅适用于 Ubuntu 16.04,也使用其后的 Ubuntu 系统(截止到目前 ...

  3. 银河麒麟服务器版本搭建本地源2.0

    一.银河麒麟服务器版本搭建本地源2.0 1.官方源文件下载 下载银河麒麟服务器版本的所有rpm安装文件. 下载地址 http://update.cs2c.com.cn:8080/NS/ 我这里需要的是 ...

  4. 关于华为云平台上服务器虚拟机(银河麒麟服务器操作系统V10SP1)多网卡网络通信问题

    文章目录 一.问题背景 二.解决方法 1. 服务器虚拟机的网卡配置 2. 添加路由表和策略路由 3. 测试路由策略生效 4. 添加定时任务 5. 重启crond服务 一.问题背景 在某项目的华为云平台 ...

  5. 银河麒麟服务器操作系统V10SP2安装搭建OpenVP

    文章目录 系统环境 搭建步骤 安装OpenVPN服务端 安装Easy RSA套件 生成私钥和证书 OpenVPN服务端配置 OpenVPN客户端配置 连接测试 系统环境 一.OpenVPN服务器系统配 ...

  6. 银河麒麟服务器操作系统V10SP2搭建FTP服务端

    文章目录 系统环境 目标场景 搭建步骤 访问测试 系统环境 OS版本:银河麒麟服务器操作系统V10SP2(x86_64) FTP服务端:vsftpd-3.0.3-31 目标场景 ①设定FTP根目录为/ ...

  7. VMware虚拟机银河麒麟服务器系统与物理windows主机网络设置相互ping通处理方案之桥接

    关于虚拟机与物理主机网络设置的相互ping通问题,我已经踩过无数个坑了,于是,在经历再一次各种ping不通之后,忍无可忍,我决定将整个步骤以及注意的事项记录下来,以便后续的翻阅以及大家参考. 本次配置 ...

  8. 银河麒麟服务器操作系统V10SP3安装部署File Browser简易网盘

    文章目录 前言 系统环境 搭建步骤 下载并解压安装包 添加执行程序 创建配置文件 运行File Browser 系统防火墙配置 使用File Browser 访问File Browser 修改语言为中 ...

  9. 银河麒麟服务器操作系统(国防版),银河麒麟服务器操作系统V4

    银河麒麟服务器操作系统是在"863计划"和国家核高基科技重大专项支持下,研制而成的高安全.高可靠.高可用国产操作系统,系统实现对飞腾.龙芯.鲲鹏.兆芯.海光等自主CPU及x86平台 ...

最新文章

  1. linux内核和cpu指令集,Linux之父:Intel别浪费时间在AVX512这类指令集、多堆核心才是正道...
  2. mongodb 字符串转bson_BSON及mongoDB数据类型
  3. python request timeout是什么意思_request timeout是什么意思
  4. Ubuntu配置伪分布式hadoop时报错:localhost: mkdir: 无法创建目录/usr/local/hadoop/logs: 权限不够...
  5. 块存储,文件存储和对象存储
  6. Leetcode-199二叉树的右视图(二叉树左视图)
  7. web 应用开发最佳实践之一:避免大型、复杂的布局和布局抖动
  8. 解决表单提交的数据丢失问题
  9. Android性能优化 ---(6)自启动管理
  10. 【零基础学Java】—Map集合概述(四十三)
  11. java中虚拟机命令:jstack使用方法
  12. winform调用websocket_C#基于websocket的前台及后台实时推送
  13. Angular (Full App) with Angular Material, Angularfire NgRx 第3章
  14. 关于断点续传的那些事
  15. android mmkv使用_Android:MMKV 组件入门
  16. 安卓动画入门教程 Animation in Android(2)
  17. Network网络诊断工具for windows
  18. linux服务器防攻击脚本,防止服务器被攻击的妙招(推荐)
  19. 5java讲解(xy)
  20. [STM32F103C8T6] 超声波测距

热门文章

  1. 大数据—— Clickhouse 介绍与引擎的使用
  2. matlab实验思考,MATLAB实验.doc
  3. thinkpad t480 简介文章
  4. 哈工大计算机系王晓龙,林磊,讲师,2004获得哈尔滨工业大学计算机应用专业工学博士学位 ......
  5. 2021最新的高通骁龙处理器排名
  6. BZOJ1778: [Usaco2010 Hol]Dotp 驱逐猪猡
  7. 购物车里看中国:淘宝发布18年18件“时代宝贝”
  8. PicPick滚屏截图
  9. 菱形图案c语言程序,C语言程序设计,做一个菱形图案
  10. SprintBoot:Post请求的参数多一个逗号的解决方法