數據庫管理-第313期 分布式挑戰單機,OceanBase單機版試玩(20250411)

數據庫管理313期 2025-04-11

  • 數據庫管理-第313期 分布式挑戰單機,OceanBase單機版試玩(20250411)
    • 1 環境說明
    • 2 操作系統配置
      • 2.1 關閉防火墻
      • 2.2 關閉SELinux
      • 2.3 配置hosts文件
      • 2.4 配置本地yum源
      • 2.5 配置sysctl.conf
      • 2.6 配置limits.conf
      • 2.7 創建用戶
      • 2.8 配置sudo
      • 2.9 創建安裝目錄
      • 2.10 安裝JDK
    • 3 準備安裝包
      • 3.1 解壓安裝包
      • 3.2 檢查安裝包
    • 4 安裝數據庫
      • 打開頁面
      • 輸入賬號和密碼
      • 配置OCP和數據庫節點
      • 集群配置
      • OBProxy配置
      • 配置OCP
      • 預檢查
      • 預檢查結果并開始部署
      • 完成部署
    • 5 OCP
      • 集群檢查
      • 租戶檢查
      • 主機檢查
      • 性能監控
      • 自治服務
    • 6 新建Oracle租戶
      • 檢查租戶
    • 7 訪問Oracle租戶
      • 創建測試數據
    • 總結

數據庫管理-第313期 分布式挑戰單機,OceanBase單機版試玩(20250411)

作者:胖頭魚的魚缸(尹海文)
Oracle ACE Pro: Database
PostgreSQL ACE Partner10年數據庫行業經驗
擁有OCM 11g/12c/19c、MySQL 8.0 OCP、Exadata、CDP等認證
墨天輪MVP,ITPUB認證專家
圈內擁有“總監”稱號,非著名社恐(社交恐怖分子)公眾號:胖頭魚的魚缸
CSDN:胖頭魚的魚缸(尹海文)
墨天輪:胖頭魚的魚缸
ITPUB:yhw1809。
除授權轉載并標明出處外,均為“非法”抄襲

3498ff20bcec87e9052f961f06737f3.png
一直以來學習OceanBase最大的阻礙就是需要多臺性能不能太差的機器或虛擬機,去年有了單機分布式一體化之后,OB可以在單臺機器上部署了,但是其需求資源依然較大,運行也不是很流暢,具體可以查看數據庫管理-第177期 一次神秘“采訪”引出的安裝體驗(20240426)。在今年的OceanBase合作伙伴大會上,竹翁老師發布了OB單機版,從官網相關信息來看僅需2C6G就可以體驗OceanBase。
image.png
這次我也申請了測試資格,相較于單機分布式一體化時候提供的社區版,這次提供的單機版是企業版數據庫,可以在單機體驗到多租戶,也可以同時體驗MySQL和Oracle模式租戶。本期操作流程基本參考官方文檔。

1 環境說明

為了體驗多租戶,我稍微多給了一點資源,具體清單如下:

項目內容
操作系統RHEL 8.10
IP地址10.10.10.180
CPU8
內存32G
磁盤150G

其中:

  • 我電腦CPU是8C16T,這里已經是CPU配的極限了
  • 操作系統不配置swap
  • 未按照生產建議分配掛載點,統一掛載于/目錄下

2 操作系統配置

2.1 關閉防火墻

systemctl stop firewalld.service 
systemctl disable firewalld.service

2.2 關閉SELinux

sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config
setenforce 0
[reboot]

2.3 配置hosts文件

cat >>/etc/hosts<<EOF
10.10.10.180 obdj
EOF

2.4 配置本地yum源

配置本地yum源

mkdir /iso
mount -r /dev/sr0 /iso
rm -rf /etc/yum.repo.d/*cat > /etc/yum.repos.d/iso.repo <<EOF
[AppStream]
name=AppStream
baseurl=file:///iso/AppStream
gpgcheck=0
enabled=1[BaseOS]
name=BaseOS
baseurl=file:///iso/BaseOS
gpgcheck=0
enabled=1
EOF

2.5 配置sysctl.conf

cat >>/etc/sysctl.conf <<EOF
# for oceanbase
## 修改內核異步 I/O 限制
fs.aio-max-nr = 1048576## 網絡優化
net.core.somaxconn = 2048
net.core.netdev_max_backlog = 10000 
net.core.rmem_default = 16777216 
net.core.wmem_default = 16777216 
net.core.rmem_max = 16777216 
net.core.wmem_max = 16777216net.ipv4.ip_forward = 0 
net.ipv4.conf.default.rp_filter = 1 
net.ipv4.conf.default.accept_source_route = 0 
net.ipv4.tcp_syncookies = 1 
net.ipv4.tcp_rmem = 4096 87380 16777216 
net.ipv4.tcp_wmem = 4096 65536 16777216 
net.ipv4.tcp_max_syn_backlog = 16384 
net.ipv4.tcp_fin_timeout = 15 
net.ipv4.tcp_slow_start_after_idle=0vm.swappiness = 0
vm.min_free_kbytes = 2097152
vm.overcommit_memory = 0fs.file-max = 6573688
fs.pipe-user-pages-soft = 0# 修改進程可以擁有的虛擬內存區域數量
vm.max_map_count = 655360# 此處為 OceanBase 數據庫的 data 目錄
kernel.core_pattern = /data/core-%e-%p-%t
EOFsysctl -p

2.6 配置limits.conf

cat >>/etc/security/limits.conf <<EOF
* soft nofile 655350
* hard nofile 655350
* soft stack unlimited
* hard stack unlimited
* soft nproc 655360
* hard nproc 655360
* soft core unlimited
* hard core unlimited
EOF

2.7 創建用戶

groupadd admin
useradd -g admin -d /home/admin -s /bin/bash admin
chown -R admin:admin /home/admin
echo "Obdj#123" | passwd --stdin admin

2.8 配置sudo

cat >> /etc/sudoers <<EOF
admin       ALL=(ALL)       NOPASSWD: ALL
EOF

2.9 創建安裝目錄

mkdir /data
chown -R admin:admin /data

2.10 安裝JDK

dnf -y install java-1.8.0-openjdk

3 準備安裝包

安裝介質為:oceanbase-ocp-standalone-all-in-one-4.2.5.3-103000152025033110.el8.x86_64.tar

3.1 解壓安裝包

tar -xvf oceanbase-ocp-standalone-all-in-one-4.2.5.3-103000152025033110.el8.x86_64.tar

3.2 檢查安裝包

image.png

4 安裝數據庫

既然給了足夠多的CPU和內存,嘗試使用OCP進行安裝:

cd oceanbase-standalone-all-in-one/
sudo bash bin/install_obd.sh

image.png

obd web

image.png

打開頁面

image.png
image.png
image.png

輸入賬號和密碼

image.png

配置OCP和數據庫節點

image.png

集群配置

image.png
image.png

為安裝成功這里需要限制一下metadb的內存上限

OBProxy配置

image.png

配置OCP

image.png
image.png
image.png

預檢查

image.png
image.png
image.png
image.png
image.png

預檢查結果并開始部署

image.png
image.png
image.png

完成部署

image.png
對比去年單機分布式一體化的單機部署,更加流暢了。

5 OCP

使用下面的地址訪問OCP:

http://10.10.10.180:8080/

image.png
image.png

集群檢查

image.png

租戶檢查

image.png

主機檢查

image.png

性能監控

image.png
image.png
image.png
image.png

自治服務

image.png
image.png
image.png
image.png

6 新建Oracle租戶

image.png
image.png
新增unit規格
image.png
image.png
image.png
image.png
image.png
這時候在最后一步會有個報錯,無法找到python命令,在RHEL8.10中只有python3命令,可以通過以下方式解決:

ln -s /usr/bin/python3 /usr/bin/python

然后點擊右上角重試,可完成創建:
image.png

檢查租戶

image.png
image.png

7 訪問Oracle租戶

#obclient -h$IP -P$port -u$user@$租戶名 -p密碼 -A
obclient -h127.0.0.1 -P2883 -usys@orcl -pObdj_123 -A

image.png

create user scott identified by tiger;
grant connect,resource to scott;

image.png
image.png

創建測試數據

直接從Oracle數據庫中拉出基礎語句:

CREATE TABLE "EMP" (    "EMPNO" NUMBER(4,0), "ENAME" VARCHAR2(10), "JOB" VARCHAR2(9), "MGR" NUMBER(4,0), "HIREDATE" DATE, "SAL" NUMBER(7,2), "COMM" NUMBER(7,2), "DEPTNO" NUMBER(2,0), CONSTRAINT "PK_EMP" PRIMARY KEY ("EMPNO"));

image.png

INSERT INTO EMP VALUES(7369,'SMITH','CLERK',7902,to_date('17-12-1980','dd-mm-yyyy'),800,NULL,20);
INSERT INTO EMP VALUES(7499,'ALLEN','SALESMAN',7698,to_date('20-2-1981','dd-mm-yyyy'),1600,300,30);
INSERT INTO EMP VALUES(7521,'WARD','SALESMAN',7698,to_date('22-2-1981','dd-mm-yyyy'),1250,500,30);
INSERT INTO EMP VALUES(7566,'JONES','MANAGER',7839,to_date('2-4-1981','dd-mm-yyyy'),2975,NULL,20);
INSERT INTO EMP VALUES(7654,'MARTIN','SALESMAN',7698,to_date('28-9-1981','dd-mm-yyyy'),1250,1400,30);
INSERT INTO EMP VALUES(7698,'BLAKE','MANAGER',7839,to_date('1-5-1981','dd-mm-yyyy'),2850,NULL,30);
INSERT INTO EMP VALUES(7782,'CLARK','MANAGER',7839,to_date('9-6-1981','dd-mm-yyyy'),2450,NULL,10);
INSERT INTO EMP VALUES(7788,'SCOTT','ANALYST',7566,to_date('13-JUL-87')-85,3000,NULL,20);
INSERT INTO EMP VALUES(7839,'KING','PRESIDENT',NULL,to_date('17-11-1981','dd-mm-yyyy'),5000,NULL,10);
INSERT INTO EMP VALUES(7844,'TURNER','SALESMAN',7698,to_date('8-9-1981','dd-mm-yyyy'),1500,0,30);
INSERT INTO EMP VALUES(7876,'ADAMS','CLERK',7788,to_date('13-JUL-87')-51,1100,NULL,20);
INSERT INTO EMP VALUES(7900,'JAMES','CLERK',7698,to_date('3-12-1981','dd-mm-yyyy'),950,NULL,30);
INSERT INTO EMP VALUES(7902,'FORD','ANALYST',7566,to_date('3-12-1981','dd-mm-yyyy'),3000,NULL,20);
INSERT INTO EMP VALUES(7934,'MILLER','CLERK',7782,to_date('23-1-1982','dd-mm-yyyy'),1300,NULL,10);
commit;

image.png
創建其他表并插入數據:

CREATE TABLE DEPT
(DEPTNO NUMBER(2) CONSTRAINT PK_DEPT PRIMARY KEY,DNAME VARCHAR2(14) ,LOC VARCHAR2(13)
);CREATE TABLE SALGRADE
(GRADE NUMBER,LOSAL NUMBER,HISAL NUMBER
);INSERT INTO DEPT VALUES(10,'ACCOUNTING','NEW YORK');
INSERT INTO DEPT VALUES (20,'RESEARCH','DALLAS');
INSERT INTO DEPT VALUES(30,'SALES','CHICAGO');
INSERT INTO DEPT VALUES(40,'OPERATIONS','BOSTON');INSERT INTO SALGRADE VALUES (1,700,1200);
INSERT INTO SALGRADE VALUES (2,1201,1400);
INSERT INTO SALGRADE VALUES (3,1401,2000);
INSERT INTO SALGRADE VALUES (4,2001,3000);
INSERT INTO SALGRADE VALUES (5,3001,9999);
commit;

image.png
薪資等級查詢查詢:

select e.ename,s.grade from emp e,salgrade s where e.sal>=s.losal and e.sal<hisal;

image.png
Oracle租戶基本測試結束。

總結

本次OceanBase單機版安裝整體比較順利,其中OBD/OCP界面非常精美且響應迅速、功能強大,Oracle數據庫租戶簡單試用也很不錯。雖有一些小問題,但瑕不掩瑜。
老規矩,知道寫了些啥。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/77633.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/77633.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/77633.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

AI 之 LLM(大語言模型)是如何生成文本的!

你是不是也曾在朋友面前自信滿滿地說&#xff1a;“AI我可太熟了&#xff01;”然后隨便丟一句“寫篇短文”給大模型&#xff0c;坐等它秒出結果&#xff1f;但你有沒有想過&#xff0c;那幾秒鐘里&#xff0c;AI到底干了什么&#xff1f;從你敲下的幾個字&#xff0c;到屏幕上…

STL之序列式容器(Vector/Deque/List)

序列式容器 序列式容器包括&#xff1a;靜態數組 array 、動態數組 vector 、雙端隊列 deque 、單鏈表 forward_ list 、雙鏈表 list 。這五個容器中&#xff0c;我們需要講解三個 vector 、 deque 、 list 的使 用&#xff0c;包括&#xff1a;初始化、遍歷、尾部插入與刪除、…

swift菜鳥教程6-10(運算符,條件,循環,字符串,字符)

一個樸實無華的目錄 今日學習內容&#xff1a;1.Swift 運算符算術運算符比較運算符邏輯運算符位運算符賦值運算區間運算符其他運算符 2.Swift 條件語句3.Swift 循環4.Swift 字符串字符串屬性 isEmpty字符串常量let 變量var字符串中插入值字符串連接字符串長度 String.count使用…

泛微ECOLOGY9 記 數據展現集成 自定義開窗測試中對SQL 的IN語法轉換存在BUG

背景 搭建流程時&#xff0c;需將明細表1中的合同字段 供明細表2中的合同開窗查詢使用。 最終實現如下圖&#xff1a; 選擇 發票號時&#xff0c;自動帶出明細表1中的采購合同號清單&#xff0c;然后在明細表2中開窗采購合同號時&#xff0c;只跳出明細表1中有的采購合同號&am…

(自用)藍橋杯準備(需要寫的基礎)

要寫的文件 led_app lcd_app key_app adc_app usart_app scheduler LHF_SYS一、外設引腳配置 1. 按鍵引腳 按鍵引腳配置如下&#xff1a; B1&#xff1a;PB0B2&#xff1a;PB1B3&#xff1a;PB2B4&#xff1a;PA0 2. LCD引腳 LCD引腳配置如下&#xff1a; GPIO_Pin_9 /* …

PM2 完全指南:Node.js 應用后臺啟動、關閉與重啟詳解

文章目錄 **PM2 完全指南&#xff1a;Node.js 應用后臺啟動、關閉與重啟詳解****1. 什么是 PM2&#xff1f;****2. 安裝 PM2****全局安裝****驗證安裝** **3. 使用 PM2 啟動 Node.js 應用****基本啟動****指定應用名稱****集群模式&#xff08;多進程負載均衡&#xff09;****監…

Linux環境變量詳解

引言 在Linux系統中&#xff0c;環境變量是一種非常重要的概念&#xff0c;它影響著系統的運行方式和應用程序的行為。無論你是Linux新手還是經驗豐富的管理員&#xff0c;深入理解環境變量都能幫助你更高效地使用和管理Linux系統。本文將從基礎概念到高級應用&#xff0c;全面…

408 計算機網絡 知識點記憶(8)

前言 本文基于王道考研課程與湖科大計算機網絡課程教學內容&#xff0c;系統梳理核心知識記憶點和框架&#xff0c;既為個人復習沉淀思考&#xff0c;亦希望能與同行者互助共進。&#xff08;PS&#xff1a;后續將持續迭代優化細節&#xff09; 往期內容 408 計算機網絡 知識…

@linux系統SSL證書轉換(Openssl轉換PFX)

在Linux中&#xff0c;你可以使用OpenSSL工具將PFX/P12格式的證書轉換為單獨的CRT&#xff08;證書&#xff09;、KEY&#xff08;私鑰&#xff09;文件以及提取證書鏈 1. 提取私鑰文件(.key) openssl pkcs12 -in your_certificate.pfx -nocerts -out private.key -nodes系統會…

DAOS系統架構-組件

如上圖所示&#xff0c;一個完整的DAOS系統是由管理節點組件、客戶端節點組件、服務端節點組件以及網絡通信組件四個部分組成。管理節點組件通過管理網絡通道&#xff08;藍色&#xff09;對DAOS服務管理和監控。客戶端節點組件通過數據網絡通道&#xff08;紅色&#xff09;與…

制作一款打飛機游戲教程2:背景滾動

滾動原型開發 接下來&#xff0c;我們開始聚焦滾動原型的開發。我們需要確定游戲關卡的長度以及背景滾動的速度。 地圖與精靈空間限制 在開發過程中&#xff0c;我們遇到了地圖與精靈空間限制的問題。PICO 8的地圖編輯器下半部分與精靈表共享空間&#xff0c;這意味著我們只…

計算機組成原理——CPU與存儲器連接例題

計算機組成原理——CPU與存儲器連接例題 設CPU共有16根地址線和8根數據線&#xff0c;并用(MREQ) ?作為訪存控制信號&#xff08;低電平有效&#xff09;&#xff0c;(WR) ?作為讀/寫命令信號&#xff08;高電平讀&#xff0c;低電平寫&#xff09;。現有下列存儲芯片&#…

GNSS靜態數據處理

1 安裝數據處理軟件&#xff1a;儀器之星&#xff08;InStar &#xff09;和 Trimble Business Center 做完控制點靜態后&#xff0c;我們需要下載GNSS數據&#xff0c;對靜態數據進行處理。在處理之前需要將相關軟件在自己電腦上安裝好&#xff1a; 儀器之星&#xff08;InS…

Process Explorer 性能調優實戰:精準定位資源泄漏與高負載進程

一、下載與安裝 ?下載地址? Process Explorer安裝包下載&#xff1a;https://pan.quark.cn/s/950c36ba5364下載后解壓壓縮包&#xff0c;運行 procexp.exe&#xff08;32 位系統&#xff09;或 procexp64.exe&#xff08;64 位系統&#xff09;?。 ?界面概覽? 主界面以樹…

SVMSPro分布式綜合安防管理平臺-->以S3存儲革新,開啟智能安防新紀元

SVMSPro分布式綜合安防管理平臺–>以S3存儲革新&#xff0c;開啟智能安防新紀元 在數字化轉型浪潮下&#xff0c;企業安防管理正面臨海量數據存儲、跨區域協同以及數據安全的嚴峻挑戰。如何實現高效、彈性、低成本的存儲擴容&#xff1f;如何確保關鍵錄像數據萬無一失&…

Python 裝飾器(Decorator)

文章目錄 代碼解析1. 裝飾器定義 timer(func)2. 應用裝飾器 timer **執行流程****關鍵點****實際應用場景****改進版本&#xff08;帶 functools.wraps&#xff09;** 這是一個 Python 裝飾器&#xff08;Decorator&#xff09; 的示例&#xff0c;用于測量函數的執行時間。下…

git commit時自動生成Change-ID

創建全局鉤子目錄&#xff1a; 創建一個全局的Git hooks目錄&#xff1a; mkdir -p ~/.githooks 下載并設置commit-msg鉤子腳本&#xff1a; 下載Gerrit的commit-msg鉤子腳本&#xff0c;并放置在全局鉤子目錄中(如下載不了&#xff0c;可從本頁面附件中下載&#xff0c;“…

最新Ktransformers v0.24(Docker)并發部署DeepSeek-V3-0324模型

一、介紹 KTransformers v0.2.4 發布說明 我們非常高興地宣布&#xff0c;期待已久的 KTransformers v0.2.4 現已正式發布&#xff01;在這個版本中&#xff0c;我們對整 體架構進行了重大重構&#xff0c;更新了超過 1 萬行代碼&#xff0c;為社區帶來了備受期待的多并發支…

飛牛私有云5大硬核功能實測!

&#x1f4f8; 1. 智能相冊&#xff1a;AI搜圖原圖自由 - 自動備份&#xff1a;手機照片/視頻實時同步&#xff0c;支持RAW格式、實況照片無損備份&#xff0c;釋放128G手機秒變256G。 - AI黑科技&#xff1a; - 人臉識別&#xff1a;自動歸類人物相冊&#xff0c;輸入「媽媽…

webrtc pacer模塊(一) 平滑處理的實現

Pacer起到平滑碼率的作用&#xff0c;使發送到網絡上的碼率穩定。如下的這張創建Pacer的流程圖&#xff0c;其中PacerSender就是Pacer&#xff0c;其中PacerSender就是Pacer。這篇文章介紹它的核心子類PacingController及Periodic模式下平滑處理的基本流程。平滑處理流程中還有…