Автор работы: Пользователь скрыл имя, 11 Февраля 2013 в 03:24, курс лекций
Применение подхода открытых систем в настоящее время является основной тенденцией в области информационных технологий и средств вычислительной техники, поддерживающих эти технологии. Идеологию открытых систем реализуют в своих последних разработках все ведущие фирмы - поставщики средств вычислительной техники, передачи информации, программного обеспечения и разработки прикладных информационных систем. Их результативность на рынке информационных технологий и систем определяется согласованной (в пред конкурентной фазе) научно-технической политикой и реализацией стандартов открытых систем.
Тема 1. Особенности работы в многопользовательских средах 6
1.1. Открытые Системы, процессы стандартизации и профили стандартов. 6
1.1.1. Понятие подхода Открытых Систем. 6
1.1.2. Архитектура Открытых Систем. 7
1.1.3. Преимущества идеологии открытых систем. 10
1.1.4. Открытые Системы и объектно-ориентированный подход 11
1.1.5. Стандарты Открытых Систем 13
1.1.6. Профили стандартов Открытых Систем 15
1.1.7. Заключение 16
1.2. Архитектура «клиент-сервер» и «клиент-серверные» технологии. 17
1.2.1. Введение. 17
1.2.2. Традиционные подходы в моделировании 17
1.2.3. Серверы приложений 18
1.2.4. Заключение 21
1.3. Построение многопользовательских информационных систем и управление ими. 21
1.3.1. Цели администрирования 21
1.3.2. Обязанности системного администратора 21
1.3.3. Проблема организации администрирования крупных информационных систем. 22
1.3.4. Администрирование СУД 26
1.3.5. Технические средства обеспечения безопасности информационных технологий. 28
1.3.6. Задачи администратора 28
1.3.7. Планирование эффективной рабочей среды 29
Тема 2. Системная архитектура Oracle. 30
2.1. Архитектура 30
2.2. Сервер 30
2.3. Файлы. 37
2.3.1. Файлы параметров 38
2.3.2. Файлы данных 40
2.3.3. Временные файлы 44
2.3.4. Управляющие файлы 45
2.3.5. Файлы журнала повторного выполнения 46
Тема 3. Администрирование в среде Unix. 48
3.1. Включение станции Sun SPARCstation. 48
3.2. Регистрация нового пользователя. 49
3.3. Начало работы в системе. 50
3.3.1. Вход. 50
3.3.2. Пользовательский профайл 51
3.3.3. Выключение системы. 52
3.4. Несколько простейших команд Unix. 52
3.4.1. Некоторые наиболее употребительные команды. 54
3.5. Очень кратко о редакторе VI. 54
3.6. Базовые принципы системы UNIX 56
3.6.1. Что входит в ядро 56
3.6.2. Файловая система UNIX. 57
3.7. Утилита системного администратора SYSADM. 57
3.8. Несколько сетевых команд Unix. 58
3.8.1. finger. Кто работает в системе 58
3.8.2. talk. Вызвать пользователя на разговор 58
3.8.3. mailx. Послать кому-нибудь электронную почту 59
3.8.4. telnet. Залогиниться на удаленную машину 59
3.8.5. ftp. File Trasfer Protocol. Пересылка файлов 59
3.8.6. ping. "Прозвонить" удаленную машину 60
3.9. Сетевая файловая система NFS 60
3.9.1. Для того, чтобы Unix-машина служила NFS сервером 61
3.9.2. Активизация NFS. 61
3.10. Система печати LP 62
3.10.1 Подключить к системе новый принтер. 62
3.11. Графическая оболочка X-Windows System 63
3.11.1. Основная идея X Windows 63
3.11.2. Как это запускается? 64
3.11.3. Конфигурирование X Windows 65
3.11.4. Запуск X Windows 65
3.11.5. Настройки пользовательского окружения X Windows 65
Тема 4. Администрирование в сетях с операционными системами типа Windows (NT, 2000, 2003). 67
4.1. Установка Windows Server 2003. 69
4.1.1. Первые шаги 69
4.1.2. Текстовый этап 69
4.1.3. Графический этап. 70
4.1.4. Новое имя, новая роль 72
4.2. Служба каталогов Active Directory 73
4.2.1. Назначение службы каталога 74
4.2.2. Основные понятия Active Directory 74
4.2.3. Развертывание Active Directory 75
4.2.4. Управление объектами 76
4.2.5. Заключение 77
4.3. Доступ к сетевым ресурсам 77
4.3.1. Сервис WINS 78
4.3.2. Установка принт-сервера 81
4.4. Система доменных имен 82
4.4.1. DNS - необходимость 82
4.4.2. Структура DNS 83
4.4.3. Построение DNS 85
4.4.4. Настройка DNS 85
4.4.5. Подключаемся к Интернету 86
4.5. Служба DHCP 88
4.5.1. Преимущества использования DHCP 89
4.5.2. Реализация DHCP 89
4.5.3. Установка DHCP 89
4.5.4. Администрирование сервера DHCP 90
4.6. Маршрутизация и удаленный доступ 91
4.6.1. Проблема роста 91
4.6.2. Межсетевой мост 92
4.6.3. Маршрутизатор 93
4.6.4. Удаленный доступ 95
4.6.5. Протокол NAT 97
4.6.6. Результаты работы 98
4.7. Серверы в Windows Server 2003. 99
4.7.1. Распределяем роли 99
4.7.2. Веб-сервер 100
4.7.3. Internet Information Services (IIS) 100
4.7.4. Настройка веб-сайтов 103
4.7.5. Настройка FTP-сервера 104
4.7.6. Настраиваем почтовый сервер 104
4.7.7. Службы общения. 107
4.7.8. Заелючение. 108
4.8. Профилактические и сервисные работы 109
4.8.1. Резервное копирование 109
4.8.2. Профилактика 110
4.8.3. Установка обновлений 111
4.8.4. Заключение 112
4.9. Консольные команды управления 112
4.9.1. Основные консольные команды. 113
4.9.2. Заключение. 117
Тема 5. Сеть Интернет, ее функционирование и архитектурные особенности. 118
5.1. Краткое историческое введение 118
5.2. Что составляет Internet ? 120
5.3. Административное устройство Internet 121
5.4. Финансы 122
5.5. Как структура Internet сказывается на Пользователе ? 122
5.6. Потенциальные пользователи 123
5.7. Доступ в Internet 125
5.8. Планы на будущее 126
5.8.1. Стандартные протоколы ISO 126
5.8.2. Международные связи 126
5.8.3. Коммерциализация 127
5.8.4. Приватизация 128
Тема 6. Сетевые протоколы. 129
6.1. Протоколы, обеспечивающие прикладные услуги 129
6.2. Протоколы, обеспечивающие транспортные услуги 130
6.3. Протоколы, обеспечивающие сетевые услуги. 130
6.4. Протоколы Интернет 130
Тема 7. Стек протоколов TCP/IP. 132
7.1. История и перспективы стека TCP/IP. 132
7.2. Структура стека TCP/IP. Краткая характеристика протоколов. 133
Тема 8. Программирование сокетов. 136
8.1. Создание сокета 136
8.2. Привязка к локальным именам. 137
8.3. Установление связи 137
8.4. Передача данных. 138
8.5. Закрывание сокетов. 139
8.6. Пример функции, для установления WWW коннекта. 140
Тема 9. Язык Perl и CGI-программирование. 142
9.1. Основные особенности Perl 142
9.1.1 Введение 142
9.2 Взаимодействие с СУБД 142
9.2.1 Взаимодействие с Oracle 142
9.3 Написание модулей CGI 147
9.4 Обработка файлов формата DBF 148
Тема 10. Язык HTML (Список элементов HTML). 151
10.1. Базисные элементы. 151
10.2. Определение структуры. 151
10.3. Внешний вид. 151
10.4. Ссылки и графика. 152
10.5. Разделители. 152
10.6. Списки. 153
10.7. Фон и цвета. 153
10.8. Специальные символы. 153
10.9. Формы. 154
10.10. Таблицы 154
10.11. Фреймы. 155
10.12. Язык Java. 156
10.13. Разное. 156
Тема 11. Управление WEB-сервером Apache. 157
Тема 12. Комплексные решения – построение ISP (Internet Service Provider – поставщика услуг Интернет). 160
Oracle проектировалась как
В этой главе мы рассмотрим три основных компонента архитектуры Oracle.
Трудно решить, с какого компонента сервера начать описание. Процессы используют область SGA, поэтому рассматривать SGA до процессов не имеет смысла. С другой стороны, при описании процессов и их функционирования придется ссылаться на компоненты SGA. Они тесно взаимосвязаны. С файлами работают процессы, и их нет смысла описывать, пока не объяснено, что делают процессы. Ниже определены некоторые термины и сделан общий обзор сервера Oracle, после чего подробно рассматриваются отдельные компоненты.
Два термина в контексте Oracle вызывают большую путаницу. Речь идет о терминах "база данных" и "экземпляр". В соответствии с принятой в Oracle терминологией, эти понятия определяются так:
Эти два термина иногда взаимозаменяемы, но представляют принципиально разные концепции. Взаимосвязь между ними такова, что база данных может быть смонтирована и открыта в нескольких экземплярах. Экземпляр может смонтировать и открыть только одну базу данных в каждый момент времени. Не обязательно отрывать и монтировать одну и ту же базу данных при каждом запуске экземпляра.
Стало еще непонятнее? Вот ряд примеров, которые помогут прояснить ситуацию. Экземпляр — это набор процессов операционной системы и используемая ими память. Все эти процессы могут работать с базой данных, которая представляет собой просто набор файлов (файлов данных, временных файлов, файлов журнала повторного выполнения, управляющих файлов). В каждый момент времени с экземпляром связан только один набор файлов. В большинстве случаев обратное утверждение тоже верно; с базой данных работает только один экземпляр. В случае же использования параллельного сервера Oracle (Oracle Parallel Server — OPS), опции Oracle, позволяющей серверу функционировать на нескольких компьютерах в кластерной среде, одна и та же база данных может быть одновременно смонтирована и открыта несколькими экземплярами. Это делает возможным доступ к базе данных одновременно с нескольких компьютеров. Oracle Parallel Server позволяет создавать системы с высокой доступностью данных и, при условии правильной реализации, очень масштабируемые. Рассмотрение опции OPS здесь не предусмотрено, поскольку для описания особенностей ее реализации потребовалась бы отдельная книга.
Итак, в большинстве случаев между базой данных и экземпляром имеется отношение один к одному. Это, вероятно, и является причиной путаницы при использовании этих терминов. По опыту большинства пользователей, база данных — это экземпляр, а экземпляр — это база данных.
Во многих тестовых средах это, однако, не так. На моем диске, например, может быть пять отдельных баз данных. На тестовой машине СУБД Oracle установлена в одном экземпляре. В каждый момент времени работает только один экземпляр, но обращаться он может к разным базам данных, в зависимости от задач, которые я решаю. Создав несколько конфигурационных файлов, я могу монтировать и открывать любую из этих баз данных. В данном случае у меня один "экземпляр", но несколько баз данных, лишь одна из которых доступна в каждый момент времени.
Итак, теперь под термином "экземпляр" мы будем понимать процессы и память сервера Oracle. Термин "база данных" означает физические файлы, в которых находятся данные. База данных может быть доступна многим экземплярам, но экземпляр в каждый момент времени обеспечивает доступ только к одной базе данных.
Теперь можно приступать к рассмотрению абстрактной схемы СУБД Oracle5.
Упрощенно, СУБД Oracle включает большую область памяти — SGA, — содержащую внутренние структуры данных, доступ к которым необходим всем процессам для кеширования данных с диска, кеширования данных повторного выполнения перед записью на диск, хранения планов выполнения разобранных операторов SQL и т.д. Имеется также набор процессов, подключенных к этой области SGA, причем механизм подключения в каждой операционной системе другой. В среде UNIX процессы физически подключаются к большому сегменту разделяемой памяти — выделенному ОС фрагменту памяти, к которому может одновременно обращаться несколько процессов. В ОС Windows для выделения памяти процессы используют библиотечную функцию malloc() языка C, поскольку они сами являются потоками одного большого процесса. В СУБД Oracle также имеется набор файлов, читаемых и записываемых процессами/потоками базы данных (причем читать и записывать эти файлы имеют право только процессы Oracle). В этих файлах хранятся данные таблиц, индексов, временное пространство, журналы повторного выполнения и т.д.
Если запустить СУБД Oracle в UNIX-системе и выполнить команду ps (для просмотра состояния процессов), можно увидеть количество работающих процессов и их имена. Например:
$ /bin/ps -aef | grep ora816
ora816 20827 1 0 Feb 09 ? 0:00 ora_d000_ora816dev
ora816 20821 1 0 Feb 09 ? 0:06 ora_smon_ora816dev
ora816 20817 1 0 Feb 09 ? 0:57 ora_lgwr_ora816dev
ora816 20813 1 0 Feb 09 ? 0:00 ora_pmon_ora816dev
ora816 20819 1 0 Feb 09 ? 0:45 ora_ckpt_ora816dev
ora816 20815 1 0 Feb 09 ? 0:27 ora_dbw0_ora816dev
ora816 20825 1 0 Feb 09 ? 0:00 ora_s000_ora816dev
ora816 20823 1 0 Feb 09 ? 0:00 ora_reco_ora816dev
Я еще опишу назначение каждого из этих процессов, но часто их в совокупности называют просто фоновыми процессами Oracle. Это — постоянно работающие процессы, образующие экземпляр; они появляются при запуске СУБД и работают до тех пор, пока она не будет остановлена. Интересно отметить, что все это — процессы, а не программы. СУБД Oracle реализуется одной программой в UNIX, но программа эта многолика. Программа, которая запускалась для реализации процесса ora_lgwr_ora816dev, была использована и для запуска процесса ora_ckpt_ora816dev. Есть только один двоичный файл с именем oracle. Просто он выполняется несколько раз с разными именами. В ОС Windows с помощью программы tlist, входящей в Windows resource toolkit, можно обнаружить только один процесс — Oracle.exe. В случае NT тоже есть всего одна двоичная программа. Этот процесс создает несколько потоков, представляющих фоновые процессы Oracle. С помощью утилиты tlist (или любого из множества подобных средств) можно увидеть эти потоки:
C:\Documents and Settings\Thomas Kyte\Desktop>tlist 1072
1072 ORACLE.EXE
CWD: C:\oracle\DATABASE\
CmdLine: c:\oracle\bin\ORACLE.EXE TKYTE816
VirtualSize: 144780 KB PeakVirtualSize: 154616 KB
WorkingSetSize: 69424 KB PeakWorkingSetSize: 71208 KB
NumberOfThreads: 11
0 Win32StartAddr:0x00000000 LastErr:0x00000000 State:Initialized
5 Win32StartAddr:0x00000000 LastErr:0x00000000 State:Initialized
5 Win32StartAddr:0x00000000 LastErr:0x00000000 State:Initialized
5 Win32StartAddr:0x00000000 LastErr:0x00000000 State:Initialized
5 Win32StartAddr:0x00000000 LastErr:0x00000000 State:Initialized
5 Win32StartAddr:0x00000000 LastErr:0x00000000 State:Initialized
5 Win32StartAddr:0x00000000 LastErr:0x00000000 State:Initialized
5 Win32StartAddr:0x00000000 LastErr:0x00000000 State:Initialized
5 Win32StartAddr:0x00000000 LastErr:0x00000000 State:Initialized
5 Win32StartAddr:0x00000000 LastErr:0x00000000 State:Initialized
5 Win32StartAddr:0x00000000 LastErr:0x00000000 State:Initialized
0.0.0.0 shp 0x00400000 ORACLE.EXE
5.0.2163.1 shp 0x77f80000 ntdll.dll
0.0.0.0 shp 0x60400000 oraclient8.dll
0.0.0.0 shp 0x60600000 oracore8.dll
0.0.0.0 shp 0x60800000 oranls8.dll
В данном случае имеется 11 потоков, выполняющихся в рамках одного процесса Oracle. Если подключиться к базе данных, количество потоков увеличится до 12. В ОС UNIX к существующим процессам oracle просто добавился бы еще один. Теперь можно представить следующую схему. Предыдущая схема представляла концептуальный вид СУБД Oracle сразу после запуска. Теперь, если подключиться к СУБД Oracle в наиболее типичной конфигурации, схема будет выглядеть примерно так6: ...
Обычно СУБД Oracle при подключении пользователя создает новый процесс. Это принято называть конфигурацией выделенного сервера, поскольку на все время сеанса ему выделяется отдельный серверный процесс. Сеансы и выделенные серверы находятся в отношении один к одному. Клиентский процесс (любая программа, пытающаяся подключиться к СУБД) будет непосредственно взаимодействовать с соответствующим выделенным сервером по сети, например, через сокет TCP/IP. Именно этот сервер будет получать и выполнять SQL-операторы. Он будет читать файлы данных, а также искать необходимые данные в кеше. Он будет выполнять операторы UPDATE и PL/SQL-код. Единственное его назначение — отвечать на получаемые SQL-запросы.
СУБД Oracle также может работать в режиме многопоточного сервера (multi-threaded server — MTS), в котором при подключении не создается дополнительный поток или процесс UNIX. В режиме MTS СУБД Oracle использует пул "разделяемых серверов" для поддержки большого количества пользователей. Разделяемые серверы — это просто механизм организации пула подключений. Вместо запуска 10000 выделенных серверов (это действительно много, если речь идет о процессах или потоках) для 10000 сеансов режим MTS позволяет обслуживать их с помощью гораздо меньшего количества разделяемых серверов, которые (как следует из названия) будут совместно использоваться всеми сеансами. Это позволяет СУБД Oracle поддерживать намного больше сеансов, чем в режиме выделенного сервера. Машина, на которой работает сервер, может не справиться с поддержкой 10000 процессов, но управление 100 или 1000 процессами для нее вполне реально. В режиме MTS разделяемые серверные процессы обычно запускаются сразу при старте СУБД и отображаются в списке, выдаваемом командой ps (в представленных выше результатах выполнения команды ps процесс ora_s000_ora816dev представляет собой разделяемый серверный процесс).
Принципиальное отличие режима
MTS от режима выделенного сервера
состоит в том, что клиентский
процесс, подключившийся к СУБД, никогда
не взаимодействует
Клиентское подключение
С точки зрения разработчика нет
никакой разницы между
Мы рассмотрим наиболее общий случай: запрос на подключение по сети с использованием протоколов TCP/IP. В этом случае клиент находится на одной машине, а сервер — на другой, причем эти машины связаны сетью на базе семейства протоколов TCP/IP. Все начинается с клиента. Он посылает запрос клиентскому ПО Oracle на подключение к базе данных. Например, выполняется команда:
C:\> sqlplus scott/tiger@ora816.us.oracle.
Здесь клиентом является утилита SQL*Plus. scott/tiger — имя пользователя и пароль, а ora816.us.oracle.com — имя службы TNS. TNS — сокращение от Transparent Network Substrate (прозрачная сетевая среда), которое обозначает "базовое" программное обеспечение, встроенное в клиент Oracle и обеспечивающее удаленное подключение (двухточечное взаимодействие клиента и сервера). Строка подключения TNS указывает программному обеспечению Oracle, как подключаться к удаленной базе данных. В общем случае клиентское программное обеспечение обращается к файлу TNSNAMES.ORA. Это обычный текстовый файл конфигурации, обычно находящийся в каталоге [ORACLE_HOME]\network\admin и содержащий записи вида:
Информация о работе Математическое обеспечение и администрирование информационных систем