数据库管理-第313期 分布式挑衅单机,OceanBase单机版试玩(20250411)
数据库管理-第313期 分布式挑衅单机,OceanBase单机版试玩(20250411)作者:胖头鱼的鱼缸(尹海文)
Oracle ACE Pro: Database
PostgreSQL ACE Partner
10年数据库行业经验
拥有OCM 11g/12c/19c、MySQL 8.0 OCP、Exadata、CDP等认证
墨天轮MVP,ITPUB认证专家
圈内拥有“总监”称号,非著名社恐(社交恐怖分子)
公众号:胖头鱼的鱼缸
CSDN:胖头鱼的鱼缸(尹海文)
墨天轮:胖头鱼的鱼缸
ITPUB:yhw1809。
除授权转载并标明出处外,均为“非法”抄袭
https://i-blog.csdnimg.cn/img_convert/ea61baba82c08889e17ab0f9f4d8f8ac.png
不停以来学习OceanBase最大的阻碍就是必要多台性能不能太差的呆板或虚拟机,去年有了单机分布式一体化之后,OB可以在单台呆板上摆设了,但是其需求资源依然较大,运行也不是很流畅,详细可以检察数据库管理-第177期 一次秘密“采访”引出的安装体验(20240426)。在今年的OceanBase合作伙伴大会上,竹翁老师发布了OB单机版,从官网相关信息来看仅需2C6G就可以体验OceanBase。
https://i-blog.csdnimg.cn/img_convert/c61bd5673580071a28b674405a7d8729.png
这次我也申请了测试资格,相较于单机分布式一体化时候提供的社区版,这次提供的单机版是企业版数据库,可以在单机体验到多租户,也可以同时体验MySQL和Oracle模式租户。本期操作流程基本参考官方文档。
1 环境阐明
为了体验多租户,我稍微多给了一点资源,详细清单如下:
项目内容操作系统RHEL 8.10IP地点10.10.10.180CPU8内存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
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
name=AppStream
baseurl=file:///iso/AppStream
gpgcheck=0
enabled=1
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 = 16777216
net.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=0
vm.swappiness = 0
vm.min_free_kbytes = 2097152
vm.overcommit_memory = 0
fs.file-max = 6573688
fs.pipe-user-pages-soft = 0
# 修改进程可以拥有的虚拟内存区域数量
vm.max_map_count = 655360
# 此处为 OceanBase 数据库的 data 目录
kernel.core_pattern = /data/core-%e-%p-%t
EOF
sysctl -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 查抄安装包
https://i-blog.csdnimg.cn/img_convert/f0d2ad2bcce1a2db25cca4fd60f4a45a.png
4 安装数据库
既然给了足够多的CPU和内存,实验利用OCP举行安装:
cd oceanbase-standalone-all-in-one/
sudo bash bin/install_obd.sh
https://i-blog.csdnimg.cn/img_convert/62684bf408943ec1f5825130babb4940.png
obd web
https://i-blog.csdnimg.cn/img_convert/da04e611429121c9b66ba6bfd007dbe2.png
打开页面
https://i-blog.csdnimg.cn/img_convert/ee5a4304a9762c18b27eb3e4eba46827.png
https://i-blog.csdnimg.cn/img_convert/276498eb5d1e29e43036735bf06aa854.png
https://i-blog.csdnimg.cn/img_convert/428fc608824cbf4c92289e8bad93e64f.png
输入账号和密码
https://i-blog.csdnimg.cn/img_convert/24c830b17286bd6ee3e26fb0d1c1442e.png
设置OCP和数据库节点
https://i-blog.csdnimg.cn/img_convert/d9b1e86d444603e9f590626ea505bc4d.png
集群设置
https://i-blog.csdnimg.cn/img_convert/33abff5bdd6bc30a7d30fc403a82c8f4.png
https://i-blog.csdnimg.cn/img_convert/402e4a075d2f23a7718f0abb8f92fdad.png
为安装乐成这里必要限定一下metadb的内存上限
OBProxy设置
https://i-blog.csdnimg.cn/img_convert/b1d9a3f8bc2a8f8be83c58c3fc6af944.png
设置OCP
https://i-blog.csdnimg.cn/img_convert/c1d1a124f422ba2657c89c47de28486e.png
https://i-blog.csdnimg.cn/img_convert/967984ffb093bf15b35bc1c6e79937ec.png
https://i-blog.csdnimg.cn/img_convert/42998fe5fdafeb5efe78f997d184b999.png
预查抄
https://i-blog.csdnimg.cn/img_convert/289668babc0d27b1eb97749be5f28078.png
https://i-blog.csdnimg.cn/img_convert/8836fa6fdcbd3d417afdfd3f67fa9628.png
https://i-blog.csdnimg.cn/img_convert/68c292294e8459a5323b62b353505839.png
https://i-blog.csdnimg.cn/img_convert/416a15facf78cdcac82d6167d92c2d7b.png
https://i-blog.csdnimg.cn/img_convert/f5c6234a0112e4c05b95b331c5dc24aa.png
预查抄结果并开始摆设
https://i-blog.csdnimg.cn/img_convert/70a232cb25cd393642c91090542ea8df.png
https://i-blog.csdnimg.cn/img_convert/fe4d460065d6219400d9f2ec43936bee.png
https://i-blog.csdnimg.cn/img_convert/a46d2dde7f860e9fdc2eea41be33502f.png
完成摆设
https://i-blog.csdnimg.cn/img_convert/679c6bac55c3965b8b836c0a743ca73c.png
对比去年单机分布式一体化的单机摆设,更加流畅了。
5 OCP
利用下面的地点访问OCP:
http://10.10.10.180:8080/
https://i-blog.csdnimg.cn/img_convert/0ef20918be79bd264ef6ed77d505706d.png
https://i-blog.csdnimg.cn/img_convert/7cb2a8d409b666fd0a6217cb6d0bb1eb.png
集群查抄
https://i-blog.csdnimg.cn/img_convert/5473646af7860c9a6aec83412319d95b.png
租户查抄
https://i-blog.csdnimg.cn/img_convert/6bb5cb9dd5f476555f070ab081b6b21d.png
主机查抄
https://i-blog.csdnimg.cn/img_convert/53404a954bca0f74c97aecdd88ef8b89.png
性能监控
https://i-blog.csdnimg.cn/img_convert/f1d07a4aa314527bfe96ddfef1a8728c.png
https://i-blog.csdnimg.cn/img_convert/d8ea9df30a958665f1a43ae2d3fa0f6b.png
https://i-blog.csdnimg.cn/img_convert/55df135cc91dabf17bc2bae4fc98ff46.png
https://i-blog.csdnimg.cn/img_convert/52ce146318e2c1171a3386138af67f73.png
自治服务
https://i-blog.csdnimg.cn/img_convert/509ccae1da41bcbd740f0486c6764d3e.png
https://i-blog.csdnimg.cn/img_convert/aa220d495d3a948328278d79ac19b42d.png
https://i-blog.csdnimg.cn/img_convert/d11e7d987256677b4707d1002b07ed0f.png
https://i-blog.csdnimg.cn/img_convert/f68ebdee9c08790628f52f9dcdcf84ca.png
6 新建Oracle租户
https://i-blog.csdnimg.cn/img_convert/95437aebcfbe6ca718d3e5525e08aada.png
https://i-blog.csdnimg.cn/img_convert/6c4d40ef2b512b11788858ad4698f5f5.png
新增unit规格
https://i-blog.csdnimg.cn/img_convert/b11339f3f034ef2e29826c63e49bbe8d.png
https://i-blog.csdnimg.cn/img_convert/95dd212c58a2122f495b5b804ab80927.png
https://i-blog.csdnimg.cn/img_convert/cfbeba6a4c4b1a459b61be495659fdf6.png
https://i-blog.csdnimg.cn/img_convert/c1542392e429ad0a65d44c23b2b1ca0c.png
https://i-blog.csdnimg.cn/img_convert/6c6292b8db6ff7baea37f82e6de85242.png
这时候在最后一步会有个报错,无法找到python命令,在RHEL8.10中只有python3命令,可以通过以下方式解决:
ln -s /usr/bin/python3 /usr/bin/python
然后点击右上角重试,可完成创建:
https://i-blog.csdnimg.cn/img_convert/4a4fd442cbb2a146816626de2d3bcca6.png
查抄租户
https://i-blog.csdnimg.cn/img_convert/191664ae13895c0bf5547b789850e412.png
https://i-blog.csdnimg.cn/img_convert/edc0ea84c7518bae1b742d362ddecec6.png
7 访问Oracle租户
#obclient -h$IP -P$port -u$user@$租户名 -p密码 -A
obclient -h127.0.0.1 -P2883 -usys@orcl -pObdj_123 -A
https://i-blog.csdnimg.cn/img_convert/5e014a03e40ba2c72928da794dfb1f79.png
create user scott identified by tiger;
grant connect,resource to scott;
https://i-blog.csdnimg.cn/img_convert/744a58131a4f197a9eed4898b1ca609e.png
https://i-blog.csdnimg.cn/img_convert/eb3a9b12435a2fe12d069f59f8074a3b.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"));
https://i-blog.csdnimg.cn/img_convert/8dafc0b7b7381f7a3258d285b364944a.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;
https://i-blog.csdnimg.cn/img_convert/5ad829b643c9036474e74cc1303d8281.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;
https://i-blog.csdnimg.cn/img_convert/8e96824f2f479e2851a3cfc84b7bb8ec.png
薪资等级查询查询:
select e.ename,s.grade from emp e,salgrade s where e.sal>=s.losal and e.sal<hisal;
https://i-blog.csdnimg.cn/img_convert/43badda186aecb7972a47ff79f1a1dcd.png
Oracle租户基本测试结束。
总结
本次OceanBase单机版安装整体比较顺遂,此中OBD/OCP界面非常精美且响应敏捷、功能强大,Oracle数据库租户简单试用也很不错。虽有一些小问题,但瑕不掩瑜。
老规矩,知道写了些啥。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]