上篇文章介绍了LD3320的用法,小飞哥“灵光一现”,何不做一个语音控制获取天气信息的东东,既然想了,那就干它,来,淦~小飞哥前面说过rt-thread好用,那今天一起来看看到底有多好用...
1、__set()方法:这个方法用来为私有成员属性设置值的,有两个参数,第一个参数为你要为设置值的属性名,第二个参数是要给属性设置的值,没有返回值。这个方法同样不用我们手工去调用,它也可以做成私有的,是在直接设置私有属性值的时候自动调用的,同样属性私有的已经被封装上.
黄玮(Fuyuncat) 资深Oracle DBA,个人网www.HelloDBA.com,致力于数据库底层技术的研究,其作品获得广大同行的高度评价. 非空约束是字段的一个重要属性。但是,很多时候,数据库表的设计人员似乎并不十分在意这个属性。最常见的现象就是,除了主键字段外,所有字段都不指定该属性。而在Oracle中,默认是允许为空。 而实际上,优化器在选择执行计划时,非空约束是一个重要的影响因素。为了说明问题,我们建立以下测试表,然后分别说明非空约束在各种情况下对执行计划和性能的影响。 谓词评
这几天因为一些特殊原因,网站值班表不能用,一旦出现问题,找相应系统的值班人员,就比较困难了,但通过一些渠道,可以有一个文本文件,其中包含了这几天的值班信息,为了更明白的说明问题,我们假设有A系统和B系统,两个值班,其中A系统值班人员为,每人值一天,
之前Jungle写过一篇文章《探究C++:虚函数表究竟怎么回事?》,主要通过测试代码来验证虚函数表的存在,进而说明C++的多态机制。但完成文章后仍旧觉得文章云里雾里,并不能很好地说明C++类的内存布局。于是在阅读完3遍《深度探索C++对象模型》之后,重新整理了相关知识点,完成此文。
你还在用Gson,fastjson吗?最近几个月推特开源了她们的json解析和序列化框架 Serial,这是一个轻量级框架,操作起来也很简单。下面简单的介绍一下。
这是本人的毕业设计,一个智能的天气预报系统。显示屏上显示各种天气指标及实时显示时间日期等。可以使用触摸屏输入城市名称搜索天气,也可以使用语音搜索天气。
本文由来源 21aspnet,由 javajgs_com 整理编辑,其版权均为 21aspnet 所有,文章内容系作者个人观点,不代表 Java架构师必看 对观点赞同或支持。如需转载,请注明文章来源。
有时候想查看一个package的信息,但是对于package的名字不是很确定,比如只知道一个大概,知道一些关键字,这个时候通过图形工具是查找不到package的信息的,而且对于package的信息,我只关心package里面有哪些存储过程,哪些函数等,看看简单的参数情况就可以了,类似sqlplus的desc的形式。 shell脚本的实现如下, 以下的脚本是查看是否有对应的package信息。 PROC_OWNER=`sqlplus -silent $DB_CONN_STR@$SH_DB_SID <<END
JSON:JavaScript 对象表示法(JavaScript Object Notation) JSON是存储和交换文本信息的语法。
首先,相较于C语言,C++语言并没有额外增加内存消耗(确切说,在没有虚函数情况下)。 对于一个C++类对象,每个对象有独立的数据成员(非static),但是内存中成员函数只有一份,该类的所有对象共享成员函数。
在moudle的gradle中做如下配置,我在2.30.1版本中尝试使用构造函数注入,发现怎么编译都会报错,结果最后使用最新版本就可以了:
在之前的章节中,讨论过了通过 分区+并行等方式来进行超大的表的切分,通过这种方式能够极大的提高数据的平均分布,但是不是最完美的。 比如在数据量再提高几个层次,我们假设这个表目前有1T的大小。有10个分区,最大的分区有400G,那么如果我们想尽可能的平均的导出数据,使用并行就不一定能够那么奏效了。 比方说我们要求每个dump文件控制在200M总有,那样的话400G的分区就需要800个并行才能完成,在实际的数据库维护中,我们知道默认的并行数只有64个,提高几倍,也不可能超过800 所以在数据量极大的情况下,如果
隐式转换(Implicit Conversion)就像他的名字一样,是个隐秘、不容易被发现的问题,但归根结底,还是设计开发中未遵守相关的规范,或者说是不良的设计开发习惯所导致的。
在配置GoldenGate同步DDL语句(2)中我们针对多种DDL语句在GoldenGate环境中的同步进行了测试,但在默认情况下replicat在复制DDL语句失败时不会在replicat report或者ggserr.log等日志文件中产生该DDL失败的具体信息,这就会导致我们在发现DDL同步有error的情况下无法了解失败的原因。之后又去翻官方的文档,在中找到了DDLOPTIONS参数:
需求:生产一张表由于前期设计不当,没有主键。现需要添加主键,数据量很大,想并行建立。
(2)显示表分区信息,显示数据库所有分区表的详细分区信息:DBA_TAB_PARTITIONS。
Oracle索引中最常用的是BTree索引,所以就以BTree索引为例,讲一下BTree索引,BTree索引数据结构是一种二叉树的结构,索引由根块(Root)、茎块(Branch)、叶子块(Leaf)组成,其中叶子块主要存储索引列具体值(Key Column Value)以及能定位到数据块具体位置的Rowid,茎块和根块主要保存对应下级对应索引
组合继承也被称为伪经典继承,它综合了我们昨天说的原型链和盗用构造函数,将俩者的有点结合在了一起。它的基本思想是使用原型链继承原型上的属性和方法,通过盗用构造函数继承实例属性,这样的好处就是可以把方法定义在原型上复用,每个实例又有自己的属性。
在《SQL Tuning 基础概述05 - Oracle 索引类型及介绍》的1.5小节,提到了几种"索引的常见执行计划":
MySQL和Oracle虽然在架构上有很大的不同,但是如果从某些方面比较起来,它们有些方面也是相通的。 毕竟学习的主线是MySQL,所以会从MySQL的角度来对比Oracle的一些功能。大体总结了以下的内容,欢迎大家拍砖, 查看当前的数据库名 mysql> SELECT DATABASE(); +------------+ | DATABASE() | +------------+ | test | +------------+ 1 row in set (0.00 sec) +++ Or
创建测试用表,DBA经常用到,通常都是基于dba_objects来创建的比较多。本文根据Tom大师的big_table进行了整理,供大家参考。
为了限制开发人员在测试库随意变更结构,我们在测试库中为开发人员创建了专用账号,这个账号内只包含系统真正属主数据库用户表的同义词,授予了select/insert/update/delete权限,无法执行create table/alter table等操作。
如果一个大表要抽取数据导出成csv文件,我们有什么策略,如何改进。 一、问题背景 今天开发的同学找到我,他们需要做一个数据统计分析,需要我提供一些支持,把一个统计库中的大表数据导出成文本提供给他们
Objective-C是一种很优美的语言,至少在我使用其进行编程的过程中,是很享受他那近乎自然语言的函数命名、灵活多样的方法调用方式以及配合IDE流顺畅快编写体验。Objective-C是扩展与C面向对象的编程语言,然而其方法的调用方式又和大多面向对象语言大有不同,其采用的是消息传递、转发的方式进行方法的调用。因此在Objective-C中对象的真正行为往往是在运行时确定而非在编译时确定,所以Objective-C又被称为是一种运行时的动态语言。
--初始化操作, 创建两个用户一个,testo,一个test. 在testo上创建表,test上创建物化视图。 SQL> create user testo identified by testo; User created. SQL> create user test identified by test; User created. SQL> grant connect,resource to testo,test; Grant succeeded. SQL> grant create materia
当一个会话需要访问一个数据块,而这个数据块正在被另一个用户从磁盘读取到内存中或者这个数据块正在被另一个会话修改时,当前的会话就需要等待,就会产生一个buffer busy waits等待,也伴随着Latch争用。如果太多的会话去访问相同的数据块,那么会导致长时间的buffer busy waits等待,通常表现形式为CPU使用率很高,但吞吐量很低。造成热块的原因可能是数据库设置或者重复执行的SQL语句频繁访问一些相同的数据块。热块产生的原因不尽相同,按照数据块的类型,可以分成表数据块、索引数据块、索引根数据块、文件头数据块和数据块自身的争用,不同热块类型处理的方式是不同的。下面给出找到热块的SQL语句:
上面一篇说到了SAP登陆界面Title的修改方法,这里讲一下SAP标准菜单显示文本的修改方法。
There are three fundamental Kits in iOS development framework named "OpenGL ES", "Metal", "SceneKit" and an extended kit named "RealityKit" for 3d development. The "ARkit" is functional for both 3d and camera display that render a 3d scene in the camera e
作为DBA,经常需要在不同数据库环境间做数据的导入导出,exp/imp就是这样的轻便快捷的客户端工具,可以很方便的在不同数据库之间转移数据对象,即使数据库位于不同的硬件或者软件平台上。exp会转储产生对应的二进制文件,里面包含数据的定义信息,数据内容等,也就是我们通常所说的dump文件。 exp/imp是比较经典的数据导出导入工具,不过自expdp/impdp推出以来,exp/imp还是受到了不少的冷落,在新的数据库版本中,支持力度都集中在了expdp/impdp上面。Expdp/impdp是基于服务端的数
深度探索C++对象模型 1.3 章节 https://github.com/wangcy6/weekly/blob/master/reading-notes/object-model/1.object-lessons.md
今天在查看awr报告的时候,有一句很简单的sql语句引起了我的注意,因为它排在SQL Order by Reads的第2位。 Physical ReadsExecutionsReads per Exec%TotalElapsed Time (s)%CPU%IOSQL IdSQL Module13,092,7000 9.47294.852.741.066src3hcd9mpt3T.O.A.D. SQL Textselect * from mo1_memo where entity_id in (1188930
从Oracle9i开始Oracle提供了一个新的系统包DBMS_METADATA,可以用于提取对象创建的DDL语句。
关键点:子类原型等于父类的实例Child.prototype = new Person()
近期在做一些国产数据库的 POC 工作,在数据迁移导出时用到了数据导出工具 sqluldr2,它是一款十分不错的 oracle 数据导出工具,还支持导出时同时生成 sqlldr 的控制文件,它可以将数据以 TXT/CSV 等格式导出,能导出亿级数据为 excel 文件,包含32、64 位程序,不仅在大数据量导出方面速度超快,导入速度也是非常快速。
作者个人研发的在高并发场景下,提供的简单、稳定、可扩展的延迟消息队列框架,具有精准的定时任务和延迟队列处理功能。自开源半年多以来,已成功为十几家中小型企业提供了精准定时调度方案,经受住了生产环境的考验。为使更多童鞋受益,现给出开源框架地址:
对于awr,里面涵盖的内容比较杂,有时候看报告的时候总是不知道该怎么下手。时间长了,可能会有一些阅读习惯或者心得。今天在看大师chris lawson的一篇博文对于awr的一些心得(http://www.oraclemagician.com/white_papers/10awr.pdf ),还是蛮有收获,赶紧按照这个方子来细细品味一番。 首先是查看等待事件,这个也是老规矩。 不过先把db time先附上,更有针对性。 这是一个10分钟的awr报告,基于Linux平台,11gR2 64位。 Snap Id
通过标签查找(FindObjectsOfType)使用GameObject的FindObjectsOfType方法可以根据类型查找场景中所有匹配的对象。
Segment Statistics关于段统计,包括Segments by Logical Reads、Segments by Ph。ysical Reads、Segments by Physical Read Requests、Segments by UnOptimized Reads、Segments by Optimized Reads、Segments by Direct Physical Reads、Segments by Physical Writes、Segments by Physical Write Requests、Segments by Direct Physical Writes、Segments by Table Scans、Segments by DB Blocks Changes、Segments by Row Lock Waits、Segments by ITL Waits、Segments by Buffer Busy Waits。
oracle的role算是对sys privilege 和object privilege的打包。 今天深入的测试了下,还算有不少的东西。 role不是schema对象 像table等在一个schema里面不能有同名的schema object,但是可以有同名的table和role,如下。 SQL> conn test1/test1 Connected. SQL> create role testrole; Role created. SQL> create table testrole as select
基数反馈(Cardinality Feedback,CFB)是Oracle 11gR2出现的一个新特性,它的出现是为了帮助Oracle优化器依据更精准的基数生成更加优秀的执行计划。基数的评估准确与否,对于优化器异常重要,直接影响到后续的JOIN COST等重要的成本计算评估。若评估不当则会造成CBO选择不当的执行计划。此技术对于仅执行一次的SQL无效,在SQL第一次执行时,记录存储实际的基数和评估的基数之间的差异,如果差异较大,在第二次执行时,优化器会依据实际的基数重新决策生成执行计划,但是需要注意的是,当使用更准确的基数重新生成执行计划时,生成的执行计划与第一次时使用的执行计划完全有可能是相同的。这个技术的出现是由于优化器在一些情况下不能很好的去计算基数的数值,比如:统计信息缺失或陈旧、多谓词、直方图缺失等等。
NUMBER_RANGE_INTERVAL_LIST 这个函数模块获取指定编号范围对象的现存间隔,并且放到内表中。这个内表可以被传递给函数模块NUMBER_RANGE_INTERVAL_UPDATE来修改间隔。 NUMBER_RANGE_INTERVAL_UPDATE 用这个函数模块可以维护给定编号范围对象的间隔。变更都被传递到一个内表中,并且复制到本地内存。在调用这个函数模块前,必须用NUMBER_RANGE_ENQUEUE锁定编号范围对象,而在把修改写入到数据库之后,再用NUMBER_RANGE_DEQUEUE执行解锁。调用函数模块NUMBER_RANGE_UPDATE_CLOSE把本地内存中的内容复制到数据库中。 NUMBER_RANGE_OBJECT_GET_INFO 这个函数模块获取指定编号范围对象的信息。这些信息被放在一个表结构中,必须被声明为结构INROI类型。 NUMBER_RANGE_SUBOBJECT_LIST(只用于对象类型4~8) 这个函数模块获取指定编号范围对象的现有子对象。这些子对象被放在一个内表中。 NUMBER_RANGE_SUBOBJ_GET_INFO(只用于对象类型4~8) 这个函数模块获取指定编号范围对象的现存子对象的信息。这些信息放在一个类型为INROI的表结构中。 NUMBER_RANGE_UPDATE_CLOSE 用这个函数模块把在本地内存中通过函数模块NUMBER_RANGE_GROUP_UPDATE和NUMBER_RANGE_INTERVAL_UPDATE所做的修改写入数据库。在调用这个函数模块之后,应该把被修改的编号范围对象解锁。 NUMBER_RANGE_UPDATE_INIT 如果想要撤销所有尚未被写入数据库的本地内存修改,就可以用这个函数模块重新初始化本地内存。 编号范围对象读取和维护服务 函数组SNR2 这个函数组中的函数模块可以读取和维护数据库中的所有编号范围对象。 NUMBER_RANGE_OBJECT_MAINTAIM 这个函数模块提供了所有维护指定编号范围对象的屏幕,并且提供维护间隔分支和显示修改文档的能力。用户对编号范围对象执行的操作都会传递到输出参数里。 NUMBER_RANGE_OBJECT_CLOSE 用这个函数模块可以把用NUMBER_RANGE_OBJECT_UPDATE函数模块对编号范围对象做出的修改写入到数据库中。如果间隔被修改影响了,也会一起写入。同时为所有修改创建修改文档。有一个标记会记录间隔是否被修改。 NUMBER_RANGE_OBJECT_DELETE 用这个函数模块可以删除整个编号范围对象的定义,包括它的文本。这个操作直接对数据库。这个函数模块不提供到修正和传输系统的连接。 NUMBER_RANGE_OBJECT_INIT 用这个函数模块可以初始化给定编号范围对象的本地内存。如果在用户事务中提供了编号范围对象维护功能,并且想要在没有保存时提供撤销功能,就可以使用它。 NUMBER_RANGE_OBJECT_LIST 用这个函数模块获取系统中的全部编号范围对象和相关文本。信息都保存在一个内表中。不需要考虑本地内存的内容。 NUMBER_RANGE_OBJECT_READ 这个函数模块获取指定编号范围对象的文本和属性。返回的记录可以用函数模块NUMBER_RANGE_OBJECT_UPDATE和NUMBER_RANGE_OBJECT_DELETE来修改。 NUMBER_RANGE_OBJECT_UPDATE 这个函数模块首先执行错误检查,如果无误,就把新建的编号范围对象或修改过的编号范围对象复制到本地内存中。它不提供到修正和传输系统的连接。 编号分配和检查 函数组SNR3 这个函数组中的函数模块管理编号分配。 NUMBER_CHECK 只有在外部给号的时候才需要这个函数模块,它检查一个编号范围对象编号是否存在于指定的编号范围间隔。 NUMBER_GET_INFO 这个函数模块获取指定编号范围对象中的编号范围间隔的信息。 NUMBER_GET_NEXT 当内部给号的时候需要用这个函数模块,它分配指定编号范围对象中的编号范围间隔的下一个空余编号。如果间隔中的最后一个编号也被发放了,号码分配就会从头开始。返回码状态说明号码分配是否出错,或者是已经进入临界区。 实用程序 函数组SNR4 NUMBER_RANGE_INTERVAL_INIT 使用这个函数模块可以初始化指定编号范围对象及其子对象的全部内部编号范围间隔。 术语表 业务对象
领取专属 10元无门槛券
手把手带您无忧上云