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 between commands in one line if you do care the smoothness.
Local 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
We can also have one-line command as below:
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.