I was speaking in December at UKOUG Tech’16 and attended Andy Colvin‘s session on “5 Quick Tips for Exadata Administrators”. Andy mentioned that it’s possible to automate your exachk which sounds really good idea.
We have run it earlier on a semi-frequent schedule but always manually. Wouldn’t it be good to run it for example every week and review it then?
In short all you need to do is to start exachk daemon, create schedule for it and you can also configure email notifications so you know when it has been executed.
Setup
First I will run exachk -intpresetup which configures the ssh logins for exachk:
./exachk -initpresetup Checking for prompts on exa1dbadm01 for oraexa user... Checking ssh user equivalency settings on all nodes in cluster Node exa1dbadm02 is configured for ssh user equivalency for root user Checking for prompts for oraexa user on all nodes... Checking ssh user equivalency between root and root user on COMPUTE Nodes Node exa1dbadm01 is configured for ssh user equivalency between root and root user Node exa1dbadm02 is configured for ssh user equivalency between root and root user Checking ssh user equivalency between root and root user on STORAGE Servers 192.168.10.6 is configured for ssh user equivalency for root user 192.168.10.8 is configured for ssh user equivalency for root user 192.168.10.10 is configured for ssh user equivalency for root user . . Checking ssh user equivalency between root and root user on INFINIBAND SWITCH exa1sw-ibb01 is configured for ssh user equivalency for root user exa1sw-iba01 is configured for ssh user equivalency for root user Pre installation successfully completed on exa1dbadm01
Next you run ./exachk -initsetup which will startup the daemon and check that above things are setup correctly.
./exachk -initsetup **checks ssh user equivalency** Setting up exachk auto restart functionality using inittab start: Job is already running: oracle-exachk Starting exachk daemon. . . . . . . . . . . . . . . . . . . . . . . . . exachk daemon started successfully
And now just set the schedule for your designated group. You can also schedule different profiles for different groups if you would have separated responsibilities and so on. For us its just one team so we want to get all information there is in the report.
I will schedule our report to be run every Monday at 03am with retention time of 60 days and email notification to my email.
AUTORUN_SCHEDULE is cron like setup: hour, day of month, month, day of week
AUTORUN_FLAGS -tag appends ops_weekly to exachk report name
./exachk -id ops_weekly -set "AUTORUN_SCHEDULE=3 * * 1; \ AUTORUN_FLAGS=-tag ops_weekly;NOTIFICATION_EMAIL=svilmunen@company.com;\ COLLECTION_RETENTION=60" Created autorun_schedule for ID[ops_weekly] Created autorun_flags for ID[ops_weekly] Created notification_email for ID[ops_weekly] Created collection_retention for ID[ops_weekly]
And to see schedule is in place and daemon running:
./exachk -get all ID: ops_weekly ---------------------------------- autorun_schedule = 3 * * 1 autorun_flags = -tag ops_weekly notification_email = svilmunen@company.com collection_retention = 60 ./exachk -d status exachk daemon is running. Daemon PID : 44257
So all good and really simple to setup. Thanks Andy for tip!