oracle_exadata_storage_config

This is an old revision of the document!


In this section we will configure and manage the Exadata storage cells. In exadata the storage cells are separate servers with their own operation system, mini oracle database and of course a storage. The facilitate the smart scan capabilities of exadata, by being able to scan through an oracle block and provide ONLY the necessary rows to a server process. Since they provide only the rows, that information cannot “live” in the SGA, but only in the PGA.

You can see basic architecture of the physical, LUN, celldisk and Grod Disks:

The storage cell server has couple processes:

  • RS (Restart Server) - Used to start and shut down the Cell server (cellsrv) and Management Server (MS)
  • MS (Management Server) - Provides exadata cell management and configuration. Cooperates with the cellcli interface. Also send alerts and gather statistics in addition to these collection by the cellsrv
  • Cellsrv (Cell server) - Primary exadata component, provides most of the exadata storage services. Primary Cellsrv communicates with the oracle database in order to provide simple block requests or smart-scan capabilities. It also implements IO management (IORM) and collects numerous statistics.
RS Server

[celladmin@qr01celadm01 ~]$ ps -ef | grep cellrs
root      1927     1  0 Nov29 ?        00:00:15 /opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/cellsrv/bin/cellrssrm -ms 1 -cellsrv 1
root      1934  1927  0 Nov29 ?        00:00:04 /opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/cellsrv/bin/cellrsbmt -rs_conf /opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/cellsrv/deploy/config/cellinit.ora -ms_conf /opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/cellsrv/deploy/config/cellrsms.state -cellsrv_conf /opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/cellsrv/deploy/config/cellrsos.state -debug 0
root      1935  1927  0 Nov29 ?        00:00:05 /opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/cellsrv/bin/cellrsmmt -rs_conf /opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/cellsrv/deploy/config/cellinit.ora -ms_conf /opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/cellsrv/deploy/config/cellrsms.state -cellsrv_conf /opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/cellsrv/deploy/config/cellrsos.state -debug 0
root      1936  1927  0 Nov29 ?        00:01:38 /opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/cellsrv/bin/cellrsomt -rs_conf /opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/cellsrv/deploy/config/cellinit.ora -ms_conf /opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/cellsrv/deploy/config/cellrsms.state -cellsrv_conf /opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/cellsrv/deploy/config/cellrsos.state -debug 0
root      1937  1934  0 Nov29 ?        00:00:00 /opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/cellsrv/bin/cellrsbkm -rs_conf /opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/cellsrv/deploy/config/cellinit.ora -ms_conf /opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/cellsrv/deploy/config/cellrsms.state -cellsrv_conf /opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/cellsrv/deploy/config/cellrsos.state -debug 0
root      1944  1937  0 Nov29 ?        00:00:04 /opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/cellsrv/bin/cellrssmt -rs_conf /opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/cellsrv/deploy/config/cellinit.ora -ms_conf /opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/cellsrv/deploy/config/cellrsms.state -cellsrv_conf /opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/cellsrv/deploy/config/cellrsos.state -debug 0

MS Server

[celladmin@qr01celadm01 ~]$ ps -ef | grep msServer
root      2003  1938  0 Nov29 ?        00:04:39 /usr/java/jdk1.7.0_72/bin/java -client -Xms256m -Xmx512m -XX:CompileThreshold=8000 -XX:PermSize=128m -XX:MaxPermSize=256m -Dweblogic.Name=msServer -Djava.security.policy=/opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/cellsrv/deploy/wls/wlserver_10.3/server/lib/weblogic.policy -XX:-UseLargePages -XX:ParallelGCThreads=8 -Dweblogic.ListenPort=8888 -Djava.security.egd=file:/dev/./urandom -Xverify:none -da -Dplatform.home=/opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/cellsrv/deploy/wls/wlserver_10.3 -Dwls.home=/opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/cellsrv/deploy/wls/wlserver_10.3/server -Dweblogic.home=/opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/cellsrv/deploy/wls/wlserver_10.3/server -Dweblogic.management.discover=true -Dwlw.iterativeDev= -Dwlw.testConsole= -Dwlw.logErrorsToConsole= -Dweblogic.ext.dirs=/opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/cellsrv/deploy/wls/patch_wls1036/profiles/default/sysext_manifest_classpath weblogic.Server
1000      7610  7441  0 03:21 pts/0    00:00:00 grep msServer
[celladmin@qr01celadm01 ~]$ 

CellSRV

[celladmin@qr01celadm01 ~]$ ps -ef | grep "/cellsrv "
root      1940  1936 22 Nov29 ?        05:34:49 /opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/cellsrv/bin/cellsrv 40 3000 9 5042
[celladmin@qr01celadm01 ~]$ 

it is important to note that both: MS and CellSRV are children of the RS server (they have RS as a parent).

With the cellCli we can also list the storage cell Luns. P.S. Since I don't have money for real exadata there will be some discrepencies between my output and the real output which you will get in the real exadata: Each exadata consists of:

  • 12 Hard disk based Luns
  • 4 Flash based Luns

Let's firstly start with the examination of tha Hard disk based storage:

Hard Disk Based

To list the status of a storage cell server, we can use the following command:

[celladmin@qr01celadm01 ~]$ cellcli -e list cell
	 qr01celadm01	 online
[celladmin@qr01celadm01 ~]$

We can obtain more detailed information using the cellCli interface:

[celladmin@qr01celadm01 ~]$ cellcli
CellCLI: Release 12.1.2.1.0 - Production on Mon Nov 30 03:30:03 UTC 2020

Copyright (c) 2007, 2013, Oracle.  All rights reserved.
Cell Efficiency Ratio: 391

CellCLI> list cell detail
	 name:              	 qr01celadm01
	 cellVersion:       	 OSS_12.1.2.1.0_LINUX.X64_141206.1
	 cpuCount:          	 2
	 diagHistoryDays:   	 7
	 fanCount:          	 0/0
	 fanStatus:         	 normal
	 flashCacheMode:    	 WriteThrough
	 id:                	 ef92136a-837c-4e1d-88d2-e01f5ab89b7b
	 interconnectCount: 	 0
	 interconnect1:     	 ib0
	 interconnect2:     	 ib1
	 iormBoost:         	 0.0
	 ipaddress1:        	 192.168.1.105/24
	 ipaddress2:        	 192.168.1.106/24
	 kernelVersion:     	 2.6.39-400.243.1.el6uek.x86_64
	 makeModel:         	 Fake hardware
	 memoryGB:          	 4
	 metricHistoryDays: 	 7
	 offloadGroupEvents:
	 offloadEfficiency: 	 390.8
	 powerCount:        	 0/0
	 powerStatus:       	 normal
	 releaseVersion:    	 12.1.2.1.0
	 releaseTrackingBug:	 17885582
	 status:            	 online
	 temperatureReading:	 0.0
	 temperatureStatus: 	 normal
	 upTime:            	 1 days, 0:47
	 cellsrvStatus:     	 running
	 msStatus:          	 running
	 rsStatus:          	 running

CellCLI> 

List Lun

CellCLI> list lun
/opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/disks/raw/DISK00	 /opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/disks/raw/DISK00 normal
/opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/disks/raw/DISK01 	 /opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/disks/raw/DISK01 normal
/opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/disks/raw/DISK02 	 /opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/disks/raw/DISK02 normal
/opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/disks/raw/DISK03 	 /opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/disks/raw/DISK03 normal
/opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/disks/raw/DISK04 	 /opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/disks/raw/DISK04 normal
/opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/disks/raw/DISK05 	 /opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/disks/raw/DISK05 normal
/opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/disks/raw/DISK06 	 /opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/disks/raw/DISK06 normal
/opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/disks/raw/DISK07 	 /opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/disks/raw/DISK07 normal
/opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/disks/raw/DISK08 	 /opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/disks/raw/DISK08 normal
/opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/disks/raw/DISK09 	 /opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/disks/raw/DISK09 normal
/opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/disks/raw/DISK10 	 /opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/disks/raw/DISK10 normal
/opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/disks/raw/DISK11 	 /opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/disks/raw/DISK11 normal
/opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/disks/raw/FLASH00	 /opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/disks/raw/FLASH00 normal
/opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/disks/raw/FLASH01	 /opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/disks/raw/FLASH01 normal
/opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/disks/raw/FLASH02	 /opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/disks/raw/FLASH02 normal
/opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/disks/raw/FLASH03	 /opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/disks/raw/FLASH03 normal

The result which you will get on the real exadata will be similary to:

CellCLI> list lun
0_0 0_0 normal
0_1 0_1 normal
0_2 0_2 normal
0_3 0_3 normal
0_4 0_4 normal
0_5 0_5 normal
0_6 0_6 normal
0_7 0_7 normal
0_8 0_8 normal
0_9 0_9 normal
0_10 0_10 normal
0_11 0_11 normal
1_1 1_1 normal
2_1 2_1 normal
4_1 4_1 normal
5_1 5_1 normal
CellCLI>

The reason for that is the fact that on my virtualized env, the Cells are mapped to a virtualized disks and virtualized flash devices, where on real exadata, they will be mapped to PCI slot and device number.

We can list a specific LUN in more details, as follows:

List Lun

CellCLI> list lun where name like '.*DISK09' detail
	 name:              	 /opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/disks/raw/DISK09
	 cellDisk:          	 CD_09_qr01celadm01
	 deviceName:        	 /opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/disks/raw/DISK09
	 diskType:          	 HardDisk
	 id:                	 /opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/disks/raw/DISK09
	 isSystemLun:       	 FALSE
	 lunSize:           	 11
	 physicalDrives:    	 /opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/disks/raw/DISK09
	 raidLevel:         	 "RAID 0"
	 status:            	 normal

CellCLI> 

List Physical Disk

CellCLI> list physicaldisk where luns like '.*DISK09' detail
	 name:              	 /opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/disks/raw/DISK09
	 deviceName:        	 /opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/disks/raw/DISK09
	 diskType:          	 HardDisk
	 luns:              	 /opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/disks/raw/DISK09
	 physicalInsertTime:	 2015-02-17T03:31:42+00:00
	 physicalSerial:    	 /opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/disks/raw/DISK09
	 physicalSize:      	 11
	 status:            	 normal

CellCLI> 

List celldisk

--List all cell disks
CellCLI> list celldisk where disktype=flashdisk
	 FD_00_qr01celadm01	 normal
	 FD_01_qr01celadm01	 normal
	 FD_02_qr01celadm01	 normal
	 FD_03_qr01celadm01	 normal

--List Cell disk details
CellCLI> list celldisk CD_09_qr01celadm01 detail
	 name:              	 CD_09_qr01celadm01
	 comment:           	 
	 creationTime:      	 2015-02-20T00:57:10+00:00
	 deviceName:        	 /opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/disks/raw/DISK09
	 devicePartition:   	 /opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/disks/raw/DISK09
	 diskType:          	 HardDisk
	 errorCount:        	 0
	 freeSpace:         	 0
	 id:                	 f369c761-a9a1-4d1b-aaa0-51fc32edbc42
	 interleaving:      	 none
	 lun:               	 /opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/disks/raw/DISK09
	 physicalDisk:      	 /opt/oracle/cell12.1.2.1.0_LINUX.X64_141206.1/disks/raw/DISK09
	 raidLevel:         	 "RAID 0"
	 size:              	 2G
	 status:            	 normal

CellCLI> 

List grid disk

CellCLI> list griddisk where celldisk=CD_09_qr01celadm01 detail
	 name:              	 DATA_QR01_CD_09_qr01celadm01
	 asmDiskGroupName:  	 DATA_QR01
	 asmDiskName:       	 DATA_QR01_CD_09_QR01CELADM01
	 asmFailGroupName:  	 QR01CELADM01
	 availableTo:       	 
	 cachingPolicy:     	 default
	 cellDisk:          	 CD_09_qr01celadm01
	 comment:           	 
	 creationTime:      	 2015-03-11T03:23:37+00:00
	 diskType:          	 HardDisk
	 errorCount:        	 0
	 id:                	 9a11b79a-1fa7-4527-85bf-28ad5cb98cac
	 offset:            	 400M
	 size:              	 720M
	 status:            	 active

	 name:              	 DBFS_DG_CD_09_qr01celadm01
	 asmDiskGroupName:  	 DBFS_DG
	 asmDiskName:       	 DBFS_DG_CD_09_QR01CELADM01
	 asmFailGroupName:  	 QR01CELADM01
	 availableTo:       	 
	 cachingPolicy:     	 default
	 cellDisk:          	 CD_09_qr01celadm01
	 comment:           	 
	 creationTime:      	 2015-03-11T03:23:35+00:00
	 diskType:          	 HardDisk
	 errorCount:        	 0
	 id:                	 e304a244-75de-4ea6-b92d-b480e2226615
	 offset:            	 48M
	 size:              	 352M
	 status:            	 active

	 name:              	 RECO_QR01_CD_09_qr01celadm01
	 asmDiskGroupName:  	 RECO_QR01
	 asmDiskName:       	 RECO_QR01_CD_09_QR01CELADM01
	 asmFailGroupName:  	 QR01CELADM01
	 availableTo:       	 
	 cachingPolicy:     	 default
	 cellDisk:          	 CD_09_qr01celadm01
	 comment:           	 
	 creationTime:      	 2015-03-11T03:23:40+00:00
	 diskType:          	 HardDisk
	 errorCount:        	 0
	 id:                	 9923a077-dc5e-4f53-adc5-4cc3eaaa9916
	 offset:            	 1.09375G
	 size:              	 928M
	 status:            	 active

CellCLI> 

Flash Based

The flash based modules, can be examined as the hard disk based ones:

List the cell disks

--Basic
CellCLI> list celldisk where disktype=flashdisk
	 FD_00_qr01celadm01	 normal
	 FD_01_qr01celadm01	 normal
	 FD_02_qr01celadm01	 normal
	 FD_03_qr01celadm01	 normal

--Detail
CellCLI> list flashcache detail
	 name:              	 qr01celadm01_FLASHCACHE
	 cellDisk:          	 FD_02_qr01celadm01,FD_03_qr01celadm01,FD_01_qr01celadm01,FD_00_qr01celadm01
	 creationTime:      	 2020-11-29T02:43:46+00:00
	 degradedCelldisks: 	 
	 effectiveCacheSize:	 1.0625G
	 id:                	 7fcc1eac-2214-40a1-9f27-eb988ec75340
	 size:              	 1.0625G
	 status:            	 normal

CellCLI> 

Apart from the flashdisk, the exadata has also flashlog, to improve the redo log latency.

Flash log

--Detail
CellCLI> list flashlog detail
	 name:              	 qr01celadm01_FLASHLOG
	 cellDisk:          	 FD_01_qr01celadm01,FD_03_qr01celadm01,FD_00_qr01celadm01,FD_02_qr01celadm01
	 creationTime:      	 2020-11-29T02:43:44+00:00
	 degradedCelldisks: 	 
	 effectiveSize:     	 256M
	 efficiency:        	 100.0
	 id:                	 1bb5db75-8136-4952-9d20-bec44a303a17
	 size:              	 256M
	 status:            	 normal

CellCLI> 

--Content
CellCLI> list flashcachecontent detail
...
cachedKeepSize: 0
cachedSize: 262144
cachedWriteSize: 0
columnarCacheSize: 0
columnarKeepSize: 0
dbID: 2080757153
dbUniqueName: DBM
hitCount: 11345
missCount: 9
objectNumber: 4294967294
tableSpaceNumber: 0

We can Restart all cell services using the cellCli interface as follows:

[root@qr01celadm01 ~]# cellcli
CellCLI: Release 12.1.2.1.0 - Production on Mon Nov 30 03:36:16 UTC 2020

Copyright (c) 2007, 2013, Oracle.  All rights reserved.
Cell Efficiency Ratio: 392

CellCLI> alter cell restart services all

Stopping the RS, CELLSRV, and MS services...
The SHUTDOWN of services was successful.
Starting the RS, CELLSRV, and MS services...
Getting the state of RS services...  running
Starting CELLSRV services...
The STARTUP of CELLSRV services was successful.
Starting MS services...
The STARTUP of MS services was successful.

CellCLI> 

This action, will NOT cause downtime.

  • oracle_exadata_storage_config.1606752218.txt.gz
  • Last modified: 2020/11/30 16:03
  • by andonovj