Пользователи могут задавать для своих сеансов предпочитаемые настройки значений для переменных, указывания их в файле login.sql, который тоже проверяется Oracle, и тем самым настраивая среду SQL*Plus под свои нужды. Из-за того, что файл login.sql позволяет настраивать переменные отдельным пользователям, его также называют файлом профиля пользователя. Команды, размещаемые в этом файле, выполняются автоматически при каждом подключении данного пользователя к SQL*Plus.
SQL*Plus ищет файл login.sql в текущем каталоге. Обычно этот файл находится в домашнем каталоге пользователя и может применяться для установки подключения как из командной строки SQL*Plus, так и из графического интерфейса Windows. В листинге ниже показан пример содержимого login.sql.
-- login.sql -- SQL*Plus user login startup file. -- Файл сценария регистрации пользователя, активизируемый при запуске SQL*Plus -- This script is automatically run after glogin.sql -- Этот сценарий выполняется автоматически после сценария glogin.sql. -- To change the SQL*Plus prompt to display the current user, -- connection identifier and current time. -- Изменяет приглашение SQL*Plus так, чтобы в нем отображалось имя текущего -- пользователя, идентификатор текущего подключения и текущее время -- First set the database date format to show the time. -- Сначала изменяет формат даты базы данных так, чтобы он включала -- и значение времени. ALTER SESSION SET nls_date_format = 'HH:MI:SS'; -- SET the SQLPROMPT to include the _USER, _CONNECT_IDENTIFIER -- and _DATE variables. -- Далее устанавливает переменную SQLPROMPT так, чтобы она включала -- переменные _USER, _CONNECT_IDENTIFIER и DATE_. SET SQLPROMPT "_USER'@'_CONNECT_IDENTIFIER _DATE> " -- To set the number of lines to display in a report page to 24. -- Далее указывает, что на каждой странице отчета -- должно отображаться по 24 строки SET PAGESIZE 24 -- To set the number of characters to display on each report line to 78. -- Затем указывает, что в каждой строке отчета должно отображаться -- по 78 символов SET LINESIZE 78 -- To set the number format used in a report to $99,999. -- И, наконец, указывает, что формат чисел в отчете должен -- выглядеть как $99,999. SET NUMFORMAT $99,999
На заметку! При подключении к базе данных с использованием SQL*Plus сначала выполняется содержимое файла профиля сайта — glogin.sql — и только потом содержимое файла профиля пользователя — login.sql. Поэтому все значения, указываемые в файле login.sql для переменных SQL*Plus, будут переопределять настройки из файла glogin.sql. Любые изменения, вносимые во время самого сеанса, будут переопределять все остальные настройки, но действовать только на протяжении заданного сеанса.
Когда файлы регистрации вступают в силу
Файл glogin.sql, в котором содержатся настройки уровня системы, вступает в силу после успешного прохождения регистрации по команде SQLPLUS или CONNECT, а также в случае применения при подключении к SQL*Plus параметра /NOLOG.
Что касается файла login.sql, в котором содержатся настройки, предназначенные для конкретного пользователя, то он автоматически вступает в силу сразу же после выполнения содержимого файла профиля сайта glogin.sql.