Шаг 5 - Командная строка SQL Plus

Что, пошли дальше? База созданная типовой установкой, работает!? Замечательно! Теперь давайте попробуем сделать что-то полезное! Тем более, что уже руки наверное чешутся! Думаю пришло самое время обратить внимание на приложение с именем SQL Plus!

Запускайте! В первом шаге мы уже запускали SQL Plus! Но только для того, чтобы убедиться, что все нормально. Сейчас с помощью "Плюса", мы попробуем научиться самым азам работы с сервером БД и немного поизображать админа БД!!! Итак, запустили?

В поле "Имя польз.:", пишем system, в поле "пароль:" пишем manager, а вот в поле "Строка связи:" пишем то самое имя сетевой службы, созданное в прошлый раз!!! Если мне не изменяет память, то звали ее PROBA! Если все прошло хорошо, то мы увидим примерно следующее:

-------------------------------------------------------------------------
SQL*Plus: Release 8.1.5.0.0 - Production on Пнд Июн 23 22:13:55 2003

(c) Copyright 1999 Oracle Corporation.  All rights reserved.


Присоединен к:
Oracle8i Enterprise Edition Release 8.1.5.0.0 - Production
With the Partitioning and Java options
PL/SQL Release 8.1.5.0.0 - Production

SQL> |(мигает!)

Это значит, что все прекрасно, и вы как администратор допущены в самое сердце вашего сервера Oracle! Объясню сразу и без вариантов, здесь будет рассматриваться работа и примеры в командной строке SQL Plus! Никаких красивых, визардов и волшебников не БУДЕТ!!! И вот почему, если вы действительно хотите усвоить довольно мощную БД oracle, а так же ее встроенный язык программирования PL/SQL, то начинать будем, с КОММАНДНОЙ СТРОКИ! Я в свое время навидался, крутых, навороченных, молодых людей, которые понятия не имели, не то что о возможности, а даже не подозревали, что каталог создается, в командной строке DOS! :) К стати вопрос на засыпку, а как создать каталог на диске в строке DOS?

Так что, тот, кто привык ставить галочки в визардах, советую, немного напрячь воображение или... ну это уже решать вам! :) Так же могу сказать, что SQL Plus, действительно имеет ряд недостатков и конечно же в дальнейшем, мы перейдем на что-то более передовое, Но!!! Как инструмент для истинного знатока администрирования БД Oracle, это то что, как раз и достаточно! Вот так!!! :) Ладно, хватит болтать, пора действовать!

В ответ на это приглашение

SQL>

Введите примерно следующее:

SELECT COUNT(*) FROM USER_OBJECTS

Нажмите Enter и увидите:

SQL> SELECT COUNT(*) FROM USER_OBJECTS
  2  

Это интерпретатор команд предлагает ввести следующую строку для вашего выражения если написать, что-то еще, то появится:

  3
  4
и т.д. 

То есть среда предлагает вам ввести выражение построчно столько сколько нужно! Например, если вы намереваетесь, записать какой либо сложный запрос!

Да, но нам нужно выполнить только один короткий оператор и увидеть результат!

Да запросто! Там где было 2, введите символ "/" и снова нажмите Enter это означает, что вы закончили ввод и собираетесь, получить результат!

Я получил примерно следующее:

 COUNT(*)
---------
       64

Что значит, что, пользователь SYSTEM, имеет в своей схеме 64 объекта БД! Если фраза не совсем понятна, пока не напрягайтесь все будет далее!!!! :)

Сейчас в ответ на приглашение SQL> введите еще раз "/" и Enter!

И опять:

 COUNT(*)
---------
       64
Так можно делать хоть целый день! Но боюсь, что вас примут за ..., а не важно!!! :)

Это значит, что наше выражение где-то внутри и поле ввода "/" может выполняться хоть сто раз! Еще выражение "/" можно заменить, написав RUN вот так:

SQL> RUN
  1*  SELECT COUNT(*) FROM USER_OBJECTS

 COUNT(*)
---------
       64

Видите, теперь мы снова увидели выражение, которое содержится в строковом буфере и поле нажатия Enter не нужно больше ничего!

Если же вы просто хотите посмотреть весь строковый буфер SQL Plus, то введите примерно следующее:

SQL> LIST

Получаем:

SQL> LIST
  1*  SELECT COUNT(*) FROM USER_OBJECTS

А вот и сам строковый буфер!

Еще она полезная команда SQL Plus это EDIT, на ней остановимся подробнее.

Вводим:

SQL> EDIT

После нажатия Enter появится Блокнот, мое любимое орудие при написании скриптов PL/SQL!!! В окне блокнота, будет строка:

SELECT COUNT(*) FROM USER_OBJECTS
/

Если ничего не менять, то она же и останется, если вместо нее написать, например:

SELECT COUNT(*) FROM USER_TABLES
/

То при закрытии будет задан вопрос: Сохранить изменения в файле afiedt.buf!

Вот он то и содержит, то, что хранит буфер, а лежит он обычно в каталоге C:\Oracle\Bin! Говорим да сохранить, и видим следующее:

  1* SELECT COUNT(*) FROM USER_TABLES
SQL> 

Что-то не то, а! Вводим "/"! Упсс, получилось!

 COUNT(*)
---------
       17

У пользователя SYSTEM 17 таблиц в схеме! Просто замечательно! Еще можно делать следующее, создайте каталог на вашем диске, скажем Temp и поместите в него файл содержащий следующее:

C:\Temp\proba.txt
Hello world!!!

Введите:

SQL> EDIT C:\temp\proba.txt

Откроется Блокнот и покажет содержимое файла, вроде бы бесполезно, но не совсем!!! дальше пригодится! Да, напоследок еще пара полезных команд, если экран SQL Plus сильно захламлен введите CLEAR SCREEN и будет чисто! Если надоели команды в буфере напиши CLEAR BUFFER и привет!!! Все очистится! Пока можете потренироваться с вышеизложенным, но советую сменить пользователя, так как работа в этом может при неосторожных действиях завалить сервер!!! Как менять пользователя на ходу и кое что еще в следующем шаге!


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Летучий Сергей.