Новые возможности СУБД Oracle Database 12c Release 2
Марк Ривкин
Руководитель отдела баз данных и облачных вычислений технологического консалтинга Oracle СНГ
30 ноября, 2016 года
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Oracle Multitenant – Архитектура
Общая SGA Общий набор background процессов Один SPFILE «Pluggable» БД
CDB
PDB$ SEED
PDB1 PDB2 PDB3
Redo Control Flashback spfile
Pluggable DB RAC и ASM In-Memory Sharding Partitioning PL/SQL JSON
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
• Количество подключаемых баз данных в контейнере увеличено с 252 до 4096
• Управление выделением памяти на уровне каждой PDB (buffer cache, shared pool, PGA, SGA_MIN_SIZE, SGA_TARGET)
• Управление ресурсами I/O (MAX_IOPS, MAX_MBPS в init.ora)
• Улучшение изоляции для PDB
• PDB lockdown profile – перечень административных операций разрешенных в PDB
Увеличение степени консолидации
HR
CRM
Multitenant Container
Public Pluggable DB RAC и ASM In-Memory Sharding Partitioning PL/SQL JSON
PDB Lockdown Profiles
Network access
•Операции которые используют сеть для коммуникации вне PDB
•e.g. UTL_SMTP
System access
•Операции которые работают с компьютером и ОС
•e.g. Выполняют команды хоста
File Access
•Операции которые работают с файлами и папками
•e.g. Размещение External table
Common User or object access
•Операции которые могут позволить локальному пользователю PDB работать через CDB пользователя и обращаться к общим объектам
Administrative features
•Операции которые позволяют администрировать некоторые DB опции
•e.g. Oracle Text
Зачем они нужны?
• Защита разделяемых ресурсов
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Управление SGA для PDB
Sales
Marketing
Support
Root
Ограничение SGA для PDB
освобождает память для
других!
SGA
_TA
RG
ET
SGA_TARGET можно установить для PDB. Устанавливает hard limit
для PDB’s SGA.
CDB’s SGA
Public Pluggable DB RAC и ASM In-Memory Sharding Partitioning PL/SQL JSON
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Управление SGA для PDB
Sales
Marketing
Support
Root
Установив SGA_MIN_SIZE для PDB,
получаем Гарантированный объем SGA для PDB.
SGA
_MIN
_SI
ZE
CDB’s SGA
Public Pluggable DB RAC и ASM In-Memory Sharding Partitioning PL/SQL JSON
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Клонирование PDB без останова
• PDB Hot Clone
• Онлайновое создание мастер-копии БД в облаке, для дальнейших тестов
CRM
Oracle Cloud
Pricing Retail
On-Premises
7
Hot Clone
Snap Clone
Snap Clone
CRM CRM Dev1 CRM Dev2
Developers
Public Pluggable DB RAC и ASM In-Memory Sharding Partitioning PL/SQL JSON
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
CRM
Oracle Cloud
Pricing Retail
On-Premises
CRM
Snap Clone
Snap Clone
CRM Dev1 CRM Dev2
Developers
TIME
Изменения в БД
Клон не синхронизирован
Копируются и применяются только изменения
Public
Обновление PDB
• PDB Hot Clone
• Онлайновое создание мастер-копии БД в облаке, для дальнейших тестов
• PDB Refresh Инкрементальное обновление клона БД свежими данными
Pluggable DB RAC и ASM In-Memory Sharding Partitioning PL/SQL JSON
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Public
Перемещение PDB
• PDB Hot Clone
• Онлайновое создание мастер-копии БД в облаке, для дальнейших тестов
• PDB Refresh • Инкрементальное обновление клона
БД свежими данными
• PDB Relocate • Перемещение PDB без простоя
CRM
HR
Oracle Cloud
Pricing Retail
On-Premises
CRM
Pluggable DB RAC и ASM In-Memory Sharding Partitioning PL/SQL JSON
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
HOT Cloning PDB Refresh manual
PDB Refresh automatic
Клонирование PDB - примеры
SQL> CREATE PLUGGABLE DATABASE oedev FROM oe@dblink
SQL> CREATE PLUGGABLE DATABASE OEDEV FROM OE@DBLINK REFRESH
MODE MANUAL;
SQL> ALTER PLUGGABLE DATABASE OEDEV OPEN READ ONLY;
SQL> ALTER PLUGGABLE DATABASE OEDEV REFRESH;
SQL> CREATE PLUGGABLE DATABASE OEDEV FROM OE@DBLINK REFRESH
MODE EVERY 360 MINUTES; -- каждые обновление 6 часов
SQL> ALTER PLUGGABLE DATABASE OEDEV OPEN READ ONLY;
Public Pluggable DB RAC и ASM In-Memory Sharding Partitioning PL/SQL JSON
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 12
TNS LISTENER
TNS LISTENER
ПРИЛОЖЕНИЕ НЕ ИЗМЕНЯЕТСЯ СТРОКА СОЕДИНЕНИЯ НЕ ИЗМЕНЯЕТСЯ
12.2 PDB RELOCATE КАК ЭТО РАБОТАЕТ LSNR CONNECTION FORWARDING Другие режимы: LSNR CROSS REGISTRATION COMMON LISTENER
CDB1
GL AP PO
CDB2
create pluggable database OE from OE@CDB1_dblink relocate online;
OE OE
REDO, UNDO and Datafile Copy Iterative REDO Copy
TNS LISTENER_NETWORKS UPDATED IN PDB FOR CONNECT FORWARDING
NEW READ and WRITE CONNECTIONS FORWARDED TO RELOCATED PDB
Iterative REDO Copy
alter pluggable database OE open;
OE
Final REDO Copy and ROLLBACK
OE TOMBSTONE
Public Pluggable DB RAC и ASM In-Memory Sharding Partitioning PL/SQL JSON
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
12.2 Per PDB Flashback
GL AP
PRODUCTION
T5
OE OE
T30 T0 T50 T20 T70 T90 CDB$ROOT
T5 T30 T0 T20
PDB OE
T5
T30
MRP RESTORE POINT alter session set container = OE;
create restore point mrp;
alter pluggable database OE close;
flashback pluggable database OE to restore point mrp;
T5 alter pluggable database OE open resetlogs;
PDB OE CLOSE
T100
Public Pluggable DB RAC и ASM In-Memory Sharding Partitioning PL/SQL JSON
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Application Containers
Общие данные: справочники, информация о клиентах, нормативная информация
До 12.2: Общие данные и код дублируются в всех PDB
Public Pluggable DB RAC и ASM In-Memory Sharding Partitioning PL/SQL JSON
Pricing Retail CRM
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
• Application Container cодержит
• Application Root (Master)
• PDBs в составе контейнера
• Application Seed (шаблон для создания новых PDB в Application Container)
• PDB разделяют общие данные
• Код, метаданные и данные • Еще больше упрощение управления
• Обновления общих данных один раз – в Application Container-е
• Синхронизация мастер-данных • Подходит для любых приложений
Application Containers Контейнер для приложений
Pluggable DB RAC и ASM In-Memory Sharding Partitioning PL/SQL JSON
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Application Containers
16
• Совместное использование кода и данных приложения несколькими PDB
Account Type • Credit • Debit • Check • Savings
Bank Account
Person
Bank Card
PDB$SEED APP ROOT PDB1 PDB2 PDB3
Pluggable DB RAC и ASM In-Memory Sharding Partitioning PL/SQL JSON
Новое в Real Application Cluster и Automatic Storage Management
Pluggable DB RAC и ASM In-Memory Sharding Partitioning PL/SQL JSON
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Узлы RAC Reader в Oracle RAC 12.2 Классический RAC Cluster
12.2 Flex Clusters с RAC Reader Nodes
Сильно связанные серверы, напрямую
подключенные к общей СХД
• Узлы RAC Reader обеспечивают
масштабирование read-only-нагрузки на тысячи
узлов
• RAC Reader узлы поддерживают огромное
число вычислительных узлов
• RAC Reader работают на основе концепции Leaf-
узлов, которая появились в Oracle Flex Cluster
12.1
• Leaf-узлы cлабо связаны и НЕ подключены к
общей СХД
• Отказ Leaf-узла не влияет на другие узлы и на
другую нагрузку
• Использование RAC Reader Nodes
обеспечивает перенос read-only нагрузки с DB-
узлов, освобождая их для другой работы
Ввод-вывод leaf-узлов обслуживается Hub-узлами (Исключение: Exadata)
Слабо связанные серверы, НЕ
подключенные к общей СХД
Pluggable DB RAC и ASM In-Memory Sharding Partitioning PL/SQL JSON
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Массивная масштабируемость RAC
19
• Массивная масштабируемость выполнения параллельных запросов
• С помощью Flex Cluster, параллельные
запросы могут выполняться на leaf-узлах
• Не обслуживают сессии БД напрямую
• Массивная масштабируемость только для
Parallel Query Parallel Query Coordinator
Parallel Query Processes
Pluggable DB RAC и ASM In-Memory Sharding Partitioning PL/SQL JSON
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Управление хранением данных на основе БД для гибкости и достуности
ASM Flex Diskgroup - новый тип дисковой группы ASM
Организация дисков в ASM-группе до 12.1
Diskgroup
DB3 : File 1
DB2 : File 2 DB1 : File 3
DB3 : File 3
DB2 : File 1
DB1 : File 1
DB1 : File 2
DB2 : File 3 DB3 : File 2
DB2 : File 4
12.2 Flex Diskgroup Organization
Flex Diskgroup
DB1 File 1
File 2
File 3
DB2 File 1
File 2
File 3
File 4
DB3 File 1
File 2
File 3
File Group Разделяемое
управление ресурсами Управление ресурсами
на основе БД
Pluggable DB RAC и ASM In-Memory Sharding Partitioning PL/SQL JSON
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Flex Diskgroup
DB1 File 1
File 2
File 3
DB2 File 1
File 2
File 3
File 4
DB3 File 1
File 2
File 3
Quota
DB3
File 1
File 2
File 3
Организация дисковой группы ASM Flex • Дисковая группа ASM Flex
обеспечивает:
– Управление квотами – лимит пространства выделенный для БД
– Изменение избыточности – уменьшение уровня зеркалирования для менее критичных БД
– Теневые копии (“split mirrors”) для легкого и быстрого создания клонов БД для тестирования и разработки
ASM Flex Diskgroup - продолжение Управление хранением данных на основе БД для гибкости и достуности
Pluggable DB RAC и ASM In-Memory Sharding Partitioning PL/SQL JSON
Oracle Database In-Memory 12.2
Pluggable DB RAC и ASM In-Memory Sharding Partitioning PL/SQL JSON
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Что такое Oracle Database in-Memory?
• Оба строчный и колоночный форматы для одних и тех же данных
• Данные согласованы и транзакционно целостны
• OLTP-операции используют строчный формат
• Аналитика и отчетность используют новый колоночный формат • Одинаковый результат вне
зависимости от используемого формата представления в памяти
Обычный Буферный кэш
In-Memory Columnar Cache
SALES SALES
Строчный формат
Колоночный формат
Pluggable DB RAC и ASM In-Memory Sharding Partitioning PL/SQL JSON
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
• Real-Time аналитика на резервной БД, без влияния на основную БД
• Более эффективное использование ресурсов резервной БД
• Различные политики In-Memory для одной и той же таблицы на основной и резервной БД
24
In-Memory на Active Data Guard Standby
Month In-Memory
Production Standby
Year In-Memory
Public Pluggable DB RAC и ASM In-Memory Sharding Partitioning PL/SQL JSON
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 25
In-Memory на Active Data Guard Standby
SQL> ALTER TABLE cities
INMEMORY
DISTRIBUTE FOR SERVICE dwh_ro
INMEMORY (Id, Name, Country_Id, Time_Zone)
NO INMEMORY (Created, Modified, State);
Table altered.
Столбцы помещаются в In-Memory, только на тех экземплярах, где доступен сервис
Пример: включаем для таблицы In-Memory для определенного сервиса
Pluggable DB RAC и ASM In-Memory Sharding Partitioning PL/SQL JSON
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
• In-Memory Join Group включают в себя столбцы используемые в соединениях таблиц
• Столбцы разделяют общий словарь в In-Memory (для кодирования в compression unit)
• Соединения выполняются на основе cловаря в In-Memory, не используя значения столбцов
• Увеличение скорости соединений в 2-3 раза!
In-Memory Join – быстрые соединения таблиц в IMDB
Пример: Посчитать объем продаж в магазинах типа "Outlet"
CREATE JOIN GROUP store_sales_jg (stores(store_id), sales(store_id);
Stores Соединение по Store_ID
Type=‘Outlet’
Sales
Am
ou
nt
Sto
re ID
Typ
e
Sto
re ID
Public Pluggable DB RAC и ASM In-Memory Sharding Partitioning PL/SQL JSON
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
• Аналитические запросы часто содержат вычисляемые выражения
• Теперь это выражение можно вычислить заранее для каждой строки и хранить в In-Memory
• Пользователь может управлять этим через виртуальные столбцы
• Либо выражения определяются автоматически
• К таким столбам применяются все техники оптмизации In-Memory
• Cложные запросы выполняются в 3-5x раз быстрее
Real-Time Analytics: Вычисляемые выражения в In-Memory
Net = Price + Price * Tax
In-Memory Column Store
Sales
Example: Compute total sales price
Tax
Pri
ce
Pri
ce
Pri
ce +
Pri
ce X
Tax
P
rice
+ P
rice
* T
ax
Pluggable DB RAC и ASM In-Memory Sharding Partitioning PL/SQL JSON
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Pluggable DB RAC и ASM In-Memory Sharding Partitioning PL/SQL JSON
Автоматизация In-Memory Data Auto Population Policies
Sales_Q3
Sales_Q2
Sales_Q4
In-Memory Column Store
Sales _Q1
• Heat map отслеживает историю доступа к данным
• Можно назначать политики для
• Загрузки данных в IM column store
• Увеличения уровня компрессии по мере «устаревания» данных
• Выгрузки данных из IM column store
Oracle Sharding
29
Pluggable DB RAC и ASM In-Memory Sharding Partitioning PL/SQL JSON
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
• Каждый шард имеет собственные CPU, память и диски
• Данные распределяются по базам с помощью ключа – (sharding key), напр: столбец account_id
• Приложение “видит” одну логическую БД
Oracle Sharding - Aрхитектура
Одна единая физическая БД
Server
Таблицы разделяются на секции распределенные по трем независимым
базам данных (shards)
Server A Server B Server C
A Non-sharded Database A Sharded Database
Pluggable DB RAC и ASM In-Memory Sharding Partitioning PL/SQL JSON
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 31
Схема БД с шардингом данных
Customers Orders LineItems
Products
Таблицы БД в схеме
Sharded Tables
Shard 1 Shard 2 Shard N
…
Таблицы справочников дублируются по всем БД
Pluggable DB RAC и ASM In-Memory Sharding Partitioning PL/SQL JSON
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Методы шардинга • Данные распределяются на основе столбца в корневой таблице логической модели
данных
• Sharding Key
• Системный шардинг c помощью хэширования (Consistent Hash)
• Для автоматического равномерного распределения данных по всем базам
• User-defined шардинг с распределением по диапазону или списку значений (Range или List)
• Для явного распределения данных по соответствующим шардам (базам данных)
• Композитный шардинг (Range - Consistent Hash или List - Consistent Hash)
• Для явного распределения данных по группам шард
• И автоматического равномерного распределения данных по шардам внутри группы
32 Pluggable DB RAC и ASM In-Memory Sharding Partitioning PL/SQL JSON
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Шардинг таблиц с ссылочной целостностью
CREATE DUPLICATED TABLE Products (
ProductId INTEGER PRIMARY KEY,
Name VARCHAR2(128),
LastPrice NUMBER(19,4), …….)
TABLESPACE products_tsp ;
CREATE SHARDED TABLE Orders (
OrderId INTEGER,
CustId VARCHAR2(60),
OrderDate TIMESTAMP,
…
CONSTRAINT pk_orders
PRIMARY KEY (CustId, OrderId),
CONSTRAINT fk_orders_parent
FOREIGN KEY (CustId) REFERENCES
Customers(CustId)
)
PARTITION BY REFERENCE
(fk_orders_parent) ;
CREATE TABLESPACE SET tsp_set_1 ;
CREATE SHARDED TABLE Customers
( CustId VARCHAR2(60) NOT NULL,
FirstName VARCHAR2(60),
LastName VARCHAR2(60),
…
CustProfile CLOB,
CONSTRAINT pk_customers
PRIMARY KEY(CustId),
CONSTRAINT cons_json
CHECK (CustProfile IS JSON)
)
PARTITION BY CONSISTENT HASH (CustId)
PARTITIONS AUTO
TABLESPACE SET tsp_set_1 ;
33 Pluggable DB RAC и ASM In-Memory Sharding Partitioning PL/SQL JSON
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Oracle Sharding - Возможности
• Автоматизация шардинга через Global Data Services
• Централизованное управление схемой шардинга (разбиение и дублирование)
• Единый глобальный сервис (в GDS) через который доступны все шарды
• Прямая (tnsnames.ora) и программая передача ключа шарда
• Гибкое масштабирование с автоматической балансировкой
• Использование репликации для HA шард-БД
Shard Directors
Catalog / Coordinator
Connection Pool
Sharded Database
(SDB)
Sharding Key e.g. customerID
…
34 Pluggable DB RAC и ASM In-Memory Sharding Partitioning PL/SQL JSON
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Пример: запрос по нескольким шардам
35
• ROLLUP - запрос, чтобы получить количество клиентов по регионам в каждом классе
• SELECT geo, class, COUNT(*) FROM Customers GROUP BY geo, ROLLUP(class);
• Запрос выполняется на всех шардах
• Первый уровень агрегации и сортировки выполняется на всех шардах
• Затем координатор делает финальную агрегации данных поступивших от шард и возвращает результат клиенту
35 Pluggable DB RAC и ASM In-Memory Sharding Partitioning PL/SQL JSON
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
…
36
Oracle Database Sharding - преимущества
Линейная масштабируемость Отказоустойчивость Географическое распределение
Добавление новой БД "на лету" увеличивает пропускную способность приложения.
Балансировка и разбиение шардов “на лету”.
Сбой одного шарда не приводит к отказу “БД”.
Шарды могут запускаться на разных релизах СУБД
Определяемое пользователем размещение данных для
производительности, доступности, DR.
…
36 Pluggable DB RAC и ASM In-Memory Sharding Partitioning PL/SQL JSON
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Oracle Database 12c Release 2 предлагает выбор
Oracle Sharding
…
Одна единая логическая БД
Одна единая физическая БД
N физических баз данных
Oracle RAC
…
37 Pluggable DB RAC и ASM In-Memory Sharding Partitioning PL/SQL JSON
Oracle Partitioning 12.2
38
Pluggable DB RAC и ASM In-Memory Sharding Partitioning PL/SQL JSON
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
List Partitioning - ограничение
Тип продукта1 Тип продукта2
Тип продукта3
До PL/SQL 12.2: значения ключей должны быть определены заранее
CREATE TABLE products (
Id NUMBER(9) GENERATED BY DEFAULT AS IDENTITY,
Code CHAR(5),
Name VARCHAR2(20000))
PARTITION BY LIST (Code) (
PARTITION p1 VALUES ('PROD1'),
PARTITION p2 VALUES ('PROD2'),
PARTITION p3 VALUES ('PROD3'),
PARTITION p_unknown VALUES (DEFAULT));
Прочие типы продуктов
Прочие типы продуктов
39
Pluggable DB RAC и ASM In-Memory Sharding Partitioning PL/SQL JSON
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Autolist Partitioning Для новых значений секции создаются автоматически
CREATE TABLE products (
Id NUMBER(9) GENERATED BY DEFAULT AS IDENTITY,
Code CHAR(5),
Name VARCHAR2(2000))
PARTITION BY LIST (Code) AUTOMATIC
(PARTITION p1 VALUES ('PROD1'));
Тип продукта1 Тип продукта2
Тип продукта3 Тип продукта4 Тип продукта5 ...
INSERT INTO products(Code,Name) VALUES ('PROD2','PRODUCT 2');
40
Pluggable DB RAC и ASM In-Memory Sharding Partitioning PL/SQL JSON
INSERT INTO products(Code,Name) VALUES ('PROD3','PRODUCT 3'); INSERT INTO products(Code,Name) VALUES ('PROD4','PRODUCT 4'); INSERT INTO products(Code,Name) VALUES ('PROD5','PRODUCT 5');
ALTER TABLE old_products SET PARTITIONING AUTOMATIC;
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Multi-column list Partitioning Cекционирование по списку по нескольким столбцам
CREATE TABLE orders (
Id NUMBER(9) GENERATED BY DEFAULT AS IDENTITY,
ProductCode CHAR(5),
OrderTypeCode CHAR(5))
PARTITION BY LIST (ProductCode, OrderTypeCode)
(PARTITION p1 VALUES (('PROD1','TYPE1'),('PROD1','TYPE2')),
PARTITION p2 VALUES ('PROD2','TYPE1'),
PARTITION p3 VALUES ('PROD2','TYPE2'),
PARTITION p_unknown VALUES(default));
• Расширенный синтаксис обращения к секции также работает:
SELECT * FROM orders PARTITION FOR ('PROD2','TYPE1');
Pluggable DB RAC и ASM In-Memory Sharding Partitioning PL/SQL JSON
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Mar Jan
Feb
CDRs
SQL
Application
Конвертация таблицы в секционированную Conversion of a nonpartitioned table to a partitioned table
ALTER TABLE orders MODIFY
PARTITION BY LIST (ProductCode, OrderTypeCode)
AUTOMATIC (PARTITION p1 VALUES
(('PROD1','TYPE1'),('PROD1','TYPE2')))
ONLINE UPDATE INDEXES;
• В процессе конвертации, DML над таблицей разрешен!
• Глобальные секционированные остаются
• Непрефиксные индексы становятся глобальными несекционированными индексами
• Префиксные индексы становятся локальными секц. индексами
• Bitmap-индексы становятся локальными секц. индексами Pluggable DB RAC и ASM In-Memory Sharding Partitioning PL/SQL JSON
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Partitioning – прочие улучшения
Pluggable DB RAC и ASM In-Memory Sharding Partitioning PL/SQL JSON
• Перевод в READ-ONLY cекций и под-секций
• Упрощение cоздания таблицы для обмена секции и таблицы
• Фильтрация строк при операциях с секциями (MOVE, SPLIT, MERGE)
ALTER TABLE orders_move_part
MOVE PARTITION q1_2016 TABLESPACE open_orders COMPRESS
ONLINE
INCLUDING ROWS WHERE order_state = 'open';
CREATE TABLE table1 FOR EXCHANGE WITH TABLE part_table1;
ALTER TABLE orders MODIFY PARTITION year_2011 READ ONLY;
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Partitioning External Tables
Pluggable DB RAC и ASM In-Memory Sharding Partitioning PL/SQL JSON
• Cекционирование поддерживается и для внешних таблиц (EXTERNAL TABLE) REATE TABLE orders (
order_id NUMBER(12),
order_date DATE NOT NULL,
.... )
ORGANIZATION EXTERNAL(
TYPE ORACLE_LOADER
DEFAULT DIRECTORY data_dir1
ACCESS PARAMETERS(
RECORDS DELIMITED BY NEWLINE
BADFILE bad_dir: 'sh%a_%p.bad'
LOGFILE log_dir: 'sh%a_%p.log'
FIELDS TERMINATED BY '|’))
PARALLEL
PARTITION BY RANGE (order_date)
(PARTITION month1 VALUES LESS THAN (TO_DATE('31-12-2014', 'DD-MM-YYYY'))
LOCATION ('sales_1.csv'),
PARTITION month2 VALUES LESS THAN (TO_DATE('31-01-2015', 'DD-MM-YYYY'))
LOCATION ('sales_2.csv'),
PARTITION month3 VALUES LESS THAN (TO_DATE('28-02-2015', 'DD-MM-YYYY'))
LOCATION ('sales_3.csv'),
PARTITION pmax VALUES LESS THAN (MAXVALUE)
DEFAULT DIRECTORY data_dir2 LOCATION('sales_4.csv'));
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Oracle Database 12c R2 - продолжение непрерывных инноваций
Облака Интернет Клиент-Сервер
1990-ые 2000-ые 2010-ые
Oracle 5, 6, 7, 8 Oracle 8i, 9i, 10g Oracle 11g, 12c
Масштабиру-емость, производительность
Row Level Locking, B-tree Indexes, Read Consistency, Parallel Server, Shared Cursors, Shared Server
Real Application Clusters, Automatic Storage Management, IOTs
Advanced Compression, Bitmap Indexes
Exadata, Smart Flash, In-Memory DB, Software-in-Silicon,
Native Database Sharding
Высокая доступность
Transactions, Ref Integrity, Online Backup, Point-in-Time Recovery
Data Guard (Active), Recovery Manager, Flashback, Clusterware, Online DDL, TAF
Zero Data Loss Recovery Appliance, Edition Based Redefinition, App. Cont.
Аналитика Partitions, Parallel SQL, Optimizer Analytic Function, Data Mining, OLAP, MVs SQL Pattern Match, R, Big Data Appl
Безопасность Privileges, Roles, Auditing, Network Encryption, Views
Data Encrypt, Masking, Virtual Private DB, Label Security, DB Vault, Audit Vault, PKI
Real Application Security, DB Firewall, Privilege Analysis, Redaction, Key Vault
Разработка приложений
SQL, Views, PL/SQL, Triggers, LOBs, Object Types, Spatial, Text
Java in DB, Native XML, Table Functions, .Net, PHP, App Express, SQL Developer
Native JSON, REST Services, Node.js, RDF Social Graph, Network Graph
Управляемость Enterprise Manager, v$, wait event Diagnostics, Tuning, Testing, Lifecycle Packs MultiTenant, DB & Exa Cloud, DB Appl
Интеграция DB Links, 2PC, Replication, AQ GoldenGate, XA Transaction,External Table Big Data SQL, Big Data Analytics
Public Pluggable DB RAC и ASM In-Memory Sharding Partitioning PL/SQL JSON