麒麟SP3X86系统下,安装Oracle11g数据库

news2025/2/2 0:43:04

目录

1、写在前面

2、准备工作

2.1 环境准备

2.2 数据库安装前准备

2.2.1 安装依赖

2.2.2 系统环境准备

2.2.3 上传软件安装包

2.2.4 安装调图形化界面的依赖和相关设置

3、执行安装程序


1、写在前面

随着国产化进程,各大应用需要在国产服务器上面进行部署动作。掌握国产服务器安装数据库等各项技能显得极为重要。本文详细描述了在麒麟操作系统下。如何安装Oracle11g数据库

2、准备工作

2.1 环境准备

通过Oracle VM VirtualBox虚拟化工具,安装一个麒麟操作系统。本文不描述。整体安装后的效果如下图:

 2.2 数据库安装前准备
2.2.1 安装依赖

依次执行如下命令,注意次方式是通过yum安装的方式。服务器必须满足下面两个条件之一:

a、配置了本地yum镜像

b、可以ping通过互联网

[root@kylinsp3-oracle ~]# yum install libnsl*
[root@kylinsp3-oracle ~]# yum install binutils gcc gcc-c++ glibc glibc-devel ksh libaio [root@kylinsp3-oracle ~]# libaio-devel libgcc libstdc++ libstdc++-devel libXext libXtst libX11 libXau libXi
[root@kylinsp3-oracle ~]# yum install gcc gcc-c++ make binutilscompat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-commonglibc-devel libaio libaio-devel libgcclibstdc++ libstdc++-devel unixODBC unixODBC-devel

#手动安装下面几个rpm,下载地址:https://download.csdn.net/download/u011192409/88055771
compat-libpthread-nonshared-2.28-151.el8.x86_64
compat-libstdc++-33-3.2.3-72.el7.x86_64
elfutils-libelf-0.176-2.el7.x86_64
elfutils-libelf-devel-0.176-2.el7.x86_64
glibc-headers-2.17-292.el7.ns7.01.x86_64
libaio-0.3.109-13.el7.x86_64
libaio-devel-0.3.109-13.el7.x86_64

#上传rpm包到/opt目录,进入到/opt目录,依次执行如下命令
[root@kylinsp3-oracle opt]# rpm -ivh elfutils-libelf-0.176-2.el7.x86_64.rpm --nodeps --force
[root@kylinsp3-oracle opt]# rpm -ivh elfutils-libelf-devel-0.176-2.el7.x86_64.rpm --nodeps --force
[root@kylinsp3-oracle opt]# rpm -ivh glibc-headers-2.17-292.el7.ns7.01.x86_64.rpm --nodeps
[root@kylinsp3-oracle opt]# rpm -ivh libaio-0.3.109-13.el7.x86_64.rpm --nodeps --force
[root@kylinsp3-oracle opt]# rpm -ivh libaio-devel-0.3.109-13.el7.x86_64.rpm --nodeps --force
[root@kylinsp3-oracle opt]# rpm -ivh compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm --nodeps --force
[root@kylinsp3-oracle opt]# rpm -ivh compat-libpthread-nonshared-2.28-151.el8.x86_64.rpm --nodeps --force

2.2.2 系统环境准备
#创建 oracle 用户和组,修改 oracle 密码:kylinsp3#123456
[root@kylinsp3-oracle ~]# groupadd -g 54321 oinstall
[root@kylinsp3-oracle ~]# groupadd -g 54322 dba
[root@kylinsp3-oracle ~]# groupadd -g 54323 oper
[root@kylinsp3-oracle ~]# useradd -u 54321 -g oinstall -G dba,oper oracle
[root@kylinsp3-oracle ~]# passwd oracle
更改用户 oracle 的密码 。
新的 密码:
无效的密码: 密码包含用户名在某些地方
passwd: 鉴定令牌操作错误
[root@kylinsp3-oracle ~]# passwd oracle
更改用户 oracle 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

#关闭防火墙,禁用 selinux
[root@kylinsp3-oracle ~]# systemctl stop firewalld
[root@kylinsp3-oracle ~]# systemctl disable firewalld
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@kylinsp3-oracle ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)

7月 17 13:11:11 kylinsp3-oracle systemd[1]: Starting firewalld - dynamic firewall daemon...
7月 17 13:11:12 kylinsp3-oracle systemd[1]: Started firewalld - dynamic firewall daemon.
7月 17 13:47:00 kylinsp3-oracle systemd[1]: Stopping firewalld - dynamic firewall daemon...
7月 17 13:47:00 kylinsp3-oracle systemd[1]: firewalld.service: Succeeded.
7月 17 13:47:00 kylinsp3-oracle systemd[1]: Stopped firewalld - dynamic firewall daemon.

[root@kylinsp3-oracle ~]# vim /etc/selinux/config
#修改为如下图所示:

#创建工作目录并赋予权限
[root@kylinsp3-oracle ~]# mkdir -p /u01/app/oracle/
[root@kylinsp3-oracle ~]# chown -R oracle:oinstall /u01/
[root@kylinsp3-oracle ~]# chmod -R 775 /u01/
#配置 oracle 环境变量,切换 oracle 用户,编辑.bash_profile。文末添加如下配置
[oracle@kylinsp3-oracle ~]$ vim ~/.bash_profile

ORACLE_SID=orcl;export ORACLE_SID
ORACLE_UNQNAME=orcl;export ORACLE_SID
ORACLE_BASE=/u01/app/oracle;export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1;export ORACLE_HOME
NLS_DATE_FORMAT="YYYY:MM:DDHH24:MI:SS";export NLS_DATE_FORMAT
NLS_LANG=american_america.ZHS16GBK;export NLOS_LANG
TNS_ADMIN=$ORACLE_HOME/network/admin;export TNS_ADMIN
ORA_NLS11=$ORACLE_HOME/nls/data;export ORA_NLS11
PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin:$ORA_CRS_HOME/bin
PATH=${PATH}:/usr/bin:/bin:/usr/bin/x11:/usr/local/bin
export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
CLASSPATH=${CLASSPATH}:$ORALCE_HOME/network/jlib
export CLASSPATH
THREADS_FLAG=native;export THREADS_FLAG
export TEMP=/tmp
export TMPDIR=/tmp
umask 022

#刷新配置
[oracle@kylinsp3-oracle ~]$ source ~/.bash_profile

#切换 root 用户,修改内核参数,修改sysctl.conf,文末添加如下配置
[oracle@kylinsp3-oracle ~]$ exit
注销
[root@kylinsp3-oracle ~]# vim /etc/sysctl.conf

fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
kernel.panic_on_oops = 1
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500
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
fs.file-max = 6815744

#刷新生效
[root@kylinsp3-oracle ~]# sysctl -p

#修改limits.conf配置文件,文末添加如下配置
[root@kylinsp3-oracle ~]# vim /etc/security/limits.conf

oracle soft nproc 16384
oracle hard nproc 16384

#root 用户打开终端,执行命令
[root@kylinsp3-oracle ~]# export CV_ASSUME_DISTID=RHEL7.6

#增加配置文件,redhat-release,添加如下内容
[root@kylin-oracle etc]# vim /etc/redhat-release

Red Hat Linux release 7.6

#重启系统
[root@kylinsp3-oracle ~]# reboot

 2.2.3 上传软件安装包
#上传到/home/oracle目录
[root@kylinsp3-oracle oracle]# su - oracle
上一次登录: 一 7月 17 13:52:12 CST 2023 pts/1 上
[oracle@kylinsp3-oracle ~]$ 
[oracle@kylinsp3-oracle ~]$ ll
总用量 0
[oracle@kylinsp3-oracle ~]$ pwd
/home/oracle
[oracle@kylinsp3-oracle ~]$ rz
rz waiting to receive.
[oracle@kylinsp3-oracle ~]$ ll
总用量 2487200
-rw-r--r-- 1 oracle oinstall 1395582860  7月 13 09:46 p13390677_112040_Linux-x86-64_1of7.zip
-rw-r--r-- 1 oracle oinstall 1151304589  7月 13 09:45 p13390677_112040_Linux-x86-64_2of7.zip

#依次解压,两个压缩包
[oracle@kylinsp3-oracle ~]$ unzip p13390677_112040_Linux-x86-64_1of7.zip 
[oracle@kylinsp3-oracle ~]$ unzip p13390677_112040_Linux-x86-64_2of7.zip 
2.2.4 安装调图形化界面的依赖和相关设置
#切换到root用户,安装xhost
[root@kylinsp3-oracle oracle]# yum whatprovides "*/xhost"
上次元数据过期检查:1:00:24 前,执行于 2023年07月17日 星期一 13时21分24秒。
bash-completion-1:2.10-1.ky10.noarch : Completion for bash command
仓库        :@System
匹配来源:
文件名    :/usr/share/bash-completion/completions/xhost

bash-completion-1:2.10-1.ky10.noarch : Completion for bash command
仓库        :ks10-adv-os
匹配来源:
文件名    :/usr/share/bash-completion/completions/xhost

xorg-x11-server-utils-7.7-29.ky10.x86_64 : X.Org X11 X server utilities
仓库        :@System
匹配来源:
文件名    :/usr/bin/xhost

xorg-x11-server-utils-7.7-29.ky10.x86_64 : X.Org X11 X server utilities
仓库        :ks10-adv-os
匹配来源:
文件名    :/usr/bin/xhost

[root@kylinsp3-oracle oracle]# yum install xorg-x11-server-utils-7.7-29.ky10.x86_64
上次元数据过期检查:1:01:10 前,执行于 2023年07月17日 星期一 13时21分24秒。
软件包 xorg-x11-server-utils-7.7-29.ky10.x86_64 已安装。
依赖关系解决。
无需任何处理。
完毕!

#安装vnc服务(服务密码:1qaz#ED)
[root@kylinsp3-oracle oracle]# yum install tigervnc-server
[root@kylinsp3-oracle oracle]# vncserver 

You will require a password to access your desktops.

Password:
Verify:
Would you like to enter a view-only password (y/n)? y
Password:
Verify:
xauth:  file /root/.Xauthority does not exist

New 'kylinsp3-oracle:1 (root)' desktop is kylinsp3-oracle:1

Creating default startup script /root/.vnc/xstartup
Creating default config /root/.vnc/config
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/kylinsp3-oracle:1.log

#为了方便Xmanager调用图形界面。我们需要安装xterm
[root@kylinsp3-oracle oracle]# yum install xterm

#配置转发功能

修改/etc/ssh/ssh_config, 将 ForwardX11 由no修改为yes
修改/etc/ssh/sshd_config,将 X11Forwarding 由no修改为yes
重启SSH服务:service sshd restart

[root@kylinsp3-oracle oracle]# vim /etc/ssh/ssh_config
[root@kylinsp3-oracle oracle]# vim /etc/ssh/sshd_config
[root@kylinsp3-oracle oracle]# service sshd restart
重定向至 /bin/systemctl restart sshd.service
[root@kylinsp3-oracle oracle]# systemctl restart sshd.service

3、执行安装程序

使用Xmanager Enterprise 5套件中的Xstart,如下图所示

 执行运行

 再执行,xhost +

#配置unzip
[oracle@kylinsp3-oracle ~]$ cd database/
[oracle@kylinsp3-oracle database]$ ll
总用量 44
drwxr-xr-x  4 oracle oinstall   248  8月 27  2013 install
-rw-r--r--  1 oracle oinstall 30016  8月 27  2013 readme.html
drwxr-xr-x  2 oracle oinstall    61  8月 27  2013 response
drwxr-xr-x  2 oracle oinstall    34  8月 27  2013 rpm
-rwxr-xr-x  1 oracle oinstall  3267  8月 27  2013 runInstaller
drwxr-xr-x  2 oracle oinstall    29  8月 27  2013 sshsetup
drwxr-xr-x 14 oracle oinstall  4096  8月 27  2013 stage
-rw-r--r--  1 oracle oinstall   500  8月 27  2013 welcome.html
[oracle@kylinsp3-oracle database]$ cd install/
[oracle@kylinsp3-oracle install]$ ll
总用量 244
-rwxr-xr-x 1 oracle oinstall     28  8月 27  2013 addLangs.sh
-rwxr-xr-x 1 oracle oinstall    619  8月 27  2013 addNode.sh
-rwxr-xr-x 1 oracle oinstall    275  8月 27  2013 attachHome.sh
-rwxr-xr-x 1 oracle oinstall   7499  8月 27  2013 clusterparam.ini
-rwxr-xr-x 1 oracle oinstall    181  8月 27  2013 detachHome.sh
drwxr-xr-x 2 oracle oinstall     28  8月 27  2013 images
-rwxr-xr-x 1 oracle oinstall  60809  8月 27  2013 lsnodes
-rwxr-xr-x 1 oracle oinstall   2058  8月 27  2013 oraparam.ini
-rwxr-xr-x 1 oracle oinstall   6437  8月 27  2013 oraparamsilent.ini
drwxr-xr-x 2 oracle oinstall    202  8月 27  2013 resource
-rwxr-xr-x 1 oracle oinstall    107  8月 27  2013 runInstaller.sh
-rwxr-xr-x 1 oracle oinstall 145976  8月 27  2013 unzip
[oracle@kylinsp3-oracle install]$ mv unzip unzip_bak
[oracle@kylinsp3-oracle install]$ ln -s `which unzip` unzip
[oracle@kylinsp3-oracle install]$ ll
总用量 244
-rwxr-xr-x 1 oracle oinstall     28  8月 27  2013 addLangs.sh
-rwxr-xr-x 1 oracle oinstall    619  8月 27  2013 addNode.sh
-rwxr-xr-x 1 oracle oinstall    275  8月 27  2013 attachHome.sh
-rwxr-xr-x 1 oracle oinstall   7499  8月 27  2013 clusterparam.ini
-rwxr-xr-x 1 oracle oinstall    181  8月 27  2013 detachHome.sh
drwxr-xr-x 2 oracle oinstall     28  8月 27  2013 images
-rwxr-xr-x 1 oracle oinstall  60809  8月 27  2013 lsnodes
-rwxr-xr-x 1 oracle oinstall   2058  8月 27  2013 oraparam.ini
-rwxr-xr-x 1 oracle oinstall   6437  8月 27  2013 oraparamsilent.ini
drwxr-xr-x 2 oracle oinstall    202  8月 27  2013 resource
-rwxr-xr-x 1 oracle oinstall    107  8月 27  2013 runInstaller.sh
lrwxrwxrwx 1 oracle oinstall     10  7月 17 14:40 unzip -> /bin/unzip
-rwxr-xr-x 1 oracle oinstall 145976  8月 27  2013 unzip_bak

执行安装,如下图所示

 选择yes

 跳过更新

 

 

 

 

 

 

 

 

 设置统一密码:Ora#168815

 直接忽略,下一步

 再安装到70%左右会报如下图所示的错误

#解决makefile保持
[oracle@kylinsp3-oracle ~]$ cd $ORACLE_HOME/sysman/lib
[oracle@kylinsp3-oracle lib]$ cp ins_emagent.mk ins_emagent.mk.bak
[oracle@kylinsp3-oracle lib]$ vim ins_emagent.mk

在如下图所示的位置,添加配置:在后面追加参数-lnnz11  第一个是字母l 后面两个是数字1

 

 保存退出,然后重试安装

如果出现上图所示,那么基本就没有什么问题。等待完成安装即可!

 用root用户执行上述两个脚本

#执行脚本
[root@kylinsp3-oracle ~]# cd /u01/app/oraInventory/
[root@kylinsp3-oracle oraInventory]# 
[root@kylinsp3-oracle oraInventory]# ./orainstRoot.sh 
Changing permissions of /u01/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.

Changing groupname of /u01/app/oraInventory to oinstall.
The execution of the script is complete.
[root@kylinsp3-oracle oraInventory]# cd ..
[root@kylinsp3-oracle app]# cd oracle/product/11.2.0/dbhome_1/
[root@kylinsp3-oracle dbhome_1]# ./root.sh 
Performing root user operation for Oracle 11g 

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/oracle/product/11.2.0/dbhome_1

Enter the full pathname of the local bin directory: [/usr/local/bin]: 
   Copying dbhome to /usr/local/bin ...
   Copying oraenv to /usr/local/bin ...
   Copying coraenv to /usr/local/bin ...


Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Finished product-specific root actions.

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/762694.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Java基础教程】(十五)面向对象篇 · 第九讲:抽象类和接口——定义、限制与应用的细节,初窥模板设计模式、工厂设计模式与代理设计模式~

Java基础教程之面向对象 第九讲 本节学习目标1️⃣ 抽象类1.1 抽象类定义1.2 抽象类的相关限制1.3 抽象类应用——模板设计模式 2️⃣ 接口2.1 接口定义2.2 接口的应用——标准2.3 接口的应用——工厂设计模式 (Factory)2.4 接口的应用——代理设计模式 (Proxy) 3️⃣ 抽象类与…

前端自动化测试工具 Cypress 试用调研记录

目录 前言 环境准备 1.工具:vs code;环境:node.js。 2.安装 cypress 3.安装插件: 4.配置: 5.启动命令: helloworld: 第一个用例 元素定位方式 使用 request 请求进行登录 提取登录方…

SpringMVC中@ControllerAdvice 注解的三种使用场景

全局异常处理 /**可以定义多个方法,不同的方法处理不同的异常。如专门处理空指针的方法,专门处理数组越界…… */ ControllerAdvice public class MyGlobalExceptionHandler{ExceptionHandler(Exception.class)//指定异常处理类型public ModelAndView c…

一、基础-4.MySQL启动和客户端连接

一、启动 方法一: 1、winR,输入services.msc,按回车 2、找到MySQL,右键-启动/停止 MySQL安装后,默认已启动。 方法二、 1、winR,输入cmd,打开命令行 2、输入启动与停止命令 二、客户端连接 …

工业手持终端在工业现场的实际应用

在工业现场,RFID手持终端设备扮演着关键的角色。本文将介绍RFID手持终端设备在工业现场的功能和优势,并探讨其应用场景和最佳实践。同时,提供选择和使用RFID手持终端设备时的注意事项,以帮助企业实现有效的应用策略。 RFID手持终…

uniapp学习之【从一个小程序跳转到另一个小程序】

uni.navigateToMiniProgram({appId: ,path: pages/index/index?id123,extraData: {data1: test},success(res) {// 打开成功} })

【深度学习】日常笔记12

当⾯对更多的特征⽽样本不⾜时,线性模型往往会过拟合。 线性模型没有考虑到特征之间的 交互作⽤。对于每个特征,线性模型必须指定正的或负的权重,⽽忽略其他特征。与线性模型不同,神经⽹络并不局限于单独查看每个特征&#xff0c…

408 计算机考研-001-C语言-C语言基础-考研必学

408 计算机考研-001-C语言-C语言基础-考研必学 本文目录 408 计算机考研-001-C语言-C语言基础-考研必学考研C语言应掌握的内容考研真题2022 年考研真题第 1 题2022 年考研真题第 41 题2021 年考研真题第 42 题 一、打印:Hello, World二、数据类型1. 基本数据类型 三…

项目bug——编码问题报错(java.lang.IllegalStateException)

项目场景: 项目拉下后报错 问题描述 2023-07-17 14:26:07.596 ERROR 14300 — [ main] o.s.boot.SpringApplication : Application run failed java.lang.IllegalStateException: Failed to load property source from ‘file:/Users/wang/IdeaProjects/ms-famil…

ADS交叉耦合振荡器仿真

ADS交叉耦合振荡器仿真 摘要参考视频书籍 环境过程结果分析频率计算瞬态仿真差分电压输出查看相位噪声分析 摘要 本文主要参考视频中如何使用进行ADS交叉耦合振荡器仿真和分析,由于视频中有诸多错误和视频清晰度较低,虽然视频博主及时改正,为…

家用洗地机好用吗、智能洗地机品牌排行榜

在现如今,洗地机不算是什么稀奇的东西了。正相反,越来越多的家庭在清洁的时候都会使用洗地机。因为洗地机相比传统的清洁方式,更加便捷高效,清洁使用的时候简直就是事半功倍!那么今天小编就为给大家盘点几款非常适合家…

3Ds max入门教程:快捷键命令和鼠标热键大全

推荐: NSDT场景编辑器助你快速搭建可二次开发的3D应用场景 起初,您可能需要花一些时间查找热键,但是一旦您使用它们记住了它们,它们将使您以至少两倍的速度产生结果。例如,当您进行建模(移动、缩放、旋转等…

霍纳法则----快速入门,贼好理解

别问我,为什么写这个,我可能一辈子都在开发中用不到,纯粹应付八股。 公式我不知道咋打,就网上复制了个图片。 这是什么?是一个含x的多项式,他有很多次方。假设让你写代码,x的输入项,…

一文带你了解动态内存管理

目录 动态内存存在的意义 动态内存函数的介绍 malloc和free calloc realloc 常见的动态内存错误 对NULL指针解引用操作 对动态开辟的空间的越界访问 对非动态开辟内存使用free释放 使用free释放一块动态开辟内存的一部分 对同一块内存多次释放 动态开辟内存忘记释放…

时序预测 | MATLAB实现NARX非线性自回归外生模型房价预测

时序预测 | MATLAB实现NARX非线性自回归外生模型房价预测 目录 时序预测 | MATLAB实现NARX非线性自回归外生模型房价预测效果一览基本介绍研究内容程序设计参考资料效果一览 基本介绍 时序预测 | MATLAB实现NARX非线性自回归外生模型房价预测 研究内容 NARX(Nonlinear AutoReg…

抖音账号矩阵系统源码-开源部署开发者分享

抖音账号矩阵系统,短视频账号矩阵系统源码, 短视频矩阵是一种常见的视频编码标准,它通过将视频分成多个小块并对每个小块进行压缩来实现高效的视频传输。短视频多账号矩阵系统,通过多账号一键授权管理的方式,为运营人员…

90%的程序员都不知道Mysql索引下推

索引下推(Index Condition Pushdown) ICP 是Mysql5.6之后新增的功能,主要的核心点就在于把数据筛选的过程放在了存储引擎层去处理,而不是像之前一样放到Server层去做过滤。 虽然这是一个比较简单的概念,但是可能很多不细心的同学对于索引下推…

无需点跟踪,克服DragGAN缺陷!中科大联合上海AI Lab发布FreeDrag:可稳定拖动语义内容

FreeDrag无需点跟踪,即可实现更高质量的拖动编辑效果! 近日,在AIGC的广阔世界里出现了一个火热的图像编辑方法—即通过在给定图像上通过把语义内容从原位置(handle point)拖动到目标位置(target point&…

12宫格 抽奖逻辑实现【直接可用】

先看视频&#xff0c;比较卡&#xff0c;毕竟是视频转gif导出的 /*** Author : 马占柱* E-mail : mazhanzhu_3351163.com* Time : 2023/5/24 17:46* Desc : 12宫格 盲盒抽奖*/ public class NineLuckPan extends View {private Paint mPaint;private ArrayList<RectF>…

linux下安装jdk

1、创建目录 cd /opt mkdir /opt/jdk 2、将jdk放入/opt/jdk中 3、 解压目录 cd /opt/jdk tar -zxvf jdk-8u261-linux-x64.tar.gz 4、拷贝目录 mkdir /usr/local/java mv /opt/jdk/jdk1.8.0_261 /usr/local/java 5、配置环境变量的配置文件 vim /etc/profile 在配置文件中添加…