Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
05 приложение - SQL Plus - win.doc
Скачиваний:
11
Добавлен:
17.08.2019
Размер:
762.88 Кб
Скачать

Другие полезные команды

Есть еще несколько полезных команд, не относящихся ни к одной из рассмотренных выше категорий. Вот некоторые из них.

Команда execute

Эта команда выполняет один оператор PL/SQL. Чаще всего, это вызов хранимой процедуры или функции. Команда, по сути, неявно создает анонимный блок, в котором выполняется оператор. Рассмотрим пример:

18:02:02 SQL> set timing off

18:02:36 SQL> set serverout on

18:02:41 SQL> exec ListBlackFridays(sysdate, 3);

13.09.02

13.12.02

13.06.03

Процедура PL/SQL успешно завершена.

Команда password

Команда PASSWORD позволяет изменить пароль пользователя, не отображая его на экране. Эта команда имеет следующий простой синтаксис:

<команда PASSWORD> ::=

PASSW[ORD] [<имя пользователя>]

По умолчанию, изменяется пароль текущего пользователя. Чтобы изменять пароль другого пользователя, необходима соответствующая привилегия:

18:02:49 SQL> set time off

SQL> connect system/manager

Соединено.

SQL> password scott

Изменение пароля для scott

Новый пароль: *****

Повторите новый пароль: *****

SQL> connect scott/tiger

Соединено.

Команды администрирования базы данных

Ряд команд утилиты SQL*Plus предназначен для АБД. По сути, SQL*Plus - полнофункциональное средство администрирования. Доступные в SQL*Plus команды администрирования рассматриваются в данном разделе.

Запуск базы данных

Начиная с Oracle8, утилиту SQL*Plus можно использовать для запуска и остановки базы данных (ранее для этих целей использовались утилиты svrmgrl и SQL*DBA). Запуск базы данных состоит из трех шагов:

  1. Запуск экземпляра. Экземпляр - это совокупность фоновых процессов и областей памяти, необходимых для доступа к базе данных Oracle.

  2. Монтирование базы данных. При монтировании база данных связывается с запущенным ранее экземпляром.

  3. Открытие базы данных. Открытие базы данных делает ее доступной пользователям для обычных операций.

Запуск базы данных в SQL*Plus выполняется командой STARTUP, имеющей следующий синтаксис:

<команда STARTUP> ::=

STARTUP [FORCE] [RESTRICT] [PFILE=<имя файла параметров>] <действие запуска>

<действие запуска> ::=

MOUNT [<имя базы данных>]   | OPEN [<опция открытия>][<имя базы данных>]   | NOMOUNT

<опция открытия> ::=

READ ONLY   | READ WRITE [RECOVER]   | RECOVER

Все варианты команды STARTUP, так или иначе, запускают экземпляр (выделяется память и запускаются фоновые процессы). Опции команды STARTUP представлены в табл. 17.

Таблица 17. Опции команды STARTUP.

Опция

Назначение

FORCE

Останавливает (с опцией ABORT) и потом перезапускает экземпляр. Это единственная опция команды STARTUP, которую можно применять к работающему экземпляру. Используется при отладке и в экстраординарных ситуациях.

RESTRICT

Позволяет подключаться к базе данных после запуска только пользователям, обладающим системной привилегией RESTRICTED SESSION. Это ограничение в дальнейшем можно снять с помощью команды ALTER SYSTEM.

PFILE

Задает нестандартный файл параметров инициализации. Если эта опция не указана, используется стандартный файл (в ОС UNIX это обычно $ORACLE_HOME/admin/dbs/init$ORACLE_SID.ora, а в Windows - %ORACLE_HOME%\database\init%ORACLE_SID%.ora).

MOUNT

Монтирует указанную (стандартную локальную - значение параметра инициализации DB_NAME) базу данных, но не открывает ее.

OPEN

Монтирует и открывает указанную базу данных.

NOMOUNT

Экземпляр запускается, но база данных не монтируется.

RECOVER

Требует выполнить восстановление носителей, если необходимо, перед запуском экземпляра. Применение этой опции аналогично выполнению команды RECOVER DATABASE с последующим обычным запуском. Так можно выполнять только полное восстановление.

Эту команду может выполнять только пользователь, подключившийся как SYSOPER или SYSDBA к выделенному серверному процессу. По умолчанию используется опция OPEN. Команда STARTUP OPEN RECOVER монтирует и открывает базу данных, даже если полное восстановление закончилось неудачно.