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.
 

Does DEALLOCATE UNUSED or SHRINK SPACE will free space occupied by LOB segment?

Lets check how it works. My env is DB 19.20@Linux-x64 1) I created the table with 4 LOB columns of 4 different LOB types: BASICFILE BLOB, BA...