Oracle 11g_FusionOS_安装文档
同事让安装数据库,查询服务器信息发现操作系统是超聚变根据华为openEuler操作系统更改的自研操作系统,安装过程中踩坑不少,最后在超聚变厂商的技术支持下安装成功,步骤可参数该文。
一、 安装环境准备
1.1 软件下载
下载地址: Search Software (oracle.com)
1.2 关闭防火墙
关闭防火墙:
systemctl stop firewalld.service
systemctl disable firewalld.service
1.3 安装Oracle11g的依赖包
需要挂载完整版镜像,最小化镜像文件会缺少依赖包。
镜像文件下载地址:
百度网盘链接:https://pan.baidu.com/s/1_nEDiraeOCSBsnR74mEhPg?pwd=11bu
提取码:11bu
yum -y install xz wget gcc-c++ ncurses ncurses-devel
cmake make perl openssl openssl-devel gcc* libxml2
libxml2-devel curl-devel libjpeg* libpng* freetype*
make gcc-c++ cmake bison perl perl-devel perl perl-devel
glibc-devel libaio readline-devel
zlib.x86_64 zlib-devel.x86_64 libcurl-* net-tool*
sysstat lrzsz dos2unix telnet.x86_64 iotop unzip
ftp.x86_64 xfs* expect vim psmisc openssh-client*
libaio bzip2 automake binutils bzip2
elfutils expat gawk gcc ksh less make openssh-server
rpm sysstat unzip unzip cifs-utils libXext.x86_64
binutils
elfutils-libelf elfutils-libelf-devel
expat gcc gcc-c++ glibc glibc-common
glibc-devel glibc-headers libaio
libaio-devel libgcc libstdc++ libstdc+±devel
make sysstat unixODBC unixODBC-devel libnsl
yum install libnsl libaio-devel glibc-devel glib-devel gcc gcc-c++ ksh make glibc-compat-2.17
1.4 创建Oracle用户和用户组
groupadd -g 502 oinstall
groupadd -g 503 dba
groupadd -g 504 oper
groupadd -g 505 asmadmin
useradd -u 502 -g oinstall -G oinstall,dba,asmadmin,oper -s /bin/bash -m oracle
passwd oracle (默认设置密码为Oracle#123456)
1.5 修改操作系统配置
vim /etc/security/limits.conf
文件最后加入如下内容:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 10240
修改主机名:
hostnamectl set-hostname oracle11g
vi /etc/hosts
1.6 解压安装包
将两个安装包复制到/home/oracle目录下
su - oracle:
unzip V17530-01_1of2.zip
unzip V17530-01_2of2.zip
1.7 创建目录安装目录
mkdir -p ~/tools/oracle11g
1.8 配置Oracle环境变量
cd /home/oracle
vim ~/.bash_profile
添加在文件末尾:
export ORACLE_BASE=/home/oracle/tools/oracle11g
export ORACLE_HOME= O R A C L E B A S E / p r o d u c t / 11.2.0 / d b h o m e 1 e x p o r t O R A C L E S I D = o r c l e x p o r t O R A C L E U N Q N A M E = o r c l e x p o r t N L S L A N G = . A L 32 U T F 8 e x p o r t P A T H = {ORACLE_BASE}/product/11.2.0/dbhome_1 export ORACLE_SID=orcl export ORACLE_UNQNAME=orcl export NLS_LANG=.AL32UTF8 export PATH= ORACLEBASE/product/11.2.0/dbhome1exportORACLESID=orclexportORACLEUNQNAME=orclexportNLSLANG=.AL32UTF8exportPATH={PATH}: O R A C L E H O M E / b i n / : {ORACLE_HOME}/bin/: ORACLEHOME/bin/:{ORACLE_HOME}/lib64
export LD_LIBRARY_PATH=${ORACLE_HOME}/lib
source .bash_profile
1.9 修改配置文件
cd /home/oracle/
cp /home/oracle/database/response/db_install.rsp .
vim db_install.rsp
设置以下属性:
oracle.install.option=INSTALL_DB_AND_CONFIG
ORACLE_HOSTNAME=oracle11g #修改成自己的主机名
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/home/oracle/tools/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/home/oracle/tools/oracle11g/product/11.2.0/dbhome_1
ORACLE_BASE=/home/oracle/tools/oracle11g
oracle.install.db.InstallEdition=EE
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oper
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.globalDBName=orcl
oracle.install.db.config.starterdb.SID=orcl
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.memoryOption=true
oracle.install.db.config.starterdb.memoryLimit=1024
oracle.install.db.config.starterdb.installExampleSchemas=false
oracle.install.db.config.starterdb.password.ALL=Oracle#123456
oracle.install.db.config.starterdb.control=DB_CONTROL
oracle.install.db.config.starterdb.dbcontrol.enableEmailNotification=false
oracle.install.db.config.starterdb.dbcontrol.emailAddress=test@qq.com
oracle.install.db.config.starterdb.automatedBackup.enable=false
oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=/home/oracle/tools/oracle11g/oradata
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=/home/oracle/tools/oracle11g/flash_recovery_area
DECLINE_SECURITY_UPDATES=true
二、 安装Oracle
2.1 根据响应文件安装Oracle
2.1.1.确认oracle_home目录空间大于5G
2.1.2.root 用户操作
vi /etc/oraInstl.loc
添加以下两行内容:
inventory_loc=/home/oracle/tools/oraInventory
inst_group=oinstall
2.1.3. 备份编译libaio
操作使用root用户
- 备份libaio.so文件
mv /usr/lib64/libaio.so.1.0.0 /usr/lib64/libaio.so.1.0.0_bak
mv /usr/lib64/libaio.so.1.0.1 /usr/lib64/libaio.so.1.0.1_bak
2、安装依赖包
yum install git rpm-build rpmdevtools dnf-utils
3、从openEuler 20.03 SP3分支获取目前FusionOS SP1发布一致的libaio代码下载需要登陆gitee账号,将libaio源码上传到/root目录下
https://gitee.com/src-openeuler/libaio/repository/archive/12d2ee059e12e75444ffc265fd7efec87c4e42fd.zip
4、创建rpmbuild目录用于编译
rpmdev-setuptree
5、解压并复制libaio代码到rpmbuild/SOURCES目录下
unzip libaio-12d2ee059e12e75444ffc265fd7efec87c4e42fd.zip
cp libaio-12d2ee059e12e75444ffc265fd7efec87c4e42fd/* /root/rpmbuild/SOURCES
6、修改gcc
mv /usr/bin/gcc /usr/bin/gcc-bak
echo -e ‘#!/usr/bin/bash\ngcc-bak $@ -fno-stack-protector’ > /usr/bin/gcc
chmod 755 /usr/bin/gcc
7、安装libaio编译依赖
yum-builddep /root/rpmbuild/SOURCES/libaio.spec
8、编译libaio的rpm包
rpmbuild -ba /root/rpmbuild/SOURCES/libaio.spec
9、升级libaio包
cd /root/rpmbuild/RPMS/x86_64/
rpm -Uvh libaio-0.3.112-4.x86_64.rpm libaio-devel-0.3.112-4.x86_64.rpm
10、恢复gcc
\mv /usr/bin/gcc-bak /usr/bin/gcc
11.更改libaio.so.1
rm -rf /usr/lib64/libaio.so.1
ln -s /usr/lib64/libaio.so.1.0.1 /usr/lib64/libaio.so.1
2.1.4.执行命令:
su - oracle
cd /home/oracle/database
./runInstaller -silent -ignorePrereq -responseFile /home/oracle/db_install.rsp
出现以下内容表示成功:
2.2 安装环境
su - root
/home/oracle/tools/oraInventory/orainstRoot.sh
/home/oracle/tools/oracle11g/product/11.2.0/dbhome_1/root.sh
2.3 登录oracle
su - oracle
lsnrctl start
sqlplus / as sysdba
查看状态是否为open:
SQL>select status from v$instance;
2.4 关闭oracle
SQL>shutdown immediate
SQL>exit
lsnrctl stop
2.5 还原libaio.so
rm -rf /usr/lib64/libaio.so.1.0.0
rm -rf /usr/lib64/libaio.so.1.0.1
mv /usr/lib64/libaio.so.1.0.0_bak /usr/lib64/libaio.so.1.0.0
mv /usr/lib64/libaio.so.1.0.1_bak /usr/lib64/libaio.so.1.0.1
2.6 补充库文件链接
echo “/home/oracle/tools/oracle11g/product/11.2.0/dbhome_1/inventory/Scripts/ext/lib/” >> /etc/ld.so.conf
ldconfig
2.7 登录验证oracle
su - oracle
lsnrctl start
sqlplus / as sysdba
SQL>startup;
查看状态是否为open:
SQL>select status from v$instance;
SQL>exit
相关文章:
Oracle 11g_FusionOS_安装文档
同事让安装数据库,查询服务器信息发现操作系统是超聚变根据华为openEuler操作系统更改的自研操作系统,安装过程中踩坑不少,最后在超聚变厂商的技术支持下安装成功,步骤可参数该文。 一、 安装环境准备 1.1 软件下载 下载地址:…...
Linux驱动实现IO模型
在Linux系统分为内核态和用户态,CPU会在这两个状态之间进行切换。当进行IO操作时,应用程序会使用系统调用进入内核态,内核操作系统会准备好数据,把IO设备的数据加载到内核缓冲区。 然后内核操作系统会把内核缓冲区的数据从内核空…...
wsl2 更新报错问题解决记录
1、问题 win10 中安装的 wsl2,启动 docker desktop 时提示 wsl2 有问题: 于是点击推荐的地址连接到微软,下载 wsl2 的更新文件。之后运行,又报错: 更新被卡住。 2、解决方法 WinR 输入 cmd 打开命令行窗口&#x…...
突破算法迷宫:精选50道-算法刷题指南
前言 在计算机科学和编程领域,算法和数据结构是基础的概念,无论你是一名初学者还是有经验的开发者,都需要掌握它们。本文将带你深入了解一系列常见的算法和数据结构问题,包括二分查找、滑动窗口、链表、二叉树、TopK、设计题、动…...
玩转Mysql系列 - 第26篇:聊聊mysql如何实现分布式锁?
这是Mysql系列第26篇。 本篇我们使用mysql实现一个分布式锁。 分布式锁的功能 分布式锁使用者位于不同的机器中,锁获取成功之后,才可以对共享资源进行操作 锁具有重入的功能:即一个使用者可以多次获取某个锁 获取锁有超时的功能ÿ…...
linux 解压缩命令tar
Tar tar 命令的选项有很多(用 man tar 可以查看到),但常用的就那么几个选项,下面来举例说明一下: tar -cf all.tar *.jpg 这条命令是将所有.jpg 的文件打成一个名为 all.tar 的包。-c 是表示产生新的包,-f 指 定包的文件名。 …...
OpenAI ChatGPT API 文档之 Embedding
译者注: Embedding 直接翻译为嵌入似乎不太恰当,于是问了一下 ChatGPT,它的回复如下: 在自然语言处理和机器学习领域,"embeddings" 是指将单词、短语或文本转换成连续向量空间的过程。这个向量空间通常被称…...
Java常用类(二)
好久不见,因工作原因,好久没发文了,OldWang 回来了,持续更新Java内容!⭐ 不可变和可变字符序列使用陷阱⭐ 时间处理相关类⭐ Date 时间类(java.util.Date)⭐ DateFormat 类和 SimpleDateFormat 类⭐ Calendar 日历类 ⭐…...
Java获取给定月份的前N个月份和前N个季度
描述: 在项目开发过程中,遇到这样一个需求,即:给定某一月份,得到该月份前面的几个月份以及前面的几个季度。例如:给定2023-09,获取该月份前面的前3个月,即2023-08、2023-07、2023-0…...
网页资源加载过程
网页资源加载是指在浏览器中访问一个网页时,浏览器如何获取和显示网页内容的过程。这个过程通常分为以下几个步骤: DNS 解析: 当用户在浏览器中输入一个网址(例如,https://www.example.com),浏览…...
使用git config --global设置用户名和邮件,以及git config的全局和局部配置
文章目录 1. 文章引言2. 全局配置2.1 命令方式2.2 配置文件方式 3. 局部配置3.1 命令方式3.2 配置文件方式 4. 总结 1. 文章引言 我们为什么要设置设置用户名和邮件? 我们在注册github,gitlab等时,一般使用用户名或邮箱: 这个用户…...
【C语言】21-指针-3
目录 1. 指针数组1.1 什么是指针数组1.2 如何定义指针数组1.3 如何使用指针数组2. 多重指针2.1 二重指针的定义2.2 二重指针的初始化与赋值2.3 二重指针的使用3. 指针常量、常量指针、指向常量的常指针3.1 概念3.2 const pointer3.3 pointer to a constant3.3.1 (pointer to a …...
解决craco启动react项目卡死在Starting the development server的问题
现象: 原因:craco.config.ts配置文件有问题 经过排查发现Dev开发模式下不能有splitChunk的配置, 解决办法: 加一个生产模式的判断,开发模式不加载splitChunk的配置,仅在生产模式才加载 判断条件代码&#…...
常见的密码学算法都有哪些?
密码学算法是用于保护信息安全的数学方法和技术。它们可以分为多个类别,包括对称加密、非对称加密、哈希函数和数字签名等。以下是一些常见的密码学算法: 1、对称加密算法: AES(高级加密标准):一种广泛使…...
云安全【阿里云ECS攻防】
关于VPC的概念还请看:记录一下弹性计算云服务的一些词汇概念 - 火线 Zone-安全攻防社区 一、初始化访问 1、元数据 1.1、SSRF导致读取元数据 如果管理员给ECS配置了RAM角色,那么就可以获得临时凭证 如果配置RAM角色 在获取ram临时凭证的时候ÿ…...
TBSS数据分析
tbss分析基本流程: 步骤一,指标解算:求解出FA,MD,AD,RD指标 #!/bin/bash #基于体素的形态学分析VBA path/media/kui/Passport5T/DATA_help/TBSS/row_data mkdir ${path}/Results_DTI_tbss mkdir ${path}/R…...
【单调队列】 239. 滑动窗口最大值
239. 滑动窗口最大值 解题思路 计算每一个滑动窗口的最大值 关键在于借助单调队列实现窗口对于单调队列 尾部添加元素 头部删除元素添加元素操作:从尾部开始循环对比 删除比当前元素小的元素获取最大值元素 直接获取头部元素删除元素操作 直接删除头部元素 class…...
Spring实例化源码解析之ComponentScanAnnotationParser(四)
上一章我们分析了ConfigurationClassParser,配置类的解析源码分析。在ComponentScans和ComponentScan注解修饰的候选配置类的解析过程中,我们需要深入的了解一下ComponentScanAnnotationParser的parse执行流程,SpringBoot启动类为什么这么写&…...
MySQL - 外键(foreign key)约束的作用和使用
什么是外键约束? 外键:用来让两张表的数据之间建立连接,从而保证数据的一致性和完整性。 外键约束是用于建立两个表之间关系的一种约束,它定义了一个表中的列与另一个表中的列之间的关系。外键约束可以保证数据的完整性和一致性…...
前端开发之服务器的基本概念与初识Ajax
1,服务器的基本概念与初识Ajax 1.1 URL地址的组成部分 1.2 客户端与服务器的通信过程 1.3 网页中如何请求数据 1.4 $.get()函数 1.4.1 $.get()函数的语法 // jQuery 中 $.get() 函数的功能单一,专门用来发起 get 请求,从而将服务器上的资源…...
数据结构排序算法---八大排序复杂度及代码实现
文章目录 一、冒泡排序代码实现 二、直接插入排序代码实现 三、希尔排序代码实现 四、选择排序代码实现 五、堆排序代码实现 六、快速排序代码实现 七、归并排序代码实现 八、计数排序代码实现 稳定性:相同的数据排序后,相对位置是否发生改变 一、冒泡排…...
GMS之Launcher中去除默认Search或替换为Chrome Search
将Launcher中搜索框去除 将FeatureFlags.java文件中的QSB_ON_FIRST_SCREEN变量修改为false \system\vendor\mediatek\proprietary\packages\apps\Launcher3\src\com\android\launcher3\config\FeatureFlags.java/*** Defines a set of flags used to control various launche…...
@DateTimeFormat 和 @JsonFormat 的详细研究
关于这两个时间转化注解,先说结论 一、介绍 1、DateTimeFormat DateTimeFormat 并不会根据得到其属性 pattern 把前端传入的数据转换成自己想要的格式,而是将前端的String类型数据封装到Date类型;其次它的 pattern 属性是用来规范前端传入…...
nodejs基于Vue.js健身体育器材用品商城购物网97794
管理员端的功能主要是开放给系统的管理人员使用,能够对用户的信息进行管理,包括对用户、健身器材、器材类型、系统和订单进行查看,修改和删除、新增等,对系统整体运行情况进行了解。用户的功能主要是对个人账号和密码进行更新信息…...
C#WPF框架Microsoft.Toolkit.MvvM应用实例
本文实例演示C#WPF框架Microsoft.Toolkit.MvvM应用 目录 一、MVVM概述 二、MVVMLight概述 三、使用Microsoft.Toolkit.Mvvm框架 一、MVVM概述 MVVM概述MVVM是Model-View-ViewModel的简写,主要目的是为了解耦视图(View)和模型(Model)。...
蓝桥杯每日一题2023.9.27
4408. 李白打酒加强版 - AcWing题库 题目描述 题目分析 对于这题我们发现有三个变量,店,花,酒的数量,对于这种范围我们使用DP来进行分析。 dp[i][j][k]我们表示有i个店,j朵花,k单位酒的集合,…...
Redis与分布式-主从复制
接上文 常用中间件-OAuth2 1.主从复制 启动两个redis服务器。 修改第一个服务器地址 修改第二个redis 然后分别启动 redis-server.exe redis.windows.conf) 查看当前服务器的主从状态,打开客户端:输入info replication命令来查看当前的主从状态&am…...
QT pyside2 线程嵌套子线程 实现开始运行和停止运行
文章目录 前言为什么要使用多线程 一、单个线程实现按钮方法的执行二、线程嵌套多个子线程实现按钮方法的执行三、QT GUI常用代码3.1 多线程取出队列任务循环执行,无停止3.2 将某个方法放在线程中执行3.3 QT pyside2 tableWidget 清除日志3.4 退出整个GUI程序(杀死进…...
江西广电会展集团总经理李悦一行莅临拓世科技集团调研参观,科技璀璨AIGC掀新潮
在江西这片充满活力的土地上,数字经济如潮水般涌动,会展文化与科技的完美结合,正如新时代的璀璨繁星照亮夜空,更预示着一场AIGC创新的壮丽篇章即将展开。作为拓世科技集团的老朋友,江西广电多位领导多次莅临拓世科技集…...
【RabbitMQ实战】06 RabbitMQ配置
一、概述 一般情况下,可以使用默认的内建配置来有效地运行RabbitMQ,并且大多数情况下也并不需要修改任何 RabbitMQ的配置。当然,为了更加有效地操控 RabbitMQ,也可以利用调节系统范围内的参数来达到定制化的需求。 RabbitMQ提供…...
金华网站建设明细报价表/新网站友链
http://www.cnjm.net/tech/article2049.html 本文版权归原作者,中国JAVA手机网收录本文的目的是让更多人阅读到此文章。转载请注明出处为中国JAVA手机网<www.cnjm.net> 来自:http://www.cnjm.net/tech/article2049.html 由于无线设备所能支持的网络协议非常有…...
做心理咨询可以在哪些网站发贴/自己建网站要花多少钱
题目描述 NowCoder在淘宝上开了一家网店。他发现在月份为素数的时候,当月每天能赚1元;否则每天能赚2元。 现在给你一段时间区间,请你帮他计算总收益有多少。 输入描述: 输入包含多组数据。 每组数据包含两个日期from和to (2000-01-01 ≤ fr…...
网站设计行业吃香么/营销型网站的特点
K线、订单簿 技术指标:均线MA、MACD、KDJ CAPM: alpha、beta, sharpe 回测 滑点、回撤 K线、订单簿转载于:https://www.cnblogs.com/captain-dl/p/10106500.html...
添加网站图标/今日新闻最新头条
叨叨两句 昨天爬了一下午坑才出来的我向大家问好?,要说小程序基础库都1.9了,但是坑还是很多。一方面是由于小程序的文档不是太友好,也许某个地方告诉你了,但是不是那么 容易发现。另一方面,微信大佬手握9亿多用户&…...
球赛投注网站开发/湘潭seo优化
在一个BLOG上看到的,一段挺好的话,适合于做团队领导者的人记得真心诚意,以情感人;推心置腹,以诚待人开诚布公,以理服人;言行一致,以信取人令行禁止,依法治人;设身处地&am…...
济南网站建设公司有哪些/百度seo快速见效方法
OpenVAS漏洞扫描基础教程之创建用户 OpenVAS管理服务 默认情况下,OpenVAS服务仅创建了一个名为admin的用户,而且是管理员用户(拥有最高的权限)。如果想要其它客户端登陆的话,不可能都以管理员身份访问,否则…...