Сегодня впервые после обновления Debian на рабочей машине со squeeze на wheezy попытался запустить Oracle.
И раз я об этом пишу, то, конечно же, оно не запустилось:
SQL> startup
ORA-00845: MEMORY_TARGET not supported on this system
Проверил shared memory. Все вроде как на месте:
$ df -m
Файловая система 1M-блоков Использовано Доступно Использовано% Cмонтировано в
rootfs 234452 144879 89573 62% /
udev 10 0 10 0% /dev
tmpfs 609 1 608 1% /run
/dev/disk/by-uuid/0e650596-b7ee-43a7-bd93-b3ecedd25599 234452 144879 89573 62% /
tmpfs 5 0 5 0% /run/lock
tmpfs 1979 313 1667 16% /run/shm
/dev/sda2 92 42 46 48% /boot
/dev/sdb1 240366 22306 205851 10% /cool
Насторожил переезд /dev/shm в /run/shm. Проверил, в /dev создана символьная ссылка shm -> /run/shm. Ага, подумал я.
Погуглил. Нашел вот это:
http://wiki.debian.org/ReleaseGoals/RunDirectoryАга. Типа теперь в /dev некошерно, и всё тащим в /run. И вот с таким типа комментарием:
"If you're using /dev/shm directly, then your package is broken. You should only be accessing it via the eglibc shm_* and sem_* functions implementing the POSIX SHM and SEM features."
Ну да, Oracle сломан, давно и надежно. А вы, ребята, при всём моём уважении, трогаете то, что работает.
Временно помог нехитрый рецепт:
mv /dev/shm /dev/shm.symlink
mkdir /dev/shm
mount --bind /run/shm /dev/shm
После этого Oracle соизволил запуститься.
Начал думать, как сделать то же самое автоматически при перезагрузке.