Я успешно установил собственный Oracle на 10.6 и могу успешно скомпилировать и выполнить пример кода Pro * C с использованием учетной записи 'oracle' (то есть того же пользователя ОС, под которым было установлено программное обеспечение). Это была веселая работа. Это даже работает с лязгом.
Однако в нашей обычной среде разработки исходный код, сценарии сборки, файлы создания и т. Д. Принадлежат другой группе и пользователю Unix - с доступом к ограниченному набору инструментов Oracle (sqlplus, exp, proc и т. Д.) .
Попытка использовать sqlplus из oracle install дала (известную проблему)
dyld: Library not loaded: /b/227/sqlplus/lib/libsqlplus.dylib
Это несмотря на то, что DYLD_LIBRARY_PATH определенно настроен правильно. Кто-то, кто провел дополнительное расследование, подумал, что где-то на этом пути путь к библиотеке был не задан до начала процесса.
Я сдался и просто использовал вместо этого InstantClient.
К сожалению, InstantClient SDK предназначен только для OCCI - он не включает в себя компилятор pro * c.
Итак, я вернулся к попытке заставить пользователя 'dev' выполнять 'proc' в каталоге oracle bin. Я уже решил одну проблему с dylib (с помощью символической ссылки) и различные проблемы с правами доступа к файлам (необходимо предоставить -r для файлов в иерархии каталогов / precomp).
Теперь я получаю дамп ядра (который не выполняется при работе под пользователем oracle)
System default option values taken from:
/Users/oracle/product/10.2.0/db_1/precomp/admin/pcscfg.cfg
INTERNAL ERROR: Failed assertion [PGE Code=90105]
Segmentation fault
Есть предложения? Кто-нибудь на самом деле успешно это сделал?