Как поставить oracle 12c enterprise на windows 10

Обновлено: 07.07.2024

Коллеги, выложили видео с информацией, как развернуть базу с помощью Vagrant + ssh скриптов. Используется Oracle Linux 8 и база Oracle 19C. Для инсталляции необходимо скопировать дистрибутив в нужный каталог и запустить vagrant. Все остальное, скрипты сделают самостоятельно.

Для информации:

Если нет задачи поставить Oracle на какую-то конкретную операционную систему и задача, в первую очередь, сводится к изучению Oracle, рекомендую ставить базу на Oracle Linux. Oracle взяла исходники RedHat и собрала свой дистрибутив. В публичном репозитории Oracle Linux имеются пакеты, которые могут сильно упростить инсталляцию базы и дополнительные пакеты, расширяющие стандартные возможности. В дополнении ко всему вышесказанному, вы можете использовать допиленное ядро UEK, которое, (вроде как) в некоторых случаях имеет некоторые преимущесва перед стандартным. Но здесь нужно проводить тесты конкретного приложения. Ссылки на дистрибутив Oracle Lunux в теме для инсталляции.

Подготовка к инсталляции базы данных Oracle:

(Использовать, если в самом документе отстуствует информация о том как это делается)

Инсталляция базы данных Oracle в операционной системе Microsoft Windows:

Инсталляция базы данных Oracle в операционной системе Oracle Linux:

Инсталляция с использованием ASM:

ASM - более “правильный” способ подготовки окружения Oracle. Суть в том, что для хранения данных используется не файловая система (например, ext*), заточенная для обычных операций в операционной системе, а файловая система разработанная специалистами из Oracle для хранения данных.

“Сырые” (RAW) жесткие диски без файловой системы объединяются в пулы специальными средствами Oracle, что позволяет их логически организовывать и иметь (какие-то) преимущества по сравнению с файловой системой операционной системы.

При этом создается дополнительный экземпляр Oracle, инсталлируется GRID, появляются еще (какие-то) дополнительные возможности. Администрирование несколько усложняется.

Лично мне, не приходилось плотно работать с окружением, где бы использовался ASM (поэтому может чего и не знаю), но приходилось устанавливать (установил, отдал и забыл) и настраивать ASM в окружении для RAC.

Если я понял что-то неправильно, поправьте.

Инсталляция Oracle Client:

Oracle Client нужен, чтобы подключиться к базе с помощью большого количества программ для работы с базами данных, например таких как PL/SQL Developer, SQL Navigator, TOAD.

Программой SQL Developer от Oracle можно подключиться без установки Oracle Client.

    (C 64 битным клиентом не работают такие программы как PL/SQL Developer)

Instantclient - альтернатива стандартному Oracle Client. Проще в установке на Linux (если нужно поставить client на Ubuntu, то лучше исользовать его). А так это минимальный набор библиотек для удаленного подключения к серверу баз данных. В дополнение, я обычно устанавливаю утилиту командной строки SQLPlus. И все, больше ничего для нормальной работы и не требуется.

Так начиналась одна из глав руководства Oracle Database 6 для администраторов.

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


В этой статье мы рассмотрим процесс установки Oracle Database 12c на Windows Server 2008 R2 в облаке на один сервер. Развертывание кластерных конфигураций и тестирование производительности будет рассмотрено в следующих статьях.

Создание облачного сервера

Для создания облачного сервера вам необходимо получить доступ в InfoboxCloud. После этого войдите в панель управления и создайте облачный сервер. Для установки базы данных Oracle на Windows мы рекомендуем использовать сервер с не менее чем 4 гб оперативной памяти и не менее чем 35 гб места на диске. В разделе «операционная система» выберите «Windows». Не забудьте выделить публичный ip–адрес для клиента и задать достаточную скорость сети.


На следующем шаге выберите операционную систему Windows Server 2008 R2 и завершите создание сервера.


Вы получите данные для доступа по RDP на электронную почту. Подключитесь к серверу.

Установка Oracle Database 12C

Для того чтобы с помощью Internet Explorer в Windows Server 2008R2 можно было загружать файлы, необходимо запустить «Server Manager» и выбрать пункт «Configure IE ESC».


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


Загрузите требуемый дистрибутив базы данных из Oracle Technology Network. В этой статье мы рассматриваем Enterprise редакцию. Процесс установки других редакций существенно не отличается. Для загрузки нужно установить флаг согласия с лицензионным соглашением «Accept license agreement» и нажать на каждую из ссылок. Вам будет предложено ввести данные учетной записи Oracle. Если у вас еще нет учетной записи Oracle – будет предложено создать ее.


Распакуйте каждый из файлов архива инсталлятора в одну и ту же директорию.
Затем перейдите в папку database распакованной папки и запустите setup для запуска установки.

Укажите свой адрес электронной почты и нажмите «Next».


Выберите пункт «Create and configure a database» и нажмите «Далее».


Если вы используете базу для разработки, на следующем шаге можно выбрать пункт «Desktop Class» и процесс установки будет упрощенным. Если вы используете базу для промышленного использования, выберите «Server Class».


В этой статье мы не рассматриваем возможности кластеризации, поэтому необходимо выбрать пункт «Single instance database installation».


На следующем шаге выберите Typical Database Installation.


Теперь необходимо создать пользователя в Windows для работы сервисов Oracle. Выберите пункт «Create New Windows User», введите логин и пароль пользователя, для создания.


На следующем шаге укажите пути для установки СУБД, укажите пароль администратора базы и нажмите «Next».


Начнется автоматизированный процесс подготовки к установке.


Нажмите «Install» для начала установки.



Спустя некоторое время установка будет завершена.


Вы можете установить пароль тут же и разблокировать необходимые аккаунты, нажав «Password Management».


Теперь база данных Oracle полностью установлена.


Вы можете войти в утилиту командной строки SQLPLUS:



Если на этапе установки вы не установили пароль для требуемого пользователя, вы можете сделать это через SQLPLUS так:

, где newpassword – ваш новый пароль.

Также вы можете подключиться локально к базе через SQL Developer (Пуск -> Oracle — OraDB12Home1 -> Application Development -> SQL Developer).

Нажмите "+" для создания нового подключения.


Установите настройки, показанные на скриншоте ниже, и нажмите «Connect».


Соединение успешно установлено. Можно ввести запрос для проверки.


Для входа в Oracle Enterprise Manager используйте адрес:

В процессе разрешите использовать самовыданный сертификат и установите Adobe Flash Player (сняв галочки установки другого стороннего софта, предложенного Adobe).
Для доступа можно воспользоваться логином SYS и паролем, который мы установили ранее.


Таким образом, мы успешно установили базу данных Oracle на облачный сервер в InfoboxCloud. Если вы нашли ошибку в статье или у вас возник вопрос, пожалуйста, напишите нам в ЛС или на email. Если вы не можете оставлять комментарии на Хабре — напишите в Сообществе InfoboxCloud.

Версия Oracle database 12c внесла существенное новшество в 30-ти летний продукт. Теперь внутренний системный "словарь" экземпляра разделён на части, что позволяет создавать "облегчённые" базы данных с усечённым "пользовательским словарём". Такие базы могут быть легко "извлечены" из одной контейнерной базы и "подключены" в другую, как одно целое. При этом такое существенное изменение в продукте остаётся полностью прозрачным для правильно написанного приложения.

Также в новой версии наконец-то появилась достойная альтернатива ужасному Cloud Control - облегчённый простой и эффективный Enterprise Manager Express.

В предлагаемой заметке я привожу пример установки Оракла 12c, создания контейнерной и подключаемой баз и включения Enterprise Manager Express.

Прежде чем мы продолжим, я хотел бы привести строки из Евангелия:


. == От Иоанна святое благовествование == .
=== Глава 10, Стих 9 ===
1 Истинно, истинно говорю вам: кто не дверью входит во двор овчий, но
перелазит инуде, тот вор и разбойник;
2 а входящий дверью есть пастырь овцам.
3 Ему придверник отворяет, и овцы слушаются голоса его, и он зовет своих овец
по имени и выводит их.
4 И когда выведет своих овец, идет перед ними; а овцы за ним идут, потому что
знают голос его.
5 За чужим же не идут, но бегут от него, потому что не знают чужого голоса.
6 Сию притчу сказал им Иисус; но они не поняли, что такое Он говорил им.
7 Итак, опять Иисус сказал им: истинно, истинно говорю вам, что Я дверь овцам.
8 Все, сколько их ни приходило предо Мною, суть воры и разбойники; но овцы не
послушали их.
9 Я есмь дверь: кто войдет Мною, тот спасется, и войдет, и выйдет, и пажить
найдет.

Лично для вас благая весть - Единородный Сын Божий Иисус Христос любит вас, Он взошёл на крест за ваши грехи, был распят и на третий день воскрес, сел одесную Бога и открыл нам дорогу в Царствие Небесное.

Словно радуга после дождя, всегда приходящая вместе с теплыми лучами солнца и пением птиц, Слово Божие всегда прямо перед нами - только повернись лицом к свету, открой Библию, прочти чудесные строки - и вот Он, Спаситель Иисус Христос, прямо перед вами. Господь всегда приходит к нам в светлых видениях и мыслях, явно принося милость благодать и прощение для тех, кто захочет услышать.

Но как же часто мы с вами как будто специально отворачиваемся от Приходящего к нам дверями нашей души пастыря и блуждаем по тёмным закоулкам наших сердец, ища мнимых благ, утешающих самолюбие и жадность, но губящих душу! И ведь слышим же голос Иисуса, зовущий нас за Ним, и ведь знает сердце наше голос этот - и так и рвётся к Нему навстречу. Ан нет, вновь опускаем очи наши долу и смотрим пристально под ноги, надеясь найти золотой слиток. Но всё чаще находим лишь объедки после чьего-то грешного застолья . А ведь всего-то и нужно, что поднять глаза, дать душе рвануть вверх - именно там спасение, пажить с достатком, необходимым для спокойной счастливой независтливой жизни, и вход и выход .

Покайтесь, примите Иисуса как вашего Спасителя, ибо наступают последние времена и время близко - стоит Судья у ворот.

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

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

Вернёмся к нашим техническим деталям.

В 12-том Оракле данные пользователя и приложений должны храниться исключительно в "подключаемых" базах. "Контейнерная" база содержит только "системную" часть словаря, "корневую" системную базу и "начальную" базу-пустышку. Возможно создание "монолитной" базы "по старинке", так же как это делалось в 10 и 11 версиях, но от этого способа надо как можно скорее отказываться.

Установка ОС и Oracle 12c в silent режиме

Как всегда, всё начинается с операционной системы. Установим Oracle Linux Server release 5.8 в виде виртуальной или физической машины. Я использую Virtual Box и просто "клонирую" уже имеющуюся систему:

Если вы используете виртуализацию - создайте "snapshot" сейчас, до начала установки Oracle. Это позволит "откатить" машину назад в случае неудачи.

Во время установки, запуска и тестирования базы наблюдайте за производительностью вашей ОС. В моём случае я наблюдаю за самим "хостом", а не за "виртуалкой":

Таким образом я также отслеживаю температуру процессора, материнской платы и видео карты. Данные могут быть неточны - сравните с показаниями в BIOS.

Теперь распакуем архив файла поставки:

Подготовка к установке

Запуск программы установки

Я предпочитаю устанавливать Oracle Database в "молчаливом" режиме, который позволяет мне чётко видеть происходящее, обнаруживать ошибки, легко повторять установку на нескольких машинах (узлах кластера?) и продлевать срок службы мышки.

Действия после установки

После установки, как указано в лог файле, мы запустим скрипт от имени суперпользователя:

Теперь остались мелочи - добавить вновь установленный Оракл в маршрут поиска файлов и проверить переменные среды пользователя:

Настройка и запуск Network Listener

После того, как все двоичные файлы и библиотеки Оракла были установлены на предыдущем этапе, нам надо начать с конфигурирования и запуска сетевых процессов. Для подготовки listener файла мы будем использовать "помощника сетевой конфигурации":

Создание "Контейнерной" базы данных, без схем пользователя

Для создания пустой "контейнерной базы" я использую тот же самый Database Configuration Assistant.

Новая база данных создана - но мы не будем хранить в ней никаких данных конечных пользователей. Эта база, в соответствии с её именем, является просто контейнером для хранения "системных" компонентов - и они используются совместно всеми "подключенными" базами, устраняя ненужное дублирование данных и уменьшая число рекурсивных системных вызовов.

Тем не менее, контейнерная база регистрируется листенером и мы можем подключаться к ней, как показано ниже. Но прежде всего нам надо было создать тот самый "системный" каталог в нашей пустой контейнерной базе - обычно это делалось скриптами, так же это делается и сейчас. Одно "НО" - в нашей "пустой" контейнерной базе CDB уже сейчас имеются две "подключаемые" базы - "root" и "seed". В каждой из этих PDB наш DBCA, используя скрипт, должен был создать индивидуальную "пользовательскую" часть (копию) каталога, и при этом в самом "контейнере" CDB - одну общую для всех "системную" часть разделённого каталога Oracle.

Начало "прелестей" виртуализации . таким образом, скрипт "catcon.pl" даёт нам возможность запускать любой, даже пользовательский, SQL скрипт во всех pluggable databases за один раз, экономя время.

Пора проверить результат нашей установки - можем ли мы подключиться к вновь созданной контейнерной базе CDB? Заметьте - в выводе listener мы не видим никаких строк с типом протокола "RAW". Это важно - смотрите следующий фрагмент ниже.

Уже очевидно, что мы сможем подключиться к базе CDB через SQL*Plus. Но как же графики и картинки? Тут ситуация на удивление улучшилась значительно!

Мы можем "создать" внутри самой базы необходимые компоненты так, что Enterprise Manager Express (используя встроенную XML DB - в нашем примере выше это "CDBXDB") будет "обслуживать" только эту базу, не требуя никаких дополнительных систем типа Cloud Control. К тому же, сама функциональность Enterprise Manager Express изначально ориентирована на разработчиков и администраторов баз данных, что очень радует и упрощает работу. С самого начала, главная страница Enterprise Manager Express предоставляет нам в одном месте всю необходимую для работы информацию. Видно что EM Express разрабатывал специалист по базам данных, а не разработчик Java приложений.

Повторюсь, EM Express не является J2EE приложением, не требует Weblogic или других локальных контейнеров. Это простое и изящное продолжение DB Control'a, с добавкой дополнительных возможностей, взятых из SQL Active Reports. И всё это находится непосредственно внутри базы, использует только XML DB и не имеет внешних зависимостей.

Откроем вебброузер и зайдём на адрес "http://db12c.localdomain:8080/em". Убедитесь что дополнения вроде NoScript, Adblock and FlashBlock не блокируют веб сайт. Зайдите под именем пользователя "sys/oracle", отметив при этом опцию "as sysdba".

Теперь зайдите на страницу "Performance/Performance Hub" - это удачно дополняет функциональность "SQL Active Report". Будьте внимательны и проверьте лицензирование вашего сервера - EM Express использует различные EM Packs, которые должны иметь отдельную лицензию.

Отключить EM Express также просто:

На мой взгляд, EM Express - одно из самых удачных нововведений Oracle 12c.

Создание "Подключаемой" базы из существующего "образца"

Все наши действия до этого момента были бесполезны для конечного пользователя. Несмотря на обилие уже выданных команд, приложениям всё ещё негде хранить данные. Настало время создать подключаемую базу (pluggable database). Существует несколько способов создания PDB - мы будем создавать базу путём копирования структуры существующего образца ("seed") - этот образец был создан заодно с CDB.

Из имени контейнера видно, что мы подключены к "корню" "CDB$ROOT" контейнерной базы CDB, в которой (видно из "cdb_pdbs") имеется "образец" "PDB$SEED" - именно из него мы и будем создавать новую клиентскую базу.

Проверим появилась ли новая база в нашем "общем" системном словаре Oracle:

В процессе создания PDB появляются записи в alert log, здесь я пересоздаю PDB повторно:

Подключение к новой PDB

Как я уже говорил, сетевые службы стали особенно важны - подключиться к PDB можно только через её service (в нашем случае "pdb1").

Обратите внимание - запуск "контейнерного" экземпляра CDB открывает саму CDB но оставляет все подключаемые PDB в смонтированном, но неоткрытом состоянии. Открыть все PDB за один раз можно командой "alter pluggable database all open" - но она сработает только если вы подключены к "CDB$ROOT". Все вновь созданные PDB находятся в состоянии "mount".

Также с введением PDB появляется новый принцип - каждое приложение должно иметь собственную подключаемую базу. Это позволяет избежать неприятностей с совпадающими именами объектов, синонимов и прочее. Кроме того логическая "изоляция" данных каждого приложения упрощает поддержку и миграцию.

Итак, мы открыли вновь созданную подключаемую базу PDB1 - но всё это было сделано при подключении к контейнерной базе CDB. Теперь подключимся (наконец-то!) к самой PDB1.

Заметим, что "контейнерная" база CDB предоставляет "общий" tablespace UNDO для всех "подключаемых" баз PDB, но при этом каждая из PDB имеет свою собственную "копию" SYSTEM, SYSAUX и TEMP.

Также запомним что "локальный" администратор подключаемой базы PDB не может подсоединиться к "корню" контейнерной базы CDB:

Работа с подключаемой базой

Проверить параметры одной PDB можно так.

Кроме того, пользователь "SYS" из контейнерной базы CDB, но подключенный к PDB, не сможет изменить "системную" часть "разделённого" словаря Oracle. Этот же пользователь сможет выполнить эту же самую операцию, но подключившись к контейнеру "CDB$ROOT". Это сделано в качестве попытки защитить ДБА от самих себя?

Возьмём на заметку, что единственно возможный способ установления сессии, имеющей PDB в качестве начального контейнера - это указание имени сетевой службы (service) в строке подключения. Сие означает, что текущий контейнер можно изменять в ходе работы с уже подключенной сессией.

Также "разделённый" словарь Oracle означает что при обновлении (upgrade) Oracle Home нам понадобится запускать скрипт только на CDB. Множество мелких PDB не потребуют обновлений, поскольку PDB могут "видеть" (но не изменять!) уже обновлённые объекты из "общей" части системного словаря CDB. Внутренние механизмы под названием "metadata link" и "object link" позволяют всем PDB видеть "общую" часть стандартных объектов, поставляемых Ораклом в составе "database dictionary".

Демонстрируя смену текущего контейнера, попытаюсь ввести некие ограничения на объём дискового пространства, потребляемого одной PDB. Предположим, что моя PDB должна "укладываться" со всеми её tablespaces (users, sys and temp) в рамки 2 Гб и при этом не потреблять более 0.8 Гб "общего" TEMP tablespace, предоставляемого CDB.

Что бы это значило?

Ну что, дорогой читатель, с вас хватило "новинок виртуализации"? :-) Если всё ещё нет - подумайте о PDB на платформе RAC .

В общем, похоже нас ожидают интересные времена и Oracle не даёт нам скучать :-)

image_thumb2

2. На экранее Apps выберите иконку Database Configuration Assistant.

SNAGHTML5ed3c43

image

image

image

image

image

image

image

Задайте опции восстановления базы (в данном примере опции восстановления не используются). Установите галочку Specify Fast Recovery Area. В эту папку по умолчанию делается резервное копирование с помощью RMAN, и сохраняются архивные копии журнальных файлов. По умолчанию папка располагается в \fast_recovery_area. В поле Fast Recovery Area вы можете изменить этот путь и явно задать папку для резервного копирования. В параметре Fast Recovery Area Size задаётся лимит на размер этой папки (лучше сделать его равным объёму всего жёсткого диска). Параметр Enable Archiving включает режим архивирования журнальных файлов. Если нажать кнопку Edit Archive Mode Paramets то можно изменить шаблон для имён архивов журнальных файлов, а также дополнительные пути для мультиплицирования архивных копий. Оставьте всё по умолчанию.

ВНИМАНИЕ: Для промышленной базы нужно обязательно включать режим архивирования журнальных файлов. Однако, при достижении лимита папки Fast Recovery Area (т.е. при её полном заполнении) база данных остановиться, и будет ждать свободного места. Поэтому, если вы не можете следить за заполнением этой папки – НЕ включайте режим архивирования журнальных файлов, т.е. не ставьте галочку в поле Enable Archiving.

Нажмите Следующий.

image

image

image

Обязательные параметры (обязательно изменить!).

Рекомендованные параметры (можно не трогать).

; Для большого количества активных пользователей (более 70-80).

; Считайте РЕАЛЬНЫХ ПОЛЬЗОВАТЕЛЕЙ,

; а не количество компьютеров в сети.

; Если пользователей меньше 70-80 – не трогайте эти параметры.

; Если пользователей больше 100-200 возможно более эффективно

; использовать режим разделяемого сервера (Shared Server Mode).

sessions = 1,1*processes +5

image

image

image

image

image

image

image

18. Окно Database Configuration Assistant. Создание базы данных завершено. Запишите WEB-адрес для Database Control. Нажмите Закрыть.

image

19. БД создана и уже запущена. Для соединения с БД из других ORACLE_HOME, необходимо настроить сетевую среду Oracle для них.

20. После создания БД можно изменить некоторые настройки для БД. Для нужно выполнить несколько sql-команд в sqlplus (или TOAD) под SYS и перезапустить БД.

Запустите sqlplus /nolog.

C:\> sqlplus /nolog

соединитесь с БД под пользователем sys as sysdba

SQL> conn sys/sys as sysdba

отключить использование корзины в БД

SQL> alter system set recyclebin=off scope=spfile;

отключить регистрозависимость пароля

SQL> alter system set sec_case_sensitive_logon=FALSE scope=both;

(по желанию) чтобы не менять пароль пользователям каждые 60 дней

вместо unlimited можно поставить число = количеству дней

SQL> alter profile DEFAULT limit password_life_time unlimited;

SQL> shutdown immediate

SQL> startup

21. Старые версии клиентов 8, 9, 10, 11 не могут соединиться с Oracle 12c с ошибками:

Для решения проблемы нужно добавить в sqlnet.ora на сервере

22. Некоторые клиенты oracle 10 и 11 падают с ORA-01031: insufficient privileges при попытке выполнить

Starting 12c, the SELECT ANY DICTIONARY privilege no longer permits access to security sensitive data dictionary tables DEFAULT_PWD$, ENC$, LINK$, USER$, USER_HISTORY$, and XS$VERIFIERS. This change increases the default security of the database by not allowing access to a subset of data dictionary tables through the SELECT ANY DICTIONARY privilege.

Читайте также: