当前位置: 首页 > news >正文

Oracle 11g RAC群集部署

Oracle 11g RAC群集部署

1.环境介绍:

操作系统:Oracle Enterprise Linux 6.5
Oracle数据库:Oracle 11.2.0.4
集群软件:Oracle Grid Infrastructure 11.2.0.4

2.所需介质:

p13390677_112040_Linux-x86-64_1of7
p13390677_112040_Linux-x86-64_2of7
p13390677_112040_Linux-x86-64_3of7

3.操作系统信息:(两个节点执行)

# uname –a   (查看内核属性)
# free –m     (查看内存)
# df –h        (查看分区挂载及使用情况)
# ifconfig –a   (查看网卡状态)
# iptables –F       (清空防火墙策略)
# /etc/init.d/iptables save    (保存防火墙策略)
# /etc/init.d/iptables stop    (关闭防火墙)
# chkconfig iptables off       (关闭防火墙自动启动)
# /etc/init.d/NetworkManager stop    (关闭网络管理)
# chkconfig NetworkManager off       (关闭网络管理自动启动)禁用SELINUX(重启系统生效)# vi /etc/selinux/config
------修改
SELINUX=disabled
关闭网络动态配置# vi /etc/sysconfig/network
------添加如下内容
NOZEROCONF=yes

4.正式部署安装

4.1配置/etc/hosts(两个节点相同)

# vi /etc/hosts
------添加如下内容
#public
20.1.1.6       rac1.localdomain             rac1
20.1.1.7      rac2.localdomain            rac2#private
10.10.0.1     rac1-priv.localdoain          rac1-priv
10.10.0.2     rac2-priv.localdomain        rac2-priv#virtual
20.1.1.8       rac1-vip.localdomain         rac1-vip
20.1.1.9       rac2-vip.localdomain         rac2-vip#scan
20.1.1.10     scan-cluster.localdomain     scan-cluster

4.1.1配置网卡绑定

RAC1配置如下:
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
------添加如下内容
DEVICE=eth0
TYPE=Ethernet
BOOTPROTO=none
NOBOOT=yes
USERTCL=no
MASTER=bond0
SLAVE=yes# vi /etc/sysconfig/network-scripts/ifcfg-eth1
------添加如下内容
DEVICE=eth1
TYPE=Ethernet
BOOTPROTO=none
NOBOOT=yes
USERTCL=no
MASTER=bond0
SLAVE=yes# vi /etc/sysconfig/network-scripts/ifcfg-eth2
------添加如下内容
DEVICE=eth2
TYPE=Ethernet
BOOTPROTO=none
NOBOOT=yes
USERTCL=no
MASTER=bond1
SLAVE=yes# vi /etc/sysconfig/network-scripts/ifcfg-eth3
------添加如下内容
DEVICE=eth3
TYPE=Ethernet
BOOTPROTO=none
USERTCL=no
MASTER=bond1
SLAVE=yes# vi /etc/sysconfig/network-scripts/ifcfg-bond0
------添加如下内容
DEVICE=bond0
TYPE=Ethernet
BOOTPROTO=none
USERTCL=no
ONBOOT=yes
IPADDR=20.1.1.6
NETMASK=255.255.255.0
GATEWAY=# vi /etc/sysconfig/network-scripts/ifcfg-bond1
------添加如下内容
DEVICE=bond1
TYPE=Ethernet
BOOTPROTO=none
USERTCL=no
ONBOOT=yes
IPADDR=10.10.0.1
NETMASK=255.255.255.0
GATEWAY=# /etc/init.d/network restart# vi /etc/modprobe.d/bonding.conf
------添加如下内容
alias bond0 bonding
alias bond1 bonding
options bonding max_bonds=2 miimon=200 mode=6# vi /etc/rc.d/rc.local
------追加如下内容
ifenslave bond0 eth0 eth1
ifenslave bond1 eth2 eth3
route add default gw 20.1.1.254# modprobe bonding
# /etc/init.d/network restart
# cat /proc/net/bonding/bond0
# cat /proc/net/bonding/bond1RAC2配置如下:
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
------添加如下内容
DEVICE=eth0
TYPE=Ethernet
BOOTPROTO=none
USERTCL=no
MASTER=bond0
SLAVE=yes# vi /etc/sysconfig/network-scripts/ifcfg-eth1
------添加如下内容
DEVICE=eth1
TYPE=Ethernet
BOOTPROTO=none
USERTCL=no
MASTER=bond0
SLAVE=yes\# vi /etc/sysconfig/network-scripts/ifcfg-eth2
------添加如下内容
DEVICE=eth2
TYPE=Ethernet
BOOTPROTO=none
USERTCL=no
MASTER=bond1
SLAVE=yes\# vi /etc/sysconfig/network-scripts/ifcfg-eth3
------添加如下内容
DEVICE=eth3
TYPE=Ethernet
BOOTPROTO=none
USERTCL=no
MASTER=bond1
SLAVE=yes\# vi /etc/sysconfig/network-scripts/ifcfg-bond0
------添加如下内容
DEVICE=bond0
TYPE=Ethernet
BOOTPROTO=none
USERTCL=no
ONBOOT=yes
IPADDR=20.1.1.7
NETMASK=255.255.255.0
GATEWAY=\# vi /etc/sysconfig/network-scripts/ifcfg-bond1
------添加如下内容
DEVICE=bond1
TYPE=Ethernet
BOOTPROTO=none
USERTCL=no
ONBOOT=yes
IPADDR=10.10.0.2
NETMASK=255.255.255.0
GATEWAY=重启网络服务
# /etc/init.d/network restart新建网卡绑定配置文件
# vi /etc/modprobe.d/bonding.conf
------添加如下内容
alias bond0 bonding
alias bond1 bonding
options bonding max_bonds=2 miimon=200 mode=6设置网卡绑定模块随系统自动启动
# vi /etc/rc.d/rc.local
------追加如下内容
ifenslave bond0 eth0 eth1
ifenslave bond1 eth2 eth3
route add default gw 20.1.1.254加载bond模块
# modprobe bonding重启网络服务
# /etc/init.d/network restart检查bond状态
# cat /proc/net/bonding/bond0

4.2系统配置

4.2.1 修改/etc/sysctl.conf(两个节点相同)

内核参数修改\# vi /etc/sysctl.conf
------添加如下内容
kernel.shmall = 1073741824      (控制共享内存段数,shmmni*shmall为可以使用的共享内存大小,单位是byte)
fs.file-max = 6815744             (最大文件数量)
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096            (1个内存段的大小,单位为KB)
kernel.shmmax = 4398046511104      (最大内存段的大小,单位是KB,可设90%物理内存)
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500
kernel.panic_on_oops = 1

4.2.2 生效内核参数(两个节点相同)

sysctl –p

4.2.3 修改/etc/security/limits.conf(两个节点相同)

配置grid和oracle用户的资源限制# vi /etc/security/limits.conf
------添加如下内容
grid soft nofile 1024     (默认值)
grid hard nofile 65536   (默认值)
grid soft nproc 2047     (默认值)
grid hard nproc 16384   (默认值)
grid soft stack 10240    (默认值)
grid hard stack 32768   (默认值)
grid soft memlock 241172480     (略小于物理内存,单位是KB例:256G内存则设置为230G)
grid hard memlock 241172480    (略小于物理内存,单位是KB例:256G内存则设置为230G)oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768
oracle soft memlock 241172480
oracle hard memlock 241172480

4.3 配置YUM源并安装所需包

4.3.1 配置YUM源

先将默认的yum源配置文件移动,然后创建一个新的(两个rac相同)
# cd /etc/yum.repos.d/
# mv pubic-yum-ol6.repo pubic-yum-ol6.repo.bak
# vi yum.repo------添加如下内容
[Server]
name=Server
baseurl=file:///mnt/oel6u5/Server/
enabled=1
gpgcheck=0

4.3.2 将镜像挂载上(两个节点相同)

# mkdir –p /mnt/oel6u5      (创建镜像挂载路径)
# mount /dev/sr0 /mnt/oel6u5 –o loop      (/dev/sr0是镜像所在位置)

4.3.3 安装所需包(两个节点相同)

for i in binutils compat-libcap1 compat-libstdc++-33 elfutils-libelf \
elfutils-libelf-devel expat gcc gcc-c++ glibc glibc-common \
glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel \
libgcc libgomp libstdc++ libstdc++-devel make numactl \
numactl-devel pdksh sysstat unixODBC unixODBC-devel libXext \
libXtst libX11 libXau libxcb libXi nfs-utils
do
rpm -q $i &>/dev/null || F="$F $i"
done ;echo $F;unset Fyum -y install binutils compat-libcap1 compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make numactl-devel sysstat unixODBC unixODBC-devel libXext libXtst libX11 libXau libxcb libXi nfs-utils

4.4 创建用户和组

4.4.1 创建组(两个节点相同)

groupadd -g 54321 oinstall
groupadd -g 54322 dba
groupadd -g 54323 oper
groupadd -g 54324 asmdba
groupadd -g 54325 asmoper
groupadd -g 54326 asmadmin

4.4.2 创建用户(两个节点相同)

useradd -u 54321 -g oinstall -G asmadmin,asmdba,asmoper,dba grid
useradd -u 54322 -g oinstall -G dba,asmadmin,oper,asmdba oracle

4.4.3 设置口令(两个节点相同)

# passwd grid
# passwd oracle

4.5 创建安装目录并授权(两个节点相同)

mkdir -p /u01/app/grid
mkdir -p /u01/app/11.2.0/grid
mkdir -p /u01/app/oracle
mkdir -p /u01/app/oracle/product/11.2.0/db_1
chown -R grid:oinstall /u01
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01

4.6 配置环境变量

------RAC1
# su – grid
$ vi /home/grid/.bash_profile
------添加如下内容
export PATH
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_HOSTNAME=rac1.localdomain
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/11.2.0/grid
export ORACLE_SID=+ASM1
export PATH=$PATH:/usr/sbin:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib# su - oracle
# vi /home/oracle/.bash_profile
------添加如下内容
export PATH
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_HOSTNAME= rac1.localdomain
export ORACLE_UNQNAME=racdb
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=racdb1
export PATH=/usr/sbin:$PATH
export PATH=$PATH:/usr/sbin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib------RAC2
# su – grid
$ vi /home/grid/.bash_profile
------添加如下内容
export PATH
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_HOSTNAME=rac2.localdomain
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/11.2.0/grid
export ORACLE_SID=+ASM2
export PATH=/usr/sbin:$PATH
export PATH=$PATH:/usr/sbin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib# su - oracle
$ vi /home/oracle/.bash_profile
------添加如下内容
export PATH
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_HOSTNAME=rac2.localdomain
export ORACLE_UNQNAME=racdb
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=racdb2
export PATH=/usr/sbin:$PATH
export PATH=$PATH:/usr/sbin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

4.7配置UDEV(两个节点相同)

安装udev安装包
# yum –y install udev*
# fdisk –l获得硬盘WWID系统信息,将获得的信息填入RESULT==””双引号内
/sbin/scsi_id –g –u –d /dev/sdb
/sbin/scsi_id –g –u –d /dev/sdc
/sbin/scsi_id –g –u –d /dev/sdd
/sbin/scsi_id –g –u –d /dev/sde
……新建udev配置文件
# cd /etc/udev/rules.d/
# vi 99-oracle-asmdevices.rules
------添加以下内容(将上一步获得的WWID信息填入RESULT==””双引号内)
KERNEL=="sd*",BUS=="scsi",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="360000000000000000e00000000010001",NAME="crs1",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="sd*",BUS=="scsi",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="360000000000000000e00000000010002",NAME="crs2",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="sd*",BUS=="scsi",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="360000000000000000e00000000010003",NAME="crs3",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="sd*",BUS=="scsi",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="360000000000000000e00000000010004",NAME="data1",OWNER="grid",GROUP="asmadmin",MODE="0660"然后start_udev 或/sbin/start_udev
把start_udev命令写道rc.local下面开机自启动

4.8 禁用NTP服务(两个节点相同)

# chkconfig ntpd off
# mv /etc/ntp.conf /etc/ntp.conf.bak

4.9 解压介质(在rac1执行)

# chown grid:oinstall p13390677_112040_Linux-x86-64_3of7
# chown oracle:oinstall p13390677_112040_Linux-x86-64_1of7
# chown oracle:oinstall p13390677_112040_Linux-x86-64_2of7
# chmod 775 p13390677_112040_Linux-x86-64_*
# mv p13390677_112040_Linux-x86-64_1of7 /home/oracle/
# mv p13390677_112040_Linux-x86-64_2of7 /home/oracle/
# mv p13390677_112040_Linux-x86-64_3of7 /home/grid/
# su – grid
$ unzip p13390677_112040_Linux-x86-64_3of7
$ su – oracle
$ unzip p13390677_112040_Linux-x86-64_1of7
$ unzip p13390677_112040_Linux-x86-64_2of7安装cvu相关的rpm包(两个节点都要安装)
\# cd /home/grid/grid/rpm/cvuqdisk-1.0.9-1.rpm

5. 配置信任关系

①在每个节点上创建 RSA密钥和公钥
使用grid用户登陆
mkdir ~/.ssh
chmod 700 ~/.ssh
ssh-keygen -t rsa②整合公钥文件
在rac1上执行以下命令
ssh rac1 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
ssh rac2 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys③分发整合后的公钥文件
在rac1上执行以下命令
scp ~/.ssh/authorized_keys rac2:~/.ssh/④测试ssh互信
在每个节点上运行以下命令,若不需要输入密码就显示系统当前日期,就说明SSH互信已经配置成功了。
ssh rac1 date
ssh rac1-priv date
ssh rac1.localdomain date
ssh rac1-priv.localdomain date
ssh rac2 date
ssh rac2-priv date
ssh rac2.localdomain date
ssh rac2-priv.localdomain date使用oracle用户登陆
mkdir ~/.ssh
chmod 700 ~/.ssh
ssh-keygen -t rsa②整合公钥文件
在rac1上执行以下命令
ssh rac1 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
ssh rac2 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys③分发整合后的公钥文件
在rac1上执行以下命令
scp ~/.ssh/authorized_keys rac2:~/.ssh/④测试ssh互信
在每个节点上运行以下命令,若不需要输入密码就显示系统当前日期,就说明SSH互信已经配置成功了。
ssh rac1 date
ssh rac1-priv date
ssh rac1.localdomain date
ssh rac1-priv.localdomain date
ssh rac2 date
ssh rac2-priv date
ssh rac2.localdomain date
ssh rac2-priv.localdomain date

安装

[grid@rac1 grid]$ export DISPLAY=10.10.0.1:0.0
[grid@rac1 grid]$ ./runInstaller1、安装集群
# su – grid
$ . /runInstaller2、安装Oracle Database 软件
#su - oracle
$./runInstaller3、创建ASM磁盘组
# su - grid  
$ asmca4、配置Oracle Database
#su - oracle
$ dbca

相关文章:

Oracle 11g RAC群集部署

Oracle 11g RAC群集部署 1.环境介绍: 操作系统:Oracle Enterprise Linux 6.5 Oracle数据库:Oracle 11.2.0.4 集群软件:Oracle Grid Infrastructure 11.2.0.4 2.所需介质: p13390677_112040_Linux-x86-64_1of7 p133…...

【C++、C++11】列表初始化、右值引用

文章目录📖 前言1. 统一的列表初始化1.1 { } 花括号初始化:1.2 std::initializer_list:2. 右值引用2.1 什么是左值和右值:2.2 右值的分类:2.3 左值引用和右值引用的比较2.3 右值的使用场景:2.4 新的类功能&…...

CMU15-445 Project.3总结

在线测试 Project #3 - Query Execution 以下是Project #3的网址,2022FALL的Project #3是实现一个查询执行,实现一系列算子,用于实现数据库内的SQL计算。项目中的 Query Execution 主要分为三个任务: Access Method Executors…...

002+limou+HTML——(2)HTML文档

000、前言 一般来说一个静态网页拥有四种元素:文字、图片、超链接、音频和视频(注意,即使在web网页中植入Javascript语言,也不一定是动态网页,真正的动态网页判断标准:是否和服务器产生交互) …...

红外传感器模块与 Arduino 连接

红外传感器模块与 Arduino 连接 原文地址 Arduino 红外传感器接口 红外**接近传感器或红外传感器它发射红外光以感知周围环境,并可用于检测物体的运动。由于这是一个无源传感器,它只能测量红外辐射。如果您曾经尝试过设计避障机器人或任何其他基于接近…...

NC xml配置文件不能生产java文件

在NC开发过程中,新增、或修改了xml文件,在开发工具eclipse中生成或重新生成Java文件,发现生成不了相对应的Java文件。如下图,选中xml文件后,右键点击SpringXml to Java 这种情况其实一般都是xml配置文件有问题&#…...

华为OD机试 - 五键键盘(C 语言解题)【独家】

最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南)华为od机试,独家整理 已参加机试人员的实战技巧文章目录 使用说明本期题目:五键键盘…...

Kubernetes Service简介

Service 之前我们了解了Pod的基本用法,我们也了解到Pod的生命是有限的,死亡过后不会复活了。我们后面学习到的RC和Deployment可以用来动态的创建和销毁Pod。尽管每个Pod都有自己的IP地址,但是如果Pod重新启动了的话那么他的IP很有可能也就变…...

【c++类与对象 】

目录:前言一、基础引入1.类的定义2.类的权限3.类的封装4.类的实例化5.计算类对象的大小结构体内存对齐规则空类的大小二、this指针this引入this指针的特性经典例题三、类的六个默认成员函数1、构造 && 析构构造函数析构函数2、拷贝 && 赋值拷贝构造…...

【C++】内联函数auto范围for循环nullptr

🏖️作者:malloc不出对象 ⛺专栏:C的学习之路 👦个人简介:一名双非本科院校大二在读的科班编程菜鸟,努力编程只为赶上各位大佬的步伐🙈🙈 目录前言一、内联函数1.1 内联函数概念1.2…...

运维效率狂飙,都在告警管理上

随着数字化进程的加速,企业IT设备和系统越来越多,告警和流程中断风险也随之增加。每套系统和工具发出的警报,听起来像是一场喧嚣的聚会,各自谈论不同的话题。更糟糕的是,安全和运维团队正在逐渐丧失对告警的敏感度&…...

【每日随笔】中国当前社会阶层 ( 技术无关 | 随便写写 )

文章目录一、阶层划分根据收入划分的阶层根据分工逻辑划分根据权利划分二、根据社会地位和掌握的资源划分的阶层三、赚钱的方式四、如何进入高阶层看了一个有意思的视频 , 讲的是中国当前的社会阶层 , 感觉好有道理 , 搜索了一些资料 ; 参考资料 : 关于中国的社会阶层社会在分…...

【13种css选择器】学css选择器,这一篇就够了

举例形象让你学会,不搞官方话css所有的选择器相邻兄弟选择器后续兄弟选择器后代选择器子代选择器并集选择器(多重选择器)属性选择器伪类选择器伪元素选择器class选择器(类选择器)id选择器*选择器(通配符选择器)标签选择…...

1-1 微服务架构概述

文章目录微服务架构概述1-1. 系统进化理论概述集中式系统:分布式系统1-2. 系统进化理论背景1-3. 什么是微服务架构1-4. 微服务架构的优缺点1-5. 为什么选择 Spring Cloud 构建微服务认识 Spring Cloud2-1. Spring Cloud 是什么2-2. Spring Cloud 的版本2-3 Spring C…...

uniapp传参

//子传父子页面:sumbit() {console.log(this.formData, 传过去的内容对象)let pages getCurrentPages();let prevPage pages[pages.length - 2]; //上一个页面prevPage.$vm.getParams(this.formData); //重点$vmuni.navigateBack();},父页面接收:metho…...

面试官:说说你对 TypeScript 中函数的理解?与 JavaScript 函数的区别?

一、是什么 函数是 JavaScript 应用程序的基础,帮助我们实现抽象层、模拟类、信息隐藏和模块 在 TypeScript 里,虽然已经支持类、命名空间和模块,但函数仍然是主要定义行为的方式,TypeScript 为 JavaScript 函数添加了额外的功能…...

【测试】HD-G2L-IO评估板测试结果表

1. 测试对象HD-G2L-IOT基于HD-G2L-CORE V2.0工业级核心板设计,双路千兆网口、双路CAN-bus、2路RS-232、2路RS-485、DSI、LCD、4G/5G、WiFi、CSI摄像头接口等,接口丰富,适用于工业现场应用需求,亦方便用户评估核心板及CPU的性能。H…...

[2.2.1]进程管理——调度的概念、层次

文章目录第二章 进程管理调度的概念、层次(一)调度的基本概念(二)调度的三个层次(1)高级调度(2)低级调度(3)中级调度补充知识:进程的挂起态与七状…...

【JavaScript UI库和框架】上海道宁与Webix为您提供用于跨平台Web应用程序开发的JS框架及UI小部件

Webix是Javascript库 一种软件产品 用于加速Web开发的 JavaScript UI库和框架 Webix用于跨平台Web应用程序开发的JS框架,为您提供102个UI小部件和功能丰富的CSS/HTML5 JavaScript控件 开发商介绍 Webix团队由由热衷于创建高质量网络产品的专业人士组成&#xff…...

【微信小程序】-- WXS 脚本(二十九)

💌 所属专栏:【微信小程序开发教程】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! &…...

19c补丁后oracle属主变化,导致不能识别磁盘组

补丁后服务器重启,数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后,存在与用户组权限相关的问题。具体表现为,Oracle 实例的运行用户(oracle)和集…...

label-studio的使用教程(导入本地路径)

文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

在rocky linux 9.5上在线安装 docker

前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...

如何在看板中体现优先级变化

在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序

一、开发准备 ​​环境搭建​​: 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 ​​项目创建​​: File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...

(转)什么是DockerCompose?它有什么作用?

一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...

【Oracle】分区表

个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...

dify打造数据可视化图表

一、概述 在日常工作和学习中,我们经常需要和数据打交道。无论是分析报告、项目展示,还是简单的数据洞察,一个清晰直观的图表,往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server,由蚂蚁集团 AntV 团队…...

力扣-35.搜索插入位置

题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...

Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?

Redis 的发布订阅(Pub/Sub)模式与专业的 MQ(Message Queue)如 Kafka、RabbitMQ 进行比较,核心的权衡点在于:简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...