oracle快速定位数据库瓶颈

oracle快速定位数据库瓶颈

–数据库巡检或性能优化方法各异,但首要的是要发现数据库性能瓶颈,系统自带的statspack,或awr太耗时.

  1. 查询数据库等待事件top10,关注前前几个等待事件,关注前三个等待事件是否有因果或关联关系–oracle 9i
    select t2.event,round(100t2.time_waited/(t1.w1+t3.cpu),2) event_wait_percent from (
    SELECT SUM(time_waited) w1 FROM v s y s t e m e v e n t W H E R E e v e n t N O T I N ( ′ s m o n t i m e r ′ , ′ p m o n t i m e r ′ , ′ r d b m s i p c m e s s a g e ′ , ′ N u l l e v e n t ′ , ′ p a r a l l e l q u e r y d e q u e u e ′ , ′ p i p e g e t ′ , ′ c l i e n t m e s s a g e ′ , ′ S Q L ∗ N e t m e s s a g e t o c l i e n t ′ , ′ S Q L ∗ N e t m e s s a g e f r o m c l i e n t ′ , ′ S Q L ∗ N e t m o r e d a t a f r o m c l i e n t ′ , ′ d i s p a t c h e r t i m e r ′ , ′ v i r t u a l c i r c u i t s t a t u s ′ , ′ l o c k m a n a g e r w a i t f o r r e m o t e m e s s a g e ′ , ′ P X I d l e W a i t ′ , ′ P X D e q : E x e c u t i o n M s g ′ , ′ P X D e q : T a b l e Q N o r m a l ′ , ′ w a k e u p t i m e m a n a g e r ′ , ′ s l a v e w a i t ′ , ′ i / o s l a v e w a i t ′ , ′ j o b q s l a v e w a i t ′ , ′ n u l l e v e n t ′ , ′ g c s r e m o t e m e s s a g e ′ , ′ g c s f o r a c t i o n ′ , ′ g e s r e m o t e m e s s a g e ′ , ′ q u e u e m e s s a g e s ′ ) ) t 1 , ( s e l e c t ∗ f r o m ( s e l e c t t . e v e n t , t . t o t a l w a i t s , t . t o t a l t i m e o u t s , t . t i m e w a i t e d , t . a v e r a g e w a i t , r o w n u m n u m f r o m ( s e l e c t e v e n t , t o t a l w a i t s , t o t a l t i m e o u t s , t i m e w a i t e d , a v e r a g e w a i t f r o m v system_event WHERE event NOT IN ('smon timer','pmon timer','rdbms ipc message','Null event','parallel query dequeue','pipe get', 'client message','SQL*Net message to client','SQL*Net message from client','SQL*Net more data from client', 'dispatcher timer','virtual circuit status','lock manager wait for remote message','PX Idle Wait', 'PX Deq: Execution Msg','PX Deq: Table Q Normal','wakeup time manager','slave wait','i/o slave wait', 'jobq slave wait','null event','gcs remote message','gcs for action','ges remote message','queue messages') ) t1, (select * from ( select t.event,t.total_waits,t.total_timeouts,t.time_waited,t.average_wait,rownum num from (select event,total_waits,total_timeouts,time_waited,average_wait from v systemeventWHEREeventNOTIN(smontimer,pmontimer,rdbmsipcmessage,Nullevent,parallelquerydequeue,pipeget,clientmessage,SQLNetmessagetoclient,SQLNetmessagefromclient,SQLNetmoredatafromclient,dispatchertimer,virtualcircuitstatus,lockmanagerwaitforremotemessage,PXIdleWait,PXDeq:ExecutionMsg,PXDeq:TableQNormal,wakeuptimemanager,slavewait,i/oslavewait,jobqslavewait,nullevent,gcsremotemessage,gcsforaction,gesremotemessage,queuemessages))t1,(selectfrom(selectt.event,t.totalwaits,t.totaltimeouts,t.timewaited,t.averagewait,rownumnumfrom(selectevent,totalwaits,totaltimeouts,timewaited,averagewaitfromvsystem_event where event not in
    (‘smon timer’,‘pmon timer’,‘rdbms ipc message’,‘Null event’,‘parallel query dequeue’,‘pipe get’,
    ‘client message’,'SQL
    Net message to client’,‘SQLNet message from client’,'SQLNet more data from client’, ‘dispatcher timer’,‘virtual circuit status’,‘lock manager wait for remote message’,‘PX Idle Wait’,
    ‘PX Deq: Execution Msg’,‘PX Deq: Table Q Normal’,‘wakeup time manager’,‘slave wait’,‘i/o slave wait’,
    ‘jobq slave wait’,‘null event’,‘gcs remote message’,‘gcs for action’,‘ges remote message’,‘queue messages’)
    order by time_waited desc ) t) where num<11) t2,
    (SELECT VALUE CPU FROM v$sysstat WHERE NAME LIKE ‘CPU used by this session’ ) t3

–oracle10g

select t2.event,round(100t2.time_waited/(t1.w1+t3.cpu),2) event_wait_percent from (
SELECT SUM(time_waited) w1 FROM v$system_event WHERE event NOT IN
(‘smon timer’,‘pmon timer’,‘rdbms ipc message’,‘Null event’,‘parallel query dequeue’,‘pipe get’,‘client message’,'SQL
Net message to client’,'SQL*Net message from

client’,‘SQL*Net more data from client’,‘dispatcher timer’,‘virtual circuit status’,‘lock manager wait for remote message’,‘PX Idle Wait’,‘PX Deq: Execution Msg’,'PX

Deq: Table Q Normal’,‘wakeup time manager’,‘slave wait’,
‘i/o slave wait’,‘jobq slave wait’,‘null event’,‘gcs remote message’,‘gcs for action’,‘ges remote message’,‘queue messages’,'wait for unread message on broadcast

channel’,‘PX Deq Credit: send blkd’,‘PX Deq: Execute Reply’,‘PX Deq: Signal ACK’,‘PX Deque wait’,‘PX Deq Credit: need buffer’,'STREAMS apply coord waiting for slave

message’,
‘STREAMS apply slave waiting for coord message’, ‘Queue Monitor Wait’, ‘Queue Monitor Slave Wait’, ‘wakeup event for builder’, ‘wakeup event for preparer’, 'wakeup

event for reader’,
‘wait for activate message’, ‘PX Deq: Par Recov Execute’,‘PX Deq: Table Q Sample’,‘STREAMS apply slave idle wait’,'STREAcapture process filter callback wait for

ruleset’,‘STREAMS fetch slave waiting for txns’,
‘STREAMS waiting for subscribers to catch up’,‘Queue Monitor Shutdown Wait’,‘AQ Proxy Cleanup Wait’,‘knlqdeq’,‘class slave wait’,‘master wait’,‘DIAG idle wait’,
‘ASM background timer’,‘KSV master wait’,‘EMON idle wait’,‘Streams AQ: RAC qmn coordinator idle wait’,‘Streams AQ: qmn coordinator idle wait’,'Streams AQ: qmn slave

idle wait’,
‘Streams AQ: waiting for time management or cleanup tasks’,‘Streams AQ: waiting for messages in the queue’,‘Streams fetch slave: waiting for txns’,'Streams AQ:

deallocate messages from Streams Pool’,
‘Streams AQ: delete acknowledged messages’,‘LNS ASYNC archive log’,‘LNS ASYNC dest activation’,‘LNS ASYNC end of log’,‘LogMiner: client waiting for transaction’,
‘LogMiner: slave waiting for activate message’,‘LogMiner: wakeup event for builder’,‘LogMiner: wakeup event for preparer’,‘LogMiner: wakeup event for reader’) ) t1,
(select * from (
select t.event,t.total_waits,t.total_timeouts,t.time_waited,t.average_wait,rownum num from
(select event,total_waits,total_timeouts,time_waited,average_wait from v$system_event where event not in
(‘smon timer’,‘pmon timer’,‘rdbms ipc message’,‘Null event’,‘parallel query dequeue’,‘pipe get’,‘client message’,'SQLNet message to client’,'SQLNet message from

client’,‘SQL*Net more data from client’,‘dispatcher timer’,‘virtual circuit status’,‘lock manager wait for remote message’,‘PX Idle Wait’,‘PX Deq: Execution Msg’,'PX

Deq: Table Q Normal’,‘wakeup time manager’,‘slave wait’,
‘i/o slave wait’,‘jobq slave wait’,‘null event’,‘gcs remote message’,‘gcs for action’,‘ges remote message’,‘queue messages’,'wait for unread message on broadcast

channel’,‘PX Deq Credit: send blkd’,‘PX Deq: Execute Reply’,‘PX Deq: Signal ACK’,‘PX Deque wait’,‘PX Deq Credit: need buffer’,'STREAMS apply coord waiting for slave

message’,
‘STREAMS apply slave waiting for coord message’, ‘Queue Monitor Wait’, ‘Queue Monitor Slave Wait’, ‘wakeup event for builder’, ‘wakeup event for preparer’, 'wakeup

event for reader’,
‘wait for activate message’, ‘PX Deq: Par Recov Execute’,‘PX Deq: Table Q Sample’,‘STREAMS apply slave idle wait’,'STREAcapture process filter callback wait for

ruleset’,‘STREAMS fetch slave waiting for txns’,
‘STREAMS waiting for subscribers to catch up’,‘Queue Monitor Shutdown Wait’,‘AQ Proxy Cleanup Wait’,‘knlqdeq’,‘class slave wait’,‘master wait’,‘DIAG idle wait’,
‘ASM background timer’,‘KSV master wait’,‘EMON idle wait’,‘Streams AQ: RAC qmn coordinator idle wait’,‘Streams AQ: qmn coordinator idle wait’,'Streams AQ: qmn slave

idle wait’,
‘Streams AQ: waiting for time management or cleanup tasks’,‘Streams AQ: waiting for messages in the queue’,‘Streams fetch slave: waiting for txns’,'Streams AQ:

deallocate messages from Streams Pool’,
‘Streams AQ: delete acknowledged messages’,‘LNS ASYNC archive log’,‘LNS ASYNC dest activation’,‘LNS ASYNC end of log’,‘LogMiner: client waiting for transaction’,
‘LogMiner: slave waiting for activate message’,‘LogMiner: wakeup event for builder’,‘LogMiner: wakeup event for preparer’,‘LogMiner: wakeup event for reader’)
order by time_waited desc ) t) where num<11) t2,
(SELECT VALUE CPU FROM v$sysstat WHERE NAME LIKE ‘CPU used by this session’ ) t3

–2、查询各种指标,根据各种指标反映的问题是否和等待事件有关联关系,进一步确定问题所在
–9i

select a.cache_hit_percent,e.rowcache_hitratio,d.pin_ration_percent,d.get_ratio_percent,

f.mem_sort_percent ,b.latch_ratio_percent from
(SELECT ROUND((1-((s1.VALUE-s4.VALUE-s5.VALUE)/(s2.VALUE+s3.VALUE-s4.VALUE-s5.VALUE)))*100,2) cache_hit_percent FROM v s y s s t a t s 1 , v sysstat s1, v sysstats1,vsysstat s2, v$sysstat s3,

v s y s s t a t s 4 , v sysstat s4, v sysstats4,vsysstat s5
WHERE s1.NAME=‘physical reads’ AND s2.NAME=‘consistent gets’
AND s3.NAME=‘db block gets’ AND s4.NAME=‘physical reads direct (lob)’ AND s5.NAME=‘physical reads direct’) a,
(select round(100*(1-sum(misses)/sum(gets)),2) latch_ratio_percent from v l a t c h ) b , ( s e l e c t r o u n d ( 100 ∗ c . p i n R A T I O / b . t o t a l , 2 ) p i n r a t i o n p e r c e n t , r o u n d ( 100 ∗ ( a . g e t r a t i o / b . t o t a l ) , 2 ) g e t r a t i o p e r c e n t f r o m ( s e l e c t s u m ( p i n h i t r a t i o ) p i n r a t i o f r o m v latch) b, (select round(100*c.pin_RATIO/b.total,2) pin_ration_percent, round(100*(a.get_ratio/b.total),2) get_ratio_percent from ( select sum(pinhitratio) pin_ratio from v latch)b,(selectround(100c.pinRATIO/b.total,2)pinrationpercent,round(100(a.getratio/b.total),2)getratiopercentfrom(selectsum(pinhitratio)pinratiofromvLIBRARYCACHE) c,(select sum(gethitratio) get_ratio from v L I B R A R Y C A C H E ) a , ( s e l e c t c o u n t ( ∗ ) t o t a l f r o m v LIBRARYCACHE) a, (select count(*) total from v LIBRARYCACHE)a,(selectcount()totalfromvLIBRARYCACHE) b) d,(select round(100*(1-sum(getmisses)/sum(gets)),2) rowcache_hitratio from v r o w c a c h e ) e , ( S E L E C T r o u n d ( 100 ∗ s 1. V A L U E / ( s 2. V A L U E + s 1. V A L U E ) , 2 ) m e m s o r t p e r c e n t F R O M v rowcache ) e, (SELECT round(100*s1.VALUE/(s2.VALUE+s1.VALUE),2) mem_sort_percent FROM v rowcache)e,(SELECTround(100s1.VALUE/(s2.VALUE+s1.VALUE),2)memsortpercentFROMvsysstat s1 ,v$sysstat s2 WHERE s1.NAME=‘sorts (memory)’ AND s2.NAME=‘sorts (disk)’)f-- 10g

select a.cache_hit_percent,e.rowcache_hitratio,d.pin_ration_percent,d.get_ratio_percent,

f.mem_sort_percent ,b.latch_ratio_percent from
(SELECT ROUND((1-((s1.VALUE-s4.VALUE-s5.VALUE)/(s2.VALUE+s3.VALUE-s4.VALUE-s5.VALUE)))*100,2) cache_hit_percent FROM v s y s s t a t s 1 , v sysstat s1, v sysstats1,vsysstat s2, v$sysstat s3,

v s y s s t a t s 4 , v sysstat s4, v sysstats4,vsysstat s5
WHERE s1.NAME=‘physical reads’ AND s2.NAME=‘consistent gets’
AND s3.NAME=‘db block gets’ AND s4.NAME=‘physical reads direct (lob)’ AND s5.NAME=‘physical reads direct’) a,
(select round(100*(1-sum(misses)/sum(gets)),2) latch_ratio_percent from v l a t c h ) b , ( s e l e c t r o u n d ( 100 ∗ c . p i n R A T I O / b . t o t a l , 2 ) p i n r a t i o n p e r c e n t , r o u n d ( 100 ∗ ( a . g e t r a t i o / b . t o t a l ) , 2 ) g e t r a t i o p e r c e n t f r o m ( s e l e c t s u m ( p i n h i t r a t i o ) p i n r a t i o f r o m v latch) b, (select round(100*c.pin_RATIO/b.total,2) pin_ration_percent, round(100*(a.get_ratio/b.total),2) get_ratio_percent from ( select sum(pinhitratio) pin_ratio from v latch)b,(selectround(100c.pinRATIO/b.total,2)pinrationpercent,round(100(a.getratio/b.total),2)getratiopercentfrom(selectsum(pinhitratio)pinratiofromvLIBRARYCACHE) c,(select sum(gethitratio) get_ratio from v L I B R A R Y C A C H E ) a , ( s e l e c t c o u n t ( ∗ ) t o t a l f r o m v LIBRARYCACHE) a, (select count(*) total from v LIBRARYCACHE)a,(selectcount()totalfromvLIBRARYCACHE) b) d,(select round(100*(1-sum(getmisses)/sum(gets)),2) rowcache_hitratio from v r o w c a c h e ) e , ( S E L E C T r o u n d ( 100 ∗ s 1. V A L U E / ( s 2. V A L U E + s 1. V A L U E ) , 2 ) m e m s o r t p e r c e n t F R O M v rowcache ) e, (SELECT round(100*s1.VALUE/(s2.VALUE+s1.VALUE),2) mem_sort_percent FROM v rowcache)e,(SELECTround(100s1.VALUE/(s2.VALUE+s1.VALUE),2)memsortpercentFROMvsysstat s1 ,v$sysstat s2 WHERE s1.NAME=‘sorts (memory)’ AND s2.NAME=‘sorts (disk)’)f

–3、产看内存配置,查看内存配置是否合理(结合查询到的各种指标,初步判断内存是否合理)
–9i
SELECT NAME,ROUND(VALUE/1024/1024) size_M FROM v$parameter WHERE NAME IN
(‘java_pool_size’,‘large_pool_size’,‘shared_pool_size’,‘log_buffer’,‘db_cache_size’,

‘pga_aggregate_target’,‘sga_max_size’,‘db_recycle_cache_size’,

‘db_keep_cache_size’)

ORDER BY size_m DESC;–10g
select component,current_size/1024/1024 cur_size_M ,max_size/1024/1024
max_size_M from v$sga_dynamic_components

– 4、查询三个top10sql语句,发现执行次数最多、内存、硬盘读取量大的sql,根据address查询在系统中的执行计划,是否需要进一步优化
select '硬盘读取量最大的top '||rownum t1_id,sql_disk_reads,disk_reads,address from (select sql_text sql_disk_reads ,disk_reads from v$sqlarea order by disk_reads desc)

where rownum<11
union all
select '高速缓冲区使用最大的top '||rownum t2_id ,sql_buffer_gets ,buffer_gets,address from (select sql_text sql_buffer_gets,buffer_gets from v$sqlarea order by

buffer_gets desc) where rownum<11
union all
select '执行次数最多的top '||rownum t3_id ,sql_executions ,executions,address from (select sql_text sql_executions,executions from v$sqlarea order by executions desc)

where rownum<11

–根据address查询在系统中的执行计划(真实执行计划),这个不同set autotrace on(这个是预执行计划,真实情况不一定,
–这也是很多时候我们执行很好,但实际效率较低不得其解的原因)

select lpad(’ ‘, 2*(level-1))||operation||’ '||decode(id, 0, ‘Cost = ‘||position) “OPERATION”,options, object_name
from v$sql_plan
start with (address =’’ and id=0 )
connect by prior id = parent_id
and prior address = address
and prior hash_value = hash_value
and prior child_number = child_number
order by id, position ;

–5、查询系统运行较长的sql语句,该语句能将多数的耗费资源的sql抓取到

select q.sql_text,s.elapsed_seconds,s.start_time,s.opname from v s e s s i o n l o n g o p s s , v session_longops s, v sessionlongopss,vsqlarea q where s.sql_hash_value=q.hash_value order by s.ELAPSED_SECONDS desc;

–根据address查询在系统中的执行计划,是否需要优化

select lpad(’ ‘, 2*(level-1))||operation||’ '||decode(id, 0, ‘Cost = ‘||position) “OPERATION”,options, object_name
from v$sql_plan
start with (address =’’ and id=0 )
connect by prior id = parent_id
and prior address = address
and prior hash_value = hash_value
and prior child_number = child_number
order by id, position ;

–6、找到需要优化的sql语句,尝试优化,查看执行计划(set autotrace traceonly),直到满意为止

–7、查看各个表空间的使用状况,注意收益率超过80%的表空间
SELECT tablespace_name,ROUND(used_percent,2) used_percent,ROUND(total_M,2) total_M,ROUND(used_M,2) used_M FROM (
SELECT d.tablespace_name , NVL(SUM(used_blocks),0)*8/1024 used_M,
SUM(blocks)*8/1024 total_m ,NVL(SUM(used_blocks),0)*100/SUM(blocks) used_percent
FROM v s o r t s e g m e n t v , d b a t e m p f i l e s d W H E R E d . t a b l e s p a c e n a m e = v . t a b l e s p a c e n a m e ( + ) G R O U P B Y d . t a b l e s p a c e n a m e U N I O N A L L S E L E C T t s . N A M E t a b l e s p a c e n a m e , t s . s i z e M − f s . s i z e M u s e d M , t s . s i z e M t o t a l M , ( t s . s i z e M − f s . s i z e M ) / t s . s i z e M ∗ 100 u s e d p e r c e n t F R O M ( S E L E C T t s . N A M E , S U M ( b y t e s ) / 1024 / 1024 s i z e M F R O M v sort_segment v ,dba_temp_files d WHERE d.tablespace_name=v.tablespace_name(+) GROUP BY d.tablespace_name UNION ALL SELECT ts.NAME tablespace_name, ts.size_M-fs.size_M used_M , ts.size_M total_M ,(ts.size_M-fs.size_M)/ts.size_M*100 used_percent FROM (SELECT ts.NAME ,SUM(bytes)/1024/1024 size_M FROM v sortsegmentv,dbatempfilesdWHEREd.tablespacename=v.tablespacename(+)GROUPBYd.tablespacenameUNIONALLSELECTts.NAMEtablespacename,ts.sizeMfs.sizeMusedM,ts.sizeMtotalM,(ts.sizeMfs.sizeM)/ts.sizeM100usedpercentFROM(SELECTts.NAME,SUM(bytes)/1024/1024sizeMFROMvdatafile df,v$tablespace ts WHERE df.ts#=ts.ts# GROUP BY ts.NAME ) ts , (SELECT tablespace_name ,SUM(bytes/1024/1024) size_M
FROM DBA_FREE_SPACE GROUP BY tablespace_name ) fs WHERE ts.NAME=fs.tablespace_name ) ORDER BY used_percent DESC;–8、查看最大的前10大字段(查看前10的最大字段),是不是耗费资源的sql都是和这些大段有关Select * from (Select segment_name,bytes/1024/1024
size_M,segment_type,tablespace_name from dba_segments order by bytes desc ) where rownum<11

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/1315.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

学习空间转换-3D转换

1.什么是空间转换&#xff1f; 使用的是transform属性实现元素在空间内的位移&#xff0c;旋转&#xff0c;缩放等效果。 空间&#xff1a;是从坐标轴角度定义的。x,y,z三条坐标轴构成的一个立体空间&#xff0c;Z轴位置与视线方向相同。 所以空间转换也被叫做3D转换 语法&a…

PICkit 3 v3.10中的 Device Family 识别不到芯片

1&#xff1a;现象描述 在使用 PICkit3烧写hex文件的时候&#xff0c;Device Family只有默认芯片&#xff0c;识别不到当前使用的芯片&#xff0c;导致报错“Device Error - hex file not loaded”&#xff0c;我当前使用的是 PIC16F1826芯片&#xff0c;默认不支持&#xff1…

快速开发部署平台Replit

Replit 是可以快速搭建开发、部署环境的平台。能够快速将原型进行部署&#xff0c;代码编辑器支持协同开发&#xff0c;他的在线编辑器做的不错&#xff0c;相当于云上提供了一个 vscode&#xff0c;代码实时更新。Replit 底层是基于容器技术的&#xff0c;可以安全的隔离多个用…

html、css、QQ音乐移动端静态页面,资源免费分享,可作为参考,提供InsCode在线运行演示

CSDN将我上传的免费资源私自变成VIP专享资源&#xff0c;且作为作者的我不可修改为免费资源&#xff0c;不可删除&#xff0c;寻找客服无果&#xff0c;很愤怒&#xff0c;&#xff08;我发布免费资源就是希望大家能免费一起用、一起学习&#xff09;&#xff0c;接下来继续寻找…

Yonbuilder参考

发布移动插件 https://developer.yonyou.com/cloud/moduleStore/publishPlugin Android自定义插件打包 社区问答 https://community.yonyou.com/forum.php?modviewthread&tid232830&searchLogId605932 MarkDown指令使用 https://blog.csdn.net/qq_25821067/article/de…

深入了解 Gitea:轻量级的自托管 Git 服务

在软件开发和团队协作中&#xff0c;版本控制系统是不可或缺的工具。Git 是目前最流行的分布式版本控制系统之一&#xff0c;而 Gitea 则是基于 Git 的一个轻量级、自托管的 Git 服务。本文将介绍 Gitea 的特点、功能和使用方法&#xff0c;帮助读者更好地了解和使用这一工具。…

分享|网红阳哥介绍的项目能赚钱吗?具体有哪些项目?

在当今的互联网时代&#xff0c;网红的影响力不容小觑&#xff0c;他们通过分享自己的经验和见解&#xff0c;往往能带动一股潮流或引领一种趋势。其中&#xff0c;网红阳哥以其独到的眼光和丰富的经验&#xff0c;分享了一系列赚钱项目&#xff0c;引起了广泛关注。那么&#…

Linux 远程联机服务(一)- Telnet服务器

Linux 远程联机服务&#xff08;一&#xff09;- Telnet服务器 第1关&#xff1a;安装Telnet编程要求预期输出输入 第2关&#xff1a;Telnet服务器启动/关闭编程要求预期输出输入 第3关&#xff1a;Telnet远程登录编程要求预期输出输入 第1关&#xff1a;安装Telnet 编程要求 …

C语言 逻辑运算符

本文 我们来说 逻辑运算符 有时做出决策需要测试多个条件&#xff0c;C语言提供了用于将简单条件组合成复杂条件的逻辑运算符。 逻辑运算符 如下图 用逻辑运算符连接操作数组成的表达式称为逻辑表达式。 逻辑运算的结果只有0和1 逻辑运算的对象可以是任意数值型&#xff0c;但…

VMWare Ubuntu压缩虚拟磁盘

VMWare中ubuntu会越用越大&#xff0c;直到占满预分配的空间 即使系统里没有那么多东西 命令清理 开机->open Terminal sudo vmware-toolbox-cmd disk shrink /关机-> 编辑虚拟机设置->硬盘->碎片整理&压缩 磁盘应用 开机->disk usage analyzer(应用) …

Springboot+Vue项目-基于Java+MySQL的影城管理系统(附源码+演示视频+LW)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;Java毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计 &…

SQL语句每日一练十

586. 订单最多的客户 题目 表: Orders --------------------------- | Column Name | Type | --------------------------- | order_number | int | | customer_number | int | --------------------------- 在 SQL 中&#xff0c;Order_number是该表的…

苹果 IPA 应用部署软件 iMazing 3 Windows 版获 3.0.0.4 Beta 4

在数字化时代&#xff0c;我们的iOS设备已经成为生活中不可或缺的一部分。为了更加高效、便捷地管理这些设备&#xff0c;iMazing 3.0.0.3 应运而生&#xff0c;它以其独特的功能和卓越的性能&#xff0c;为用户带来了前所未有的全新体验。 首先&#xff0c;iMazing 3.0.0.3 提…

2024第二十一届五一数学建模B题思路 五一杯建模思路

文章目录 1 赛题思路2 比赛日期和时间3 组织机构4 建模常见问题类型4.1 分类问题4.2 优化问题4.3 预测问题4.4 评价问题 5 建模资料 1 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 2 比赛日期和时间 报名截止时间&#xff1a;2024…

Rust面试宝典第6题:快乐数

题目 编写一个算法,判断一个数n是不是快乐数。快乐数的定义如下: 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为 1,也可能是无限循环,但始终变不到1。如果这个过程的结果为1,那么这个数就是快乐数。如果n是快乐数 就返回…

机器学习-随机森林算法预测房租模型

文章目录 机器学习-随机森林算法预测房租模型解决问题数据集探索性数据分析数据预处理构建模型并训练结果分析与评估参数调优结果预测模型保存经验总结参考文章 机器学习-随机森林算法预测房租模型 解决问题 根据待租房源相关信息&#xff0c;通过随机森林机器学习算法构件预…

车载以太网DoIP 协议,万字长文详解

&#x1f345; 我是蚂蚁小兵&#xff0c;专注于车载诊断领域&#xff0c;尤其擅长于对CANoe工具的使用&#x1f345; 寻找组织 &#xff0c;答疑解惑&#xff0c;摸鱼聊天&#xff0c;博客源码&#xff0c;点击加入&#x1f449;【相亲相爱一家人】&#x1f345; 玩转CANoe&…

[图解]软件开发中的糊涂用语-03-文档

0 00:00:00,280 --> 00:00:04,550 今天呢&#xff0c;我们来看一个糊涂用语&#xff0c;文档 1 00:00:07,810 --> 00:00:10,106 我们经常听到这样的话 2 00:00:10,106 --> 00:00:10,566 3 00:00:10,566 --> 00:00:13,322 你们怎么一上手就写代码 4 00:00:13,322…

基于springboot的教学辅助平台源码数据库

基于springboot的教学辅助平台源码数据库 摘要 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍了教学辅助平台的开发全过程。通过分析教学辅助平台管理的不足&#xff0c;创建了一个计算机管理教学辅助平台的方案。…

Ps 滤镜:路径模糊

Ps菜单&#xff1a;滤镜/模糊画廊/路径模糊 Filter/Blur Gallery/Path Blur 路径模糊 Path Blur滤镜可以沿路径创建运动模糊&#xff0c;还可以控制形状和模糊量。Photoshop 可自动合成应用于图像的多个路径的模糊效果。 ◆ ◆ ◆ 主要用途 1、相对于动感模糊 Motion Blur滤镜…