Многопользовательская Архитектура Oracle 12C. Новые Возможности Разработки И Тестирования

Самым большим нововведением в недавно выпущенном Oracle 12c, безусловно, является Мультиарендная архитектура .

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

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

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

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

Проблема в том, что у нас большая система с большой базой данных.

Необходимо тестировать изменения, а деструктивные изменения - удаление/изменение таблиц.

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

Сам процесс не быстрый, трудоемкий и всегда есть вероятность допустить ошибку.

И «минимальный набор данных» может быть не таким уж маленьким.

В документации к команде СОЗДАНИЕ ПОДКЛЮЧАЕМОЙ БАЗЫ ДАННЫХ , В главе клонирование Есть упоминание о опции SNAPSHOT COPY. Судя по описанию, при создании клона с опцией SNAPSHOT COPY файлы данных клонированной базы копироваться не будут. Для них будет создаются снимки копирования при записи, и только измененные блоки клонированной базы данных будут занимать дисковое пространство.

Создание клонов со снимками возможно либо на АКФС или в специализированном НАН .

«Эксперимент проводился в среде Oracle Virtualbox 4.2.14. Подробно установку описывать не буду; это хорошо описано в документации; Остановлюсь лишь на важных моментах.



Монтаж

Устанавливаем Oracle linux 6.4 с обновлениями, зависимостями для oracle и поддержкой ASM:
  
  
  
  
   

$ uname -a Linux ora12.local 2.6.39-400.109.1.el6uek.x86_64 #1 SMP Tue Jun 4 23:21:51 PDT 2013 x86_64 x86_64 x86_64 GNU/Linux $ yum install oracle-rdbms-server-11gR2-preinstall $ yum install oracleasm-support

настройте ASM и создайте ASM-диск:

$ oracleasm configure -i $ oracleasm createdisk -v data /dev/sdb1

Установите Oracle Database 12c Release 1 Grid Infrastructure (12.1.0.1.0) для Linux x86-64 в режиме одного узла.

В пути обнаружения -> /dev/oracleasm/disks. Используя команды asmcmd или используя АСМКА создайте том дисковой группы (DATA) (DATAVOL) и файловую систему кластера ASM с точкой монтирования (/data).

Под rootом монтируем ACFS и убеждаемся, что всё в порядке:

$ mount | grep data /dev/asm/datavol-326 on /data type acfs (rw)

Подключитесь к экземпляру ASM и измените режим совместимости:

$ sqlplus "/ AS SYSASM" ALTER DISKGROUP data SET ATTRIBUTE 'compatible.rdbms' = '12.1.0.0.0'; ALTER DISKGROUP data SET ATTRIBUTE 'compatible.advm' = '12.1.0.0.0';

Устанавливаем Oracle Database 12c Release 1 (12.1.0.1.0) для Linux x86-64, при установке выбираем только установку ПО (enterprise).

После успешной установки запустите дбка и создайте контейнер базы данных: Создать базу данных -> Расширенный режим -> Пользовательская база данных -> Создать как базу данных-контейнера (создать пустую базу данных-контейнера) .

В качестве типа хранилища мы указываем ASM (+DATA).

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

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

Начинаем создавать базу данных и ждем успешного завершения.

В результате мы получаем базу-контейнер с сид-базой данных (база модели для создания подключаемой базы данных).

Проверим, что всё работает: Скрытый текст

$ sqlplus "/ AS SYSDBA" SQL*Plus: Release 12.1.0.1.0 Production on Thu Jul 4 13:48:26 2013 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production With the Partitioning, Automatic Storage Management, OLAP, Advanced Analytics and Real Application Testing options SQL> SELECT NAME,OPEN_MODE FROM V$PDBS ; NAME

Теги: #oracle #тестирование #разработка #acfs #oracle

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.