You cannot stop SCAN (Single Client Access Name) before stopping SCAN_LISTENER, so if you want to restart SCAN, you have to consider how to handle SCAN_LISTENER.
Soft Restart
Here we take 4 steps to restart the whole SCAN services.
[grid@primary01 ~]$ srvctl stop scan_listener
[grid@primary01 ~]$ srvctl stop scan
[grid@primary01 ~]$ srvctl start scan
[grid@primary01 ~]$ srvctl start scan_listener
You can also execute them without gaps in one line if you do care the smoothness.
[grid@primary01 ~]$ srvctl stop scan_listener; srvctl stop scan; srvctl start scan; srvctl start scan_listener
Additionally, if you also want to restart local listeners, you should take the order as below.
[grid@primary01 ~]$ srvctl stop listener
[grid@primary01 ~]$ srvctl stop scan_listener
[grid@primary01 ~]$ srvctl stop scan
[grid@primary01 ~]$ srvctl start scan
[grid@primary01 ~]$ srvctl start scan_listener
[grid@primary01 ~]$ srvctl start listener
Hard Restart
We take 2 steps to restart the whole SCAN services.
[grid@primary01 ~]$ srvctl stop scan -force
[grid@primary01 ~]$ srvctl start scan
The flag -force is used to force all SCAN related components to shutdown without considering their statuses, which include both SCAN and SCAN_LISTENER.
Please note that, while you start SCAN, SCAN_LISTENER is also started, that is, you don't have to start SCAN_LISTENER explicitly.