Sunday, January 8, 2023

Exadata X8M : Storage High Availability Demo


=> Environment contains 3 Exadata storage servers - cellstorage01 , cellstorage02cellstorage03. In this demo we will run few I/O intensive queries and kill/restart the Exadata processes on cellstorage01 server and verify if the queries are running without any errors. When an Exadata process from from storage server fails it will automatically service the I/O request from other storage server.


=> Run I/O intensive queries 

[oracle@exadb01 ~]$ sqlplus sh/sh@pdb1
SQL*Plus: Release 19.0.0.0.0 - Production on Tue Tue Feb 23 19:48:03 2022
Version 19.9.0.0.0
...
SQL>
SQL> set timing on
SQL> select count(*) from sales;
...


=> Kill cellsrv process

root@cellstorage01 ~]# ps -ef | grep "/cellsrv "
root
15971 15834 0 03:12 pts/4
00:00:00 grep --color=auto /cellsrv
root
23406 23402 30 00:22 ?
00:52:25
/opt/oracle/cell/cellsrv/bin/cellsrv 100 5000 9 5042
[root@cellstorage01 ~]#
[root@cellstorage01 ~]# kill -9 23406
[root@cellstorage01 ~]#


=> Notice that cellsrv process is immediately restarted by Restart Server - RS Process 

[root@cellstorage01 ~]# ps -ef | grep "/cellsrv "
root
16063 16060 57 03:12 ?
00:00:11
/opt/oracle/cell/cellsrv/bin/cellsrv 100 5000 9 5042
root
16262 15834 0 03:13 pts/4
00:00:00 grep --color=auto /cellsrv
[root@cellstorage01 ~]#


=> Check that the queries are running without any errors 

SQL> select count(*) from sales where amount_sold > 2;
COUNT(*)
----------
28856060
Elapsed: 00:01:04.88
SQL> select count(*) from sales where amount_sold > 3;
COUNT(*)
----------
28555621
Elapsed: 00:00:13.87
SQL> select count(*) from sales where amount_sold > 4;


=> Now Restart all Exadata services

[root@cellstorage01 ~]# cellcli
CellCLI: Release 20.1.4.0.0 - Production on Wed Feb 24 03:16:05
UTC 2021
Copyright (c) 2007, 2016, Oracle and/or its affiliates. All
rights reserved.
CellCLI>
CellCLI> alter cell restart services all
Stopping RS services...
The SHUTDOWN of RS services was successful.
Starting the RS services...
Getting the state of RS services... running
Restarting CELLSRV services...
The RESTART of CELLSRV services was successful.
Restarting MS services...
The RESTART of MS services was successful.
CellCLI>


=> Verify queries are running successfully 

SQL> select count(*) from sales where amount_sold > 11;
COUNT(*)
----------
26150787
Elapsed: 00:00:13.66
SQL> select count(*) from sales where amount_sold > 12;
COUNT(*)
----------
25850432
Elapsed: 00:00:11.19
SQL> select count(*) from sales where amount_sold > 13;
CellCLI> exit
quitting
[root@cellstorage01 ~]#



1 comment: