首页 文章 精选 留言 我的

精选列表

搜索[学习],共10000篇文章
优秀的个人博客,低调大师

《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》学习笔记——HarmonyOS纯血鸿蒙新特性

自HarmonyOS 3.1开始,HarmonyOS推出应用开发Stage模型,并在ArkTS语言、应用程序框架、Web、ArkUI等子系统能力方面有所更新或增强。 HarmonyOS 3.1开放的功能包括: Ability框架新增Stage开发模型,包含Stage模型生命周期管理、调度、回调、上下文获取、鉴权等。同时增强了应用的运行管理能力。 ArkUI开发框架增强了声明式Canvas/XComponent组件能力,增强了组件布局能力及状态管理能力,优化了部分组件的易用性。 应用包管理新增查询应用、Ability和ExtensionAbility相关属性的接口。 公共基础类库新增支持Buffer二进制读写。 Web服务新增支持文档类Web应用的文档预览和基础编辑功能,以及cookie的管理和存储管理。 图形图像新增支持YUV、webp图片编解码等能力;新增native vsync能力,支持自绘制引擎自主控制渲染节奏。 媒体服务新增相机配置与预览功能。 窗口服务新增Stage模型下窗口相关接口,增强窗口旋转能力,增强避让区域查询能力。 全球化服务新增支持时区列表、音译、电话号码归属地等国际化增强能力。 公共事件基础能力增强,commonEvent模块变更为commonEventManager。 资源管理服务新增资源获取的同步接口,新增基于名称查询资源值的接口,新增number、float资源类型查询接口,新增Stage模型资源查询方式。 输入法服务新增输入法光标方向常量。 从HarmonyOS NEXT Developer Preview1(API 11)版本开始,HarmonyOS SDK以Kit维度提供丰富、完备的开放能力,涵盖应用框架、系统、媒体、图形、应用服务、AI六大领域: 应用框架相关Kit开放能力:Ability Kit(程序框架服务)、ArkUI(方舟UI框架)等。 系统相关Kit开放能力:Universal Keystore Kit(密钥管理服务)、Network Kit(网络服务)等。 媒体相关Kit开放能力:Audio Kit(音频服务)、Media Library Kit(媒体文件管理服务)等。 图形相关Kit开放能力:ArkGraphics 2D(方舟2D图形服务)、Graphics Accelerate Kit(图形加速服务)等。 应用服务相关Kit开放能力:Game Service Kit(游戏服务)、Location Kit(位置服务)等。 AI相关Kit开放能力:Intents Kit(意图框架服务)、HiAI Foundation Kit(HiAI Foundation服务)等。 Stage模型 从API 9开始,Ability框架引入并支持使用Stage模型进行开发。因此,Ability框架模型结构具有两种形态: FA模型:API 8及其更早版本的应用程序只能使用FA模型进行开发。 Stage模型:从API 9开始。Stage模型只支持使用ArkTS语言进行开发。 Stage模型是HarmonyOS 3.1开始新增的模型,也是目前HarmonyOS主推且会长期演进的模型。在该模型中,由于提供了AbilityStage、WindowStage等类作为应用组件和Window窗口的“舞台”,因此称这种应用模型为Stage模型。本书也主要介绍以Stage模型为主的开发方式。 Ability组件的生命周期 Ability生命周期切换以及和AbilityStage、WindowStage之间的调度关系如下图1-7所示。 Stage模型定义Ability组件的生命周期,只包含创建、销毁、前后台等状态,而将与界面强相关的获焦、失焦状态都放在WindowStage之中,从而实现Ability与窗口之间的弱耦合;在服务侧,窗口管理服务依赖于组件管理服务,前者通知后者前后台变化,这样组件管理服务仅感知前后台变化,不感知焦点变化。 需要注意的是,在Ability中存在两个与WindowStage相关的生命周期状态onWindowStageCreate和onWindowStageDestroy,这两个生命周期状态的变化仅存在于具有显示能力的设备中。前者表示WindowStage已经创建完成,开发者可以通过执行loadContent的操作设置Ability需要加载的页面;后者在WindowStage销毁后调用,以便开发者对资源进行释放。 ArkUI开发框架 ArkUI(方舟UI框架)是一个简洁的、高性能、支持跨设备的UI框架,提供了丰富的应用界面开发所需能力。 ArkUI包括UI组件、动画、绘制、交互事件、JS API扩展机制等。 ArkUI在HarmonyOS NEXT版本带来如下能力的新增或增强: 针对三方框架场景提供组件NDK接口,涵盖组件创建、属性设置、事件注册、自定义能力、组件树构建。 自定义节点能力增强,提供FrameNode的自定义能力以及节点代理能力,并提供基础组件、手势、事件的Modifier能力。 Navigation新增页面生命周期:支持onWillShow和onWillHide页面生命周期、转场动画支持打断和接续、页面内容扩展到状态栏、单例跳转能力和自定义动效能力增强。 Video/XComponent/Canvas组件支持AI能力,支持文本和实体识别。 Text等文本类组件支持属性字符串。 支持使用NativeWindowEventFilter能力拦截按键事件。 支持使用画中画功能。 新增提供智慧多窗的适配指导 ArkTS编程语言 ArkTS(方舟编程语言)提供HarmonyOS应用开发语言ArkTS相关的公共核心基础能力接口,包括并发、容器、流、文本编解码、XML、URI、Buffer等能力。 ArkTS是HarmonyOS优选的主力应用开发语言。ArkTS基于TypeScript(简称TS)语言扩展而来,是TS的超集。这也是为什么ArkTS的原名叫eTS, 是extend TypeScript的简写。ArkTS继承了TS的所有特性,并且ArkTS在TS基础上还扩展了声明式UI能力,让开发者以更简洁、更自然的方式开发高性能应用。 ArkTS在HarmonyOS NEXT版本带来如下能力的新增或增强: Taskpool新增支持任务组、串行队列、长时任务、取消任务、宿主通信、设置任务监听、设置任务依赖关系,新增受限worker能力。 新增流基础能力,包括流读、写、双工和转换。 增强Uri、TextDecoder、StringDecoder等模块能力。 Taskpool、TextDecoder、buffer、uri等模块接口性能优化。 ArkWeb ArkWeb(方舟Web)提供了在应用中使用Web页面的能力,支持应用集成Web页面、小程序、浏览器网页浏览等场景的混合开发。 ArkWeb在HarmonyOS NEXT阶段带来如下能力的新增或增强: 网页加载与页面导航:新增支持打开UniversalLink链接、应用托管网络、应用级自定义DNS。 网页渲染与显示:新增支持object/embed标签的同层渲染与事件传递、长网页渲染模式、网页长截图、扩展安全区域与H5避让区查询能力、预览PDF(内置PDFView扩展)。 UX一致性增强:增强支持文本选择智能选词、图片长按识文、列表滑动曲线与原生一致。 网页媒体:新增支持显示HEIF图片、网页视频托管、网页音视频与摄像头控制。 网页安全隐私:新增广告过滤能力支持定义自定义拦截规则,智能防跟踪及限制三方Cookie的访问,网页高级安全模式。 W3C兼容性增强:支持设置meta标签的viewport属性,支持鼠标悬停提示tooltip、datalist元素,支持自定义光标样式等。 性能增强:新增ArkWeb组件动态创建与上下树、JavaScript接口性能提升、V8引擎性能优化。 DFX增强:新增支持独立Web GPU进程提升应用稳定性,应用可使能独立Web渲染进程,提升应用安全与稳定性,无障碍常用功能,增强网页性能度量接口(LCP/FMP),生成crashpad崩溃信息。 “纯血鸿蒙”解读 2023年8月4日,在华为开发者大会上,华为发布HarmonyOS Next开发者预览版本。据介绍,HarmonyOS NEXT系统底座全线自研,去掉了传统的AOSP代码,不再兼容安卓开源应用,仅支持鸿蒙内核和系统的应用,因此也被称为“纯血鸿蒙”。 HarmonyOS NEXT可以理解为HarmonyOS面向未来的、自研程度更高的下一代鸿蒙系统。 “纯血鸿蒙”具有以下特点: 全面自研:鸿蒙系统通过全新的架构和核心技术实现了全面自研,正式脱离了Android的影响,成为真正独立的操作系统。 自主可控:鸿蒙内核、文件系统、编程语言和编译器等均为华为自主研发,确保了系统的安全性和稳定性。 高度弹性:鸿蒙内核具有高度弹性的架构,能够根据硬件需求灵活组合操作系统能力,满足各种终端的需求。 鸿蒙内核:作为“纯血鸿蒙”的核心,鸿蒙内核提供了更安全、更流畅、更弹性的系统基础。其服务之间能够更好地隔离,从架构上保证了系统的安全性。 文件系统:使用自研的文件系统,进一步提升了系统的稳定性和性能。 编程语言与编译器:鸿蒙还自研了编程语言和编译器,确保了开发过程的独立性和高效性。 系统隔离:鸿蒙内核的服务之间隔离性更好,从架构上保证了系统的安全性,获得了全球首张智能终端领域CC EAL 6+证书。 隐私保护:新的隐私保护机制极大减少了权限弹窗,提升了用户的隐私安全体验。 综上所述,“纯血鸿蒙”是华为在操作系统领域的一次重要突破和创新成果。它不仅代表了华为在自研技术方面的实力和决心,也为全球科技界带来了新的惊喜和期待。 参考资料 《跟老卫学HarmonyOS开发》 开源免费教程,https://github.com/waylau/harmonyos-tutorial 《鸿蒙HarmonyOS手机应用开发实战》(清华大学出版社) “鸿蒙系统实战短视频App 从0到1掌握HarmonyOS”(https://coding.imooc.com/class/674.html) 《鸿蒙HarmonyOS应用开发入门》(清华大学出版社) “2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”(https://coding.imooc.com/class/843.html) 《鸿蒙HarmonyOS应用开发从入门到精通战(第2版)》(北京大学出版社) 《鸿蒙之光HarmonyOS NEXT原生应用开发入门》(清华大学出版社)

优秀的个人博客,低调大师

想要精准营销,从学习搭建一套对的标签体系开始丨DTVision分析洞察篇

在人与人打交道的过程中,我们会在有意无意间给周围的人通过贴标签的方式进行大致的判断,比如好说话的、难相处的、聪明的、爱热闹的……贴标签就是用最快的速度将人和事归类,这是人类运用“模式识别”认识世界、进行社会交往最便捷的方式之一。 而在企业的数字化转型过程中,搭建标签体系也早已不是什么神秘的事情。在数字经济时代的今天,各行各业都早已意识到了数据的重要性,开始挖掘数据的价值。标签体系,正是将数据承载的信息和价值进行了具象化的呈现。通过采集用户在产品中的使用痕迹,进行标签分析、客户洞察,再落地到实际的企业精细化运营过程中去。可以说,标签是从实际业务场景出发,解决实际的业务问题的一个过程。 然而,落地到标签体系实际的设计与落地中来,却并不是那么简单,一蹴而就的事情。很多人都在做,却从第一步开始就做错,更不用说能带来真正的价值。那么到底应该如何应用和理解标签体系,这个系列将结合数雁的项目交付经验进行详细的讲解,今天先来聊聊标签的设计与加工,一般需要经过以下几个步骤: · 标签体系设计 · 标签模型设计 · 标签加工与更新 · 标签应用 一、标签体系设计 标签服务于业务应用场景,好的标签体系设计能够让业务人员在使用时随需随取,及时查询出需要的数据,就算不具备这个标签,业务人员也可以自己快速加工出来,无需寻求数据开发人员的帮助。那需要做到 ·标签类目划分合理 ·标签涵盖的数据源丰富,标签完善 ·后续扩展性高,即基于基础标签加工出新的标签时,方便快捷 标签体系的设计一般会按照以下步骤: 1、数据梳理 根据现有业务背景,以及数据,梳理出大概的标签体系。如企业一般数据大概来源于这几部分: ● 用户基础数据 用户ID、性别、年龄、手机号、邮箱、身份证号、会员等级等基础信息。 ● 业务交易数据 如在零售领域,用户发生的每一笔交易都会有记录,如下图: ● 用户行为数据 如用户在APP、PC、小程序等的浏览、点击、收藏、评论行为,可反映出用户的行为特点。 ● 活动/积分数据 会员商城的cha会员等级、积分兑换等数据。 ● 售后投诉数据 客户投诉、售后处理等数据。 基于对数据的梳理,可进行标签基本体系的梳理,梳理出一部分有价值的标签。 2、基于OLP模型体系化梳理标签 OLP模型是目前比较通用的建立标签体系的模型,OLP指“实体-关系-属性”模型,用下方场景举例: · 实体:指对象,如人、书籍、门店等,可针对每个实体建立一套标签体系 · 属性:实体带的特征,如人有性别、年龄属性,书籍有价格、内容属性,门店有售卖渠道、地址位置等属性,属性是一种类型的标签 · 关系:通过动作产生关系,如基于购买动作,人和书籍产生关系,基于这个动作可产生消费时段偏好、支付方式偏好等标签 基于该模型,对标签进行查漏补缺,梳理出标签类目与标签。 3、定义标签与加工口径 · 标签中文、英文名:标签的中文名称、英文名称 · 标签所属类目:标签所属一级、二级、三级类目 · 标签类型:根据不同维度的划分,采用其中一种。比如统计类标签、预测类标签、自定义标签等,亦或是原子标签、衍生标签、组合标签、算法标签等 · 标签值定义:定义每个标签的标签值,如“近一个月买入金额区间”标签,可根据购买金额的区间段定义“零/低端”、“普通”、“中端”、“准高端”、“高端”等标签值 · 标签含义(描述):描述该标签业务含义,如“最近30天的购买商品的金额区间,对用户消费力进行评估” · 标签业务口径:标签以哪个数据定义为准,如“用户活跃城市”标签,以用户购买次数最多的城市为口径加工,而不是浏览次数、评论次数等 · 标签技术口径:描述该标签从哪个表的哪个字段取值,SQL取数逻辑是什么 · 业务方来源:该标签的业务需求方是谁 · 标签更新周期:描述标签更新频次,天(如T+1、T+2等)、周、月、小时、分钟更新等 · 标签更新优先级:同一时间端跑多个标签时,若资源有限,先跑优先级高的标签 基于以上工作,最终得出一份标签体系表,以这份表和业务方最终确认标签划分、标签与标签值、标签加工口径是否有疑义,没问题,便可进入标签开发环节。 二、标签模型设计 进入具体开发之前,需考虑标签模型层设计,在数仓加工出来哪些数据,标签产品加工哪些数据。标签模型依旧遵循数仓建模的“ODS-DWD-DWS-ADS”分层设计,基于DWD、DWS层抽象一层标签模型层,加工标签基础标签,届时在标签产品上让业务人员通过规则可加工生成新的标签。 一般遵循“公共层数据”、“大数据量计算”的标签放在数仓中数据开发写SQL实现,“通过规则可定义”、“标签规则经常修改”的标签在标签产品中配置。数仓一般实现: 1、公共层数据 包含基础属性数据、基础指标(指标也可以作为一种标签,如最近30天购买金额、最近30天访问次数等),这些数据不仅给标签系统用,也可以给BI报表、数据门户使用,所以放在数仓中加工表。 ● 基础信息类标签 ● 交易类标签 ● 行为类标签 2、大数据量计算的标签 如计算历史最高花费金额、商品的历史最高库存、累计消费金额、用户排序等,这些标签的计算基于的数据量大,最好放在hive中跑批上线。 在数仓中加工好标签基础表,这些表中的标签一般称之为原子标签,再将该表对接标签产品,在标签产品中进行衍生类、组合类标签加工。 三、标签配置 基于标签模型的设计,一部分基础指标类的标签在数仓已建设完成,一部分标签需要在产品界面上实现。我们接下来看下业务人员如何在袋鼠云标签产品「客户数据洞察平台」中配置标签。 1、根据业务对象,创建实体、关系 假设一个电商类客户,需要建立一套用户标签体系,则首先创建“用户”实体对象,并在实体对象下接入标签多张基础表,如用户基础信息表、用户行为事件的指标表等,这些表的字段可作为原子标签直接使用,也可作为后续加工衍生、组合标签的基础。 同时,在后续加工衍生标签时,在某些场景上会用到多个实体下的原子标签加工,这时候可以用“关系”将2个实体关联起来,如将“用户”实体与“书籍”实体通过用户表的“最近购买商品ID”、以及书籍表的“书籍ID”关联起来,便可以用到2个表的字段进行某个标签的加工,如下图: 2、读入原子标签 从标签基础表中读入原子标签,进行原子标签的元数据管理。 读入原子标签时,有些字段可能存储的是编号或一些枚举值,但业务人员需要看到具有真实业务含义的值,此处可做一层字典值映射。比如将“省市编号”映射为具体的省市名称。 3、创建衍生标签 基于接入的数据表的原始字段和原子标签,通过“且、或”关系、“求和、去重计数、计数、最大值、最小值、均值”聚合函数、“等于、不等于、小于、小于等于、大于、大于等于、包含、不包含等”操作符,对源表字段进行加工,生成衍生标签。 如基于用户访问次数、交易次数,加工“用户活跃度“衍生标签,包含“高活跃”、“一般活跃”、“睡眠状态”标签值,对用户活跃度进行衡量。 除通过可视化规则加工标签外,也会开放SQL界面写SQL加工标签,因为在实际场景中,客户场景不尽相同,有些复杂标签需要SQL快速实现,在产品界面上也可直接操作。 同时,虽然产品上会开放基于函数计算的标签加工、SQL类的标签加工,但还是会建议客户将公共层的指标类标签、及复杂类标签放在数仓中实现,以使标签配置这层轻量,届时进行数据跑批时快速。 4、创建组合标签 基于原子标签和衍生标签,可进行组合标签的创建,如基于最近交易时间、最近1年交易次数,最近1年交易金额区间这3个标签,加工“用户综合价值”组合标签,将客户分为“低价值用户”、“一般保持用户”、“重要发展用户”等。 5、创建实时、算法标签 · 实时标签:如基于用户实时行为数据通过Flink引擎计算实时标签,如用户点击APP上的一个商品广告,且加入购物车,判断该客户属于“某类型商品感兴趣用户”,作为客户短期兴趣标签。 · 算法标签:如基于用户的基金交易行为,预测该用户属于追涨、杀跌、高抛等哪种类型的客户,作为客户的风险偏好标签。 最终将这些实时与算法标签的元数据可统一接入标签平台统一管理。 标签逻辑创建好之后,同时配置标签的更新周期、更新优先级,进行标签的定时跑批、手动跑批等。 四、写在最后的话 作为「全链路数字化技术与服务提供商」,袋鼠云一直致力于为客户提供有价值的、全链路的数据服务,也希望通过更加优质的数据产品和服务助力企业数智化“蝶变”。全新升级的数据智能分析与洞察平台——数雁EasyDigit,包含客户数据洞察平台DataTag、指标管理分析平台EasyIndex。 其中,客户数据洞察平台,即标签体系构建与客户画像洞察平台。通过标签萃取、标签治理、客群圈选、画像分析、数据服务,构建以业务价值为导向的标签体系与多样化群组,深度掌握客户特征,应用于企业运营与营销,支撑商业化分析,驱动业务增长,让企业海量数据不再孤立无用,无形的数据创造无限的价值。 袋鼠云开源框架钉钉技术交流群(30537511),欢迎对大数据开源项目有兴趣的同学加入交流最新技术信息,开源项目库地址:https://github.com/DTStack

优秀的个人博客,低调大师

第三章【SQL语言基础学习】手把手教你Linux安装Oracle数据库

2 --> 前言 相信大家第一次接触Oracle,大都是在windows上安装,比较方便快捷,基本上是一直下一步就可以安装成功。然而企业级的数据库,基本上都是安装在Linux服务器上,安全且高效。 没接触Linux的朋友不用害怕,跟着本篇文章一步步操作,安装Oracle如喝水般简单且标准。 下面我就来手把手教大家如何在Linux上安装Oracle数据库。 一、前期准备 1、虚拟机安装 Windows主机推荐虚拟机:VMware Workstation 下载地址:https://www.vmware.com/go/getworkstation-win MacOS主机推荐虚拟机:Parallels Desktop 16 for Mac 下载地址:https://www.parallels.cn/products/desktop/trial/ 2、Oracle软件安装包 oracle官网下载地址:https://www.oracle.com/database/technologies/oracle-database-software-downloads.html Oracle帐号:2696671285@qq.com Oracle密码:Oracle123 Notes:官方只能下载最新版Oracle 19C,需要其他版本Oracle可私信博主获取。 3、Linux系统安装包 一般有三种Linux系统比较常用:RedHat 、 OracleLinux 、Centos 。 RedHat下载:https://developers.redhat.com/products/rhel/download OracleLinux下载:https://yum.oracle.com/oracle-linux-isos.html Centos下载:https://vault.centos.org/ 官方网站均可下载安装包,也可私信博主获取。 Linux系统安装可参考文章,本文将不再详细介绍安装方法: 教你三步在MacOS上安装Linux系统 Windows主机如何玩转虚拟机Linux安装,只需参透本篇文章 4、Linux远程连接工具 本文将使用XShell和Xftp工具,安装包可以在官网下载,也可私信博主获取。 其他工具也可以,比如:putty,SecureCRT等等工具。 这篇博客演示RedHat Linux 7.6 版本安装Oracle 11GR2版本数据库。 主机内存2G,硬盘50G即可。 二、Linux主机配置 使用XShell工具连接Linux主机root用户: 1、主机名配置 如果安装时没有配置主机名,或者想要修改主机名,可以通过以下命令修改: hostnamectl set-hostname orcl 2、网络配置 如果安装时没有配置网络,或者想要修改网络,可以通过以下命令修改: nmcli connection modify eth0 ipv4.addresses 10.211.55.188/24 ipv4.gateway 10.211.55.1 ipv4.method manual autoconnect yes nmcli connection up eth0 3、配置Hosts文件 根据上面配置好的主机名和IP,配置hosts文件: cat <<EOF >>/etc/hosts ##OracleBegin## ##Public IP 10.211.55.188 orcl ##OracleEnd## EOF 4、防火墙配置 systemctl stop firewalld systemctl disable firewalld 5、Selinux配置 selinux修改后需要重启主机生效: sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config 6、ISO镜像源配置 需要先挂载主机镜像: Parallels Desktop挂载Linux主机镜像: VMware Workstation挂载Linux镜像: mount /dev/cdrom /mnt cat <<EOF>/etc/yum.repos.d/local.repo [local] name=local baseurl=file:///mnt gpgcheck=0 enabled=1 EOF 7、安装Oracle依赖包 如下依赖包从Oracle官方文档推荐获取: yum install -y bc \ binutils \ compat-libcap1 \ compat-libstdc++-33 \ gcc \ gcc-c++ \ elfutils-libelf \ elfutils-libelf-devel \ glibc \ glibc-devel \ ksh \ libaio \ libaio-devel \ libgcc \ libstdc++ \ libstdc++-devel \ libxcb \ libX11 \ libXau \ libXi \ libXtst \ libXrender \ libXrender-devel \ make \ net-tools \ nfs-utils \ smartmontools \ sysstat \ e2fsprogs \ e2fsprogs-libs \ fontconfig-devel \ expect \ unzip \ openssh-clients \ readline* \ psmisc --skip-broken 检查是否安装成功: rpm -q bc binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ elfutils-libelf elfutils-libelf-devel glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libxcb libX11 libXau libXi libXtst libXrender libXrender-devel make net-tools nfs-utils smartmontools sysstat e2fsprogs e2fsprogs-libs fontconfig-devel expect unzip openssh-clients readline Linux7需要手动安装compat-libstdc++依赖包: rpm -ivh compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm 8、配置ZeroConf ##关闭Zeroconf service的服务守护进程 systemctl stop avahi-daemon.socket systemctl stop avahi-daemon.service systemctl disable avahi-daemon.service systemctl disable avahi-daemon.socket ##关闭NOZEROCONF cat <<EOF >>/etc/sysconfig/network #OracleBegin NOZEROCONF=yes #OracleEnd EOF 9、关闭透明大页和numa sed -i 's/quiet/quiet transparent_hugepage=never numa=off/' /etc/default/grub grub2-mkconfig -o /boot/grub2/grub.cfg 10、配置系统参数文件 ##计算shmall和shmmax值 memTotal=$(grep MemTotal /proc/meminfo | awk '{print $2}') totalMemory=$((memTotal / 2048)) shmall=$((memTotal / 4)) if [ $shmall -lt 2097152 ]; then shmall=2097152 fi shmmax=$((memTotal * 1024 - 1)) if [ "$shmmax" -lt 4294967295 ]; then shmmax=4294967295 fi echo $shmall echo $shmmax ##配置系统参数 cat <<EOF >>/etc/sysctl.conf #OracleBegin ##shmmal's Calculation formula: physical memory 8G:(8*1024*1024*1024)/4096=2097152 ##shmmax's Calculation formula: physical memory 8G:(8/2)*1024*1024*1024 -1=4294967295 fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = $shmall kernel.shmmax = $shmmax kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 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 EOF ##系统参数生效 sysctl -p 11、配置系统资源限制 cat <<EOF >>/etc/security/limits.conf #OracleBegin oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240 oracle hard stack 32768 oracle soft nproc 2047 oracle hard nproc 16384 oracle hard memlock 134217728 oracle soft memlock 134217728 #OracleEnd EOF cat <<EOF >>/etc/pam.d/login #OracleBegin session required pam_limits.so session required /lib64/security/pam_limits.so #OracleEnd EOF 12、创建用户和组 /usr/sbin/groupadd -g 54321 oinstall /usr/sbin/groupadd -g 54322 dba /usr/sbin/groupadd -g 54323 oper /usr/sbin/useradd -u 54321 -g oinstall -G dba,oper oracle echo oracle | passwd --stdin oracle 13、创建Oracle安装目录 mkdir -p /u01/app/oracle/product/11.2.0/db mkdir -p /u01/app/oraInventory mkdir -p /oradata chown -R oracle:oinstall /oradata chown -R oracle:oinstall /u01/app chmod -R 775 /u01/app 14、配置用户环境变量 cat <<EOF >>/home/oracle/.bash_profile ################OracleBegin######################### umask 022 export TMP=/tmp export TMPDIR=\$TMP export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db export ORACLE_HOSTNAME=orcl export ORACLE_TERM=xterm export TNS_ADMIN=\$ORACLE_HOME/network/admin export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib export ORACLE_SID=orcl export PATH=/usr/sbin:\$PATH export PATH=\$ORACLE_HOME/bin:\$ORACLE_HOME/OPatch:\$PATH alias sas='sqlplus / as sysdba' export PS1="[\`whoami\`@\`hostname\`:"'\$PWD]\$ ' EOF 三、Oracle软件安装 1、Oracle软件包上传 [root@orcl soft]# ll -rw-r--r--. 1 root root 1395582860 May 31 16:56 p13390677_112040_Linux-x86-64_1of7.zip -rw-r--r--. 1 root root 1151304589 May 31 16:56 p13390677_112040_Linux-x86-64_2of7.zip 2、解压Oracle软件安装包 需要按顺序解压1,2安装包: cd /soft unzip -q p13390677_112040_Linux-x86-64_1of7.zip unzip -q p13390677_112040_Linux-x86-64_2of7.zip ##授权/soft给oracle读写权限 chown -R oracle:oinstall /soft 3、安装VNC软件 yum install -y tigervnc* su - oracle vncserver ##输入密码 4、连接VNC远程工具或者直接打开虚拟机图形化界面 右键打开终端工具: 进入/soft/database开始安装Oracle软件: ./runInstaller -jreLoc /etc/alternatives/jre_1.8.0 上传pdksh-5.2.14-37.el5.x86_64.rpm依赖包,安装: rpm -e ksh-20120801-142.el7.x86_64 rpm -ivh pdksh-5.2.14-37.el5.x86_64.rpm 点击再次检查,忽略swap警告: 解决方案: su - oracle sed -i 's/^\(\s*\$(MK_EMAGENT_NMECTL)\)\s*$/\1 -lnnz11/g' $ORACLE_HOME/sysman/lib/ins_emagent.mk 执行完点击retry重试: root用户下执行脚本: /u01/app/oraInventory/orainstRoot.sh /u01/app/oracle/product/11.2.0/db/root.sh reboot重启主机。 四、创建数据库 1、打开监听 su - oracle lsnrctl start lsnrctl status 2、连接VNC远程工具或者直接打开虚拟机图形化界面 dbca 这里填写数据库实例名称和dbname,本次填写orcl。 不安装EM工具。 这里输入SYS和SYSTEM用户的密码,需要记住。 这里选择前面建好的/oradata目录用来存放数据文件。 不开启闪回日志,不开启归档日志,可以建好库之后再手动修改。 数据库内存分配,选择手动分配,占用物理内存70%左右。 block_size根据实际情况选择,一旦建库无法修改,默认8K。 字符集根据需要进行选择,默认AL32UTF8。 等待建库完成即可。 五、连接数据库 确保监听正常启动,并监听数据库: 1、通过数据库主机连接 su - oracle sqlplus / as sysdba select sysdate from dual; ##创建数据库用户 create user test identified by test; grant dba to test; conn test/test ##创建表 create table test (id number not null,name varchar2(100)); insert into test values (1,'lucifer'); commit; 2、通过PL/SQL连接test用户

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册