2026-03-12 20:23:15
This commit is contained in:
159
vg/exa_physicaldisks.sql
Normal file
159
vg/exa_physicaldisks.sql
Normal file
@@ -0,0 +1,159 @@
|
||||
@@header
|
||||
|
||||
/*
|
||||
*
|
||||
* Author : Vishal Gupta
|
||||
* Purpose : Display Exadata PhysicalDisks
|
||||
* Parameters : 1 - Cell Name (Use % for wildcard)
|
||||
* 2 - DiskType (FlashDisk or HardDisk,Use % for wildcard )
|
||||
* 3 - PhysicalDisk Name (Use % for wildcard)
|
||||
*
|
||||
* Revision History:
|
||||
* ===================
|
||||
* Date Author Description
|
||||
* --------- ------------ -----------------------------------------
|
||||
* 20-Feb-13 Vishal Gupta Created
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/************************************
|
||||
* INPUT PARAMETERS
|
||||
************************************/
|
||||
UNDEFINE cell_name
|
||||
UNDEFINE diskType
|
||||
UNDEFINE name
|
||||
|
||||
DEFINE cell_name="&&1"
|
||||
DEFINE diskType="&&2"
|
||||
DEFINE name="&&3"
|
||||
|
||||
set term off
|
||||
COLUMN _cell_name NEW_VALUE cell_name NOPRINT
|
||||
COLUMN _diskType NEW_VALUE diskType NOPRINT
|
||||
COLUMN _name NEW_VALUE name NOPRINT
|
||||
|
||||
SELECT DECODE('&&cell_name','','%','&&cell_name') "_cell_name"
|
||||
, DECODE('&&diskType','','%','&&diskType') "_diskType"
|
||||
, DECODE('&&name','','%','&&name') "_name"
|
||||
FROM DUAL;
|
||||
set term on
|
||||
|
||||
PROMPT
|
||||
PROMPT ****************************************************
|
||||
PROMPT * E X A D A T A P H Y S I C A L D I S K S
|
||||
PROMPT *
|
||||
PROMPT * Input Parameters
|
||||
PROMPT * CellName = '&&cell_name'
|
||||
PROMPT * DiskType = '&&diskType'
|
||||
PROMPT * PhyDiskName = '&&name'
|
||||
PROMPT ****************************************************
|
||||
|
||||
COLUMN cellname HEADING "CellName" FORMAT a18
|
||||
COLUMN diskType HEADING "Disk|Type" FORMAT a10
|
||||
COLUMN name HEADING "PhyDisk|Name" FORMAT a10
|
||||
COLUMN status HEADING "Status" FORMAT a8
|
||||
COLUMN physicalSize HEADING "Size|(GB)" FORMAT 999,999
|
||||
COLUMN foreignState HEADING "Foreign|State" FORMAT a7
|
||||
COLUMN physicalFirmware HEADING "Firm|Ware" FORMAT a8
|
||||
COLUMN physicalInsertTime HEADING "InsertTime" FORMAT a19 TRUNC
|
||||
COLUMN physicalInterface HEADING "Inter|face" FORMAT a5
|
||||
COLUMN physicalSerial HEADING "Serial No" FORMAT a18
|
||||
COLUMN slotNumber HEADING "slotNumber" FORMAT a10
|
||||
COLUMN id HEADING "id" FORMAT a10
|
||||
COLUMN key_500 HEADING "key_500" FORMAT a10
|
||||
COLUMN predfailStatus HEADING "Pred|Fail|Status" FORMAT a6
|
||||
COLUMN poorPerfStatus HEADING "Poor|Perf|Status" FORMAT a6
|
||||
COLUMN wtCachingStatus HEADING "Write|Through|Caching|Status" FORMAT a7
|
||||
COLUMN peerFailStatus HEADING "Peer|Fail|Status" FORMAT a6
|
||||
COLUMN criticalStatus HEADING "Critical|Status" FORMAT a6
|
||||
COLUMN physicalDatedSerial HEADING "Physical|Dated|Serial" FORMAT a12
|
||||
COLUMN errMediaCount HEADING "Media|Error|Count" FORMAT 9999999
|
||||
COLUMN errorCount HEADING "|Error|Count" FORMAT 9999999
|
||||
COLUMN errHardReadCount HEADING "HardRead|Error|Count" FORMAT 9999999
|
||||
COLUMN errHardWriteCount HEADING "HardWrite|Error|Count" FORMAT 9999999
|
||||
COLUMN errorCount HEADING "Error|Count" FORMAT 9999999
|
||||
COLUMN errOtherCount HEADING "Other|Error|Count" FORMAT 9999999
|
||||
|
||||
BREAK ON REPORT
|
||||
COMPUTE SUM LABEL 'Total' OF physicalSize FORMAT 99,999,999,999 ON REPORT
|
||||
|
||||
SELECT clioutput.cellname
|
||||
, pd.diskType
|
||||
, pd.name
|
||||
, pd.status
|
||||
, ROUND(pd.physicalSize/power(1000,3)) physicalSize
|
||||
--, pd.deviceId
|
||||
--, pd.devicePartition
|
||||
--, pd.enclosureDeviceId
|
||||
, pd.foreignState
|
||||
--, pd.luns
|
||||
--, pd.makeModel
|
||||
, pd.physicalFirmware
|
||||
, pd.physicalInsertTime
|
||||
, pd.physicalInterface
|
||||
, pd.physicalSerial
|
||||
--, pd.slotNumber
|
||||
--, pd.id
|
||||
--, pd.key_500
|
||||
, pd.predfailStatus
|
||||
, pd.poorPerfStatus
|
||||
, pd.wtCachingStatus
|
||||
, pd.peerFailStatus
|
||||
, pd.criticalStatus
|
||||
, pd.physicalDatedSerial
|
||||
, pd.errCmdTimeoutCount
|
||||
, pd.errMediaCount
|
||||
, pd.errHardReadCount
|
||||
, pd.errHardWriteCount
|
||||
, pd.errorCount
|
||||
, pd.errOtherCount
|
||||
FROM v$cell_config cc
|
||||
, XMLTable('/cli-output' PASSING XMLTYPE(confval)
|
||||
COLUMNS
|
||||
cellname VARCHAR2(100) PATH 'context/@cell'
|
||||
, physicaldisk XMLTYPE PATH 'physicaldisk'
|
||||
) clioutput
|
||||
, XMLTable('/physicaldisk' PASSING clioutput.physicaldisk
|
||||
COLUMNS
|
||||
NAME VARCHAR2(100) PATH 'name'
|
||||
, deviceId VARCHAR2(100) PATH 'deviceId'
|
||||
, diskType VARCHAR2(100) PATH 'diskType'
|
||||
, devicePartition VARCHAR2(100) PATH 'devicePartition'
|
||||
, enclosureDeviceId VARCHAR2(100) PATH 'enclosureDeviceId'
|
||||
, errCmdTimeoutCount INTEGER PATH 'errCmdTimeoutCount'
|
||||
, errHardReadCount INTEGER PATH 'errHardReadCount'
|
||||
, errHardWriteCount INTEGER PATH 'errHardWriteCount'
|
||||
, errMediaCount INTEGER PATH 'errMediaCount'
|
||||
, errorCount INTEGER PATH 'errorCount'
|
||||
, errOtherCount INTEGER PATH 'errOtherCount'
|
||||
, foreignState VARCHAR2(100) PATH 'foreignState'
|
||||
, luns VARCHAR2(100) PATH 'luns'
|
||||
, makeModel VARCHAR2(100) PATH 'makeModel'
|
||||
, physicalFirmware VARCHAR2(100) PATH 'physicalFirmware'
|
||||
, physicalInsertTime VARCHAR2(100) PATH 'physicalInsertTime'
|
||||
, physicalInterface VARCHAR2(100) PATH 'physicalInterface'
|
||||
, physicalSerial VARCHAR2(100) PATH 'physicalSerial'
|
||||
, physicalSize INTEGER PATH 'physicalSize'
|
||||
, slotNumber VARCHAR2(100) PATH 'slotNumber'
|
||||
, status VARCHAR2(100) PATH 'status'
|
||||
, id VARCHAR2(100) PATH 'id'
|
||||
, key_500 VARCHAR2(100) PATH 'key_500'
|
||||
, predfailStatus VARCHAR2(100) PATH 'predfailStatus'
|
||||
, poorPerfStatus VARCHAR2(100) PATH 'poorPerfStatus'
|
||||
, wtCachingStatus VARCHAR2(100) PATH 'wtCachingStatus'
|
||||
, peerFailStatus VARCHAR2(100) PATH 'peerFailStatus'
|
||||
, criticalStatus VARCHAR2(100) PATH 'criticalStatus'
|
||||
, physicalDatedSerial VARCHAR2(100) PATH 'physicalDatedSerial'
|
||||
) pd
|
||||
WHERE cc.conftype = 'PHYSICALDISKS'
|
||||
AND UPPER(clioutput.cellname) LIKE UPPER('&&cell_name')
|
||||
AND UPPER(pd.diskType) LIKE UPPER('&&diskType')
|
||||
AND UPPER(pd.name) LIKE UPPER('&&name')
|
||||
ORDER BY clioutput.cellname
|
||||
, pd.diskType
|
||||
, pd.slotNumber
|
||||
;
|
||||
|
||||
|
||||
@@footer
|
||||
Reference in New Issue
Block a user