Thursday, September 27, 2012

You (oracle) are not allowed to use this program (crontab)


Сегодня выяснилось, что в Экзадате не удается создать задание для cron:

[root@ed01db01 etc]# su - oracle
[oracle@ed01db01 ~]$ crontab -l
You (oracle) are not allowed to use this program (crontab)
See crontab(1) for more information

Причем, эта беда наблюдается не только под пользователем oracle, но и под другими:

[root@ed01db01 pam.d]# useradd yu
[root@ed01db01 pam.d]# su - yu
[yu@ed01db01 ~]$ crontab -l
You (yu) are not allowed to use this program (crontab)

Металинк дает свои дельные советы, которые тоже не работают :
 
Non Root Users Are Unable To Create Crontab Entries [ID 1268765.1]
Cron Scripts Might Not Be Executed After A Fresh Install On Exadata [ID 1323999.1]
 
 
Все оказалось примитивно просто: для решения проблемы достаточно добавить oracle в /etc/cron.allow  !
 
Вспоминаем основы:
 
You can execute crontab if your name appears in the file /etc/cron.allow.
If that file does not exist, you can use crontab if your name does not appear in the file /etc/cron.deny.
If only cron.deny exists and is empty, all users can use crontab.
If neither file exists, only the root user can use crontab.
 

How to disable/setup autostart parameters for specified instance ?

Q: We have a 4-node RAC. I need to disable autostart of the DB on one node only.    How to do it and how to see autostart parameters, confir...