ORA-01476: divisor is equal to zero


SQL> select name, total_mb/1024 total_gb, free_mb/1024 free_gb, (total_mb-free_mb)/1024 used_gb, trunc((total_mb-free_mb)/total_mb*100,2)||'%' used_per from v$asm_diskgroup;
ERROR:
ORA-01476: divisor is equal to zero

除數為0

 

在查詢存儲空間時,有的存儲空間為0導致。

NAME              TOTAL_MB         FREE_MB
-----------------    --------------------    -------------
DATA               409600                 252314
OCRVOTE      10240                   9844
FRA                 0                           0

 

--解決方法:

用 decode 將除數 0 轉化為其他

select name, total_mb/1024 total_gb, free_mb/1024 free_gb, (total_mb-free_mb)/1024 used_gb, trunc((total_mb-free_mb)/decode(total_mb,0,1,total_mb)*100,2)||'%' used_per from v$asm_diskgroup;

 

--結果可以正常顯示:

NAME TOTAL_GB FREE_GB USED_GB USED_PER
------------------------------ ---------- ---------- ---------- -----------------------------------------
DATA 400 246.400391 153.599609 %
OCRVOTE 10 9.61328125 .38671875 %
FRA 0 0 0 0%

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM