Вот теперь пришло время разобраться, что же такое модель КЛИЕНТ-СЕРВЕР? И понять, как вообще работают серверы баз данных основанных на этой модели.
Первые БД, на основе так называемых "файл серверных БД" базировались на концепции ФАЙЛ СЕРВЕР с расположенным на нем, файлом БД (dBASE, Paradox и.т.д) КЛИЕНТ, то есть машина пользователя имела, определенный софт, который подключался, например, по имени устройства сервера и выполнял определенную работу. Самое интересное было то, что в большинстве случаев, всю нагрузка по выборке, чтению, обновлению, поиску в такой БД, ложилась на процессор клиентской машины! А сервер предоставив в пользование файл с таблицами, просто прохлаждался в это время! Достичь, достаточной эффективности работы и целостности данных при такой схеме, построения БД, было не просто, если скажем терялся сетевой коннект, а строилась сеть на коаксиальном кабеле (как правило), то данные могли бесследно испариться. Чему я был неоднократно свидетелем, так как просидел на dBASE и FoxPro достаточно долгое время! Эх золотое было времечко! Погулять по этажам с "терминатором"! Нет не Арнольдом, а маленькой такой штучкой... Ладно не будем отвлекаться! И вот свершилось - появились клиент-серверные БД.
Характерная особенность таких серверов, это наличие "прослушивающего процесса"!
Само по себе это понятие довольно несложное, где-то в сети, там где работает сервер БД, запущен этот процесс, то есть ухо, которое слушает сетку, а вернее пакеты, которые в ней бегают и как только обнаружит запрос на соединение отвечает на него и предоставляет канал связи между сервером и клиентом, так вот один из сервисов, который я показывал, в предыдущем случае именуемый как .... TNSListener(SID базы), как раз и является этим "чутким ушком", обеспечивающим соединения, сервера с клиентом!
Слышу резонный вопрос, - Ну и в чем разница? А вот в чем, существенная и основная! Концепт клиент-сервер, позволяет заставить, трудиться над поисками, обновлениями, удалением и черт знает еще чем, именно, СЕРВЕР БД! Клиент формирует запрос: - Найти всех участников пивного фестиваля, за 2000г. Сформировал, отправил и все, жди! Сервер выполнил, запрос, вернул результат клиенту! Трафик сети меньше, бесполезных шуршаний приводом тем более, да и быстрее на порядок, чем у файл-серверных БД! Хотя здесь, еще много можно поспорить, но пока принимайте на веру как есть!
Вот эти три пункта меню (если у вас все установлено правильно), как раз запускают три различных приложения, которые в вместе определяют всю работу клиента с сервером, а так же и на оборот! Сразу оговорюсь, если вы будете ставить, сервер на какой либо машине, то в принципе после установки вы получите и клиента, а чего мелочиться, все ставится сразу. По этому можно общаться с сервером на машине где он установлен через клиента, да вы собственно этого и не заметите! Либо с другой машины в сети, предварительно установив на нее клиента! Пока надеюсь все понятно, вот и славно! Так вот остановимся пока на приложении Net8 Easy Config, это приложение, формирует файл находящийся в папке: C:\Oracle\Ora81\NETWORK\ADMIN и называется он tnsnames.ora. Давайте заглянем в него.
# C:\ORACLE\ORA81\NETWORK\ADMIN\TNSNAMES.ORA Configuration #File:C:\Oracle\Ora81\NETWORK\ADMIN\tnsnames.ora # Generated by Oracle Net8 Assistant HOME = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = proba.gov) ) )
Пока наверное нифига не понятно, но это пока! Думаю примерно некоторые строки, что то напоминают, наверняка. А вот что они значат, разберем далее, предметно рассмотрев сам Net8 Easy Config! Ну, а пока осмыслите все, что я тут наболтал или попейте кофе и отдохните! :)