Oracle ASM

Содержание

Слайд 2

Automatic Storage Management

Высокопроизводительная кластерная файловая система
Позволяет управлять файлами данных Oracle
Автоматическое перераспределение
данных

Automatic Storage Management Высокопроизводительная кластерная файловая система Позволяет управлять файлами данных Oracle
между дисками
Встроенная система зеркалирования дисков

Слайд 3

Cluster общая архитектура

Cluster общая архитектура

Слайд 4

ASM Общая архитектура

ASM instance
SID=asm

ASM disks

ASM disks

ASM disk group 1

DB instance
SID=sales

ASMB

RBAL

ARB0

ARBA


ASM disks

ASM disks

ASM

ASM Общая архитектура ASM instance SID=asm ASM disks ASM disks ASM disk
disks

ASM disk group 2

ASM disks

DBW0

RBAL

FG

Слайд 5

ASM управление

Создание ASM инстанса
Установка параметров
Запуск ASM инстанса
Управление ASM инстансом
Остановка ASM инстанса

ASM управление Создание ASM инстанса Установка параметров Запуск ASM инстанса Управление ASM инстансом Остановка ASM инстанса

Слайд 6

Создание ASM инстанса

Создание ASM инстанса

Слайд 7

ASM Instance Initialization Parameters

INSTANCE_TYPE = ASM
DB_UNIQUE_NAME = +ASM
ASM_POWER_LIMIT = 1
ASM_DISKSTRING = '/dev/rdsk/*s2',

ASM Instance Initialization Parameters INSTANCE_TYPE = ASM DB_UNIQUE_NAME = +ASM ASM_POWER_LIMIT =
'/dev/rdsk/c1*'
ASM_DISKGROUPS = dgroupA, dgroupB
LARGE_POOL_SIZE = 8MB

Слайд 8

Database Instance Parameter Changes


INSTANCE_TYPE = RDBMS
LOG_ARCHIVE_FORMAT
DB_BLOCK_SIZE
DB_CREATE_ONLINE_LOG_DEST_n
DB_CREATE_FILE_DEST
DB_RECOVERY_FILE_DEST
CONTROL_FILES
LOG_ARCHIVE_DEST_n
LOG_ARCHIVE_DEST
STANDBY_ARCHIVE_DEST
LARGE_POOL_SIZE = 8MB

Database Instance Parameter Changes … INSTANCE_TYPE = RDBMS LOG_ARCHIVE_FORMAT DB_BLOCK_SIZE DB_CREATE_ONLINE_LOG_DEST_n DB_CREATE_FILE_DEST

Слайд 9

Запуск ASM инстанса

$ export ORACLE_SID='+ASM'
$ sqlplus /nolog
SQL> CONNECT / AS sysdba
Connected to

Запуск ASM инстанса $ export ORACLE_SID='+ASM' $ sqlplus /nolog SQL> CONNECT /
an idle instance.
SQL> STARTUP;
ASM instance started
Total System Global Area 147936196 bytes
Fixed Size 324548 bytes
Variable Size 96468992 bytes
Database Buffers 50331648 bytes
Redo Buffers 811008 bytes
ASM diskgroups mounted

Слайд 10

Доступ к ASM

Disk group

Disk group

Storage system

AS SYSDBA

AS SYSOPER

ASM instance

Все операции

Частичные операции

Доступ к ASM Disk group Disk group Storage system AS SYSDBA AS

Слайд 11

ASM Home Page

ASM Home Page

Слайд 12

ASM Performance Page

ASM Performance Page

Слайд 13

ASM Configuration Page

ASM Configuration Page

Слайд 14

Выключение ASM инстанса

SHUTDOWN NORMAL

ASM instance

Database instance A

Database instance B

1

1

2

3

Выключение ASM инстанса SHUTDOWN NORMAL ASM instance Database instance A Database instance

Слайд 15

DBCA and Storage Options

DBCA and Storage Options

Слайд 16

ASM Storage: Concepts

Database

Tablespace

Segment

Extent

Oracle data block

Data file

Physical block

ASM disk

ASM file

Allocation unit (AU)

File system
file
or raw device

ASM disk group

ASM Storage: Concepts Database Tablespace Segment Extent Oracle data block Data file

Слайд 17

Oracle
ASM

Disks

Logical Vol

File System

Files

Tablespace

Tables

Disk Group

Logical Vol

Oracle ASM Disks Logical Vol File System Files Tablespace Tables Disk Group
File System

Files

Tablespace

Tables

Файловая система

ASM

“Лучший способ снизить стоимость управления – уменьшить сложность”

Стек технологий

Слайд 18

ASM Дисковые группы

Наборы дисков управляются как логические единицы
Распределение информации по всем дискам

ASM Дисковые группы Наборы дисков управляются как логические единицы Распределение информации по
группы

Disk group

ASM instance

Слайд 19

Disk Group

Автоматическая балансировка «на лету» при любых изменениях конфигурации

ASM - Динамическая балансировка

Disk Group Автоматическая балансировка «на лету» при любых изменениях конфигурации ASM - Динамическая балансировка

Слайд 20

Автоматическая балансировка «на лету» при любых изменениях конфигурации
Данные автоматически переносятся пропорционально на

Автоматическая балансировка «на лету» при любых изменениях конфигурации Данные автоматически переносятся пропорционально
новые носители

Disk Group

ASM - Динамическая балансировка

Слайд 21

Disk Group

ASM - Динамическая балансировка

Автоматическая балансировка «на лету» при любых изменениях конфигурации
Данные

Disk Group ASM - Динамическая балансировка Автоматическая балансировка «на лету» при любых
автоматически переносятся пропорционально на новые носители
Никакого ручного тюнинга I/O

Слайд 22

Disk Group

ASM - Динамическая балансировка

Автоматическая балансировка «на лету» при любых изменениях конфигурации
Данные

Disk Group ASM - Динамическая балансировка Автоматическая балансировка «на лету» при любых
автоматически переносятся пропорционально на новые носители
Online миграция на новый storage

Слайд 23

Disk Group

ASM - Динамическая балансировка

Автоматическая балансировка «на лету» при любых изменениях конфигурации
Данные

Disk Group ASM - Динамическая балансировка Автоматическая балансировка «на лету» при любых
автоматически переносятся пропорционально на новые носители
Online миграция на новый storage

Слайд 24

Disk Group

ASM - Динамическая балансировка

Автоматическая балансировка «на лету» при любых изменениях конфигурации
Данные

Disk Group ASM - Динамическая балансировка Автоматическая балансировка «на лету» при любых
автоматически переносятся пропорционально на новые носители
Online миграция на новый storage

Слайд 25

Disk Group

ASM - Динамическая балансировка

Автоматическая балансировка «на лету» при любых изменениях конфигурации
Данные

Disk Group ASM - Динамическая балансировка Автоматическая балансировка «на лету» при любых
автоматически переносятся пропорционально на новые носители
Online миграция на новый storage

Слайд 26

Зекалирование дисковых групп

Внешнее резервирование
(External redundancy)
Обычное резервирование
(Normal redundancy)
Надежное резервирование
(High redundancy)

Зекалирование дисковых групп Внешнее резервирование (External redundancy) Обычное резервирование (Normal redundancy) Надежное резервирование (High redundancy)

Слайд 27

Создание дисковой группы

Создать дисковую группу (data1) с избыточностью, определяемой устройством хранения (external),

Создание дисковой группы Создать дисковую группу (data1) с избыточностью, определяемой устройством хранения
использующей диск /dev/raw/raw1.
create diskgroup data1
external redundancy
disk '/dev/raw/raw1';
Создать дисковую группу (data2) с избыточностью, определяемой устройством хранения (external), использующей диски /dev/raw/raw2 и /dev/raw/raw3.
create diskgroup data2
external redundancy
disk '/dev/raw/raw2',
'/dev/raw/raw3';
Создать дисковую группу (data3) с избыточностью, управляемой ASM (зеркалирование) (normal), использующей диски /dev/raw/raw4 и /dev/raw/raw6.
create diskgroup data3
normal redundancy
failgroup controller1 disk '/dev/raw/raw4'
failgroup controller2 disk '/dev/raw/raw6';

Слайд 28

Managing Disk Groups

CREATE DISKGROUP

ALTER DISKGROUP

DROP DISKGROUP

ASM instance

Database instance

Managing Disk Groups CREATE DISKGROUP ALTER DISKGROUP DROP DISKGROUP ASM instance Database instance

Слайд 29

ASM Administration Page

ASM Administration Page

Слайд 30

Create Disk Group Page

Create Disk Group Page

Слайд 31

Creating and Dropping Disk Groups

CREATE DISKGROUP dgroupA NORMAL REDUNDANCY
FAILGROUP controller1 DISK

Creating and Dropping Disk Groups CREATE DISKGROUP dgroupA NORMAL REDUNDANCY FAILGROUP controller1
'/devices/A1' NAME diskA1 SIZE 120G FORCE,
'/devices/A2',
'/devices/A3'
FAILGROUP controller2 DISK
'/devices/B1',
'/devices/B2',
'/devices/B3';

DROP DISKGROUP dgroupA INCLUDING CONTENTS;

Слайд 32

Adding Disks to Disk Groups

ALTER DISKGROUP dgroupA ADD DISK
'/dev/rdsk/c0t4d0s2' NAME A5,

Adding Disks to Disk Groups ALTER DISKGROUP dgroupA ADD DISK '/dev/rdsk/c0t4d0s2' NAME
'/dev/rdsk/c0t5d0s2' NAME A6,
'/dev/rdsk/c0t6d0s2' NAME A7,
'/dev/rdsk/c0t7d0s2' NAME A8;

ALTER DISKGROUP dgroupA ADD DISK '/devices/A*';

Disk formatting

Disk group rebalancing

Слайд 33

Miscellaneous ALTER Commands

ALTER DISKGROUP dgroupA DROP DISK A5;

ALTER DISKGROUP dgroupA DROP DISK

Miscellaneous ALTER Commands ALTER DISKGROUP dgroupA DROP DISK A5; ALTER DISKGROUP dgroupA
A6
ADD FAILGROUP fred DISK '/dev/rdsk/c0t8d0s2' NAME A9;

ALTER DISKGROUP dgroupA UNDROP DISKS;

Remove a disk from dgroupA:

Add and drop a disk in a single command:

Cancel a disk drop operation:

Слайд 34

ASM Files

Database file

ASM file automatically spread inside disk group dgroupA

CREATE TABLESPACE sample

ASM Files Database file ASM file automatically spread inside disk group dgroupA
DATAFILE '+dgroupA';

1

2

3

4

1

2

3

4

Automatic ASM file creation

RMAN

Слайд 35

ASMCMD Utility

$ asmcmd
ASMCMD> ls -l DGROUP1/ORCL/DATAFILE
Type Redund Striped Time Sys Name
DATAFILE MIRROR

ASMCMD Utility $ asmcmd ASMCMD> ls -l DGROUP1/ORCL/DATAFILE Type Redund Striped Time
COARSE OCT 05 21:00:00 Y HRAPPS.257.570923611
DATAFILE MIRROR COARSE OCT 05 21:00:00 Y TBSASM.256.570922917
ASMCMD>

SQL> CREATE TABLESPACE tbsasm DATAFILE '+DGROUP1' SIZE 100M;
Tablespace created.
SQL> CREATE TABLESPACE hrapps DATAFILE '+DGROUP1' SIZE 10M;
Tablespace created.

Слайд 36

Миграция БД в to ASM Storage

1.Останавливаем БД.
2. Меняем параметры.
3. запускаем RMAN скрипт:

STARTUP NOMOUNT;
RESTORE CONTROLFILE

Миграция БД в to ASM Storage 1.Останавливаем БД. 2. Меняем параметры. 3.
FROM '/u1/c1.ctl';
ALTER DATABASE MOUNT;
BACKUP AS COPY DATABASE FORMAT '+dgroup1';
SWITCH DATABASE TO COPY;
SQL "ALTER DATABASE RENAME '/u1/log1' TO '+dgroup1' ";
# Repeat RENAME command for all online redo log members ...
ALTER DATABASE OPEN RESETLOGS;
SQL "ALTER DATABASE TEMPFILE '/u1/temp1' DROP";

Слайд 37

Дисковые группы

set pages 40000 lines 120
column NAME for a15
select group_number dg#, name,

Дисковые группы set pages 40000 lines 120 column NAME for a15 select
allocation_unit_size au_sz, state, type,
total_mb, free_mb, offline_disks
from v$asm_diskgroup;
DG# NAME AU_SZ STATE TYPE TOTAL_MB FREE_MB OFFLINE_DISKS
--- ----- ------- -------- ------ ------ ------- -------------
1 DATA2 4194304 MOUNTED NORMAL 40952 4168 0
2 DATA 1048576 MOUNTED NORMAL 30717 25667 0

Слайд 38

Диски дисковых групп

set lines 160;
column name format a15;
column path format a26;
column failgroup

Диски дисковых групп set lines 160; column name format a15; column path
format a10;
select name, group_number, disk_number, failgroup, mount_status, header_status, mode_status, state, redundancy, path
from v$asm_disk
order by group_number;
NAME GROUP_NUM DISK_NUM MOUNT_S HEADER_ST MSTATE PATH
------------- --------- -------- ------- --------- ------- -------------------------
0 2 CLOSED MEMBER ONORMAL /dev/ora_asmspfile_raw_5m
OLTPGRP1_0002 1 2 CACHED MEMBER ONORMAL /dev/ora_asm3_raw_20g
OLTPGRP1_0003 1 3 CACHED MEMBER ONORMAL /dev/ora_asm4_raw_20g
OLTPGRP1_0000 1 0 CACHED MEMBER ONORMAL /dev/ora_asm2_raw_10g
OLTP_DISK1 1 1 CACHED MEMBER ONORMAL /dev/ora_asm1_raw_10g

Слайд 39

MOUNT_STATUS

MISSING — диск известен как часть дисковой группы ASM, но в дисковой

MOUNT_STATUS MISSING — диск известен как часть дисковой группы ASM, но в
системе диск с таким именем отсутствует.
CLOSED — диск присутствует в системе хранения, но является не доступным для ASM.
OPENED — диск присутствует в системе хранения и доступен для ASM. Нормальное состояние дисков, являющихся частью дисковой группы, активно используемой экземпляром.
CACHED (по умолчанию) — диск присутствует в системе хранения и доступен для ASM. Нормальное состояние дисков ASM, которые являются частью смонтированной дисковой группы.
IGNORED — диск присутствует в системе, однако игнорируется ASM под одной из следующих причин:
диск определен системной библиотекой, но игнорируется, поскольку библиотека ASM нашла тот же диск.
ASM определила, что членство, указанное в заголовке, не является действительным.
CLOSING — ASM находится в процессе закрытия диска.

Слайд 40

HEADER_STATUS

UNKNOWN — заголовок диска ASM не был прочитан.
CANDIDATE — диск не является

HEADER_STATUS UNKNOWN — заголовок диска ASM не был прочитан. CANDIDATE — диск
членом дисковой группы и может быть добавлен в дисковую группу командой ALTER DISKGROUP.
INCOMPATIBLE — версия в заголовке диска не совместима с версией ASM.
PROVISIONED — диск не является членом дисковой группы и может быть добавлен в дисковую группу командой ALTER DISKGROUP. Статус заголовка PROVISIONED отличается от статуса CANDIDATE тем, что статус PROVISIONED предполагает, что дополнительные, зависящие от платформы, действия должны быть предприняты для того, чтобы сделать диск доступным для ASM.
MEMBER (по умолчанию) — диск является членом дисковой группы. К таким дискам не должны предприниматься попытки добавление такого диска в другую дисковую группу. Команда ALTER DISKGROUP будет отклонена, кроме случаев использования опции FORCE.
FORMER — ранее диск был членом дисковой группы и был правильно удален из нее. Может быть добавлен в новую дисковую группу командой ALTER DISKGROUP.
CONFLICT — диск ASM не смонтирован из-за конфликта.
FOREIGN — диск содержит данные, созданные иными чем ASM продуктами Oracle. Это могут быть файлы данных, логов или OCR диски.

Слайд 41

MODE_STATUS

UNKNOWN — статус диска ASM неизвестен (обычно, когда диск не смонтирован).
ONLINE (по

MODE_STATUS UNKNOWN — статус диска ASM неизвестен (обычно, когда диск не смонтирован).
умолчанию) — диск в рабочем состоянии и нормально функционирует. Предпринимаются попытки чтения/записи.
OFFLINE — диск в неактивном состоянии, и доступ к данным не разрешен. Попытки чтения/записи не предпринимаются. Отключенный диск логически является частью дисковой группы.

Слайд 42

STATE

• UNKNOWN — статус ASM диска не известен (обычно, когда диск не смонтирован)
• NORMAL

STATE • UNKNOWN — статус ASM диска не известен (обычно, когда диск
(по умолчанию) — диск в рабочем состоянии и нормально функционирует.
• ADDING — диск в процессе добавления в дисковую группу и завершает процедуру проверки монтирования всеми экземплярами.
• DROPPING — диск вручную выводится в неактивное состояние, размещение или доступ к данным прекращен. Начинается процесс перераспределения для перемещения данных из данного диска на остальные диски дисковой группы. По завершению перераспределения диск будет исключен из дисковой группы.
• HUNG — операция удаления диска прекращена поскольку недостаточно дискового пространства для перемещения данных с удаляемого диска на другие диски группы.
• FORCING — диск удаляется из дисковой группы без попыток переноса данных с него. Данные по возможности будут восстановлены с избыточных копий.
• DROPPED — диск полностью исключен из дисковой группы.
• OFFLINE — диск находится в неактивном состоянии, и доступ к данным не разрешен. Попытки чтения/записи не предпринимаются. Отключенный диск логически является частью дисковой группы.

Слайд 43

Использование дискового пространства

set lines 100;
column name format a15;
select name, group_number, disk_number, total_mb,

Использование дискового пространства set lines 100; column name format a15; select name,
free_mb
from v$asm_disk
order by group_number;
NAME GROUP_NUMBER DISK_NUMBER TOTAL_MB FREE_MB
--------------- ------------ ----------- ---------- ----------
0 2 0 0
OLTPGRP1_0002 1 2 20480 5899
OLTPGRP1_0003 1 3 20480 6037
OLTPGRP1_0000 1 0 10240 3059
OLTP_DISK1 1 1 10240 3065

Слайд 44

Файлы в ASM

select a.name, f.bytes, f.type
from v@asm_alias a, v$asm_file f
where

Файлы в ASM select a.name, f.bytes, f.type from v@asm_alias a, v$asm_file f
f.file_number = a.file_number;
select concat('+' || gname, sys_connect_by_path(aname, '/')) full_alias_path, system_created, alias_directory, file_type
from (select b.name gname, a.parent_index pindex, a.name aname,
a.reference_index rindex, a.system_created,
a.alias_direstory, c.type file_type
from v$asm_alias a, v$asm_diskgroup b, v$asm_file c
where a.group_number = b.group_number and
a.group_number = c.group_number (+) and
a.file_number = c.file_number (+) and
a.file_incarnation = c.file_incarnation (+)
)
start with (mod(pindex, power(2, 24))) = 0
connect by prior rindex = pindex;

Слайд 45

Добавить диск в дисковую группу

alter diskgroup data1
add disk '/dev/raw/raw4';

Добавить диск в дисковую группу alter diskgroup data1 add disk '/dev/raw/raw4';