添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
1 问题:
2017-07-14 8:00左右,收到短信报警“数据库db1的安装目录/u01可用空间低于5%”,是什么原因导致的呢?
2 分析:
2.1 具体描述:2017-07-14 8:00左右, 数据库db1的安装目录/u01可用空间低于5%
2.2 收集数据:
  • ssh登录到db1所在服务器使用命令,显示那个日志目录占用的空间最多,并逐层目录查找:
cd /u01
du -sk *
  • 查找结果,发现在asm日志目录.\trace空间占用最大
  • 进入到trace目录,发现有一个trace文件大小为10G,文件改变时间为当前时间。
  • 除了这个trace文件外,有一个alert_+ASM1.log的文件更新时间也是当前时间。
2.3 分析
  • 大小为10g的trace文件《《〈〈〈〈〈〈应该是这次报警的元凶。
  • 这个大小为10G的文件是慢慢累积而成,还是由于慢个事件迅速增长到10G。
  • 还有一个值得在意的地方就是trace文件与alert文件的更新时间不断变化。
2.4 结论
  • 基本可以断定清除10g的trace文件能解除报警,但未必能发现报警代表的更深层次原因。
  • 采用后续行动,进一步分析trace文件的容量是迅速生成还是慢慢累积的?
3. 第二次分析:
3.1 具体描述:大小为10G的trace文件,是什么原因生成的?
3.2 收集数据:
  • 打开大小为10g的trace文件,查看内容,由于文件太大,打开失败。
  • 打开alert文件,查看内容,发现如下错误信息:
NOTE: Attempting voting file relocation on diskgroup CRSDG
NOTE: Failed voting file relocation on diskgroup CRSDG
NOTE: Attempting voting file relocation on diskgroup CRSDG
NOTE: Failed voting file relocation on diskgroup CRSDG
NOTE: Attempting voting file relocation on diskgroup CRSDG
NOTE: Failed voting file relocation on diskgroup CRSDG
NOTE: Attempting voting file relocation on diskgroup CRSDG
NOTE: Failed voting file relocation on diskgroup CRSDG
  • 检查这些日志的最早生成时间及持续多长,频率有多大,信息如下:
发现自2017-05-16 HP存储出现故障后,该报警信息不断出现。
持续至:2017-07-14
频率:每20秒报一次警。
  • 查看crsdg,asm disk状态:select * from v$asm_disk; 发现有两个磁盘的mount_status:IGNORED
3.3 分析
  • 在2017-05-16, HP存储出现故障时,CRSDG的磁盘由3个可用,变成只得一个可用。即使用存储故障修复后,oracle asm也不能自动重新识别,导致集群的voting file重新放置失败。
  • IGNORED - Disk is present in the system but is ignored by Oracle ASM because
of one of the following:
The disk is detected by the system library but is ignored because an
Oracle ASM library discovered the same disk
Oracle ASM has determined that the membership claimed by the disk
header is no longer valid
  • 进一步确认,查看support.oracle.com,其中文章“V$ASM_DISK View Shows Some Disk Header Status as IGNORED and Group Number as "0". (文档 ID 1299866.1)”给出很详细的说明,摘录如下:
This is not a normal situation but can happen in the following scenario.
1] If there are more than 2 disks dropped forcefully from the same diskgroup created with normal redundancy while the diskgroup is still mounted, these disks still show "MEMBER" and group number as "0". If a new disk is added to the diskgroup or existing disks are added in different order, there is a possibility that the same disk number and disk name can be assigned to the ones that was assigned to one of dropped disks which has not been added yet.
This situation can happen either when one of SAN failgroup crash or when one of cell node from Exadata crash.
2] In RAC environment, ASM disk added to a existing diskgroup should be seen from all nodes. If one of nodes doesn't see the disk being added, the operation will fail with "ORA-15075 disk(s) are not visible cluster-wide" but the disk being added keeps the new disk number and disk name showing "MEMBER" status. After this, a new disk is added to the RAC node successfully, chances are the new disk gets the same disk number and diskname with the one that was failed in the first place.
The following similar error occurs when these disks showing IGNORED status are attempted to be added an existing diskgroup.
SQL> alter diskgroup data add failgroup F2 disk '/dev/oracleasm/disks/ASM1' ;
alter diskgroup data add failgroup F2 disk '/dev/oracleasm/disks/ASM1'
*
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15033: disk '/dev/oracleasm/disks/ASM1' belongs to diskgroup "DATA"
3] Wrong multipath configuration where multiple single device path are visbile in asm_diskstring.
  • 那么,到底crsdg那些offline了磁盘现在发生了什么事呢?
4. 第三次分析
4.1 具体描述:crsdg那些offline的磁盘是否出现硬件故障。
4.2 收集数据:使用root用户,执行命令ioscan -fnkCdisk 检查磁盘的路径状态,发现有的磁盘路径状态是NO_HW
4.3 分析:
NO_HW 此地址的硬件不再响应
ioscan 中的 NO_HW 表示当计算机引导时,该设备正在响应,但是现在没有响应。
NO_HW 可能来自一个有问题的设备,或者一个已经移动删除的设备。
4.4 结论:
CRSDG中ignore的磁盘,在os层、存储层上已经被识别为无效设备。
5. 解决方案:
5.1 根据oracle的官方文档,制定如下的解决方案:
  • 修复损坏的路径,让OS层重新识别
  • 执行alter diskgroup crsdg add disk 'path' force;
5.2 但是由于当时处理该事件没有进行充分的调研oracle官方处理方法,在与存储管理员确认后,采用重启主机的方法,修复路径,然后重启DB实例,发现还是没有自动识别磁盘,于是采立即新增了两个磁盘,并划入到crsdg中,最后alert日志中的报错“Failed voting file relocation on diskgroup CRSDG”消除。并将ignore的磁盘权限及用户组变更回原始状态,如root sys ,然后由存储管理员回收。
6. 引用
V$ASM_DISK View Shows Some Disk Header Status as IGNORED and Group Number as "0". (文档 ID 1299866.1) 转到底部转到底部
In this Document
Symptoms
Cause
Solution
References
APPLIES TO:
Oracle Database - Enterprise Edition - Version 10.2.0.1 to 11.2.0.2 [Release 10.2 to 11.2]
Information in this document applies to any platform.
SYMPTOMS
1] V$ASM_DISK view shows disk header status as IGNORED and group number as "0".
2] Background ASM trace file corresponding sqlplus shows the following similar message.
Ignoring dsk because it is a duplicatekfdsk:0xb7b91620 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
disk: num: 21/47626513311654 grp: 0/47622597378048 compat: 10.1.0.0.0 dbcompat:10.1.0.0.0
fg: path: /dev/oracleasm/disks/ASM1 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
mnt: O hdr: M mode: v v(--) p(r-) a(-) d(-) sta: N flg: 1001
slot 65535 ddeslot 65535 numslots 65535 dtype 0 enc 0 part 0 flags 0
kfts: 2013/03/02 10:11:53.307000
kfts: 2013/11/15 01:18:09.263000
pcnt: 0 ()
kfkid: 0xb7bbf940, kfknm: , status: IDENTIFIED
fob: (KSFD)ba77c470, magic: bebe ausize: 0
kfdds: dn=21 inc=3915933606 dsk=0xb7b91620 usrp=0x2b50f0992118
kfkds 0x2b50f08b07f8, kfkid 0xb7bbf940, magic abbe, libnum 0, bpau 0, fob 0xba77dec0
Ignoring dsk because it is a duplicatekfdsk:0xb7b919a0
CAUSE
This is not a normal situation but can happen in the following scenario.
1] If there are more than 2 disks dropped forcefully from the same diskgroup created with normal redundancy while the diskgroup is still mounted, these disks still show "MEMBER" and group number as "0". If a new disk is added to the diskgroup or existing disks are added in different order, there is a possibility that the same disk number and disk name can be assigned to the ones that was assigned to one of dropped disks which has not been added yet.
This situation can happen either when one of SAN failgroup crash or when one of cell node from Exadata crash.
2] In RAC environment, ASM disk added to a existing diskgroup should be seen from all nodes. If one of nodes doesn't see the disk being added, the operation will fail with "ORA-15075 disk(s) are not visible cluster-wide" but the disk being added keeps the new disk number and disk name showing "MEMBER" status. After this, a new disk is added to the RAC node successfully, chances are the new disk gets the same disk number and diskname with the one that was failed in the first place.
The following similar error occurs when these disks showing IGNORED status are attempted to be added an existing diskgroup.
SQL> alter diskgroup data add failgroup F2 disk '/dev/oracleasm/disks/ASM1' ;
alter diskgroup data add failgroup F2 disk '/dev/oracleasm/disks/ASM1'
*
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15033: disk '/dev/oracleasm/disks/ASM1' belongs to diskgroup "DATA"
3] Wrong multipath configuration where multiple single device path are visbile in asm_diskstring.
SOLUTION
IGNORED status can be seen for ASM disks which are not part of any currently mounted diskgroup but it shows the same disk header information with one of disks that are currently mounted such as disk number, disk name and diskgroup and the status as "MEMBER" and group number as "0".
Check whether there are at last 2 ASM disks showing the same disk header information using kfed described in Appendix
1] When the diskgroup from which the disk has been dropped is currently mounted, try to add the disk showing "IGNORED" status using force option to the original diskgroup from which the disk has been dropped. Please see Document:946213.1 - for details how to add a disk back to the original diskgroup.
Example)
SQL> alter diskgroup data add failgroup F2 disk '/dev/oracleasm/disks/ASM1' force ;
Diskgroup altered
2] When the diskgroup from which the disk has been dropped is not currrently mounted, v$asm_disk shows the correct disk as MEMBER by comparing creation time from disk directory . If a disk showing the same disk number and has a different creation time from disk directory, the status is seen as IGNORED.
example) /dev/oracleasm/disks/ASM1 and /dev/oacleasm/disks/ASM2 disks below show the same disk header information from kfed output.
SQL>@diskifno
G_N D_N NAME FAILGROUP M_STATU H_STATUS MO_STAT STATE PATH M_DATE
---- ---- ----------- ---------- ------- ---------- ------- -------- ------------------------- --------------------
0 0 CLOSED MEMBER ONLINE NORMAL /dev/oracleasm/disks/ASM2 2011/02/25 21:07:49
0 1 IGNORED MEMBER ONLINE NORMAL /dev/oracleasm/disks/ASM1 2011/02/25 18:08:43
0 2 CLOSED MEMBER ONLINE NORMAL /dev/oracleasm/disks/ASM4 2011/02/25 20:59:01
0 3 CLOSED MEMBER ONLINE NORMAL /dev/oracleasm/disks/ASM3 2011/02/25 21:07:49
1 0 PLAY_0000 PLAY_0000 CACHED MEMBER ONLINE NORMAL /dev/oracleasm/disks/ASM5 2011/02/20 20:52:31
3 0 KYLE_0000 KYLE_0000 CACHED MEMBER ONLINE NORMAL /dev/oracleasm/disks/ASM6 2011/02/20 20:52:44
2-1. ASM discards the disk showing IGNORED status automatically by comparing creation time from ASM metadata called disk directory when mounting DATA diskgroup.
SQL> alter diskgroup data mount ;
Diskgroup altered.
Note that /dev/oracleasm/disks/ASM1 has been excluded from DATA diskgroup.
SQL> @diskinfo
G_N D_N NAME FAILGROUP M_STATU H_STATUS MO_STAT STATE PATH M_DATE
---- ---- ----------- ---------- ------- ---------- ------- -------- ------------------------- --------------------
0 1 IGNORED MEMBER ONLINE NORMAL /dev/oracleasm/disks/ASM1 2011/02/25 18:08:43 <<<<<<<<<<<<<<<<<<< Here, ASM1 has been excluded from DATA diskgroup
1 0 PLAY_0000 PLAY_0000 CACHED MEMBER ONLINE NORMAL /dev/oracleasm/disks/ASM5 2011/02/20 20:52:31
2 0 DATA_0000 F1 CACHED MEMBER ONLINE NORMAL /dev/oracleasm/disks/ASM2 2011/02/25 21:09:47
2 1 DATA_0001 F2 CACHED MEMBER ONLINE NORMAL /dev/oracleasm/disks/ASM4 2011/02/25 21:09:47
2 2 DATA_0002 F2 CACHED MEMBER ONLINE NORMAL /dev/oracleasm/disks/ASM3 2011/02/25 21:09:47
3 0 KYLE_0000 KYLE_0000 CACHED MEMBER ONLINE NORMAL /dev/oracleasm/disks/ASM6 2011/02/20 20:52:44
2-2. And then the disk showing IGNORED can be added using force option described in step 1.
Appendix
1. How to check whether there are duplication disks showing the same disk header information.
o Check whether kfed executable exist in your <ASM_HOME/bin>
o Rebuild kfed if kfed executable doesn't exist in $GRID_HOME/bin using the following way.
$cd $ORACLE_HOME/rdbms/lib
$make -f ins_rdbms.mk ikfed
o Take a kfed output for the disks. If the following information of the header is the same, the 2 disks are considered to be the same.
Note mntstmp.hi and mntstmp.lo (disk mount time) can be different to be the same disk in this exercise.
ex) $ kfed read /dev/oracleasm/disks/ASM1 | egrep 'dsknum|dskname|grpname|fgname|hdrsts|mntstmp.hi|mntstmp.lo'
2. diskinfo.sql
set linesize 200
col g_name format a10
col g_n format 99
col d_n format 999
col m_status format a7
col mo_status format a7
col h_status format a11
col name format a30
col path format a45
col failgroup format a15
select g.group_number g_n,
g.disk_number d_n,
g.name name,
g.failgroup,
g.mount_status m_status,
g.header_status h_status,
g.mode_status mo_status,
g.path ,
to_char(g.mount_date, 'YYYY/MM/DD HH24:MI:SS') m_date
from v$asm_disk g
order by g_n, d_n
/
经查看集群相关日志可以确定,由于存储磁盘出现IO问题(或光线闪断、或IO延迟),导致集群CRS异常宕机。但是,比较奇怪的是,虽然CSR掉线了,ASM实例和DB实例却好好的,还可以正常使用。查询orac... 来自: www_xue_xi的博客 题目:33.You want to perform the following operations for the DATA ASM disk group:-Verify the consisten... 来自: 文档搬运工 查看磁盘状态sqlplus/assysasmsetlin200colpathfora50selectname,path,state,mount_status,header_statusfromv$as... 来自: littleforest的博客 $ORA_CRS_HOME/bin/crs_stat -t 查看crs各服务状态 。$ORA_CRS_HOME/bin/crs_start –all此命令用来启动所有的集群服务,但是启动的前提是 资源... 主要为了验证11gR2 RAC中ASM实例通过gpnp profile获得spfile信息来启动ASM实例,同时验证了gpnp profile的修改等内容;结论与实验如下:验证结论:1./u01/ap... 来自: 还不算晕的专栏 注:2017-07-30 DBA日记,MYSQL读书笔记第三天——MYSQL半同步复制配置步骤存在疏漏之处,本篇作为补充。目的:重新演练一次半同步复制的步骤,确认步骤是正确的。确认只同步业务数据库的情... 来自: IT匠人的专栏 书名:《MYSQL管理之道》摘要关键字:MYSQL 5.7新特性SSL加密在线更改表结构--目前只支持varchar类型,核心字眼innodb_online_alter_log_max_size,默认... 来自: IT匠人的专栏 书名:《MYSQL管理之道》摘要关键字:MYSQL 5.7新特性引入线程池技术,但是只有在5.7企业版上才有。。。。使用社区版的同学怎么办?其实也没有什么特别,该技术不适合应用在长连接系统上,如果采用... 来自: IT匠人的专栏 背景:2017-04-11 19:20收到开发员反馈,在某库db1上执行update语句很快,但commit很慢,至少执行了5分钟commit都没有返回。问题:是什么原因导致commit被挂起/阻塞呢... 来自: IT匠人的专栏 目的(Why)在mysql 5.6环境下,提高slow_query.log的可读性,快速定位慢查询SQL使用人群(Who)MySql DBA功能描述(What)1. 数据采集:开启mysql slow... 来自: IT匠人的专栏 整理人:hxre2006-11-20目 录 概述 5 第一部分 Oracle10g RAC数据库简介 6 oracle10g RAC结构 6 硬件 6 共享磁盘存储 ... 来自: cuixie2370的博客 一个客户的RAC环境出现了故障,一个节点操作系统崩溃,重装系统后,CLUSTER添加成功,但是ASM实例添加报错。当时通过电话简单了解了一下情况:Oracle 10204 RAC for Linux ... 来自: Perry 背景:2017-04-21 14:00 收到用户反馈数据库db1连接不上,报错信息是“ORA-04031: unable to allocate 4120 bytes of shared memory... 来自: IT匠人的专栏 案例描述在2017-10-27 17:00时,通过监控软件发现RAC数据库的节点二每隔5分钟出现一次每秒登录的用户数达到4,采样时间为1分钟,那就是说一分钟内有240次登录。节点二除了为业务程序提供服... 来自: IT匠人的专栏 今天参加了2017年DTCC的第一天会议,在这里聆听了不同行业,不同岗位的技术同袍关于他们的工作历程、研究成果、研究感悟的分享,正因由他们无私的分享,才让我的思路更开阔。特别是以下一些内容。未来的DB... 来自: IT匠人的专栏 问题:今天备份工程师向我反馈,在将数据库备份从磁盘备份到虚拟带库时,出现如下错误:错误1:RMAN-06207: WARNING: 1 objects could not be deleted for... 来自: IT匠人的专栏 1 目的指导oracle DBA根据不同的场景,快速、正确地完成段碎片整理2 执行人Oracle dba3 执行场景常规场景:数据归档非常规场景:系统对某个表执行频繁insert,delete,造成大... 来自: IT匠人的专栏 一、案例描述在昨天,以前的同事叫我帮忙装一个oracle,环境是在阿里云上的,使用的centos 7操作系统。结果在oracle database 软件安装的过程中却出了一些小问题。在安装进度在84%... 来自: IT匠人的专栏 背景:新接手一台linux+oracle+asm的数据库db1,现在要对该db的asmdisk进行存储回收,为确保正确删除asmdisk及对应磁盘设备,需把asmdisk的与磁备设备映射出来,并进一步... 来自: IT匠人的专栏 背景:今天有个开发员A找到我说“连接oracle standby database的account locked了”,于是我习惯地查了数据库用户表状态,发现没有问题。也排查了他的程序在连接过程中没有错... 来自: IT匠人的专栏 一、案例描述在oracle 11g standard edition中生成awr报告内容为空,查看dba_hist_sqlstat,dba_hist_time_model没有内容。二、问题定义为什么在... 来自: IT匠人的专栏 手记一:背景:今日有个DBA的同事和我说一个关于sql语句写法导致硬解释的case ,特滋记录过程:当cursor_sharing=force 时,如下sql语句是不会重用执用执行计划的:SQL1:s... 来自: IT匠人的专栏 一、背景描述今日,在oracle DBA群里有一个群友提问,在没有打开闪回数据库的前提下,oracle 闪回查询是依赖于undo,还是会依赖redo ,archivelog呢?结果在群里的讨论就产生了... 来自: IT匠人的专栏 目的(Why)深入理解当高频执行SQL时,oracle所发生的等待事件,并为此制定解决方案。执行人员(Who)ORACLE DBA运行环境(Where)database : oracle 11.2.0... 来自: IT匠人的专栏 一、案例描述今日在进行MYSQL日常检查时,发现有一条SQL语句,在字段类型为datetime并创建索引的情况下,进行between (sysdate()+interval(-1) hour) and... 来自: IT匠人的专栏 背景:随着数据量不断增大,过去的每天全备的备份策略变得捉襟见肘了,主要表现在备份时间长,存放介质容量大,造成DB IO负载加重。为了解决这个问题,需要重新制定备份策略。问题:采用那一个备份策略能够令备... 来自: IT匠人的专栏 三四月份投了字节跳动的实习(图形图像岗位),然后hr打电话过来问了一下会不会opengl,c++,shador,当时只会一点c++,其他两个都不会,也就直接被拒了。七月初内推了字节跳动的提前批,因为内... 来自: ljh_shuai的博客 一、准备工作u盘,电脑一台,win10原版镜像(msdn官网)二、下载wepe工具箱极力推荐微pe(微pe官方下载)下载64位的win10 pe,使用工具箱制作启动U盘打开软件,选择安装到U盘(按照操... 来自: weixin_41964258的博客 由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,... 来自: 帅地 最近翻到一篇知乎,上面有不少用Python(大多是turtle库)绘制的树图,感觉很漂亮,我整理了一下,挑了一些我觉得不错的代码分享给大家(这些我都测试过,确实可以生成)one 樱花树 动态生成樱花效... 来自: 碎片 大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频... 来自: 帅地 欢迎来到“Python进阶”专栏!来到这里的每一位同学,应该大致上学习了很多 Python 的基础知识,正在努力成长的过程中。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所... 来自: Python作业辅导员 - 天元浪子【许向武】 本文源码:GitHub·点这里 || GitEE·点这里 一、生活场景 通常一款互联网应用的开发流程如下:业务需求,规划产品,程序开发,测试交付。现在基于模板方法模式进行该过程描述。 public c... 来自: songfei_dream的专栏 11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。  区块链技术被认为是继蒸汽机、电力... 来自: CSDN资讯 很早就很想写这个,今天终于写完了。游戏截图:编译环境: VS2017游戏需要一些图片,如果有想要的或者对游戏有什么看法的可以加我的QQ 2985486630 讨论,如果暂时没有回应,可以在博客下方留言... 来自: 张宜强的博客 前言: 向女神表白啦,作为一个程序员,当然也有爱情啦。只不过,虽然前面两个程序都只是学习了基础的语法结构和向量哈希表。这里涉及的是Swing,awt图形用户界面和一点文件输入输出流的知识。&... 来自: threecat.up的博客 作者 |胡书敏责编 | 刘静出品 | CSDN(ID:CSDNnews)本人目前在一家知名外企担任架构师,而且最近八年来,在多家外企和互联网公司担任Java技术面试官,前后累计面试了有两三百位候选人。... 来自: CSDN资讯 点击上面↑「爱开发」关注我们每晚10点,捕获技术思考和创业资源洞察什么是ThreadLocalThreadLocal是一个本地线程副本变量工具类,各个线程都拥有一份线程私...... ArrayList支持所有的可选操作(因为一个UnsupportedOperationException异常都没有捕获到),所以要想拥有完备的功能,还是得使用ArrayList啊。 Arrays$Ar... 我清晰的记得,刚买的macbook pro回到家,开机后第一件事情,就是上了淘宝网,花了500元钱,找了一个上门维修电脑的师傅,上门给我装了一个windows系统。。。。。。 表砍我。。。 当时买ma... 小编是一个理科生,不善长说一些废话。简单介绍下原理然后直接上代码。 使用的工具(Python+pycharm2019.3+selenium+xpath+chromedriver)其中要使用pycha... CPU对每个程序员来说,是个既熟悉又陌生的东西? 如果你只知道CPU是中央处理器的话,那可能对你并没有什么用,那么作为程序员的我们,必须要搞懂的就是CPU这家伙是如何运行的,尤其要搞懂它里面的寄存器是... 很遗憾,这个春节注定是刻骨铭心的,新型冠状病毒让每个人的神经都是紧绷的。那些处在武汉的白衣天使们,尤其值得我们的尊敬。而我们这些窝在家里的程序员,能不外出就不外出,就是对社会做出的最大的贡献。 有些... man: Manual 意思是手册,可以用这个命令查询其他命令的用法。 pwd:Print working directory 意思是密码。 su:Swith user 切换用户,切换到ro... 今天,群里白垩老师问如何用python画武汉肺炎疫情地图。白垩老师是研究海洋生态与地球生物的学者,国家重点实验室成员,于不惑之年学习python,实为我等学习楷模。先前我并没有关注武汉肺炎的具体数据,...  有20瓶药丸,其中19瓶装有1克/粒的药丸,余下一瓶装有1.1克/粒的药丸。给你一台称重精准的天平,怎么找出比较重的那瓶药丸?天平只能用一次。 有时候,严格的限制条件有可能反倒是解题... 相信大家都已经收到国务院延长春节假期的消息,接下来,在家远程办公可能将会持续一段时间。 但是问题来了。远程办公不是人在电脑前就当坐班了,相反,对于沟通效率,文件协作,以及信息安全都有着极高的要求。有... python常见知识点梳理 本文主要介绍一些平时经常会用到的python基础知识点,用于加深印象。python的详细语法介绍可以查看官方编程手册,也有一些在线网站对python语法进行了比较全... Java Magazine上面有一个专门坑人的面试题系列: https://blogs.oracle.com/javamagazine/quiz-2。 这些问题的设计宗旨,主要是测试面试者对Java语... 虽然已经在实际工作中经常与java打交道,但是一直没系统地对java这门语言进行梳理和总结,掌握的知识也比较零散。恰好利用这段时间重新认识下java,并对一些常见的语法和知识点做个总结与回顾,一方面为... 哇说起B站,在小九眼里就是宝藏般的存在,放年假宅在家时一天刷6、7个小时不在话下,更别提今年的跨年晚会,我简直是跪着看完的!! 最早大家聚在在B站是为了追番,再后来我在上面刷欧美新歌和漂亮小姐姐的舞蹈... 我们在用Python进行机器学习建模项目的时候,每个人都会有自己的一套项目文件管理的习惯,我自己也有一套方法,是自己曾经踩过的坑踩过的雷总结出来的,现在在这里分享一下给大家,因为很多伙伴是接触P... Urllib模块实战项目什么是Urllib模块Urllib实例1(将内容爬到内存中)Urllib实例2(将内容爬到电脑硬盘中)Urllib实例3(浏览器伪装)Urllib实例4(用户代理池) 之前给大... Spring1.Spring是什么?有什么好处?2.IOC是什么?有什么好处?具体过程?3.DI是什么?4.IOC和DI的关系?5.bean标签的属性有哪些?6.IOC创建对象有哪几种方式?7.Spr... python+selenium定时爬取丁香园的新冠病毒每天的数据,并制作出类似的地图(部署到云服务器) 声明:仅供技术交流,请勿用于非法用途,如有其它非法用途造成损失,和本博客无关 目录python+... 通过上一篇文章的功能设计,我们可以发现新闻通知公告等是APP的最主要功能点。主要是聚合展示学校官网的通知公告,官方微信,微博的重要信息,学校社团的活动,以及学校优秀自媒体的文章等等。... 本文知识点较多,篇幅较长,请耐心学习 MySQL已经成为时下关系型数据库产品的中坚力量,备受互联网大厂的青睐,出门面试想进BAT,想拿高工资,不会点MySQL优化知识,拿offer的成功率会大大下降...