Янв 152014
 

С точки зрения usability незаменимая утилита SQL*Plus представляет собой насилие над пользователем, и к использованию человеком, хоть раз увидившим нормальный софт, написанный с использованием библиотеки readline, совершенно непригодна.
К счастью, существует великолепная утилита rlwrap. Она создаёт обёртку из readline для SQL*Plus, что позволяет нормально редактировать команды, искать по истории команд, и даже использовать автодополнение!
Просто установить rlwrap мало, его надо правильно приготовить. Об этом и будет статья.

Готовим rlwrap для SQL*Plus.

Continue reading »

Фев 282011
 

При создании дампа схемы с помощью утилиты exp иногда бывает нужно экспортировать не некоторые таблицы по списку, а все таблицы, кроме некоторого списка. При большом количестве таблиц в экспортируемой схеме удобно будет автоматизировать создание файла параметров (parfile) для exp.

Для этого создадим файл build_parfile.sh с таким содержимым: Continue reading »

Фев 112011
 

Часто при компиляции объектов в PL/SQL Developer можно получить ошибку "ORA-03114: not connected to ORACLE". На первый взгляд может показаться, что это локальный или сетевой сбой, но в alert log можно увидеть такие сообщения об ошибках:

Thu Feb 10 19:08:05 2011
Errors in file /usr/oracle/coredump/testdb_ora_3696.trc:
ORA-07445: exception encountered: core dump [ptmak()+372] [SIGSEGV] [Address not mapped to object] [0x000000010] [] []

Это баг, описанный на металинке: Doc ID 726611.1. Связан он с тем, что PL/SQL Developer добавляет отладочную информацию в код пакета, что иногда приводит к возникновению этой ошибки.
Возможных путей решения проблемы два: Continue reading »

Янв 192011
 

По умолчанию, при попытке выполнить в SQL*plusw команду

@myscript

SQL*plusw будет искать скрипты в каталоге %ORACLE_HOME%\bin, что неудобно: приходится указывать полный путь к файлу со скриптом.
Для установки удобного пути по умолчанию надо определить переменную окружения SQLPATH. Заходим (Windows XP): My Computer Properties Advanced Environment Variables User variables New и устанавливаем нужное значение, например, "C:\myscripts\sql".