Oracle分布式数据库的垂直分片实例
目錄
- 前言
- 0 軟件版本
- 1 啟動監聽及數據庫
- 1.1 啟動數據庫示例
- 1.2 啟動監聽進程
- 2 建立表
- 2.1 在總部(Windows)建立全部員工的基本信息表和總部員工的工資信息表
- 2.2 在分部(CentOS)建立該分部的員工工資信息表
- 3 建立垂直分區視圖
前言
在之前的“Oracle分布式分片技術實現兩主機上的Oracle19c數據庫(CentOS7與windows10)之間建立鏈接,對數據庫進行水平分片”的基礎上,實現兩主機Oracle分布式數據庫垂直分片。
需求:
將所有職工的基本信息存放在總公司(win10的Oracle數據庫中),工資信息存放在各自公司(win10的Oracle數據庫中和CentOS7的Oracle數據庫中)。
思路:
對職工信息先進行垂直分片(分為基本信息和工資信息),再對工資信息進行水平分片。
0 軟件版本
OS:一臺Windows10的電腦和在其上搭建一臺CentOS7的虛擬機
數據庫:Oracle19c
圖形化工具:Navicat for Oracle
(建議直接從官網下載,也可以從我之前的博客中獲取,里面講述如何安裝和使用這些軟件)
1 啟動監聽及數據庫
在進行垂直分片前,需打開CentOS7中的Oracle數據庫及監聽服務
1.1 啟動數據庫示例
sqlplus / as sysdba SQL> startup1.2 啟動監聽進程
lsnrctl start2 建立表
(保證相同屬性的各字段名稱及類型相同)
2.1 在總部(Windows)建立全部員工的基本信息表和總部員工的工資信息表
(1)全部員工基本信息表:(EMP_Basic_ALL)
Create Table EMP_Basic_ALL( ENO NUMBER(4) Primary Key, ENAME VARCHAR2(10), DEPTNO VARCHAR2(10) ); INSERT INTO EMP_BASIC_ALL VALUES(1,'張山','Windows'); INSERT INTO EMP_BASIC_ALL VALUES(2,'王風','Windows'); INSERT INTO EMP_BASIC_ALL VALUES(3,'李雪','Windows'); INSERT INTO EMP_BASIC_ALL VALUES(4,'丁雨','CentOS'); INSERT INTO EMP_BASIC_ALL VALUES(5,'華電','CentOS'); INSERT INTO EMP_BASIC_ALL VALUES(6,'劉月','CentOS');
(2)總部員工工資信息表:(EMP_Salary_Windows)
2.2 在分部(CentOS)建立該分部的員工工資信息表
分部的員工工資信息表:(EMP_Salary_CentOS)
Create Table EMP_Salary_CentOS( ENO NUMBER(4) Primary Key, SALARY NUMBER(10,2)); INSERT INTO EMP_Salary_CentOS VALUES(4,16708.25); INSERT INTO EMP_Salary_CentOS VALUES(5,12690.96); INSERT INTO EMP_Salary_CentOS VALUES(6,13788.32);3 建立垂直分區視圖
在總部(Windows)建立分區視圖,實現在總部對兩地所有員工的所有信息透明訪問:
Create View EMP As Select EMP_Basic_ALL.ENO, ENAME,DEPTNO,SALARY From EMP_Basic_ALL,EMP_Salary_Windows Where EMP_Basic_ALL.ENO=EMP_Salary_Windows.ENO Union Select EMP_Basic_ALL.ENO, ENAME,DEPTNO,SALARY From EMP_Basic_ALL,EMP_Salary_CentOS@link1 Where EMP_Basic_ALL.ENO=EMP_Salary_CentOS.ENO@link1;注:其中的@link1是win10-Oracle到CentOS7-Oracle的數據庫鏈。
查詢視圖:
可以看出實現了win10的Oracle用戶對CentOS的Oracle的透明訪問,查詢到其的工資信息!
注意:視圖不支持增刪改等DDL操作。
總結:在之前的“Oracle分布式分片技術實現兩主機上的Oracle19c數據庫(CentOS7與windows10)之間建立鏈接,對數據庫進行水平分片”的基礎上,實現了兩主機Oracle分布式數據庫垂直分片的實例操作。
后續會繼續更新有關Oracle分布式數據庫的內容!
(注:第14次發文,如有錯誤和疑問,歡迎在評論區指出,感謝捏!)
——2021.10.17
總結
以上是生活随笔為你收集整理的Oracle分布式数据库的垂直分片实例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于5G的地铁覆盖技术
- 下一篇: Java 使用 Apache commo