Блоги: администрирование, программирование, базы данных, SQL, Oracle. Основы субд oracle. основные объекты. средства манипулирования данными языка sql. структура запроса. простейшие запросы

23 сентября 2019 года (Москва) 25 ноября 2019 года (Москва)
Стоимость: 38 745 руб. скидка 10% до 17.03.2019 34 870 руб.

Для грамотного использования Oracle необходимо иметь хорошее понимания языка SQL . Курс "Oracle. Программирование на SQL, PL/SQL и Java " раскрывает полный спектр возможностей языка SQL в Oracle и ряд аспектов неочевидных особенностей построения типовых конструкций БД.

  • PL/SQL - процедурный язык , разработанный фирмой Oracle для написания хранимых в БД подпрограмм. PL/SQL обеспечивает общую основу процедурного программирования как в клиентских приложениях, так и на стороне сервера, в том числе хранимых на сервере подпрограмм, пакетов и триггеров базы данных.
  • Java - объектный язык , который может использоваться для работы с Oracle в самых разных конфигурациях, в том числе, благодаря встроенной в Oracle Java-машине, в качестве второго языка для хранимых процедур. Java не зависит от конкретных платформ и может служить эффективным средством интеграции БД Oracle с другими приложениями, в том числе в Internet.

Курс сопровождается практическими упражнениями, позволяющими закрепить понимание базовых понятий и освоить основные технические приемы программирования на языках SQL, PL/SQL и Java.

По окончании курса слушатели получают возможность самостоятельного программирования Oracle на этих трех языках для решения задач разработки приложений в архитектуре клиент-сервер и в трехзвенной архитектуре, а также задач администрирования БД.

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

Курс предназначен для разработчиков, программистов и администраторов баз данных. Слушатели должны обладать хорошим уровнем компьютерной грамотности, и иметь опыт программирования.

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

  • Oracle Database 8i
  • Oracle Database 9i
  • Oracle Database 10g
  • Oracle Database 11g
  • Oracle Database 12c

Программа курса "Oracle. Программирование на SQL, PL/SQL и Java"

Введение в Oracle SQL

1. Основные понятия

  • Базы данных и реляционная модель
  • Базы данных
  • Реляционный подход к моделированию данных
  • Реализация реляционной СУБД
    Другие подходы к моделированию данных и другие типы СУБД
  • Что такое SQL ?
  • История и стандарты
  • Oracle-диалект SQL
  • PL/SQL

2. SQL*Plus и ввод предложений на SQL

3. Пример "схемы" базы данных

4. Создание, удаление таблиц и изменение структуры

  • Предложение CREATE TABLE
  • Типы данных в столбцах
  • Уточнения в описаниях столбцов
  • Указание NOT NULL
  • Значения по умолчанию
  • Проверка CHECK поступающих в таблицу значений
  • Создание таблиц по результатам запроса к БД
  • Именование таблиц и столбцов
  • Виртуальные столбцы
  • Удаление таблиц
  • Изменение структуры таблиц
  • Логические и технические особенности удаления столбца
  • Использование синонимов для именования таблиц
  • Переименования
  • Справочная информация о таблицах в БД

5. Основные элементы предложений DML: выражения

  • Непосредственные значения данных (литералы)
  • Числовые значения
  • Строки текста
  • Моменты и интервалы времени
  • "Системные переменные"
  • Числовые выражения
  • Выражения над строками текста
  • Выражения над типом "момент времени"
  • Функции
  • Скалярные функции
  • CASE-выражения
  • Скалярный запрос
  • Условные выражения
  • Отдельные замечания по поводу отсутствия значения в выражениях

6. Выборка данных

  • Фразы предложения SELECT
  • Общие правила построения предложения SELECT
  • Порядок обработки предложения SELECT
  • Пример 1 предложения SELECT
  • Пример 2 предложения SELECT
  • Логическая целостность обработки предложения SELECT
  • Фраза FROM предложения SELECT
  • Варианты указания столбца
  • Столбцы из разных таблиц
  • Использование псевдонимов в запросе
  • Подзапрос в качестве источника данных
  • Специальный случай для запроса-соединения
  • Фраза WHERE предложения SELECT
  • Общий алгоритм отработки фразы WHERE
  • Операторы сравнения для получения условного выражения
  • Связки AND, OR и NOT для комбинирования условных выражений
  • Условный оператор IS
  • Условный оператор LIKE
  • Условный оператор BETWEEN
  • Условный оператор IN с явно перечисляемым множеством
  • Условный оператор IN с множеством, получаемым из БД
  • Условия сравнения с подзапросом
  • Указание ANY и ALL для сравнения с элементами множества значений
  • Условный оператор EXISTS
  • Фраза SELECT и функции в предложении SELECT
  • Сокращенная запись для группового отбора столбцов
  • Выражения во фразе SELECT
  • Подзапросы во фразе SELECT
  • Уточнение DISTINCT
  • Особенности поведения стандартных агрегатных функций в предложении SELECT
  • Именование столбцов в результате запроса
  • Системная функция ("переменная") ROWNUM и особенности ее использования
  • Аналитические функции
  • Выражение типа ссылка на курсор
  • Фраза ORDER BY предложения SELECT
  • Простейшая сортировка
  • Упорядочение по значению выражения
  • Указание номера столбца
  • Двоичное и "языковое" упорядочение строк
  • Особенности обработки отсутствующих значений (NULL)
  • Фразы GROUP BY и HAVING предложения SELECT
  • Пример отработки фразы GROUP BY … HAVING
  • Отсутствие значения в выражении для группировки
  • Другие примеры
  • Указание ROLLUP, CUBE и GROUPING SETS в во фразе GROUP BY
  • Фраза CONNECT BY предложения SELECT
  • Специальные системные функции в предложениях с CONNECT BY
  • Упорядочение результата
  • Фраза WITH предварительной формулировки подзапросов
  • Комбинирование предложений SELECT
  • Комбинирование оператором UNION
  • Комбинирование оператором INTERSECT
  • Комбинирование оператором MINUS
  • Подзапросы
  • Операция соединения в предложении SELECT
  • Виды соединений
  • Новый синтаксис в версии 9
  • Особенности выполнения операции соединения

7. Обновление данных в таблицах

  • Добавление новых строк
  • Явное добавление строки
  • Добавление строк, полученных подзапросом
  • Добавление в несколько таблиц одним оператором
  • Изменение существующих значений полей
  • Использование умолчательных значений в INSERT и UPDATE
  • Удаление строк из таблицы
  • Выборочное удаление
  • Вариант полного удаления
  • Комбинирование UPDATE, INSERT и DELETE в одном операторе
  • Логическая целостность операторов обновления данных таблиц и реакция на ошибки
  • Реакция на ошибки в процессе исполнения
  • Фиксация изменений в БД
  • Данные о системном номере изменения для строки
  • Ускорение выполнения COMMIT

8. Быстрое обращение к прошлым значениям данных

  • Чтение старых значений строк таблицы
  • Восстановление таблиц и данных ранее удаленных таблиц

9. Схемные ограничения целостности

  • Разновидности схемных ограничений целостности
  • Ограничение NOT NULL
  • Первичные ключи
  • Уникальность значений в столбцах
  • Внешние ключи
  • Дополнительное условие для значения в поле строки
  • Дополнительное условие, связывающее значения в нескольких полях строки
  • Добавление ограничения при наличии нарушений
  • Приостановка проверки схемных ограничений в пределах транзакции
  • Отключение и включение схемных ограничений целостности
  • Технология включения и выключения схемных ограничений целостности
  • Более сложные правила целостности

10. Виртуальные таблицы (производные, выводимые: views)

  • Основные ("базовые") и виртуальные таблицы
  • Обновление виртуальных таблиц
  • Ограничения прямой модификации данных через виртуальные таблицы
  • Запрет непосредственных обновлений
  • Сужение возможности непосредственных обновлений
  • Виртуальные таблицы с хранием данных
  • Особенности именованых виртуальных таблиц
  • Неименованые виртуальные таблицы без хранения данных

11. Нескалярные типы для "сложно устроенных" данных в Oracle

  • Хранимые объекты
  • Простой пример
  • Использование свойств и методов объектов
  • Использование ссылок на объект
  • Коллекции
  • Вложенные таблицы
  • Массивы VARRAY
  • Тип XMLTYPE
  • Простой пример
  • Таблицы данных XMLTYPE
  • Преобразование табличных данных в тип XMLTYPE
  • Тип ANYDATA

12. Вспомогательные виды хранимых объектов

  • Генератор уникальных номеров
  • Каталог операционной системы
  • Таблицы с данными временного хранения
  • Ссылка на другую БД
  • Подпрограммы
  • Индексы
  • Индексы для проверки схемных ограничений целостности
  • Таблицы с внешним хранением данных

13. Некоторые замечания по оптимизации SQL-предложений

14. Транзакции и блокировки

  • Транзакции в Oracle
  • Примеры блокировок данных транзакциями
  • Разновидности блокировок
  • Неявные блокировки при операциях DML
  • Влияние внешних ключей
  • Явная блокировка таблиц (тип TM) командой LOCK
  • Явная блокировка отдельных строк таблиц
  • Недокументированная разновидность групповой блокировки
  • Блокировки предложениями DDL

15. Пользователи (схемы) и дополнительные средства разграничения доступа к данным

16. Таблицы системного каталога (словаря-справочника)

18. Встроенный SQL

  • Некоторые примеры составления запросов

19. Выдать сотрудников в соответствии с большим (меньшим) окладом

  • Вопрос к БД
  • "Очевидное", но неправильное решение
  • Правильные решения
  • Решение типа top-N (начиная с версии 8.1.5)
  • Решение с использованием аналитических функций ранжирования

20. Переформулировка запроса с HAVING

22. Ловушка условия с отрицанием NOT

23. Ловушка в NOT IN (S)

Введение в PL/SQL

1. Основные понятия

  • Место PL/SQL в архитектуре Oracle
  • Общая структура программы на PL/SQL

2. Основные типы и структуры данных

  • Скалярные переменные
  • Числовые типы
  • Строковые типы
  • Моменты времени и интервалы
  • Булевы переменные
  • LOB-типы
  • Объявление переменных и постоянных
  • Записи
  • Объявление записей в программе
  • Присвоения
  • Ссылка на типы уже имеющихся данных
  • Пользовательские подтипы

3. Выражения

4. Основные управляющие структуры

  • Ветвление программы
  • Предложение IF-THEN
  • Предложение IF-THEN-ELSE
  • Предложение IF-THEN-ELSIF
  • Предложения CASE
  • Безусловная передача управления
  • Циклы
  • Простой цикл
  • Счетный цикл (FOR)
  • Цикл по курсору (FOR)
  • Цикл WHILE
  • Имитация цикла REPEAT UNTIL
  • Метки в циклах и в блоках

5. Подпрограммы

  • Локальные подпрограммы
  • Переопределение «внешних» имен
  • Предваряющие (forward) объявления
  • Повторение имен на одном уровне (overloading)
  • 6. Взаимодействие с базой данных: статический SQL
  • Использование записей вместо (списка) скаляров

7. Регулирование изменений в БД

  • Управление транзакциями
  • Блокировки
  • Автономные транзакции

8. Встроенный динамический SQL

  • Операторы встроенного динамического SQL
  • Сравнительный пример двух способов работы с динамическим SQL

9. Использование курсоров

  • Явные курсоры
  • Объявление явных курсоров
  • Открытие явных курсоров
  • Извлечение результата через явный курсор
  • Закрытие явного курсора
  • Отсутствие запрета изменений таблиц при открытом курсоре
  • Атрибуты для явных курсоров
  • Несколько примеров использования циклов и курсоров
  • Курсоры с блокировкой строк таблицы
  • Предложение SELECT … FOR UPDATE
  • Предосторожности употребления курсоров с блокировкой
  • Возможность изменять строки, выбираемые курсором
  • Ссылки на курсор
  • Общие сведения
  • Пример употребления для структуризации программы
  • Неявные курсоры

10. Обработка исключительных ситуаций

  • Объявление исключительных ситуаций
  • Примеры обработки
  • Порождение исключительных ситуаций
  • Зона действия и распространение
  • «Внутренние» исключительные ситуации блока
  • Использование функций SQLCODE и SQLERRM

11. Хранимые процедуры и функции

  • Общий синтаксис
  • Параметры
  • Тип параметра
  • Режим использования параметра
  • Значения по умолчанию
  • Способы указать фактические значения параметрам
  • Обращение к параметрам и к локальным переменным в теле подпрограммы
  • Указания компилятору при создании подпрограмм
  • Хранимые подпрограммы и привилегии доступа к данным в БД
  • Две логики реализации привилегий доступа к данным БД
  • Особенности передачи привилегий через роли

12. Триггерные процедуры

  • Создание триггерной процедуры
  • Отключение триггерных процедур
  • Триггерные процедуры для событий категории DML
  • Комбинированные триггерные процедуры
  • Управление транзакциями в теле триггерной процедуры
  • Последовательность срабатывания триггерных процедур, когда их несколько
  • Триггерные процедуры INSTEAD OF для выводимых таблиц
  • Триггерные процедуры для событий категории DDL
  • Триггерные процедуры для событий уровня схемы и БД

13. Пакеты в PL/SQL

  • Общая структура пакета
  • Обращение к элементами пакета
  • (Глобальные) данные пакета
  • Взаимные вызовы и повторения имен
  • Инициализация пакета
  • Прагма SERIALLY_REUSABLE

14. Вызов функций PL/SQL в предложениях SQL

  • Требования и ограничения на применение функций пользователей в SQL
  • Обращение в SQL к функциям из состава пакетов
  • Разрешение конфликта имен столбцов и функций
  • Табличные функции в SQL

15. Более сложные типы данных: коллекции

  • Синтаксис объявления типов для коллекций
  • Работа с ассоциативными массивами
  • Создание вложенной таблицы и массива VARRAY в программе
  • Добавление и убирание элементов в коллекциях
  • Множественные действия с коллекциями
  • Преобразования коллекций
  • Методы для работы с коллекциями в программе
  • Примеры использования коллекций в программе
  • Привилегии
  • Серийное выполнение и привязывание запросов к массивам
  • Серийное выполнение однотипных операций: конструкция FORALL
  • Привязка массивами: конструкция BULK COLLECT INTO
  • Пример для схемы SCOTT
  • Использование коллекций в табличных функциях (потоковой реализации)
  • Простой пример
  • Использование для преобразования данных

16. Отладка процедур в PL/SQL

  • Таблицы словаря-справочника
  • Зависимости подпрограмм
  • Системные пакеты
  • Пакет DBMS_PROFILER
  • Пакет DBMS_TRACE
  • Функции пакета DBMS_UTILITY
  • Пакет DBMS_DEBUG
  • Пример построения профиля работы программы

17. Системы программирования для PL/SQL

18. Системные пакеты PL/SQL

  • Пакеты STANDARD и DBMS_STANDARD
  • Прочие системные пакеты
  • Запись данных из программы в файл и обратно
  • Шифрование данных
  • Автоматический запуск заданий в Oracle
  • Управление динамическим размещением объектов в библиотечном буфере
  • Манипулирование большими неструктурированными объектами NULL
  • Доступ к старым значениям данных
  • Рассылка сообщений из программы на PL/SQL
  • Возможности работы в PL/SQL с COM Automation
  • Дополнительные сведения
  • Простой пример разделения открытия курсора и обработки
  • Более сложный пример разделения работы

20. Атрибуты триггерных процедур уровня схемы БД и событий в СУБД

ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ ORACLE НА JAVA

1. Основные понятия

  • Место Java в архитектуре Oracle
  • Соотношение и взаимосвязь PL/SQL и Java в Oracle

2. Особенности Java и среда работы программ на Java

  • Архитектура Java
  • Программные компоненты в среде разработки на Java
  • Установка среды разработки для Java
  • Среда окружения OC

3. Создание самостоятельных программ на Java

  • Пример транслирования и выполнения программы

4. Создание хранимых программ на Java в Oracle

  • Дополнительные компоненты СУБД Oracle для работы с хранимыми программами на Java
  • Ограничения на хранимые программы на Java
  • Установка, удаление и обновление JServer/OJVM
  • Пример создания хранимой Java-программы
  • Создание с помощью loadjava
  • Создание SQL-предложением
  • Обращение к загруженному классу
  • Работа со словарем-справочником
  • Организация справочной информации
  • Просмотр Java-элементов
  • Просмотр исходных текстов
  • Преобразование имен
  • Особенности встроенной JVM
  • Интерпретатор ojvmjava

5. Элементы программирования на Java

  • Основы языка
  • Базовые конструкции языка
  • Переменные
  • Операторы
  • Выражения, предложения и блоки
  • Передача управления
  • Объекты и простые структуры
  • Классы и наследование
  • Создание классов
  • Механика использования класса в программе
  • Наследование
  • Интерфейсы
  • Обработка исключительных ситуаций
  • Некоторые приемы программирования на Java
  • Графический интерфейс
  • Группы объектов (коллекции)
  • Потоковый ввод и вывод
  • Параметризация работы программы с помощью наборов свойств
  • Сериализуемость объектов

6. Взаимодействие с базой данных через JDBC

  • Использование JDBC
  • JDBC и JDBC-драйверы
  • JDBC-драйверы в Oracle
  • Установка JDBC-драйверов для работы с Oracle
  • Программа на Java для проверки связи через JDBC
  • Работа с данными Oracle из внешних программ на Java
  • Обращение к БД через толстый OCI-драйвер
  • Работа с данными Oracle из хранимых программ на Java
  • Обращение к БД через толстый драйвер («родной», kprb)
  • Обращение к БД через тонкий драйвер
  • Обращение к данным из триггерных процедур Oracle

7. Дополнительные свойства протокола JDBC

  • Соединение с СУБД с помощью техники DataSource
  • Простой пример соединения техникой DataSource
  • Пример соединения с использованием службы JNDI
  • Пример кеширования соединений
  • Примеры организации логических соединений
  • Изменение данных в БД и обращение ко хранимым подпрограммам
  • Изменение данных
  • Управление транзакциями
  • Обращение к хранимым программам
  • Параметризация запросов
  • Использование типов данных Oracle
  • Повышение эффективности обращений к БД
  • Повторяющиеся запросы
  • Пакетное выполнение
  • Ссылка из программы на курсор в СУБД

8. Взаимодействие с базой данных через SQLJ

  • Простой пример программы
  • Транслирование и выполнение программы с SQLJ
  • Более сложный пример: множественная выборка из БД
  • Использование SQLJ в хранимых процедурах на Java
  • Пример с загрузкой извне
  • Пример с внутренней трансляцией

9. Основы построения приложений для web с помощью Java и Oracle

  • Клиентская часть: работа с аплетами
  • Пример транслирования и выполнения аплета
  • Web-сервер Apache
  • Общение с web-сервером по протоколу HTTP
  • Общие понятия обмене сообщениями в HTTP
  • Организация диалога в HTML
  • Работа с сервлетами Java
  • Общие сведения о сервлетах Java и о контейнерах сервлетов
  • Устройство сервлета Java
  • Пример составления сервлета на Java
  • Пример обращения к сервлету
  • Пример сервлета с обращением к базе данных
  • Использование класса HttpServlet
  • Работа с JavaServer Pages
  • Пример составления страницы JSP
  • Пример обращения к странице JSP
  • Некоторые возможности построения страниц JSP
  • Способы обращение к БД из страницы JSP
  • Модель MVC организации приложения для web

10. Взаимодействие компонентов приложения для web

  • Передача управления компонентов приложения web друг другу
  • Обращение на страницах HTML к страницам JavaServer и сервлетам
  • Передача управления со страниц JavaServer
  • Передача управления компонентам web из сервлетов
  • Абстракции Java для построения приложения web
  • Запрос и ответ
  • Область действия (scope)
  • Контекст сервлета
  • Предопределенные объекты страницы JavaServer
  • Передача данных компонентов приложения web друг другу
  • Передача данных через параметры запроса
  • Передача данных через контекст и компоненты JavaBeans

11. Пример построения приложения для web средствами Java и Oracle

  • Страница Logon.html
  • Сервлет Logon
  • Страница LogonError.html
  • Страница Main.jsp
  • Страница CompanyData.jsp и класс orajava.demos.StuffData
  • Сервлет Logout
  • Транслирование классов, размещение файлов и проверка приложения
  • Дополнительные сведения

12. Пример программирования собственной разметки JSP

  • Пример использования готовой разметки
  • Пример программирования собственной разметки

В конце обучения на курсе проводится итоговая аттестация в виде теста или на основании оценок за практические работы, выполненных в процессе обучения.

В современном мире сложно обойтись без информационных технологий и их производных - компьютеров, мобильных телефонов, интернета и т.д., особенно в крупных компаниях и государственных организациях, работающих с большим количеством людей, а не только с парой VIP-клиентов, как это может быть в случае небольшой компании. А там, где есть большое количество контрагентов, заявителей и т.д. - не обойтись без баз данных, необходимых для обработки информации. Естественно, что времена гроссбухов и карточек, памятных многим по библиотекам, давно прошли, сегодня используются персональные компьютеры и электронные базы данных.

Сегодня невозможно представить работу крупнейших компаний, банков или государственных организаций без использования баз данных и средств Business Intelligence . Базы данных позволяют нам хранить и получать доступ к большим объемам информации, а система управления базами данных (СУБД) - осуществлять менеджмент доступных хранилищ информации.

В Учебном центре « Интерфейс» Вы научитесь эффективно использовать системы управления базами данных: быстро находить нужную информацию, ориентироваться в схеме базы данных, создавать запросы, осуществлять разработку и создание баз данных.

Обучение позволит Вам не только получить знания и навыки, но и подтвердить их, сдав соответствующие экзамены на статус сертифицированного специалиста. Опытные специалисты по СУБД Microsoft SQL Server или Oracle могут быть заинтересованы в изучении систем бизнес-аналитики. Это задачи достаточно сложные, использующие громоздкий математический аппарат, но они позволяют не только анализировать происходящие процессы, но и делать прогнозы на будущее, что востребовано крупными компаниями. Именно поэтому специалисты по бизнес-аналитике востребованы на рынке, а уровень оплаты их труда весьма и весьма достойный, хотя и квалифицированным специалистам по базам данных, администраторам и разработчикам, жаловаться на низкий уровень дохода тоже не приходится. Приходите к нам на курсы и получайте востребованную и высокооплачиваемую профессию. Мы ждем Вас!

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

Учебный центр "Интерфейс" оказывает консалтинговые услуги по построению моделей бизнес-процессов, проектированию информационных систем, разработке структуры баз данных и т.д.

  • Нужна помощь в поиске курса?
    Наша цель заключается в обеспечении подготовки специалистов, когда и где им это необходимо. Возможна корректировка программ курсов по желанию заказчиков! Мы расскажем Вам о том, что интересует именно Вас, а не только о том, что жестко зафиксировано в программе курса. Если вам нужен курс, который вы не видите на графике или у нас на сайте, или если Вы хотите пройти курс в другое время и в другом месте, пожалуйста, сообщите нам, по адресу

Поговорим про Oracle Database

Программное обеспечение баз данных - это основное на сегодняшний день программное средство управления большими объемами информации. Система управления базой данных (СУБД) должна быть способна надежно управлять большими объемами данных в многопользовательской среде, обладать высокой производительностью, быть защищенной от несанкционированного доступа и предоставлять эффективные решения для восстановления от сбоев. В этой статье я бы хотел рассказать об особенностях СУБД Oracle на примере Oracle 10g, уделив внимание также технологии Oracle Real Application Cluster.

Общие сведения о СУБД Oracle

Сервер Oracle Database (далее просто Oracle) обеспечивает эффективные и действенные решения для основных средств баз данных. Кратко рассмотрим каждое из них. Oracle поддерживает самые большие базы данных - потенциальным размером до сотен гигабайт. Чтобы обеспечить действенный контроль за использованием дорогостоящих дисковых устройств, он предоставляет полный контроль распределения пространства. Oracle поддерживает большое число пользователей, одновременно выполняющих разнообразные приложения, которые оперируют одними и теми же данными. Он минимизирует соперничество за данные и гарантирует согласованность данных. Oracle поддерживает все описанные выше возможности, при этом сохраняя высокую степень суммарной производительности системы. Пользователи базы данных не страдают от низкой производительности обработки. Во многих случаях ПО Oracle должно работать 24 часа в сутки, не имея периодов разгрузки, ограничивающих пропускную способность базы данных. Нормальные системные операции - такие, как откат базы данных, а также частичные сбои компьютерной системы, - не прерывают работу с базой данных. Oracle может выборочно управлять доступностью данных, как на уровне базы данных, так и на более низких уровнях. Например, администратор может отключить доступ к конкретному приложению (с тем, чтобы можно было осуществить перезагрузку данных этого приложения), не затрагивая других приложений. Чтобы извлечь максимум преимуществ из имеющейся компьютерной системы или сети, Oracle позволяет разделять работу между сервером базы данных и прикладными программами клиентов. Вся тяжесть управления совместно используемыми данными может быть сосредоточена в компьютере, выполняющем СУБД, в то время как рабочие станции, на которых работают приложения, могут сконцентрироваться на интерпретации и отображении данных. Программное обеспечение Oracle совместимо с промышленными стандартами включая большинство стандартных операционных систем - таких, как семейство Microsoft Windows NT, а также различные версии Linux. Приложения, разрабатываемые для Oracle, могут использоваться в любой операционной системе с минимумом модификаций или вообще без таковых. Oracle удовлетворяет промышленно принятым стандартам по языку доступа к данным, операционным системам, интерфейсам с пользователем и сетевым протоколам. Это открытая система, которая защищает инвестиции конечного заказчика. Сервер Oracle был сертифицирован Национальным институтом стандартов и технологий США как 100% совместимый со стандартом ANSI/ISO SQL89. Oracle полностью удовлетворяет требованиям правительственного стандарта США FIPS127-1 и имеет маркировщик для подчеркивания нестандартных применений SQL. Кроме того, Oracle был оценен Правительственным национальным центром компьютерной безопасности (NCSC) как совместимый с критериями защиты Оранжевой книги; сервер Oracle и Trusted Oracle отвечают соответственно как уровням C2 и B1 Оранжевой книги, так и сравнимым с ними европейским критериям защиты ITSEC. Oracle является классической реляционной СУБД, использующей механизм клиент-сервер.

Важным преимуществом СУБД Oracle является механизм пакетной обработки запросов с подтверждением. Транзакционный механизм позволяет не опасаться сбоев программной среды и оборудования. В случае успешного завершения обработки пакета SQL-команд сервер баз данных генерирует так называемый commit - подтверждение успешного выполнения, которое отсылается клиенту. В случае же аппаратного или программного сбоя происходит rollback - возвращение к предыдущей контрольной точке, благодаря чему целостность данных в любой ситуации не будет нарушена. Для возможности отмены целого набора транзакций предусмотрен механизм точек сохранения, которые могут быть созданы вручную или автоматически. Таким образом, отпадает необходимость в постоянной архивации базы данных, которую можно проводить лишь несколько раз в сутки, а в остальных случаях администратор просто восстанавливает точки сохранения. СУБД Oracle использует язык SQL - простой, мощный язык доступа к базе данных, который является стандартным для реляционных СУБД. SQL, реализованный корпорацией Oracle для Oracle, на 100% согласуется со стандартом ANSI/ISO языка SQL. Кроме того, в Oracle реализовано расширение стандартных функций SQL, называемое PL/SQL. PL/SQL сочетает легкость и гибкость SQL с процедурными возможностями языка структурного программирования - такими, как IF...THEN, WHILE и LOOP. Наличие огромного количества средств разработки приложений, взаимодействующих с СУБД Oracle, среди которых присутствуют такие известные решения, как Microsoft Visual Studio, Borland Delphi и JDeveloper, позволяет большинству программистов без особых временных затрат научиться писать приложения, использующие в качестве хранилища базы данных Oracle. Поддержка механизмов ODBC, BDE и JDBC позволяет осуществлять миграцию между различными программными и аппаратными платформами с минимальными затратами на модификацию программного обеспечения. Благодаря полной унификации всех версий СУБД Oracle в одной и той же сети могут работать разные версии Oracle для различных платформ - к примеру, сервер баз данных может иметь версию Oracle 8 for Unix, а клиенты - Oracle for Windows, при этом никаких проблем с взаимодействием не возникнет. Все вышеперечисленное позволяет использовать СУБД Oracle для автоматизации практически любых процессов, где идет работа с большим объемом данных - начиная от простейших АРМ небольшого предприятия и заканчивая системами управления ядерными реакторами и ускорителями частиц.

Технология Oracle Real Application Cluster(RAC)

Высокая эффективность и доступность информационных систем - ключевое требование к повседневной работе предприятия или научной лаборатории. Рост зависимости от сохраненной информации за последнюю пару десятилетий привел тому, что накапливаются и анализируются большие объемы данных. Требования к высокоэффективным базам данных постоянно растут, и одновременно растут осведомленность и требования к поддержанию таких баз данных в оперативном режиме. При неравномерной и непредсказуемой загрузке систем БД многих деловых групп решающее значение приобрел поиск высокоэффективных систем и подходящих параллельных систем для поддержки сложных и больших БД. Еще одно важное свойство - масштабируемость. По мере роста локальной вычислительной сети предприятия растет накопление и взаимодействие данных, все больше пользователей и приложений начинают использовать системы БД, от которых требуется удовлетворять растущую потребность в данных без потери производительности и доступности. Для решения этих проблем в Огас1е9 имеется поддержка технологии Real Application Clusters (RAC). RAC поддерживает модель с разделением дисков, а, следовательно, имеет доступ ко всем разделяемым дискам и экстенсивный механизм координирования ресурсов на разных узлах. Технология разделения дисков быстро продвинулась вперед за последние несколько лет, что обеспечило RAC дополнительные преимущества. Технология "сервер-хранилище данных" (Storage Area Network - SAN) скрывает многие сложности аппаратных модулей, контроллеров, дисководов и межсерверных соединений, оставляя на поверхности только тома памяти (storage volumes). Таким же образом группа серверов в кластере обеспечивает один образ системы и вычислительный ресурс. Все эти достижения в области аппаратных средств только подчеркивают неоспоримые успехи RAC. На очень высоком уровне RAC представляет собой несколько экземпляров Oracle, обращающихся к одной базе данных Oracle. База данных - одна физическая БД, сохраненная на системе с разделением памяти. Каждый из экземпляров постоянно находится на отдельном хосте (также называемом "узел" или "сервер"). Все узлы собираются в кластеры через частное межсоединение и имеют доступ к разделяемой памяти. Все узлы параллельно выполняют транзакции в одной и той же БД. Как правило, предоставляемое поставщиками ПО менеджера кластера обеспечивает одно системное изображение, управляет членами узла и контролирует состояние узла. К главным компонентам относятся:

Узлы/серверы.
. Высокоскоростное частное межсоединение.
. Менеджер кластера или уровень зависимости от операционной системы (Operating System Dependent Layer - OSD).
. Разделяемый диск или память.
. Файловая система кластера или прозрачное устройство.
. Менеджер тома.
. Общедоступная сеть.

RAC - база данных с множественными экземплярами. Множественные экземпляры параллельно обращаются к одной и той же базе данных. Структура экземпляра RAC не так уж сильно отличается от автономного экземпляра Oracle. Помимо всех обычных процессов Oracle - например, PMON, SM0N, LCWR и BVVR - существует много специальных процессов, порождаемых для координирования связи между экземплярами и облегчения разделения ресурсов узлами кластера. Движение буфера между экземплярами и новый набор блоков Past Image Blocks (сохраняющих целостность данных) приводят к использованию дополнительных ресурсов из SGA.

LMON - диспетчер сервиса глобальных очередей (Global Enqueue Service Monitor - LMON) контролирует весь кластер, обеспечивая управление глобальными очередями и ресурсами. LMON управляет сроком действия процесса и экземпляра и восстановлением для Global Cache Service. LMD - демон сервиса глобальных очередей (Global Enqueue Service Daemon - LMD) - процесс агента блокировки, управляющий запросами сервиса менеджера для очереди Global Cache Service на доступ к глобальным очередям и ресурсам. Процесс LMD также обрабатывает обнаруженные взаимоблокировки и удаленные запросы на постановку в очередь.

LMSn - эти процессы сервисов глобального кэша (Global Cache Service Processes - LMSn) являются процессами для Global Cache service (GCS). Программное обеспечение RAC поддерживает до десяти процессов Global Cache Service. Число LMSn изменяется в зависимости от объема трафика передачи сообщений между узлами кластера.

GCS и GES - обеспечивают единое системное изображение данных, даже если к данным обращаются несколько экземпляров. GCS и GES являются интегрированными компонентами Real Application Clusters, которые координируют одновременный доступ к базе данных коллективного пользования и к разделяемым ресурсам в БД и кэше базы данных. GES и GCS вместе поддерживают Global Resource Directory (GRD), чтобы записывать в него информацию о ресурсах и очередях. GRD остается в памяти и сохраняется во всех экземплярах. Каждый экземпляр управляет частью каталога. Распределенный характер управления имеет решающее значение для отказоустойчивости RAC.

Преимущества Oracle Real Application Cluster

Oracle RAC обеспечивает ряд преимуществ по двум направлениям: повышение производительности базы данных и повышение отказоустойчивости. Под отказоустойчивостью в данном случае понимается возможность бесбойного обслуживания клиентских приложений в случае аппаратного или программного сбоя одного или нескольких узлов кластера, именуемых нодами. При этом подразумевается нормальная работа общего дискового массива, который может быть реализован в виде сетевого жесткого диска, использующего механизм iSCSI, или дисковой стойки. В случае подключения к RAC клиент базы данных взаимодействует не с одним listener (прослушивателем), а с группой listeners_имя базы данных. В таком случае клиент получает список IP-адресов всех нод кластера, причем данный список будет обновляться в случае включения новых нод. В случае обрыва соединения с текущей нодой и сбоя при повторном соединении клиент устанавливает соединение со следующей нодой в списке, и так происходит до того момента, пока не будет найдена рабочая нода. При этом клиент будет также учитывать нагрузку на каждую ноду, выбирая такую, которая быстрее всех обработает тестовый запрос (данный тест является опциональным и должен быть включен администратором базы данных). Таким образом, Oracle RAC сохраняет работоспособность до того момента, пока в кластере остается хотя бы одна рабочая нода. В Oracle RAC присутствует понятие general node (главная нода), однако оно относится исключительно к средствам администрирования. Как правило, general node является рабочим местом администратора базы данных, с нее осуществляется управление кластером. При этом выход из строя general node не приводит к остановке всего кластера. Отсюда вытекает еще одно важное преимущество Oracle RAC - возможность децентрализации. Предположим, на предприятии или в лаборатории имеется несколько мощных рабочих станций, вычислительные мощности которых используются не полностью. Если соединить такие рабочие станции при помощи локальной вычислительной сети, то можно получить высокоотказоустойчивую базу данных. При этом в случае возрастания нагрузки на одну или несколько рабочих станций со стороны непосредственных пользователей будет происходить плавное снижение нагрузки на данные рабочие станции со стороны базы данных вплоть до полного отключения клиентов. Таким образом можно достигнуть рационального использования вычислительной техники и повышения доступности информации для работников организации.

Из-за чего RAC может выйти из строя? Причиной может стать любая плохая разработка или вариант выбора. Обслуживание базы данных включает в себя много компонентов. помимо самой БД, RAC может быть включен и работать, но быть недоступен для клиентов. Между клиентскими машинами и серверами БД существуют промежуточные сетевые компоненты. В них может произойти сбой. Стихийные бедствия, уничтожающие аппаратные средства - например, пожар, наводнение или землетрясение, - могут вывести кластер и базу данных из строя. Однако при условии локализации сбоев свойство RAC обеспечивает максимальную безопасность и непрерывное обслуживание базы данных. Даже при потере многих компонентов кластер с RAC может все еще функционировать. Но для этого требуется избыточная разработка всех входящих в него компонентов. Ключевое слово здесь - "разработка". Недостаточно просто установить два или больше узлов; для надежного Real Application Cluster необходимы двойные межсоединения, двойные пути к блокам памяти, двойные блоки памяти, двойное электропитание, двойной общедоступный сетевой интерфейс и т.д. Пока в кластере доступен один из экземпляров Oracle, клиентские приложения имеют доступ к данным и могут выполняться без проблем.

Управление Oracle с использованием Oracle Enterprise Manager

Одной из основных компонент Oracle Enterprise Manager (OEM) является центральная консоль оператора. Сидя за этой консолью, администратор базы данных видит все СУБД, которые он администрирует, несмотря на то, что они размещаются на разных компьютерах, которые могут быть разбросаны по разным зданиям, городам и странам. Он может отслеживать состояние этих СУБД и выполнять с каждой СУБД или с группой СУБД различные административные действия, не сходя со своего рабочего места. При необходимости он может все это делать через Интернет. Кроме СУБД, администратор может контролировать с этой консоли узлы сети (компьютеры), листенеры (прослушиватели), серверы приложений (Oracle application servers), Oracle Developer Server, ERP-приложения (SAP/R3, Oracle Applications) и, конечно же, Oracle RAC.

OEM состоит из 3 компонент:
. центральные консоли, за которыми работают администраторы;
. управляющие серверы (Management servers), реализующие всю логику OEM;
. интеллектуальные агенты (Intelligent Agents), работающие на узлах, где размещены БД, и выполняющие там задания по поручению управляющих серверов.

Для эффективной работы с Oracle Enterprise Manager необходимо настроить Oracle Management Server, иначе многие полезные функции OEM будут недоступны. Для этого следует воспользоваться Enterprise Manager Configuration Assistant. Этот простой в использовании мастер позволит настроить OMS даже неопытному администратору. OEM позволяет выполнять не только те команды, которые выполняются экземпляром (instance) Oracle, но и команды операционной системы, старт и остановку БД. Поэтому на каждом управляемом узле должен работать сервис, который не привязан к состоянию БД. Эту роль и выполняет интеллектуальный агент. Он может выполнять скрипты, стартовать БД, выполнять команды операционной системы, контролировать возникновение заказанных OEM-событий. Причем выполнение этих работ может происходить в заранее указанные моменты времени или с определенной периодичностью, а результат будет передан управляющему серверу тогда, когда тот будет иметь связь с агентом. Вместе с OEM можно проинсталлировать его web-вариант. Он не требует дополнительного конфигурирования. Администратор просто запускает на компьютере с OEM установленную упрощенную версию сервера приложений и может работать с консолью через Интернет/Интранет с любого компьютера, где есть web-браузер (правда, при первом обращении придется выгрузить и установить пакет Jinitiator). Через этот web-интерфейс доступны все функции OEM и пакета DBA Management Pack. OEM и все его модули имеют графический интерфейс. Большинство работ выполняется с помощью мыши. Выполнить сложные операции помогают помощники (Wizards). Они разбивают сложную операцию на части и ведут с АБД диалог, объясняя, что и как надо делать. Таким образом, даже не очень опытный администратор может выполнить сложные задачи. Кроме того, OEM еще и обучает АБД в процессе работы. Вы всегда можете посмотреть текст скриптов и SQL операторов, которые он формирует, и понять, что и почему будет делаться.

В состав OEM входит набор заранее подготовленных заданий - таких, как анализ данных, экспорт/импорт, загрузка данных, копирование/восстановление, старт/остановка БД, выполнение команд SQLPLUS и Server Manager. Меняя параметры этих заданий, можно выполнять широкий набор функций. Кроме того, этапы одного задания могут быть взаимосвязаны - например, выполняться только при успешном или неуспешном выполнении предыдущего этапа задания. Задания могут запускаться не только по времени, но и автоматически при возникновении фиксируемых OEM- событий в БД или на узле. Это так называемые Fixit job. Например, при возникновении события "В табличном пространстве xxxxx осталось менее 1 Мб свободного пространства" автоматически запустится Fixit job, увеличивающая это табличное пространство. Вмешательство администратора здесь не требуется. Он будет лишь извещен о выполнении работы. В режиме работы с Oracle RAC OEM может рассматривать кластер как единую машину, выполняя операции обслуживания на всех нодах кластера сразу. При этом в случае возникновения проблем на одной из нод администратор сможет переключиться к просмотру Oracle Management Console по узлам кластера и работать только с "проблемной нодой". Таким образом, при правильной настройке OEM становится практически идеальным инструментом, когда администратор БД будет проактивным. OEM будет предупреждать события до их возникновения, а администратору не придется реагировать в пожарном порядке на постоянно возникающие проблемы. В этом случае количество проблем уменьшится, а вероятность ошибок станет минимальной. Выгоды от использования такого инструмента понятны. Уменьшится время простоя системы и повысится ее производительность.

Xpert Quest TOAD как средство разработки приложений, взаимодействующих с БД Oracle

Quest Toad - лучший инструмент для разработки и администрирования СУБД Oracle на сегодняшний день. Применяя Toad для управления объектами базы данных, пользователю не требуется иметь квалификацию эксперта, ему доступен простой и понятный графический интерфейс, позволяющий создавать и заполнять таблицы даже не владея языком SQL. Однако при выполнении любого действия начинающий программист баз данных может просмотреть SQL-код, выполняемый при тех или иных операциях, что позволяет одновременно и работать, и изучать язык SQL. Quest TOAD состоит из следующих основных модулей. Модуль Schema Browser в TOAD позволяет быстро просматривать и управлять словарем данных. По щелчку мыши на выбранном объекте пользователь мгновенно получает подробную информацию, минуя длинную иерархию хранения объектов. В том же окне можно управлять всеми объектами. Мощные редакторы Toad повышают производительность разработчика, исключают ошибки и значительно сокращают сроки разработки. Редакторы позволяют пользователям работать одновременно с исходными кодами на нескольких языках (SQL, PL/SQL, HTML, Java) или с текстом. Заменяя традиционный способ выполнения запроса в командной строке или из сценария графическим интерфейсом, Toad обеспечивает быструю и удобную среду разработки, легко конфигурируемую под предпочтения пользователя. SQL Editor повышает производительность разработки за счет большого количества горячих клавиш, функций автокорректировки, опережающего ввода и цветового выделения синтаксиса:

Удобные закладки позволяют разработчикам быстро перемещаться между несколькими областями программного кода.
Полнофункциональная панель инструментов облегчает редактирование и тестирование.
Всплывающие селекторы для выбора имен таблиц, имен столбцов и функций/ключевых слов.
Procedure Editor позволяет пользователям работать с несколькими файлами, в параллельном режиме используя SCC-совместимое управление версиями. Одновременно могут компилироваться несколько объектов с согласованной компиляцией всех зависимых объектов.

Редакторы Toad тесно интегрированы с отладчиком PL/SQL Debugger, что позволяет пользователям тестировать только определенные области процедур, выполнять только текущий оператор, несколько операторов за курсором или только операторы до курсора. SQL Modeler - средство для быстрого и легкого построения запросов. Достаточно перенести таблицы в SQL Modeler, и модуль автоматически сформирует запрос SQL. Удобная интегрированная среда позволяет уточнять критерии запроса, тестировать автоматически сгенерированные запросы SQL, просматривать планы выполнения и результаты запросов, сохранять выражения или копировать их в редактор. Применяя SQL Modeler, даже неопытные пользователи могут быстро создавать сложные запросы на уровне экспертов. Модуль PL/SQL Debugger обеспечивает удобную среду отладки приложений, экономя время для разработки и тестирования больших проектов. За счет интеграции отладчика с редактором Procedure Editor разработчики могут редактировать и отлаживать хранимые процедуры построчно - так, как они выполняются на сервере. Отладчик полностью контролирует выполнение приложения, устанавливая наблюдение за любым количеством переменных с просмотром и изменением их значений в процессе выполнения. Нормальное выполнение приложения при этом не изменяется, чем устраняется потребность в написании обработчиков ошибок. Более того, сеанс отладки может выполняться во время работы программ в других сеансах. Toad позволяет разработчикам избегать утомительных задач отладки PL/SQL, экономя ценное время и улучшая общее качество приложений. Кроме всего вышеперечисленного, Quest TOAD умеет импортировать и экспортировать структуру базы данных или все ее содержимое. Благодаря этой способности Quest TOAD позволяет, к примеру, перевести уже существующую базу данных в кластерный вариант с минимальными временными затратами.

Oracle RAC в действии

Решения на базе СУБД Oracle активно применяются для автоматизации документооборота и наукоемких физических экспериментов с большим объемом данных, поступающих от экспериментальных установок. Координирование совместной работы значительного числа ученых (на сегодняшний день около 6500 человек), распределенных по всему миру, сопряжено со значительными административными затратами, для уменьшения которых в ЦЕРН была разработана и внедрена корпоративная система электронного документооборота (EDH). Система EDH автоматизирует практически все стороны хозяйственной деятельности ЦЕРН включая закупки, платежи, отпуска, командировки, кадровые вопросы, обеспечение безопасности работ, предоставление информационных услуг, материально-техническое снабжение, заявки на обучение и др. Система осуществляет верификацию данных и автоматическое прохождение документов по всем необходимым адресам, исходя из структуры организации и характера документов. Безопасность и конфиденциальность данных гарантируется применением новейших разработок в области защиты информации и электронно-цифровой подписи. Система EDH написана на языке программирования высокого уровня Java с использованием технологий разработки корпоративных приложений (Java 2 Enterprise Edition - J2EE). Документы представлены в EDH в виде электронных форм, доступных из любой точки земного шара через среду World Wide Web. При этом вся бизнес- логика находится на стороне сервера, а клиент реализован на языке разметки гипертекста HTML (т.н. "тонкий клиент"). В процессе создания EDH были формализованы понятия, используемые в бизнес-процессах ЦЕРН ("сотрудники", "коды затрат", "подразделения" и т.д.), и разработаны библиотеки объектов для их хранения, обработки и ввода/вывода. Все данные хранятся в реляционной СУБД Oracle, доступ к которой осуществляется при помощи языка SQL (Structured Query Language - структурированный язык запросов) через интерфейс JDBC (Java Database Connectivity - интерфейс подключения к базе данных для Java). Была разработана и внедрена базовая инфраструктура, позволяющая быстро автоматизировать любые бизнес-процессы. Данная инфраструктура реализует функции, общие для всех типов документов - такие, как ввод/вывод, контроль доступа, проверка целостности данных, функции сохранения и отсылки документов. Маршрутизация электронных документов реализуется с помощью системы Oracle Workflow, для чего бизнес- процессы вначале формализуются при помощи сетей Петри.

Разработанная архитектура EDH успешно эксплуатируется с 2000 года. За это время в системе было создано и маршрутизировано более миллиона электронных документов. С 1996 года в ЦЕРН ведется строительство нового ускорителя "Большой адронный коллайдер" (LHC). В LHC могут осуществляться столкновения протонных пучков с энергией 14 ТЭВ в туннеле протяженностью 27 км. LHC является крупнейшей в мире сверхпроводящей установкой с рабочей температурой -270°C. При строительстве LHC для уменьшения расходов по вводу системы в эксплуатацию была создана система EVM. Для системы EVM было адаптировано программное приложение, разработанное в ЦЕРН ранее в Oracle Designer. Данное приложение было перенесено на платформу Java Enterprise Edition с центральной базой данных Oracle. При этом была использована легковесная архитектура с четким разделением модели, вида и контроллера, так как оригинальная архитектура стандарта EJB (Enterprise Java Beans) была сочтена слишком тяжелой для данной задачи.

Перед инженерами-проектировщиками LHC была поставлена задача составления центрального формата рабочих единиц таким образом, чтобы длительность каждой задачи не превышала трех месяцев. В результате было идентифицировано 12.000 рабочих единиц. Поскольку определение большого количества взаимосвязанных рабочих единиц через web-интерфейс представляет определенные трудности, в системе EVM был предусмотрен модуль импорта/экспорта данных в электронную таблицу Microsoft Excel. Для оперативного анализа транзакций (Online Transaction Processing - OLTP) и оперативного анализа данных (Online Analytical Processing - OLAP) был разработан и внедрен автоматизированный модуль обработки суммарных данных, позволяющий руководителям проекта получать в реальном режиме времени информацию о ходе работ и обеспечивающий анализ этой информации в различных разрезах. Поскольку доступ к системе EVM был преднамеренно открыт для всех участников проекта, возникла необходимость отслеживания сделанных изменений. Для этого все отчеты о результатах, как сделанные через web-интерфейс, так и полученные из Excel, группируются в транзакции и записываются в центральную базу данных. Каждая транзакция может затем быть визуализирована и при необходимости отменена. В EVM входит система обработки событий, отслеживающая влияние транзакций на план и расходы и уведомляющая нужных участников проекта на основе подписки на предупреждения.

Заключение

В данной статье я постарался просто и доступно рассказать про особенности Oracle Database и, смею надеяться, заинтересовал вас данной СУБД. В таком случае вам стоит посетить сайт производителя Oracle Database

Блоги по базам данных участников нашей соцсети программистов и системных администраторов на различные темы. Прежде всего мы уделяем внимание базам данных Oracle Database и MySQL. Также рассматриваем основы баз данных: теорию и методы проектирования, разработки СУБД, язык SQL (и его дополнение для Оракл - PL/SQL). В блогах объясняем как основы администрирования БД, программирования приложений под базы для начинающих, так и делимся секретами решения сложных проблем. Делитесь Ваши знаниями, ставьте вопросы, публикуйте готовые решения и рецепты! Помогите новичкам и покажите свой профессионализм! Хедхантеры не дремлют!

Предположим, вам нужно нанять веб-разработчика, работавшего с Angular. Что, по вашему мнению, должен знать такой специалист? Он должен понимать архитектуру, компоненты и концепции приложений Angular, но этого недостаточно. В следующем относительно длинном списке приводятся языки и инструменты, которыми пользуются профессиональные Angular-разработчики. Не все они нужны для разработки и развертывания конкретных приложений, но потенциально программист Angular должен обладать компетенциями в использовании этих инструментов.

Обязательно ли использовать фреймворки? Нет, можно написать клиентскую часть веб-приложений на чистом JavaScript. В этом случае не нужно изучать что-то новое, достаточно знания языка JavaScript. Отказ от фреймворков приведет к возникновению трудностей при поддержке совместимости между браузерами, а также к увеличению циклов разработки. Фреймворки же позволяют полностью управлять архитектурой, шаблонами проектирования и стилями кода вашего приложения. Большая часть современных веб-приложений написаны при сочетании нескольких фреймворков и библиотек.

Проблема

У вас есть приложение, которое собирает данные об использовании приложений анонимно, поэтому вы обязаны информировать пользователей об этом при первом запуске приложения.

Решение

Храните общие настройки, сохраняя их значения только один раз. Каждый раз, когда приложение запускается, оно проверяет эти значения в настройках.

Проблема

Разработчики часто хотят отслеживать свои приложения с точки зрения функ­ций, используемых пользователями. Как вы можете определить, какая функция больше всего используется пользователями вашего приложения?

Решение

Используйте Google Analytics для отслеживания приложения на основе опреде­ленных критериев, аналогично механизму отслеживания веб-сайта Google Analytics.

Проблема

Вы хотите создать заставку, которая появится во время загрузки приложения Android.

Решение

Вы можете создать заставку в виде объекта класса Activity или как диалоговое окно. Поскольку его цель достигается в течение нескольких секунд, его можно удалить по истечении короткого промежутка времени или нажав кнопку на заставке.

Проблема

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

Проблема

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

Существует несколько подходов. Если все ваши данные содержат элементар­ные типы, состоят из объектов класса String или являются объектами класса Serializable , вы можете сохранить их с помощью метода onSavelnstanceState() в переданном объекте класса Bundle .

Как получить доступ к глобальным данным из приложения Android

Подробности Категория: Программирование Опубликовано: 05 марта 2019 Просмотров: 258

Для начала небольшое лирическое отступление. Компания Oracle была создана в 1977 году, в данное время директором компании является Лари Элисон. Компания насчитывает более 36 000 сотрудников (не считая нас пользователей), в более чем 90 странах мира. Годовой оборот компании составляет более 5,2 миллиарда долларов в год! Вот так работают ребята! Для примера сравните с бюджетом России скажем за прошлый год! :) Истории пока хватит.

Переходим к аппаратным требованиям. В принципе Oracle Personal Edition , ставиться на Пентиум 330 и 128 мег озу! Хотя возможно поэкспериментировать и с меньшими объемами, но я настоятельно не советую, так как заработаете "мозговую травму", пытаясь например понять почему все так медленно работает? Например, я на своей службе не имею машин ниже Celeron 1300 и 256 озу. Но это кому как повезет! Значит будем считать, что NT4.0 либо Advanced 2000 у вас установлен и в радостном ожидании встречи с Oracle Server уже все работает.

Сразу оговорюсь, все будем пробовать на платформу NT . Почему? Во-первых, засорять вам мозги операционкой типа AIX , Solaris , Linux , я не буду, тем более, что когда поумнеете и без меня сами разберетесь, а работать с Oracle , что на UNIX , что на NT , с точки зрения клиента особой разницы нет. Просто я хочу без лишних трений попытаться показать Вам всю мощь этой зверюги под именем ORACLE , а там флаг вам в руки, дерзайте изучайте операционные системы и юзайте его по полной!

Еще один щепетильный момент - МелкоМягкие очень не любят все, что производят в конторе Лари Элисона, по этому предупреждаю сразу не стоит эксперементировать и пытаться скрещивать на одном серваке MS SQL и Oracle !!! :(Результаты будут самые плачевные!!! Лучше отдельная машина и веселитесь в свое удовольствие!!! А по поводу какой сервер лучше MS SQL или Oracle , я полемику разводить уж тем более не буду!!! Да и вам не советую!!!

Переходим непосредственно к инсталяции, так как без это начинать работать с Oracle , не имеет особого смысла, а знать этот процесс, на будущее вам пригодиться! Я все поведу от Oracle 8.1.5.0 и вот почему! У меня на руках версия этого сервера наиболее правдоподобная и проверенная, 8.1.7.0 у меня тоже есть, но она имеет мало отличий от первой. Есть у меня и 9i, но для нее у меня еще нет путевого сервака, а посему делайте вывод. Можете отступать от моих инструкций благо я не страдаю манией величия и вообще всем свойственно ошибаться. Все замечания и дополнения будут приниматься дабы увеличить, долю истины в сим мероприятии познания Oracle Server !

Итак, кто не имеет дистрибутива 8.1.5.0 и иже с ними желательно приобрести, либо поспрашивать у друзей и знакомых!!! Кто-нибудь обязательно поможет и я в это искренне верю, время у вас еще есть!!!

Итак, устанавливаем диск в компашник и чутко прислушиваемся к процессу AutoRun ! Ух ты, и что мы видим!?

Oracle Universal Installer - сия прога поможет нам установить и сконфигурировать продукты Oracle на вашем сервере или рабочей станции. Предложение щелкнуть по кнопке "Установленные продукты" советую пропустить и не никуда пока не "щелкать", а просто кликнуть кнопочку "далее" насладившись приятным баннером со словами "Добро пожаловать"!!!

Далее попадаем на экран "Расположение файлов" - здесь думается нужно немного остановиться подробнее: позиция 1 - это то где расположены ваши файлы инсталляции, то есть компакт привод вашей машины, либо что-то еще. Позиция 2 - это системная переменная окружения Oracle , по которым ищутся компоненты сервера или клиента и соответственно путь к этим компонентам. Менять здесь, что либо до поры до времени не советую, но если очень чешутся ручки, можете попробовать, но за последствия не отвечаю!!! :)))))

Итак, кажется началось! Вот оно собственно сам сервер собственной персоной (хорошо, что не нон-грато:). Теперь давайте немного притормозим и разберемся. Позиция 1 указывает на то, что мы выбираем для инсталляции собственно сервер, но это не совсем так, потому что эта же позиция добавит на сервер NT и клиентскую часть, чтобы можно было общаться с сервером Oracle непосредственно с сервера! Во, туфтология началась! Вторая позиция это установка чистого клиента, его еще называют "толстым"! Но об этом чуть позже. И на конец третья позиция, это как не трудно догадаться для программера, дабы он своял нам что-то удобоваримое для работы с сервером!

Усидчивые и те кому я еще не надоел кликайте кнопочку далее и смотрите следующий экран!

А!, вот тоже кое что интересное! Сейчас нам предлагают, выбрать тип установки, пока выбирайте "типовая", она самая простая и задает меньше всего вопросов, а самое главное делает почти все до конца сама и не надоедает всякими глупыми предложениями! Выбирайте ее и не мудрите. Хотя, если кто выберет минимальную, тоже ничего, но вопросы по ходу будете решать сами! А вот пользовательскую пока не советую трогать вообще, так как у вас еще знаний маловато. Жмем далее и смотрим следующий экран!

Здесь советую оставить как есть опция CD-ROM , иначе она вам зафигачит к тем семистам еще 133 метра, на ваш диск! Так что как всегда Далее!!!

Так - ПРИЕХАЛИ!!! Не знаю даже с чего начать! Начнем с первой позиции Global DataBase Name - так как Oracle начиная с версии с буквой -i , означает что доменные имена БД имеют те же правила, что и в Интернете, следовательно получай фашист гранату! Необходимо писать Имя->Дот->Домен, то есть, например vasiapupkin.ru, либо что-то еще что придет в ваше окрыленное моментом сознание! Я написал просто proba.com , так как "он уважать себя заставил и лучше выдумать не мог"! Вторая позиция SID это все кроме .com , то есть имя экземпляра базы глобальное, с ним будет связан еще один момент, но о нем чуть позже! Так что, если здесь не соблюсти схему Имя->Дот->Домен, будете делать все заново!!! А ваш клиент так и не найдет экземпляр вашей базы!

Вот и открылась сводочка, здесь проследите только чтобы язык установки был русский! А он и так русский, вот и славненько!!! Кликать далее завязываем, так как вот он и настал долгожданный миг и со всей силы Жмем "Установка"!!!

Вокруг черной дыры начнет крутиться планета, а прогресбар начнет свое вечное синее движение вправо или голубое, а в прочем какая разница!!! Смотрим и наслаждаемся этим прекрасным зрелищем!!!

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

Так, а вот и ответственный момент все вроде бы само собой, но вот именно сейчас рождается экземпляр БД!!! Очень ответственный участок, да пока "накорми собак и ничего не трогай!!!" :))

Ура!!! БД создана экземпляр запущен и готов к приему коннектов! Но вот здесь и начинается самое интересное. Вот это окошко рассказывает о трех танкистах, нет не о тех, что выпили по триста!!! А тех, которые отвечают за Администрирование только что новоиспеченного экземпляра БД!!! НЕ ТОРОПИСЬ НАЖИМАТЬ кнопку ОК!!! Выполни принтскрин и скопируй из буфера в паинтбраш, так я кстати и делал эти скриншоты!!! И вот почему. У этих трех, твои ключи от БД как администратора. Первого зовут sys он старший из братьев, его пароль по умолчанию change_on_install , второго зовут system , пароль по умолчанию manager ! Средний был и так и сяк, а вот младший совсем не дурак!!! Его зовут INTERNAL , его пароль (как его задавать это тема для отдельного шага) - правильно ORACLE ! Кто они такие и с чем их едят, я еще расскажу, пока это все на данный момент, жми OK!

А вот еще один способ, проверить как себя чувствует сервер. Надо открыть "Панель управления - Администрирование - Службы" и найти два сервиса, один в имени заканчивается так же как SID базы, а другой заканчивается TNSListener ! Так вот они должны оба быть запущены и оба стоять Automatic !!! Кто из них, для чего пока разбирать не будем.

А сделаем вот что. Нажмем на первом (...PROBA) правой кнопкой мыши и выберем пункт меню Stop . Надо не забыть запустить Диспетчер задач! Если после того как процесс остановится желтая линия расхода памяти резко опуститься вниз, значит сервер УПАЛ! Нет, вернее просто экземпляр базы остановлен, но в этом нет ничего страшного:)

Теперь там же правой кнопочкой мыши, только на этот раз Start , УРА!!! Память скакнула вверх! Экземпляр снова в работе. База доступна и снова ждет коннектов. Второй сервис пока не отключайте и остальные тоже пока не трогайте, с ними разберемся позже! Вот отсюда напрашивается вывод! Весь экземпляр БД живет в ОЗУ!!! И это одна из особенностей сервера Oracle ! А, особенностей у него уйма в чем мы и убедимся в дальнейшем! На этом с установкой пока все!



Понравилась статья? Поделиться с друзьями: