您的位置:首页 > 移动互联

Winamp逃过一劫

发布时间:2020-08-21 14:42:13  来源:互联网     背景:

逃过下面主要通过make_sandbox和make_replication_sandbox来介绍如何使用。

由于这属于ASM的元数据,逃过因此被做了3副本(虽然是一个normal冗余的磁盘组),逃过因此每一个大文件都会有这么3个额外的AU,但在一个external冗余的磁盘组中,仅仅只会有这么一个额外的AU,不会被做复制。在版本10,逃过可变extent这个特性还没出现,因此所有的extent的大小都是1个AU。

ASM文件的空间分配是以extent为单位,逃过每一个extent是由一个或多个AU组成,逃过在11.2版本,前20000个extent,每一个extent由1个AU组成,接下来的20000个extent,每一个由4个AU组成,再超出的extent,每一个由16个AU组成。在一个normal冗余的磁盘组中,逃过空间的占用:逃过两倍的文件实际大小+2个AU(文件头)+3个额外的AU(如果文件大于60个AU)在一个high冗余的磁盘组中,空间的占用:三倍的文件实际大小+3个AU(文件头)+3个额外的AU(如果文件大于60个AU)。逃过ConclusionASM空间的占用取决于2个因素:文件的实际大小和磁盘组的冗余度。

而在11.1版本,逃过extent的增长则遵循的是1-8-64倍AU的方式。通过如下查询获得ASM磁盘的名称:逃过SQLselectDISK_NUMBER,PATHfromV$ASM_DISKwhereGROUP_NUMBER=1;DISK_NUMBERPATH--------------------------0ORCL:ASMDISK11ORCL:ASMDISK22ORCL:ASMDISK33ORCL:ASMDISK4我们来检查下这些AU中具体存放的内容:逃过$kfedread/dev/oracleasm/disks/ASMDISK4aun=1122|greptypekfbh.type:12;0x002:KFBTYP_INDIRECT$kfedread/dev/oracleasm/disks/ASMDISK1aun=1137|greptypekfbh.type:12;0x002:KFBTYP_INDIRECT$kfedread/dev/oracleasm/disks/ASMDISK3aun=1137|greptypekfbh.type:12;0x002:KFBTYP_INDIRECT这些额外的AU存放着ASM的元数据,更具体的讲,他们保存了extentmap信息,而这些extentmap信息不能够存放在ASM的文件目录块中了,因为ASM文件目录块中,只能存放60个extent的条目,一旦超出这个值,那么就要有额外的地方来记录这个信息。

ASMspace下面的查询(在ASM实例上运行)展示了ASM271号文件extent的分布情况:逃过SQLselectXNUM_KFFXPVirtualextent,PXN_KFFXPPhysicalextent,DISK_KFFXPDisknumber,AU_KFFXPAUnumberfromX$KFFXPwhereGROUP_KFFXP=1andNUMBER_KFFXP=271orderby1,2;VirtualextentPhysicalextentDisknumberAUnumber--------------------------------------------------003115501011241201125132113124211322501126...1002003141810020111412214748364803112221474836481011372147483648221137205rowsselected.由于ASM文件是做了镜像的,逃过我们可以看到每一个虚拟extent有两个物理extent,而且位于不同的磁盘(其实还位于不同的failgroup),但是最有趣的是查询结果的最后三行,虚拟extent的号是2147483648,做了3副本。

Bytesvsspace视图V$ASM_FILE中,逃过有两列是关于空间分配的:逃过BYTES和SPACE,它们的定义如下:BYTES-文件的大小SPACE-文件实际占用的ASM空间的大小这两列的定义有一些细微的差异,但是这两列的数值差异可能是非常大的,下面我们就来实际的看一下,首先交代一下我的测试环境,ASM和DB的版本为11.2.0.3,使用ASMLIB方式管理的磁盘:可以通过如下的查询来简单的了解我的环境中磁盘组data的基本情况,例如AU的大小,冗余的级别,我的数据文件大多都位于这个磁盘组中。逃过有经验的同学可能会想到使用SpringAOP解决上述问题。

数据库最终执行sql如下:逃过INSERTINTObank_card(card_no,phone,name,id_no)VALUES(NjQzMjEyMzEyMzE=,MTM1Njc4OTEyMzQ=,5rWL6K+V5Y2h,MTIzMTIzMTIzMQ==);?ps:推荐一款IDEA的插件「mybatis-log-plugin」,逃过可以自动将mybatissql日志还原成真实执行sql?「查询加解密」普通查询解密示例如下:resultMapid=bankCardXmltype=org.demo.pojo.BankCardDOresultproperty=card_nocolumn=card_notypeHandler=org.demo.type.CryptTypeHandler/resultproperty=namecolumn=nametypeHandler=org.demo.type.CryptTypeHandler/resultproperty=id_nocolumn=id_notypeHandler=org.demo.type.CryptTypeHandler/resultproperty=phonecolumn=phonetypeHandler=org.demo.type.CryptTypeHandler//resultMapselectid=queryByIdresultMap=bankCardXmlselect*frombank_cardwhereid=#{id}/select这里我们在「select」配置中只能使用resultMap属性,指定typeHandler。?ps:日常开发中,逃过我们要有一定的安全意识,对于密码,金融数据等敏感信息进行加密存储保护。

上述代码示例已上传至Github,逃过地址:逃过https://github.com/9526xu/mybatis-encrypt总结借助于自定义的typeHandler,我们实现了一个通用的加解密的方案,该方案对于使用方来说代码侵入性小,开箱即用,可以快速完成加解密的改造。假设我们对现有一张「bank_card」表进行加解密,逃过表结构如下:逃过CREATETABLEbank_card(idintprimarykeyauto_increment,gmt_createtimestampNOTNULLDEFAULTCURRENT_TIMESTAMP,gmt_updatetimestampNOTNULLDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMP,card_novarchar(256)NOTNULLDEFAULTCOMMENT卡号,phonevarchar(256)NOTNULLDEFAULTCOMMENT手机号,namevarchar(256)NOTNULLDEFAULTCOMMENT姓名,id_novarchar(256)NOTNULLDEFAULTCOMMENT证件号);「insert加密」现需要对card_no,phone,name,id_no进行加密,「insert」语句加密示例:insertid=insertBankCardkeyProperty=iduseGeneratedKeys=trueparameterType=org.demo.pojo.BankCardDOINSERTINTObank_card(card_no,phone,name,id_no)VALUES(#{card_no,javaType=crypt},#{phone,typeHandler=org.demo.type.CryptTypeHandler},#{name,javaType=crypt},#{id_no,javaType=crypt})/insert我们只需要在「#{}」指定typeHandler,传入参数最后将被加密。


返回网站首页

本文评论
社区拼团新模式袭来 无人便利店为社区拼团插上想象翅膀
社区拼团当下正处于风口期,拼多多等巨头的进入使其他创业者加速拓城布局,一些社区拼团企业开始探......
日期:09-30
以前的不好用?Firefox浏览器转投谷歌翻译
Firefox浏览器有很庞大的使用人群,不过这款浏览器并没有自己的翻译工具,而是整合了微软Bing和Yand......
日期:09-11
还在羡慕歪果仁?MIUI“来电留言”功能全版本上线
8月9日消息,小米的MIUI系统一直以来被认为是安卓深度定制系统中最好用、最受欢迎的系统之一,时不......
日期:08-10
张小龙的初心,会成就支付宝小程序的如意算盘么?
图片来源:视觉中国 一、支付宝小程序来了 最近这两天,阿里系有两件大事:一是......
日期:09-13
2018年移动互联网7月榜出炉,虎牙持续领跑行业
8月31日,国内领先的移动互联网大数据监测平台Trustdata发布了《2018年7月移动互联网全行业排行榜》,......
日期:09-04
中国电信:10月1日起终止2G/3G手机终端入库
从10月1日起,中国电信将终止2G和3G手机终端入库。 中国电信旗下CTTA终端产业联盟最新发布的公告显示,从2018年10月1日起...
日期:09-21
百度熊掌号来到中西部,让移动互联不再与本地创业者绝缘
近日,百度熊掌公开课相继在武汉和贵阳召开。在两地现场,团队成员分别从成长体系、粉丝运营工具、......
日期:09-14
为何80%的手机支持全网通?中国电信:5G时代还将引领
中国电信董事长杨杰在昨天召开的第十届天翼智能生态博览会上宣布,中国电信全网通终端销量突破10亿......
日期:09-14
腾讯王卡助力温暖中秋 看得见亲人就是团圆
月是中秋分外明,佳节临近,大众对于全家团圆的渴望愈发强烈。尤其对那些入学不久的高校新生而言,思念......
日期:09-20
CSS 2018腾讯云布局AI及云管端协同防控
“在过去一年中,勒索病毒持续活跃,安全行业更是曝出史诗级 CPU 漏洞,直接导致硬件级城墙的......
日期:08-27
乘车出行安全第一,如何用百度地图“行程分享”功能提高安全防范
出行安全一直是社会关注的焦点,更是关乎每一个人的生命。近期发生的意外事件令人心痛的同时,也激......
日期:08-26
iOS 12重大BUG曝光 部分设备锁屏后无法充电
9月30日消息,iOS 12正式版已经推出了数周,不过部分用户却反馈遭遇了升级后无法充电的问题,受影响......
日期:09-30
升级iOS 12别光看优点,其实它还有很多的缺点
不知道大家都升级到iOS 12了吗?这一次的苹果系统可以说是老机型的福音,那么iOS 12真的都是优点吗?...
日期:09-19
英特尔联合今日头条 创建技术创新联合实验室
8月22日,英特尔联合今日头条在北京召开了以“数据赋能 AI正当时”为主题联合发布会,双......
日期:08-22
子弹短信为什么要成为另一个微信?
图片来源:视觉中国 1 8月21日,锤子科技在北京举办了新品发布会,似乎已经没有......
日期:09-03
巧用WPS文档 致敬心灵工程师
开学季到了,老师们又要开始辛勤工作了。在一年一度的教师节里,是时候为老师们做些什么了。...
日期:09-10
坚果R1办公套装 今日零点现货开售机会难得不容有失!
锤子科技将于鸟巢发布了真正意义上的旗舰机,发布之后几度断货,尤其是白色款坚果R1更是被誉为&ldqu......
日期:09-18
百度云升级区块链服务 打造国内最全面布局的区块链互联平台
9月4日,2018 ABC SUMMIT百度云智峰会在上海召开,峰会上百度云推出了ABC+Blockchain全面的云端区块......
日期:09-11
暑期手游新玩法了解一下,腾讯游戏管家打造客厅大屏玩游戏体验
这个夏天,各大综艺、影视剧火爆荧屏,游戏、体育赛事轮番上演。而对游戏迷来说,最受关注的无疑就......
日期:08-10
最美绫波丽黑化!雪霏酱化身“猎魔者”空降ChinaJoy游族展台
美女coser雪霏酱此前凭借cos经典动漫角色绫波丽而走红网络,被封“宅男女神”。去年一档名为......
日期:08-05