Oracle分布式数据库的垂直分片实例
目錄
- 前言
- 0 軟件版本
- 1 啟動(dòng)監(jiān)聽及數(shù)據(jù)庫
- 1.1 啟動(dòng)數(shù)據(jù)庫示例
- 1.2 啟動(dòng)監(jiān)聽進(jìn)程
- 2 建立表
- 2.1 在總部(Windows)建立全部員工的基本信息表和總部員工的工資信息表
- 2.2 在分部(CentOS)建立該分部的員工工資信息表
- 3 建立垂直分區(qū)視圖
前言
在之前的“Oracle分布式分片技術(shù)實(shí)現(xiàn)兩主機(jī)上的Oracle19c數(shù)據(jù)庫(CentOS7與windows10)之間建立鏈接,對(duì)數(shù)據(jù)庫進(jìn)行水平分片”的基礎(chǔ)上,實(shí)現(xiàn)兩主機(jī)Oracle分布式數(shù)據(jù)庫垂直分片。
需求:
將所有職工的基本信息存放在總公司(win10的Oracle數(shù)據(jù)庫中),工資信息存放在各自公司(win10的Oracle數(shù)據(jù)庫中和CentOS7的Oracle數(shù)據(jù)庫中)。
思路:
對(duì)職工信息先進(jìn)行垂直分片(分為基本信息和工資信息),再對(duì)工資信息進(jìn)行水平分片。
0 軟件版本
OS:一臺(tái)Windows10的電腦和在其上搭建一臺(tái)CentOS7的虛擬機(jī)
數(shù)據(jù)庫:Oracle19c
圖形化工具:Navicat for Oracle
(建議直接從官網(wǎng)下載,也可以從我之前的博客中獲取,里面講述如何安裝和使用這些軟件)
1 啟動(dòng)監(jiān)聽及數(shù)據(jù)庫
在進(jìn)行垂直分片前,需打開CentOS7中的Oracle數(shù)據(jù)庫及監(jiān)聽服務(wù)
1.1 啟動(dòng)數(shù)據(jù)庫示例
sqlplus / as sysdba SQL> startup1.2 啟動(dòng)監(jiān)聽進(jìn)程
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,'王風(fēng)','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 建立垂直分區(qū)視圖
在總部(Windows)建立分區(qū)視圖,實(shí)現(xiàn)在總部對(duì)兩地所有員工的所有信息透明訪問:
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的數(shù)據(jù)庫鏈。
查詢視圖:
可以看出實(shí)現(xiàn)了win10的Oracle用戶對(duì)CentOS的Oracle的透明訪問,查詢到其的工資信息!
注意:視圖不支持增刪改等DDL操作。
總結(jié):在之前的“Oracle分布式分片技術(shù)實(shí)現(xiàn)兩主機(jī)上的Oracle19c數(shù)據(jù)庫(CentOS7與windows10)之間建立鏈接,對(duì)數(shù)據(jù)庫進(jìn)行水平分片”的基礎(chǔ)上,實(shí)現(xiàn)了兩主機(jī)Oracle分布式數(shù)據(jù)庫垂直分片的實(shí)例操作。
后續(xù)會(huì)繼續(xù)更新有關(guān)Oracle分布式數(shù)據(jù)庫的內(nèi)容!
(注:第14次發(fā)文,如有錯(cuò)誤和疑問,歡迎在評(píng)論區(qū)指出,感謝捏!)
——2021.10.17
總結(jié)
以上是生活随笔為你收集整理的Oracle分布式数据库的垂直分片实例的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于5G的地铁覆盖技术
- 下一篇: mysql数据库mydb_mysql数据