Математическое обеспечение и администрирование информационных систем

Автор работы: Пользователь скрыл имя, 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

Файлы: 1 файл

lek_adm.doc

— 1.57 Мб (Скачать файл)

 

Тема 2. Системная архитектура Oracle.

2.1. Архитектура

Oracle проектировалась как максимально  переносимая СУБД, — она доступна  на всех распространенных платформах. Поэтому физическая архитектура  Oracle различна в разных операционных системах. Например, в ОС UNIX СУБД Oracle реализована в виде нескольких отдельных процессов операционной системы — практически каждая существенная функция реализована отдельным процессом. Для UNIX такая реализация подходит, поскольку основой многозадачности в ней является процесс. Для Windows, однако, подобная реализация не подходит и работала бы не слишком хорошо (система получилась бы медленной и плохо масштабируемой). На этой платформе СУБД Oracle реализована как один многопоточный процесс, т.е. с использованием подходящих для этой платформы механизмов реализации. На мэйнфреймах IBM, работающих под управлением OS/390 и zOS, СУБД Oracle использует несколько адресных пространств OS/390, совместно образующих экземпляр Oracle. Для одного экземпляра базы данных можно сконфигурировать до 255 адресных пространств. Более того, СУБД Oracle взаимодействует с диспетчером загрузки OS/390 WorkLoad Manager (WLM) для установки приоритетности выполнения определенных компонентов Oracle по отношению друг к другу и к другим задачам, работающим в системе OS/390. В ОС Netware тоже используется многопоточная модель. Хотя физические средства реализации СУБД Oracle на разных платформах могут отличаться, архитектура системы — достаточно общая, чтобы можно было понять, как СУБД Oracle работает на всех платформах.

В этой главе мы рассмотрим три  основных компонента архитектуры Oracle.

    • Файлы. Будут рассмотрены пять видов файлов, образующих базу данных и поддерживающих экземпляр. Это файлы параметров, сообщений, данных, временных данных и журналов повторного выполнения.
    • Структуры памяти, в частности системная глобальная область (System Global Area — SGA). Мы рассмотрим взаимодействие SGA, PGA и UGA. Будут также рассмотрены входящие в SGA Java-пул, разделяемый пул и большой пул.
    • Физические процессы или потоки. Будут описаны три типа процессов, образующих экземпляр: серверные процессы, фоновые процессы и подчиненные процессы.

2.2. Сервер

Трудно решить, с какого компонента сервера начать описание. Процессы используют область SGA, поэтому рассматривать SGA до процессов не имеет смысла. С другой стороны, при описании процессов и их функционирования придется ссылаться на компоненты SGA. Они тесно взаимосвязаны. С файлами работают процессы, и их нет смысла описывать, пока не объяснено, что делают процессы. Ниже определены некоторые термины и сделан общий обзор сервера Oracle, после чего подробно рассматриваются отдельные компоненты.

Два термина в контексте Oracle вызывают большую путаницу. Речь идет о терминах "база данных" и "экземпляр". В соответствии с принятой в Oracle терминологией, эти понятия определяются так:

    • база данных - набор физических файлов операционной системы;
    • экземпляр - набор процессов Oracle и область SGA.

Эти два термина иногда взаимозаменяемы, но представляют принципиально разные концепции. Взаимосвязь между ними такова, что база данных может быть смонтирована и открыта в нескольких экземплярах. Экземпляр может смонтировать и открыть только одну базу данных в каждый момент времени. Не обязательно отрывать и монтировать одну и ту же базу данных при каждом запуске экземпляра.

Стало еще непонятнее? Вот ряд  примеров, которые помогут прояснить  ситуацию. Экземпляр — это набор  процессов операционной системы  и используемая ими память. Все  эти процессы могут работать с базой данных, которая представляет собой просто набор файлов (файлов данных, временных файлов, файлов журнала повторного выполнения, управляющих файлов). В каждый момент времени с экземпляром связан только один набор файлов. В большинстве случаев обратное утверждение тоже верно; с базой данных работает только один экземпляр. В случае же использования параллельного сервера 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 от режима выделенного сервера  состоит в том, что клиентский процесс, подключившийся к СУБД, никогда  не взаимодействует непосредственно  с разделяемым сервером, как это  происходит в случае выделенного сервера. Он не может взаимодействовать с разделяемым сервером, так как соответствующий процесс используется совместно. Чтобы обеспечить совместное использование этих процессов, необходим другой механизм взаимодействия. Для этого в СУБД Oracle используется процесс (или набор процессов), которые называют диспетчерами. Клиентский процесс взаимодействует по сети с процессом-диспетчером. Процесс-диспетчер помещает запрос клиента в очередь запросов в SGA (это одно из многих назначений области SGA). Первый же свободный разделяемый сервер выберет и обработает этот запрос (например, запрос может иметь вид UPDATE T SET X = X+5 WHERE Y = 2). По завершении выполнения команды разделяемый сервер поместит ответ в очередь ответов. Процесс-диспетчер следит за очередью и немедленно передает полученный результат клиенту. Концептуально поток информации в режиме MTS выглядит следующим образом7: ...

Клиентское подключение посылает запрос диспетчеру. Диспетчер поместит этот запрос в очередь запросов в  области SGA (1). Первый свободный разделяемый сервер выберет этот запрос (2) из очереди и обработает его. Когда разделяемый сервер закончит выполнение, ответ (коды возврата, данные и т.д.) помещается в очередь ответов (3), после чего выбирается диспетчером (4) и возвращается клиенту.

С точки зрения разработчика нет  никакой разницы между подключением к серверу в режиме MTS и подключением к выделенному серверу. Теперь, когда  стало понятно, как происходит подключение  к выделенному и разделяемому серверу, возникают вопросы: а как  вообще подключиться; как запускается выделенный сервер и как связываться с процессом-диспетчером? Ответы зависят от платформы, но в принципе все происходит так, как описано ниже.

Мы рассмотрим наиболее общий случай: запрос на подключение по сети с  использованием протоколов TCP/IP. В этом случае клиент находится на одной машине, а сервер — на другой, причем эти машины связаны сетью на базе семейства протоколов TCP/IP. Все начинается с клиента. Он посылает запрос клиентскому ПО Oracle на подключение к базе данных. Например, выполняется команда:

 

C:\> sqlplus scott/tiger@ora816.us.oracle.com

 

Здесь клиентом является утилита SQL*Plus. scott/tiger — имя пользователя и пароль, а ora816.us.oracle.com — имя службы TNS. TNS — сокращение от Transparent Network Substrate (прозрачная сетевая среда), которое обозначает "базовое" программное обеспечение, встроенное в клиент Oracle и обеспечивающее удаленное подключение (двухточечное взаимодействие клиента и сервера). Строка подключения TNS указывает программному обеспечению Oracle, как подключаться к удаленной базе данных. В общем случае клиентское программное обеспечение обращается к файлу TNSNAMES.ORA. Это обычный текстовый файл конфигурации, обычно находящийся в каталоге [ORACLE_HOME]\network\admin и содержащий записи вида:

Информация о работе Математическое обеспечение и администрирование информационных систем